HTTP API

Job Queue

POST/admin/jobs/cancel-bulk
POST
/admin/jobs/cancel-bulk

Authorization

bearer_token
AuthorizationBearer <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
POST
/admin/jobs/cleanup

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Response Body

application/json

curl -X POST "https://example.com/admin/jobs/cleanup"
{  "deleted_count": 0,  "retention_days": 0}
GET/api/v1/job-queues
GET
/api/v1/job-queues

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Query Parameters

search?string

Search queues by name

active?boolean

Filter by active status

auto_created?boolean

Filter by auto-created status

tag?string

Filter by tag key

page?integer

Page number (1-indexed)

Formatint32
Range0 <= value
limit?integer

Number of results per page

Formatint32
Range0 <= value
sort?string

Sort order (e.g., "-created_at", "name")

Response Body

application/json

curl -X GET "https://example.com/api/v1/job-queues"
{  "pagination": {    "has_more": true,    "page": 0,    "page_size": 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
POST
/api/v1/job-queues

Authorization

bearer_token
AuthorizationBearer <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}
GET
/api/v1/job-queues/{queue_id}

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

queue_id*string

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}
PATCH
/api/v1/job-queues/{queue_id}

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

queue_id*string

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}
DELETE
/api/v1/job-queues/{queue_id}

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

queue_id*string

Queue ID

Query Parameters

force?boolean

Force deletion even if queue has pending jobs

Response Body

curl -X DELETE "https://example.com/api/v1/job-queues/string"
Empty
GET/api/v1/job-queues/{queue_id}/dlq
GET
/api/v1/job-queues/{queue_id}/dlq

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

queue_id*string

Queue ID

Query Parameters

limit?integer

Maximum number of dead-lettered entries to return (default 50, max 500)

Formatint32
Range0 <= value

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"    }  ],  "queue": "string",  "total": 0}
POST/api/v1/job-queues/{queue_id}/dlq/redrive
POST
/api/v1/job-queues/{queue_id}/dlq/redrive

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

queue_id*string

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
POST
/api/v1/job-queues/{queue_id}/pause

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

queue_id*string

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
POST
/api/v1/job-queues/{queue_id}/resume

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

queue_id*string

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
GET
/api/v1/jobs

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Query Parameters

queue?string
status?string

Job status enum

Value in

  • "scheduled"
  • "processing"
  • "completed"
  • "failed"
  • "cancelled"
scheduled_after?integer
Formatint64
Range0 <= value
scheduled_before?integer
Formatint64
Range0 <= value
limit?integer
Formatint32
Range0 <= value
offset?integer
Formatint32
Range0 <= value

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"      }    }  ],  "limit": 0,  "offset": 0,  "total": 0}
POST/api/v1/jobs/cancel-bulk
POST
/api/v1/jobs/cancel-bulk

Authorization

bearer_token
AuthorizationBearer <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
POST
/api/v1/jobs/schedule

Authorization

bearer_token
AuthorizationBearer <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
POST
/api/v1/jobs/schedule-batch

Authorization

bearer_token
AuthorizationBearer <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}
GET
/api/v1/jobs/{job_id}

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

job_id*string

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}
DELETE
/api/v1/jobs/{job_id}

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

job_id*string

Job ID

Response Body

curl -X DELETE "https://example.com/api/v1/jobs/string"
Empty
GET/api/v1/queues
GET
/api/v1/queues

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Response Body

application/json

curl -X GET "https://example.com/api/v1/queues"
[  "string"]
GET/api/v1/queues/{queue_name}/stats
GET
/api/v1/queues/{queue_name}/stats

Authorization

bearer_token
AuthorizationBearer <token>

In: header

Path Parameters

queue_name*string

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
GET
/health/job_queue

Response Body

application/json

curl -X GET "https://example.com/health/job_queue"
{  "processor_running": true,  "redis": "string",  "scheduler_running": true,  "status": "string"}

On this page