Job Queue
POST/admin/jobs/cancel-bulk
Authorization
bearer_token In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Admin variant of the bulk-cancel kill switch (/admin/jobs/cancel-bulk).
Sweeps across users: a specific user when user_id is set, otherwise
every user in the system.
Response Body
application/json
curl -X POST "https://example.com/admin/jobs/cancel-bulk" \ -H "Content-Type: application/json" \ -d '{}'{ "cancelled_count": 0}POST/admin/jobs/cleanup
curl -X POST "https://example.com/admin/jobs/cleanup"{ "deleted_count": 0, "retention_days": 0}GET/api/v1/job-queues
Authorization
bearer_token In: header
Query Parameters
Conditions as filter[][]=. Conditions on different fields all apply. in (any of) and all (every one of, on fields holding several values) take a comma-separated list (\, for a literal comma). exists takes true or false. Datetimes are RFC 3339, now, or a time before now such as -30m, -6h or -7d.
Full-text search over this list's searchable fields.
1 <= length <= 200Comma-separated sort keys, - for descending, at most 1. Keys: created_at. Default: -created_at.
Rows per page, 1 to 100 (default 25).
1 <= value <= 100The page.next_cursor of the previous page. Cannot be combined with page.
A 1-based page number, for jumping. Cannot be combined with cursor.
1 <= valueSet to true to include the number of matching rows in page.total.
Response Body
application/json
curl -X GET "https://example.com/api/v1/job-queues"{ "page": { "has_more": true, "next_cursor": "string", "page": 0, "total": 0 }, "queues": [ { "active": true, "auto_created": true, "completed_count": 0, "created_at": "2019-08-24T14:15:22Z", "default_priority": null, "description": "string", "dlq_config": null, "failed_count": 0, "id": "string", "name": "string", "owner_id": "string", "pending_count": 0, "processing_count": 0, "retention_days": 0, "retry_policy": null, "tags": { "property1": "string", "property2": "string" }, "updated_at": "2019-08-24T14:15:22Z" } ]}POST/api/v1/job-queues
Authorization
bearer_token In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Request to create a new job queue
Response Body
application/json
curl -X POST "https://example.com/api/v1/job-queues" \ -H "Content-Type: application/json" \ -d '{ "name": "string" }'{ "created_at": "2019-08-24T14:15:22Z", "id": "string", "name": "string"}GET/api/v1/job-queues/{queue_id}
Authorization
bearer_token In: header
Path Parameters
Queue ID
Response Body
application/json
curl -X GET "https://example.com/api/v1/job-queues/string"{ "active": true, "auto_created": true, "completed_count": 0, "created_at": "2019-08-24T14:15:22Z", "default_priority": null, "description": "string", "dlq_config": null, "failed_count": 0, "id": "string", "name": "string", "owner_id": "string", "pending_count": 0, "processing_count": 0, "retention_days": 0, "retry_policy": null, "tags": { "property1": "string", "property2": "string" }, "updated_at": "2019-08-24T14:15:22Z"}PATCH/api/v1/job-queues/{queue_id}
Authorization
bearer_token In: header
Path Parameters
Queue ID
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Request to update an existing job queue
Response Body
application/json
curl -X PATCH "https://example.com/api/v1/job-queues/string" \ -H "Content-Type: application/json" \ -d '{}'{ "active": true, "auto_created": true, "completed_count": 0, "created_at": "2019-08-24T14:15:22Z", "default_priority": null, "description": "string", "dlq_config": null, "failed_count": 0, "id": "string", "name": "string", "owner_id": "string", "pending_count": 0, "processing_count": 0, "retention_days": 0, "retry_policy": null, "tags": { "property1": "string", "property2": "string" }, "updated_at": "2019-08-24T14:15:22Z"}DELETE/api/v1/job-queues/{queue_id}
Authorization
bearer_token In: header
Path Parameters
Queue ID
Query Parameters
Force deletion even if queue has pending jobs
Response Body
curl -X DELETE "https://example.com/api/v1/job-queues/string"GET/api/v1/job-queues/{queue_id}/dlq
Authorization
bearer_token In: header
Path Parameters
Queue ID
Query Parameters
Rows per page, 1 to 100 (default 25).
1 <= value <= 100The page.next_cursor of the previous page. Cannot be combined with page.
Response Body
application/json
curl -X GET "https://example.com/api/v1/job-queues/string/dlq"{ "entries": [ { "dead_lettered_at": 0, "entry_id": "string", "error": "string", "job": null, "job_id": "string" } ], "page": { "has_more": true, "next_cursor": "string", "page": 0, "total": 0 }, "queue": "string"}POST/api/v1/job-queues/{queue_id}/dlq/redrive
Authorization
bearer_token In: header
Path Parameters
Queue ID
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Request to redrive (replay) dead-lettered jobs of a queue back onto the
schedule. With no job_ids every redrivable dead-lettered job for the queue
is replayed; otherwise only the listed ones are.
Response Body
application/json
curl -X POST "https://example.com/api/v1/job-queues/string/dlq/redrive" \ -H "Content-Type: application/json" \ -d '{}'{ "redriven_count": 0, "skipped_job_ids": [ "string" ]}POST/api/v1/job-queues/{queue_id}/pause
Authorization
bearer_token In: header
Path Parameters
Queue ID
Response Body
application/json
curl -X POST "https://example.com/api/v1/job-queues/string/pause"{ "active": true, "auto_created": true, "completed_count": 0, "created_at": "2019-08-24T14:15:22Z", "default_priority": null, "description": "string", "dlq_config": null, "failed_count": 0, "id": "string", "name": "string", "owner_id": "string", "pending_count": 0, "processing_count": 0, "retention_days": 0, "retry_policy": null, "tags": { "property1": "string", "property2": "string" }, "updated_at": "2019-08-24T14:15:22Z"}POST/api/v1/job-queues/{queue_id}/resume
Authorization
bearer_token In: header
Path Parameters
Queue ID
Response Body
application/json
curl -X POST "https://example.com/api/v1/job-queues/string/resume"{ "active": true, "auto_created": true, "completed_count": 0, "created_at": "2019-08-24T14:15:22Z", "default_priority": null, "description": "string", "dlq_config": null, "failed_count": 0, "id": "string", "name": "string", "owner_id": "string", "pending_count": 0, "processing_count": 0, "retention_days": 0, "retry_policy": null, "tags": { "property1": "string", "property2": "string" }, "updated_at": "2019-08-24T14:15:22Z"}GET/api/v1/jobs
Authorization
bearer_token In: header
Query Parameters
Conditions as filter[][]=. Conditions on different fields all apply. in (any of) and all (every one of, on fields holding several values) take a comma-separated list (\, for a literal comma). exists takes true or false. Datetimes are RFC 3339, now, or a time before now such as -30m, -6h or -7d.
Comma-separated sort keys, - for descending, at most 1. Keys: scheduled_at. Default: -scheduled_at.
Rows per page, 1 to 100 (default 25).
1 <= value <= 100The page.next_cursor of the previous page. Cannot be combined with page.
A 1-based page number, for jumping. Cannot be combined with cursor.
1 <= valueSet to true to include the number of matching rows in page.total.
Response Body
application/json
curl -X GET "https://example.com/api/v1/jobs"{ "jobs": [ { "attempts": 0, "completed_at": 0, "created_at": "2019-08-24T14:15:22Z", "error": "string", "id": "string", "last_attempt_at": 0, "payload": null, "priority": "critical", "queue": "string", "scheduled_at": 0, "status": "scheduled", "updated_at": "2019-08-24T14:15:22Z", "user_id": "string", "webhook_config": { "active": true, "created_at": 0, "events": [ "string" ], "headers": { "property1": "string", "property2": "string" }, "id": "string", "secret": "string", "updated_at": 0, "url": "string" } } ], "page": { "has_more": true, "next_cursor": "string", "page": 0, "total": 0 }}POST/api/v1/jobs/cancel-bulk
Authorization
bearer_token In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Request to bulk-cancel scheduled jobs (emergency kill switch). Only jobs
in the scheduled state are cancelled — that includes jobs parked
between retry attempts. Filters narrow the target set; with no filters,
every scheduled job owned by the caller is cancelled.
Response Body
application/json
curl -X POST "https://example.com/api/v1/jobs/cancel-bulk" \ -H "Content-Type: application/json" \ -d '{}'{ "cancelled_count": 0}POST/api/v1/jobs/schedule
Authorization
bearer_token In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Request to schedule a new job
Response Body
application/json
curl -X POST "https://example.com/api/v1/jobs/schedule" \ -H "Content-Type: application/json" \ -d '{ "webhook": { "url": "string" } }'{ "job_id": "string", "queue": "string", "scheduled_at": 0, "status": "scheduled"}POST/api/v1/jobs/schedule-batch
Authorization
bearer_token In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Request to schedule multiple jobs
Response Body
application/json
curl -X POST "https://example.com/api/v1/jobs/schedule-batch" \ -H "Content-Type: application/json" \ -d '{ "jobs": [ { "webhook": { "url": "string" } } ] }'{ "failed": [ { "error": "string", "index": 0 } ], "failure_count": 0, "success_count": 0, "successful": [ { "job_id": "string", "queue": "string", "scheduled_at": 0, "status": "scheduled" } ], "total": 0}GET/api/v1/jobs/{job_id}
Authorization
bearer_token In: header
Path Parameters
Job ID
Response Body
application/json
curl -X GET "https://example.com/api/v1/jobs/string"{ "attempts": 0, "completed_at": 0, "created_at": "2019-08-24T14:15:22Z", "error": "string", "id": "string", "last_attempt_at": 0, "payload": null, "priority": "critical", "queue": "string", "scheduled_at": 0, "status": "scheduled", "updated_at": "2019-08-24T14:15:22Z", "user_id": "string", "webhook_config": { "active": true, "created_at": 0, "events": [ "string" ], "headers": { "property1": "string", "property2": "string" }, "id": "string", "secret": "string", "updated_at": 0, "url": "string" }}DELETE/api/v1/jobs/{job_id}
Authorization
bearer_token In: header
Path Parameters
Job ID
Response Body
curl -X DELETE "https://example.com/api/v1/jobs/string"GET/api/v1/queues
Authorization
bearer_token In: header
Query Parameters
Conditions as filter[][]=. Conditions on different fields all apply. in (any of) and all (every one of, on fields holding several values) take a comma-separated list (\, for a literal comma). exists takes true or false. Datetimes are RFC 3339, now, or a time before now such as -30m, -6h or -7d.
Comma-separated sort keys, - for descending, at most 1. Keys: name. Default: name.
Rows per page, 1 to 100 (default 25).
1 <= value <= 100The page.next_cursor of the previous page. Cannot be combined with page.
A 1-based page number, for jumping. Cannot be combined with cursor.
1 <= valueSet to true to include the number of matching rows in page.total.
Response Body
application/json
curl -X GET "https://example.com/api/v1/queues"{ "page": { "has_more": true, "next_cursor": "string", "page": 0, "total": 0 }, "queues": [ "string" ]}GET/api/v1/queues/{queue_name}/stats
Authorization
bearer_token In: header
Path Parameters
Queue name
Response Body
application/json
curl -X GET "https://example.com/api/v1/queues/string/stats"{ "avg_processing_time_ms": 0, "completed_last_hour": 0, "failed_last_hour": 0, "oldest_job_age_seconds": 0, "processing": 0, "queue": "string", "scheduled": 0, "success_rate": 0.1}GET/health/job_queue
curl -X GET "https://example.com/health/job_queue"{ "processor_running": true, "redis": "string", "scheduler_running": true, "status": "string"}