# レスポンスヘッダ

Source: https://aiand-docs-staging.pages.dev/ja/reference/response-headers/

ai& は OpenAI / Anthropic 形式のレスポンスボディに変更を加えず、リクエストのメタデータは HTTP ヘッダで提供します。これにより公式 SDK とのワイヤ形式互換性が保たれます。

## 識別 / トレース

| ヘッダ         | 説明                                                                                                                                                                                                                                                                                                                                                            |
| -------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `X-Request-ID` | トレース対象の API ルート（推論、認証、課金、Files）におけるこのリクエストの一意 ID。サポート問い合わせ時に添付してください。                                                                                                                                                                                                                                   |
| `traceparent`  | [OpenTelemetry のコンテキスト伝播](https://opentelemetry.io/docs/concepts/context-propagation/)で使用するヘッダ。トレース対象の推論ルートと auth/files/billing の HTTP リクエストでは、受信値を受け入れるか新しいトレースを開始し、可能な場合は下流へ伝播して、サーバーのトレースコンテキストをレスポンスで返します。これにより分散トレースを関連付けられます。 |
| `X-Model`      | 実際にリクエストを処理したモデルのカタログ名（小文字化）。解決後の名前を返すため、送信した値と大文字小文字が異なる場合があります。予約名 `auto` を使用した場合、選択されたモデルが報告される唯一の場所です。比較は大文字小文字を区別せずに行ってください。                                                                       |

<Aside type="note">
  現在のリクエストテレメトリのラッパーは、推論の生成・カタログ・analytics・logs
  ルートと、auth/files/billing のすべての HTTP
  リクエストを対象とします。worker-admin、worker-notifications、worker-openapi は現在対象外です。
</Aside>

## コストメトリクス（オプトイン）

コスト・計測系のヘッダはデフォルトでは送出され**ません**。リクエストヘッダ `X-Aiand-Metrics: true` を付与した場合のみ、非ストリーミングのレスポンスに付与されます:

| ヘッダ            | 説明                                               |
| ----------------- | -------------------------------------------------- |
| `X-Cost`          | リクエストのコスト（請求通貨建て）。               |
| `X-Cost-Currency` | `X-Cost` の通貨（`usd` または `jpy`）。            |
| `X-Inference-Ms`  | 上流モデルがレスポンス生成に要した時間（ミリ秒）。 |

トークン数はヘッダでは提供されません — レスポンスボディの `usage` ブロックを参照してください。

## reasoning effort

| ヘッダ               | 説明                                                                                                                                                                                                                                         |
| -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `X-Reasoning-Effort` | effort を要求したリクエストにおいて、実際に適用されたレベル (`/v1/chat/completions` と `/v1/messages` では `reasoning_effort`、`/v1/responses` では `reasoning.effort`)。[`/v1/messages`](/ja/api/messages/) では、名前付きの推論モデルに対する `thinking: { "type": "disabled" }` も要求として扱われ、`none` が返ります。予約名 [`auto`](/ja/models/auto/) ではこのブロックは無視されるため、ヘッダは付きません。常にそのモデルの公開レベルのいずれかです。要求しなかった場合は付与されません — その場合はモデル自身のデフォルトが適用され、当社が値を補うことはありません。 |

モデルの一覧にないレベル([`reasoning_efforts`](/ja/models/catalog/) を参照)は、一つ上のレベル、それがなければそのモデルの最も高いレベルで実行されます。その場合このヘッダは送信した値と異なり、課金対象の reasoning トークンは適用されたレベルのもので、要求したレベルより高コストになる場合があります。`none` は繰り上げられません。`none` を一覧に含まないモデルでは 400 になり、effort の語彙にない値も同様です。

## レート制限

レート制限ヘッダの一覧は [レート制限](/ja/reference/rate-limits/) を参照。

## ストリーミング

ストリーミングレスポンスでは `X-Request-ID` とレート制限ヘッダは即時送出されますが、コストヘッダは付与されません。`X-Aiand-Metrics: true` を付与すると、chat completions のストリームではモデルの終端メッセージの後にトークン数・コスト・通貨を含む `event: metrics` の trailer イベントが追加されます。[ストリーミングイベント](/ja/reference/streaming-events/) を参照。

<Aside type="note">
  ストリーミング時は trailer イベントを読んでください —
  ヘッダはボディ完了前に送出されるため、コストの取得には使えません。
</Aside>
