---
title: "Retrieve a queue"
method: GET
path: "/api/v1/queues/{queueParam}"
tags: ["queues"]
---

# Retrieve a queue

`GET /api/v1/queues/{queueParam}`

## Request

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

Get a queue by its ID, or by type and name.

## Path parameters

- `queueParam` string, required

## Query parameters

- `type` 'id' | 'task' | 'custom'

## Response `200`

Successful request

- QueueObject
  - `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)

## Other responses

- `401`: Unauthorized request
- `404`: Queue not found

## Changes

- **2026-09-18** `f16898f8f42a`: 1 info
  - added the required property `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/:queueParam/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)
