Limits | Respan Docs

Limit scopes

A gateway request is checked against every applicable limit before the call is made. Crossing a warning threshold lets the request continue but fires a notification; hitting a block threshold rejects the request in real time. Notifications fire in both cases.

A blocked request never reaches an upstream provider, so provider retries and model fallbacks do not run for that rejection.

This page leads with the most granular scope: per API key. We then cover the organization and customer scopes.

Per-API-key limits

Limits scoped to a single API key let you cap a specific integration, contractor, or environment key without touching organization-wide spend. Each key can carry its own budget, usage caps, and expiry.

Per-API-key limits are configured on that key’s detail page. Each limit has an on/off toggle, and the page has its own Save button (and a Revoke key action).

Section Fields Notes
Lifetime limit Cost Cumulative cap over the key’s entire lifetime. Never resets.
Recurring limits Cost, Requests, Tokens Reset each period.
Expiry controls Expiry Never or a specific date.
Notifications Limit alerts Notify configured channels when spend reaches an alert or block threshold.

Lifetime vs. recurring. A lifetime limit is cumulative and never resets. For example, a $50 lifetime cost cap on a demo key. A recurring limit resets each period. For example, 10,000 requests per day on a production key.

Open the API key

Navigate to Settings > API Keys and click the key you want to limit.

Set a lifetime limit (optional)

Under Lifetime limit, toggle on Cost to cap total spend over the key’s entire lifetime.

Set recurring limits (optional)

Under Recurring limits, toggle on any of Cost, Requests, or Tokens and set a value. These reset each period.

Set expiry (optional)

Under Expiry controls, set Expiry to a date, or leave it as Never.

Enable alerts (optional)

Toggle Limit alerts to notify your configured channels when spend reaches an alert or block threshold.

Save

Click Save.

Separate keys per environment. Create separate API keys for test and production instead of using one key for both. You can then give each its own limits and expiry — for example, a tight recurring cap on a test key and a higher budget on production.

Warn vs. block

Every limit acts in one of two ways:

Warn: usage crossing the threshold sends a notification but requests keep flowing. The organization spend cap’s Warning threshold works this way, firing the spend_cap_warning_threshold_reached webhook. This is the pass / warn path. Note that the request still reaches the LLM.

Block: usage hitting the threshold rejects further requests in real time. The organization Spend cap and the per-customer limits work this way. This is the block path, in this case, the request is rejected.

Organization spend cap

A hard limit on total LLM spend across your organization. Proxy requests are blocked in real time once the cap is reached, and a webhook fires when the warning threshold is crossed.

Go to Limits

Navigate to Settings > Limits.

Set the billing period

Under Organization spend cap, choose the Billing period, this is how often the spend cap will reset (for example, Monthly).

Set the spend cap

Set Spend cap (USD) to your hard limit. Proxy requests are blocked in real time once the cap is reached. Leave it as Unlimited for no cap.

Set a warning threshold (optional)

Set Warning threshold (USD) to a value below the cap. When crossed, the spend_cap_warning_threshold_reached webhook fires. Leave as Not set to skip warnings.

Save

Click Save. Changes take effect immediately.

Customer limits

Monthly spending limits applied to LLM requests associated with each customer_identifier. These enforce the block path per customer.

Set both under Customer limits on the same page, then click Save.

Notifications

The organization spend cap’s Warning threshold fires the spend_cap_warning_threshold_reached webhook when crossed. Per-API-key Limit alerts notify your configured channels when spend reaches an alert or block threshold.

To learn how alert channels and webhooks are set up, see Monitors & notifications.

Looking for API rate limits? See API rate limits.