Files
bookhoard/docs/developer/api/jobs/create_job.md
T
John O'Keefe 7471ca99e8 docs(analytics,jobs): Work Order 3 batch 4 — device usage, popular books, job create/status
DeviceUsageResponse / PopularBooksResponse / services.JobResult pinned by
type; jobs create uses an inline anonymous request struct (RawMessage pin).
Two UNVERIFIED markers recorded (analytics date-range params, facet value
element shape).
2026-10-24 15:08:18 -04:00

41 lines
805 B
Markdown

---
method: POST
path: /api/jobs
auth: jwt
area: jobs
---
<!-- source: internal/handlers/jobs.go CreateJob -->
# Create Job
Enqueues a background job (scan, import, convert — the set accepted by the
worker). Success is **202 Accepted** with the job id; poll its status via
`GET /api/jobs/:jobId`.
## Example request
```json example-request
{
"type": "import",
"params": { "library_id": "990e8400-e29b-41d4-a716-446655440000" }
}
```
## Example response
```json example-response
{
"message": "Job created",
"job_id": "ee0e8400-e29b-41d4-a716-446655440000",
"type": "import",
"status": "pending"
}
```
## Errors
| Status | Body | When |
| ------ | ---- | ---- |
| 400 | `{"error": "Invalid job type"}` / others | unknown type or params |
| 500 | `{"error": "..."}` | enqueue failure |