Appearance
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 } } ]
{
}
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
Requiredstring
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
1limit
Type
integer
Default
10Responses
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 }
{
}