Overview
Returns a paginated list of all queues in the current environment. Each queue object includes current run counts, concurrency configuration, and pause state.
There are two types of queues:
task queues — automatically created for every task.
custom queues — explicitly defined in code using queue() and shared across tasks.
Authentication with a secret key is required.
Endpoint
GET https://api.trigger.dev/api/v1/queues
Query parameters
Page number (1-based). Defaults to 1.
Number of queues per page.
Response
Array of queue objects. Queue ID, prefixed with queue_.
Queue name. For task queues this is the task ID; for custom queues it is the name you specified.
Number of runs currently executing.
Number of runs currently waiting in the queue.
Whether the queue is paused. When paused, no new runs start.
The current effective concurrency limit, if set.
Detailed concurrency information. Effective concurrency limit.
Base limit defined in code.
Override value, if an override is active.
When the override was applied.
Who applied the override (null if via API).
Examples
SDK
SDK — with pagination
cURL
import { queues } from "@trigger.dev/sdk" ;
// List all queues
const result = await queues . list ();
for ( const queue of result . data ) {
console . log (
` ${ queue . name } : ${ queue . running } running, ${ queue . queued } queued, paused= ${ queue . paused } `
);
}
Response example
{
"data" : [
{
"id" : "queue_1234" ,
"name" : "my-task" ,
"type" : "task" ,
"running" : 2 ,
"queued" : 8 ,
"paused" : false ,
"concurrencyLimit" : 10 ,
"concurrency" : {
"current" : 10 ,
"base" : 10 ,
"override" : null ,
"overriddenAt" : null ,
"overriddenBy" : null
}
},
{
"id" : "queue_5678" ,
"name" : "email-queue" ,
"type" : "custom" ,
"running" : 0 ,
"queued" : 0 ,
"paused" : true ,
"concurrencyLimit" : 5 ,
"concurrency" : {
"current" : 5 ,
"base" : 5 ,
"override" : null ,
"overriddenAt" : null ,
"overriddenBy" : null
}
}
],
"pagination" : {
"currentPage" : 1 ,
"totalPages" : 2 ,
"count" : 24
}
}