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

# Response headers.

> The API keeps its header surface small and stable: the public model identity, request-window state, how much of the month you have used, and retry timing.

## On every response

| Header | Example | Meaning |
| - | - | - |
| `sideren-model` | `@sdn/gpt-oss-120b` | The public model identity for this request: the model you asked for, as you asked for it. Read the catalog `delivery` field for exact vs optimized. |
| `x-sideren-requested-model` | `@sdn/gpt-oss-120b` | The `model` value you sent. |
| `x-request-id` | `req_42f4…` | The request's id. Quote it when you contact support. |
| `x-ratelimit-limit-requests` | `1000` | Requests in your plan's published request window. Omitted when the plan has no request limit. |
| `x-ratelimit-remaining-requests` | `997` | Requests left in the current window. |
| `x-ratelimit-reset-requests` | `42s` | Time until the request window is fully replenished. |
| `x-sideren-monthly-used-percent` | `37` | How much of this month's plan credits you have used, as a whole percent. Present on plans with monthly credits. |
| `x-sideren-monthly-reset` | `2026-11-16T00:00:00Z` | When your monthly credits renew. |

On `/v1/messages` the same request-window figures are also sent under Anthropic's names
(`anthropic-ratelimit-requests-limit`, `-remaining` and `-reset`), so Anthropic SDKs read
them unchanged. Where a plan has a tokens-per-minute limit, `x-ratelimit-*-tokens` (and
`anthropic-ratelimit-tokens-*`) report it the same way.

```http title="Example response headers" theme={null}
sideren-model: @sdn/gpt-oss-120b
x-request-id: req_42f4bac73e8940d49c6270cd2f43a6e7
x-ratelimit-limit-requests: 1000
x-ratelimit-remaining-requests: 997
x-ratelimit-reset-requests: 42s
x-sideren-monthly-used-percent: 37
x-sideren-monthly-reset: 2026-11-16T00:00:00Z
```

The `x-ratelimit-*` trio lets a client pace itself instead of discovering the limit by
hitting it: throttle as `remaining` approaches zero. Per-plan limits are published on
[Plans & limits](/plans).

## On error responses

| Header | Example | Meaning |
| - | - | - |
| `retry-after` | `12` | Seconds to wait before retrying. Present on retryable `429` and `503` answers. Never present on `402` or `403` answers, such as `allowance_exhausted` or `credit_used_up`: waiting doesn't clear those. |
| `x-sideren-error-code` | `plan_upgrade_required` | The same machine-readable code as `error.code` in the body, so a client can branch without parsing the body. |
| `x-sideren-alternatives` | `@sdn/glm-5.3, @sdn/kimi-k3` | On a refusal for a model you can't use, models you can use instead. |

Honor `retry-after` exactly; the value is computed, not a guess. The retry recipe (and which
statuses to retry at all) is on [Errors](/errors).

## Request headers

Besides the authentication header ([Authentication](/authentication)), these request
headers are part of the contract:

| Header | Values | Meaning |
| - | - | - |
| `x-sideren-payment-mode` | `subscription` · `payg` | Which balance pays for the request: your plan's monthly credits, or purchased credit in [PAYG mode](/plans#pay-as-you-go). Omit it and a subscription draws from the plan; a key with PAYG mode turned on, or an account with no subscription, uses purchased credit. |
| `Idempotency-Key` | a UUID | Makes batch creation safe to retry. See [Idempotency](/api/idempotency). |
| `anthropic-version` | e.g. `2023-06-01` | As every Anthropic SDK sends; on `GET /v1/models` it switches the response to Anthropic's list envelope. |

## Legacy spellings

`sideren-model` is also sent as `x1-model` with the same value, and
`x-sideren-payment-mode` also accepts the older `x-layerx1-payment-mode`. Read either one;
new code should use the `sideren` names.

<Note>
  This is the customer-visible header surface. Anything else you may observe is not part of
  the API contract and can change without notice: build only against the headers on this
  page.
</Note>


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