---
title: "List all queues"
method: GET
path: "/api/v1/queues"
tags: ["queues"]
---

# List all queues

`GET /api/v1/queues`

## Request

- Base URL: `https://api.trigger.dev`
- URL: `https://api.trigger.dev/api/v1/queues`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/triggerdotdev/apis/trigger-dev-v3-rest-api/docs/api/v1/queues/get.ts> (a function with typed inputs; its response is checked against the schema)

List all queues in your environment with pagination support.

## Query parameters

- `page` integer
- `perPage` integer

## Response `200`

Successful request

- ListQueuesResult
  - `data` QueueObject[], required: An array of queue objects
    - `id` string, required: The queue ID, e.g., `queue_1234`
    - `name` string, required: The queue name. For task queues, this is the task ID. For custom queues, this is the name you specified.
    - `type` 'task' | 'custom', required: The type of queue: - `task`: Created automatically for each task - `custom`: Created explicitly in your code using `queue()`
    - `version` 'V1' | 'V2', required: Discriminates the shape: - `V1`: the queue carries its own `concurrencyLimit` (applied per key when runs pass a `concurrencyKey`, to the whole queue when they don't) and its `concurrency` override state - `V2`: the queue is only the line runs wait in; concurrency is declared with the task `concurrency` option and managed through the concurrency-limits endpoints. `concurrencyLimit` is always null and `concurrency` is absent.
    - `running` integer, required: The number of runs currently executing
    - `queued` integer, required: The number of runs currently queued
    - `paused` boolean, required: Whether the queue is paused. When paused, no new runs will start.
    - `concurrencyLimit` integer, nullable: The queue's own concurrency limit. Meaningful on V1 queues; always null on V2 queues.
    - `concurrency` object: Detailed concurrency information. V1 queues only.
      - `current` integer, nullable: The effective/current concurrency limit
      - `base` integer, nullable: The base concurrency limit defined in code
      - `override` integer, nullable: The override concurrency limit (if set)
      - `overriddenAt` string, date-time, nullable: When the concurrency limit was overridden
      - `overriddenBy` string, nullable: Who overrode the concurrency limit (null if via API)
  - `pagination` object, required
    - `currentPage` integer: The current page number
    - `totalPages` integer: The total number of pages
    - `count` integer: The total number of queues

## Other responses

- `401`: Unauthorized request

## Changes

- **2026-09-18** `f16898f8f42a`: 1 info
  - added the required property `data/items/version` to the response with the `200` status
- **2026-02-18** `408d3b4425aa`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/triggerdotdev/apis/trigger-dev-v3-rest-api/changes/api/v1/queues/get.md)

---

[API](https://skmtc.dev/triggerdotdev/apis/trigger-dev-v3-rest-api.md) - [All operations](https://skmtc.dev/triggerdotdev/apis/trigger-dev-v3-rest-api/llms.txt) - [OpenAPI document](https://skmtc.dev/triggerdotdev/apis/trigger-dev-v3-rest-api/revisions/441161111493?raw)
