---
title: "Pause or resume a concurrency limit"
method: POST
path: "/api/v1/concurrency-limits/{name}/pause"
tags: ["concurrency-limits"]
---

# Pause or resume a concurrency limit

`POST /api/v1/concurrency-limits/{name}/pause`

## Request

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

Pause a concurrency limit to prevent runs holding it from starting, or resume a
paused limit. Runs that are currently executing will continue to completion, and
the limit's configured bounds are kept.

## Path parameters

- `name` string, required

## Request body

- object
  - `action` 'pause' | 'resume', required: Whether to pause or resume the limit

## Response `200`

Concurrency limit paused or resumed successfully

- 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.

## Other responses

- `400`: Invalid request parameters
- `401`: Unauthorized request
- `404`: Concurrency limit not found
- `409`: The limit changed concurrently; retry the request

## Changes

- **2026-09-20** `6f90f61d7598`: 1 info
  - endpoint added

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