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

# Tiers & Limits

> Compute tiers and API rate limits.

Every sandbox and instance runs on a tier that sets its CPU and memory capacity. Accounts also have rate limits that protect the platform and your workloads.

## Compute tiers

| Tier       | CPU       | Memory  | GPU | Best for                             |
| ---------- | --------- | ------- | --- | ------------------------------------ |
| `micro`    | 0.25 vCPU | 256 MiB | —   | Lightweight agents and quick tasks   |
| `standard` | 0.5 vCPU  | 512 MiB | —   | Most agents and sandboxes            |
| `large`    | 1 vCPU    | 1 GiB   | —   | Heavier processing and RAG pipelines |
| `gpu`      | 2 vCPU    | 2 GiB   | 1   | GPU-accelerated workloads            |

If a requested tier has no capacity, allocation returns `503` rather than substituting another tier.

<Warning>
  **Tier capacity is hard-limited.** When a tier is full, the platform returns `503 Service Unavailable` — there is no automatic fallback to a different tier. This means a burst of sandbox or instance creation requests can fail simultaneously if your organization's concurrent allocation exceeds available capacity. Monitor the `ConcurrentSandboxes` quota to stay ahead of this.
</Warning>

## Quota keys

| Quota key             | Controls                                           | Behavior when exceeded                                                                    |
| --------------------- | -------------------------------------------------- | ----------------------------------------------------------------------------------------- |
| `ConcurrentSandboxes` | Maximum concurrent sandboxes per organization      | New sandbox allocation returns `429 quota_exceeded`. Existing sandboxes continue running. |
| `KeySkillCount`       | Maximum registered skills (tools) per organization | New skill registration returns `429 quota_exceeded`. Existing skills remain functional.   |

When you receive `quota_exceeded` (HTTP `429`), the response includes `X-RateLimit-Limit` and `X-RateLimit-Reset` headers. Unlike rate limits which auto-resolve with time, quota limits require you to release resources or request a quota increase via [Support](/docs/support).

## Rate limits

API requests are rate-limited per organization. When you exceed a limit, the API responds with `429 Too Many Requests` and the SDKs retry automatically with exponential backoff.

| Surface            | Limit                                     |
| ------------------ | ----------------------------------------- |
| Data Platform APIs | 10,000 requests per organization per hour |
| Orchestration APIs | 100 requests per organization per minute  |

List endpoints are paginated: `page` starts at 1, `page_size` ranges 1-100 (default 20).

<Note>
  Current pricing is shown in your [Console](https://console.hexelstudio.com) and on the pricing page. Rates are not duplicated here to keep the docs accurate.
</Note>

## Common mistakes

* **Treating `429` as a hard failure.** It is a signal to back off and retry, not an error to surface to users.
* **Over-provisioning the tier.** Start at `standard` and move up only when metrics justify it.

## Best practices

* Right-size tiers using [metrics](/docs/observability/metrics).
* Handle `429` with backoff (the SDKs do this automatically).
* Check the Console for current limits before high-volume runs.

## Related pages

<CardGroup cols={2}>
  <Card title="Usage" icon="gauge" href="/docs/billing/usage">
    Track consumption.
  </Card>

  <Card title="Scaling" icon="up-right-and-down-left-from-center" href="/docs/compute/scaling">
    Adjust capacity.
  </Card>

  <Card title="Error Handling (Python)" icon="triangle-exclamation" href="/docs/sdks/python/error-handling">
    How the SDKs handle 429s.
  </Card>

  <Card title="Troubleshooting" icon="wrench" href="/docs/troubleshooting">
    Resolve limit-related issues.
  </Card>
</CardGroup>
