---
title: "Delete a spend limit"
method: DELETE
path: "/spend_limits/{product}"
tags: ["Spend Limits"]
---

# Delete a spend limit

`DELETE /spend_limits/{product}`

Removes the limit for the product and period. For `inference`, which has no default limit, the product becomes unlimited for the period and the period's block is lifted (`evaluation.released`). The response carries `limit: null` and the `effective_limit_usd` that applies after the removal. Returns 404 when no limit is set.

## Path parameters

- `product` string, required

## Query parameters

- `period` 'daily' | 'monthly' — `daily` is the current UTC day; `monthly` is the current UTC calendar month.
- `reason` string

## Response `200`

The limit was deleted. `evaluation` says whether a block was lifted.

- SpendLimitResponse
  - `data` SpendLimit, required — The spend limit, spend and block state of one product and period.
    - `record_type` string, required — Identifies the type of the resource.
    - `product` string, required — Product the entry applies to.
    - `product_name` string, required — Display name of the product.
    - `period` 'daily' | 'monthly', required — `daily` is the current UTC day; `monthly` is the current UTC calendar month.
    - `period_start` string, date, required — First UTC day of the current period.
    - `period_end` string, date, required — Exclusive end of the current period, a UTC date.
    - `limit` SpendLimitLimit, nullable, required — The limit set on the account for the product and period, whoever set it. `null` when none is set.
      - `amount` string, nullable, required — Limit in USD, as a decimal string. `null` when `unlimited` is true.
      - `unlimited` boolean, required — True when the limit was set to explicitly no cap.
      - `origin` 'self_service' | 'operator', required — `self_service` when a user of the account set it, `operator` when Telnyx support did.
      - `updated_at` string, date-time, required — When the limit was last set or changed.
    - `effective_limit_usd` string, nullable, required — The limit in USD that is enforced, as a decimal string. `null` means unlimited.
    - `spend_usd` string, nullable, required — Spend in USD so far in the period, as a decimal string. It can lag actual usage by about a minute. `null` when it could not be read.
    - `spend_error` string, nullable, required — Set when `spend_usd` is `null`.
    - `blocked` boolean, required — The product is blocked for this period. Always `false` in write responses; list the limits to read the block state.
    - `block` SpendLimitBlock, nullable, required — The active block of the period. `null` when the period is not blocked.
      - `detected_at` string, date-time, required — When the block started.
      - `spend_usd` string, required — Spend in USD when the block started, as a decimal string.
      - `limit_usd` string, required — The limit in USD that the spend went above, as a decimal string.
      - `blocked_until` string, date, required — Exclusive end of the block: it is lifted at 00:00 UTC on this date at the latest.
    - `evaluation` SpendLimitEvaluation — What a create, update or delete did to the period at once. Only present in write responses.
      - `spend_usd` string, nullable, required — Spend in USD used for the check, as a decimal string. `null` when the spend was not checked.
      - `released` boolean, required — The change lifted a block of this period.
      - `blocked_now` boolean, required — The change blocked the product: the spend was already above the new limit.
      - `still_over_limit` boolean, required — A block of this period remains because the spend is still above the new limit.
      - `still_blocked_other_period` boolean, required — The other period has an active block, so the product stays blocked whatever this period's result.
      - `evaluation_deferred` boolean, required — The spend could not be checked now. The change is saved and applied within a few minutes.
      - `note` string — Additional information about the result, when there is any.

## Other responses

- `400` — Bad request. The product does not support self-service spend limits or the period is invalid.
- `401` — Unauthorized. The request did not carry valid Telnyx API credentials.
- `403` — Forbidden. The caller's access policy does not allow this spend limits action.
- `404` — Not found. No spend limit is set for the product and period.

## Changes

> 103 revisions in range; 1 not diffed.

- **2026-09-28** `eaa228e7593e` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/team-telnyx/apis/telnyx-api-2/changes/spend_limits/:product/delete.md)

---

[API](https://skmtc.dev/team-telnyx/apis/telnyx-api-2.md) · [All operations](https://skmtc.dev/team-telnyx/apis/telnyx-api-2/llms.txt) · [OpenAPI document](https://skmtc.dev/team-telnyx/apis/telnyx-api-2/revisions/9825f59521a0?raw)
