> ## Documentation Index
> Fetch the complete documentation index at: https://dev-docs.trychainshift.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Rate limit

> Per-organization request limits and how to handle exceeding them

Every authenticated Platform API endpoint (`/api/v1/platform/*` and `/api/v1beta/platform/*`) is subject to a per-organization rate limit. Limits are counted separately for each organization, so one organization's traffic never affects another.

> [!NOTE]
>
> Path versions differ by resource. The limit applies the same way regardless of version. See [Versions and compatibility](https://dev-docs.trychainshift.ai/en/guides/versioning.md).

## Limits

| Item | Value |
| - | - |
| Default limit | 10 requests per second |
| Counting unit | Organization (the organization the API key belongs to) |
| Scope | Every Platform API endpoint that requires authentication |

> [!NOTE]
>
> The limit uses a fixed 1-second window. The counter resets at the start of every second.

## Response headers

Every rate-limited response includes headers describing the state of the current window.

| Header | Description |
| - | - |
| `X-RateLimit-Limit` | Number of requests allowed per window |
| `X-RateLimit-Remaining` | Number of requests remaining in the current window |
| `X-RateLimit-Reset` | Time when the current window resets (Unix epoch seconds) |
| `Retry-After` | Seconds to wait before sending another request. Only included on responses that exceeded the limit (`429`). |

## Limit exceeded response

When you exceed the limit, the API returns `429 Too Many Requests` with the following body.

```json theme={null}
{
  "code": "PLATFORM_RATE_LIMIT_EXCEEDED",
  "message": "요청이 너무 많습니다. 잠시 후 다시 시도해주세요."
}
```

Wait for the number of seconds in the `Retry-After` header, then send the request again.

## Staying within the limit

**1. Check remaining requests**

Use the `X-RateLimit-Remaining` value in each response to see how many requests you can still send in the current window.

**2. Handle 429 responses**

When you receive a `429`, wait for the seconds in the `Retry-After` header and retry.

**3. Spread out bulk work**

If you need to send many requests, space them out to stay within the per-second limit.

> [!TIP]
>
> When you need to process many items at once, such as bulk creation, use the bulk endpoints instead of sending one request per item to reduce the number of requests.

For billing, see [Credits](https://dev-docs.trychainshift.ai/en/guides/credits.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.