---
title: "Override queue concurrency limit"
method: POST
path: "/api/v1/queues/{queueParam}/concurrency/override"
tags: ["queues"]
---

# Override queue concurrency limit

`POST /api/v1/queues/{queueParam}/concurrency/override`

## Request

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

Override the concurrency limit of a queue. This is useful for temporarily scaling up or down based on demand.

## Path parameters

- `queueParam` string, required

## Request body

- object
  - `type` 'id' | 'task' | 'custom': How to interpret the `queueParam` path parameter: - `id`: Treat as a queue ID (default) - `task`: Treat as a task ID to get the task's default queue - `custom`: Treat as a custom queue name
  - `concurrencyLimit` integer, required: The new concurrency limit to set for the queue. It may not exceed your environment's maximum concurrency limit: a higher value is rejected with a 400, not capped to the maximum.

## Response `200`

Concurrency limit overridden successfully

- 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

- `400`: Invalid request parameters, or the requested concurrency limit exceeds the environment's maximum concurrency limit.
- `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/concurrency/override/post.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)
