---
title: "List concurrency limits"
method: GET
path: "/api/v1/concurrency-limits"
tags: ["concurrency-limits"]
---

# List concurrency limits

`GET /api/v1/concurrency-limits`

## Request

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

List the environment's declared concurrency limits (anonymous inline limits
appear under their derived `task/<task-id>` names), with each limit's bounds
and its live running and queued counts. Results are ordered by the underlying
row name, so named limits sort before `task/`-derived inline limits.

## Query parameters

- `page` integer
- `perPage` integer

## Response `200`

Concurrency limits retrieved successfully

- object
  - `data` ConcurrencyLimitObject[]
    - `id` string, required: The limit's id, starting with `climit_`
    - `name` string, required: The limit's name, as declared with `concurrencyLimit()`
    - `perKey` object, required: Caps each concurrencyKey pool; runs without a key share one pool
      - `current` integer, nullable: Enforced right now (null = no per-key bound). Enforcement clamps it to the environment concurrency limit at admit time.
      - `base` integer, nullable: The declared value an override reverts to on reset
      - `override` integer, nullable: The overridden value, when an override is active
      - `overriddenAt` string, date-time, nullable: When the override was applied
    - `total` object, required: Caps every run holding this limit, keys or not
      - `current` integer, nullable: Enforced right now (null = no total bound). Enforcement clamps it to the environment concurrency limit at admit time.
      - `base` integer, nullable: The declared value an override reverts to on reset
      - `override` integer, nullable: The overridden value, when an override is active
      - `overriddenAt` string, date-time, nullable: When the override was applied
    - `running` integer, required: Runs executing that hold this limit
    - `queued` integer, required: Runs that are queued and must clear this limit to execute
    - `paused` boolean: Whether the limit is paused. A paused limit admits no runs until resumed; its configured bounds are kept.
  - `pagination` object
    - `currentPage` integer
    - `totalPages` integer
    - `count` integer

## Other responses

- `401`: Unauthorized request

## Changes

- **2026-09-20** `6f90f61d7598`: 1 info
  - added the optional property `data/items/paused` to the response with the `200` status
- **2026-09-18** `f16898f8f42a`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/triggerdotdev/apis/trigger-dev-v3-rest-api/changes/api/v1/concurrency-limits/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)
