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).
41 lines
805 B
Markdown
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 |
|