---
title: "Reset concurrency limit"
method: POST
path: "/api/v1/concurrency-limits/{name}/reset"
tags: ["concurrency-limits"]
---

# Reset concurrency limit

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

## Request

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

Reset a concurrency limit back to the values declared in your code, clearing any override. With a concurrencyKey in the body, clear that key's per-key override instead and leave the limit itself alone.

## Path parameters

- `name` string, required

## Request body

- object
  - `concurrencyKey` string: Clear the per-key override for this concurrencyKey only.

## Response `200`

Concurrency limit reset successfully

- union
  - 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.
  - ConcurrencyLimitKeyObject: A limit's view for one concurrencyKey, returned when a request names a concurrencyKey.
    - `name` string, required: The limit's name, as declared with `concurrencyLimit()`
    - `concurrencyKey` string, required: The concurrencyKey this view is for
    - `perKey` object, required: The per-key bound for this key
      - `current` integer, nullable: Enforced right now for this key (the override when one is in force, else the limit's perKey), clamped to the environment concurrency limit
      - `base` integer, nullable: The limit's own perKey as enforced
      - `override` integer, nullable: The key's temporary override, when one is in force
      - `expiresAt` string, date-time, nullable: When the key's override lapses; null when there is none
    - `running` integer, required: Runs executing for this key that hold this limit
    - `paused` boolean, required: Whether the limit is paused. A paused limit admits no runs, override or not.

## Other responses

- `400`: The limit has no override to reset
- `401`: Unauthorized request
- `404`: Concurrency limit not found
- `409`: The limit changed concurrently; retry the request

## Changes

- **2026-10-13** `ed63702553ec`: 8 breaking, 1 warning, 1 info
  - added `#/components/schemas/ConcurrencyLimitObject, #/components/schemas/ConcurrencyLimitKeyObject` to the response body `oneOf` list for the response status `200`
  - the response's body type changed from `object` to no type for status `200`
  - removed the required property `id` from the response with the `200` status
  - removed the required property `name` from the response with the `200` status
  - …6 more
- **2026-09-20** `6f90f61d7598`: 1 info
  - added the optional property `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/:name/reset/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)
