> ## Documentation Index
> Fetch the complete documentation index at: https://developer.jtl-software.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Rate Limits

> Per-endpoint quotas, rate-limit response headers, and 429 handling across the SCX APIs.

The SCX APIs enforce per-endpoint rate limits. Each limit defines the maximum number of requests allowed within a time window. Exceeding a limit returns `HTTP 429 Too Many Requests`.

Rate limits are applied by endpoint group rather than uniformly across all SCX APIs. High-volume operations such as offer and order updates have higher limits, while administrative operations such as category and attribute management have stricter limits.

## Response Headers

SCX API responses include the following headers so you can monitor your current rate limit usage:

| Header                                | Description                                                 |
| ------------------------------------- | ----------------------------------------------------------- |
| `X-RateLimit-Limit`                   | The total number of requests allowed in the current window. |
| `X-RateLimit-Interval-Length-Seconds` | The window length in seconds.                               |
| `X-RateLimit-Remaining`               | Requests remaining in the current window.                   |

Monitor these headers to pace your requests rather than waiting for `429` responses.

## Production Limits

Each endpoint category has its own window. The numbers below apply to production; sandbox environments may use different values, so always verify against the response headers for the environment you're calling.

| Endpoint category                | Limit                                             |
| -------------------------------- | ------------------------------------------------- |
| General endpoints                | 10 requests per 60 seconds                        |
| Channel endpoints                | 60 requests per 60 seconds                        |
| Order endpoints                  | 600 requests per 60 seconds                       |
| Event endpoints                  | 240 requests per 60 seconds                       |
| Offer endpoints                  | 1500 requests per 60 seconds                      |
| Category attributes              | 86,400 requests per 86,400 seconds (≈1/s average) |
| Global attributes and categories | 5-10 requests per 1,800-3,600 seconds             |

## 429 Handling

When a request is rejected with `429`:

1. Stop sending additional requests in that endpoint category until the window resets.
2. Apply exponential backoff before retrying, and use the headers `X-RateLimit-Interval-Length-Seconds` and `X-RateLimit-Remaining` to adjust your request cadence.
3. Spread bursts across time rather than sending batches simultaneously.

<Tip>
  For polling-based workflows like event consumption, a steady cadence (for example, once every 60 seconds) keeps you well within the event endpoint quota and avoids self-inflicted throttling.
</Tip>

## What's Next?

<CardGroup cols={2}>
  <Card title="Authorization" icon="key" href="/guides/marketplace-channels/authorization">
    Token exchange and Bearer header usage for SCX APIs.
  </Card>

  <Card title="Channel API Reference" icon="code" href="/api-reference/scx/channel">
    Endpoint-level reference for the Channel API.
  </Card>
</CardGroup>
