Skip to content

Jobs API

Monitor BullMQ job queues for asynchronous tasks such as email ingestion, indexing, and sync scheduling. Requires Super Admin (manage:all) permission.

There are two queues:

  • ingestion — handles all email ingestion and sync jobs (initial-import, continuous-sync, process-mailbox, sync-cycle-finished, schedule-continuous-sync)
  • indexing — handles batched Meilisearch document indexing (index-email-batch)

List All Queues

List all queues

GET
/v1/jobs/queues

Returns all BullMQ job queues and their current job counts broken down by status. Requires manage:all (Super Admin) permission.

Authorizations

bearerAuth

JWT obtained from POST /v1/auth/login. Pass as Authorization: Bearer <token>.

Type
HTTP (bearer)
or
apiKeyAuth

API key generated via POST /v1/api-keys. Pass as X-API-KEY: <key>.

Type
API Key (header: X-API-KEY)

Responses

List of queue overviews.

application/json
JSON
{
  
"queues": [
  
  
{
  
  
  
"name": "ingestion",
  
  
  
"counts": {
  
  
  
  
"active": 0,
  
  
  
  
"completed": 56,
  
  
  
  
"failed": 4,
  
  
  
  
"delayed": 0,
  
  
  
  
"waiting": 0,
  
  
  
  
"paused": 0
  
  
  
}
  
  
}
  
]
}

Playground

Authorization

Samples

Powered by VitePress OpenAPI

Get Jobs in a Queue

Get jobs in a queue

GET
/v1/jobs/queues/{queueName}

Returns a paginated list of jobs within a specific queue, filtered by status. Requires manage:all (Super Admin) permission.

Authorizations

bearerAuth

JWT obtained from POST /v1/auth/login. Pass as Authorization: Bearer <token>.

Type
HTTP (bearer)
or
apiKeyAuth

API key generated via POST /v1/api-keys. Pass as X-API-KEY: <key>.

Type
API Key (header: X-API-KEY)

Parameters

Path Parameters

queueName*

The name of the queue (e.g. ingestion or indexing).

Type
string
Required
Example"ingestion"

Query Parameters

status

Filter jobs by status.

Type
string
Valid values
"active""completed""failed""delayed""waiting""paused"
Default
"failed"
page
Type
integer
Default
1
limit
Type
integer
Default
10

Responses

Detailed view of the queue including paginated jobs.

application/json
JSON
{
  
"name": "ingestion",
  
"counts": {
  
  
"active": 0,
  
  
"completed": 56,
  
  
"failed": 4,
  
  
"delayed": 0,
  
  
"waiting": 0,
  
  
"paused": 0
  
},
  
"jobs": [
  
  
{
  
  
  
"id": "1",
  
  
  
"name": "initial-import",
  
  
  
"data": {
  
  
  
},
  
  
  
"state": "failed",
  
  
  
"failedReason": "Error: Connection timed out",
  
  
  
"timestamp": 1678886400000,
  
  
  
"processedOn": 1678886401000,
  
  
  
"finishedOn": 1678886402000,
  
  
  
"attemptsMade": 5,
  
  
  
"stacktrace": [
  
  
  
  
"string"
  
  
  
],
  
  
  
"returnValue": "string",
  
  
  
"ingestionSourceId": "string",
  
  
  
"error": "string"
  
  
}
  
],
  
"pagination": {
  
  
"currentPage": 1,
  
  
"totalPages": 3,
  
  
"totalJobs": 25,
  
  
"limit": 10
  
}
}

Playground

Authorization
Variables
Key
Value

Samples

Powered by VitePress OpenAPI