# API リファレンス > API リファレンスのハブです。Base URL、認証、エンドポイントの一覧(Chat Completions、Completions、Responses、Messages、models、key)、共通パラメータ、レスポンス、ストリーミング、エラー、制限。 Source: https://kiln.bricksum.com/docs/ja/api-reference このページには、エンドポイントに共通する内容をまとめています。Base URL、認証、複数のエンドポイントが受け取るパラメータ、レスポンスの形式、ストリーミング、ゲートウェイが返すエラーと適用する制限です。以下の各エンドポイントページには、そのエンドポイント固有の内容だけを置き、残りはこのページを参照します。 ## Base URL ``` https://api.bricksum.com/v1 ``` 以下のすべてのパスは、この Base URL からの相対パスです。Anthropic の SDK は /v1 を自分で付けるため、https://api.bricksum.com を指定してください。 ## 認証 API キーを Authorization ヘッダーに Bearer トークンとして送信してください。x-api-key ヘッダーは Authorization がない場合にのみ読み取ります。両方がある場合は Authorization を使用し、Authorization の値が Bearer トークンの形式でなければ、x-api-key にフォールバックせずに拒否します。使用できるキーがないリクエストは、エンドポイントに届く前に 401 で拒否されます。 ゲートウェイは anthropic-version と anthropic-beta ヘッダーを読み取らないため、これらのヘッダーの有無にかかわらずリクエストを同じように処理し、?beta=true のようなクエリ文字列も受け付けます。上のルールの例外は GET /key だけです。このルートは Kiln API が処理し、キーを Bearer トークンとしてのみ受け取ります。詳細はそのページに記載しています。 [認証](https://kiln.bricksum.com/docs/ja/authentication) ## エンドポイント 現在提供しているエンドポイントです。クライアントがすでに使っている形式に合わせて選んでください。ゲートウェイはいずれも同じ方法で計測します。 | エンドポイント | 形式 | ストリーミング | 用途 | | --- | --- | --- | --- | | [`POST /chat/completions`](https://kiln.bricksum.com/docs/ja/api-reference/chat-completions) | OpenAI | data: チャンク | 会話とツール呼び出しに使います。ほとんどの OpenAI クライアントが使うエンドポイントです。 | | [`POST /completions`](https://kiln.bricksum.com/docs/ja/api-reference/completions) | OpenAI | data: チャンク | プロンプトに続くテキストを生成します。会話とツール呼び出しには対応しません。 | | [`POST /responses`](https://kiln.bricksum.com/docs/ja/api-reference/responses) | OpenAI | 型付きイベント | Responses 形式です。Codex CLI が使用します。状態を保存しないため、毎回会話全体を input に入れて送信します。 | | [`POST /messages`](https://kiln.bricksum.com/docs/ja/api-reference/messages) | Anthropic | 型付きイベント | Anthropic Messages 形式です。Claude Code が使用します。chat completions に変換し、同じ方法で計測します。 | | [`POST /messages/count_tokens`](https://kiln.bricksum.com/docs/ja/api-reference/count-tokens) | Anthropic | なし | Messages リクエストの入力トークン数を数えます。推論は実行されず、課金されません。 | | [`GET /models`](https://kiln.bricksum.com/docs/ja/api-reference/models) | OpenAI | なし | ゲートウェイが現在提供できるモデル ID の一覧です。課金されません。 | | [`GET /key`](https://kiln.bricksum.com/docs/ja/api-reference/key) | Kiln | なし | 呼び出しに使ったキーのプロジェクト、ステータス、支出上限、有効期限、支出額です。ゲートウェイではなく Kiln API が処理します。 | ## 共通のリクエストパラメータ 複数のエンドポイントが受け取るリクエストパラメータです。ここに一度だけ記載し、各エンドポイントページには名前と、そのエンドポイントで異なる点だけを記載しています。 | ステータス | 説明 | | --- | --- | | 対応 | ゲートウェイが処理するか、公開済みの実測で動作を確認した項目です。 | | 転送のみ | モデルサーバーに転送されます。Kiln は動作を検証していません。 | | 無視 | 200 で受け付けられますが、適用されません。レスポンスのその他の部分は通常どおりです。 | | 非対応 | エラーで拒否されるか、説明に記載したモデルでは動作しません。 | | フィールド | 型 | 必須 | デフォルト | ステータス | 説明 | | --- | --- | --- | --- | --- | --- | | `model` | string | | | 対応 | モデル ID です(例:qwen3-32b)。送信できる ID は GET /models で取得します。カタログにない ID は、モデルに届く前に拒否されます。OpenAI 形式のエンドポイントは 404(model_not_found)、Anthropic 形式のエンドポイントは 404(not_found_error)を返します。 | | `messages` | array | 必須 | | 対応 | これまでの会話です。古いメッセージから順に並べます。配列が空または未指定の場合は 400 で拒否され、課金されません。メッセージは role と content を持ち、content が取れる形は OpenAI 形式と Anthropic 形式のエンドポイントで異なるため、各エンドポイントページに記載しています。 | | `max_tokens` | integer | | | 対応 | 生成する最大トークン数です。reasoning トークンも含まれるため、余裕を持って設定してください。上限に達したときの動作と、このフィールドがないときの動作はエンドポイントごとに異なります。 | | `stream` | boolean | | `false` | 対応 | true の場合、レスポンスは 1 つの JSON ボディではなく server-sent events のストリームになります。JSON の boolean で送信してください。OpenAI 形式のエンドポイントは data: 行を送り、data: [DONE] でストリームを終えます。Anthropic 形式の Messages エンドポイントは型付きのイベントを送ります。 | | `tools` | array | | | 対応 | モデルが呼び出せる関数の定義です。それぞれに名前、description、引数の JSON Schema が必要で、フィールド名は 2 つの形式で異なります。どのモデルがどのツール選択の方式を適用するかは、モデルページの対応機能表に記載しています。 | | `tool_choice` | string \| object | | | 対応 | モデルがツールを呼び出す必要があるかどうかを指定します。自動のツール選択ではモデルが判断します。強制的なツール選択はすべてのモデルで適用されるわけではなく、どのモデルがどの方式を適用するかはモデルページの対応機能表に記載しています。qwen3-32b では、強制的なツール選択が明確なエラーなしに失敗します(2026-09-26 実測)。tool_choice を "required" にすると本文が平文 "Internal Server Error" の HTTP 500 が返り、関数を指定すると arguments が空の 200(finish_reason "stop")が返ります。どちらも 4xx ではないため、再試行では解決しません。tool_choice は "auto" のみを送ってください。 | どのエンドポイントがこれらのパラメータを受け取るか、そのエンドポイントで必須かどうかは、各エンドポイントページに記載しています。エンドポイントページに記載のないパラメータは、送信した値のままモデルサーバーに転送されます。Kiln は動作を検証していません。 ## レスポンスの形式 リクエストが成功すると、そのエンドポイントの形式の JSON ボディとともに 200 を返します。計測対象のエンドポイントで共通する項目は 2 つです。 | フィールド | 型 | 説明 | | --- | --- | --- | | `usage` | object | このリクエストのトークン数です。フィールド名はエンドポイントの形式に従い、各エンドポイントページに記載しています。クレジットから差し引かれる金額(USD)である usage.cost は、OpenAI 形式の JSON レスポンスと、Chat completions・Completions のストリームの最後のチャンクにゲートウェイが追加します。Responses のストリームイベントと Messages のレスポンスにはトークン数だけが入り、cost フィールドはありません。 | | `X-Neocloud-Generation-Id` | header | このリクエストの usage イベント ID を含むレスポンスヘッダーです。ログと一緒に保存してください。推論を実行しない GET /models と POST /messages/count_tokens は usage イベントを発行しないため、このヘッダーも送りません。 | ## ストリーミング stream: true の場合、レスポンスは server-sent events のストリームになります。OpenAI 形式のエンドポイントはチャンクごとに data: 行を 1 つ送り、data: [DONE] で終えます。Responses と Messages は、event: 行と続く data: 行からなる型付きのイベントを送ります。どちらの場合も生成が終わるまで接続が開いたままなので、長いリクエストが下記のタイムアウトに達しません。チャンクのフィールドとイベントの型は、各エンドポイントページに記載しています。 [ストリーミング](https://kiln.bricksum.com/docs/ja/streaming) ## ゲートウェイが返すエラー 以下のエラーは、リクエストがエンドポイントに届く前にゲートウェイが返すため、ゲートウェイが処理するすべてのエンドポイントで同じ形で現れます。メッセージの文言ではなく、HTTP ステータスで分岐してください。不正なリクエストボディ、存在しないモデル ID、誤ったメソッドのようにエンドポイント自身が返すエラーは各エンドポイントページにあり、すべてのステータスコードはエラーページにあります。 [エラー](https://kiln.bricksum.com/docs/ja/errors#ステータスコード) | ステータス | 原因 | 対処 | | --- | --- | --- | | 401 | API キーがない、形式が不正、未登録、または期限切れです。 | x-api-key または Authorization ヘッダーとキーの有効期限を確認してください。 | | 402 | クレジットが尽きた、組織が月間予算に達した、またはキーが支出上限に達しました。 | チャージするか、管理者に予算または上限の引き上げを依頼してください。 | | 403 | API キーが停止または失効しています。 | コンソールでキーを再有効化するか、新しいキーを作成してください。 | | 429 | 組織の 1 分あたりのリクエスト数またはトークン数の上限を超えました。 | x-ratelimit-reset 秒待ってから再試行してください。 | ## 制限 - コンテキスト長:モデルごとに異なり、プロンプトと出力の合計です。モデル別の値はモデルページに記載されています。これを超えるリクエストは 400 で拒否されます。 - リクエストボディ:ゲートウェイは先頭から最大 8 MiB までしか読み取りません。ボディはそれより小さくしてください。 - タイムアウト:ゲートウェイはリクエストを 60 分後に終了します。非ストリーミングのリクエストは完了するまでバイトを送信せず、ネットワークエッジがそのような接続を約 100 秒後に切断することがあります。長い生成は stream: true で送信してください。 - 組織ごとのレート制限:既定で 1 分あたり 60 リクエスト、設定されている場合は 1 分あたりのトークン数の上限、同時リクエスト 8 件です。 429 のヘッダーと再試行の方法は [レート制限](https://kiln.bricksum.com/docs/ja/rate-limits) ページにあります。 現在のサービングスタックは、OpenAI のパラメータすべてを適用するわけではありません。各エンドポイントページにパラメータごとの対応状況を示しており、既知の制限は [OpenAI からの移行](https://kiln.bricksum.com/docs/ja/migrating-from-openai) ページの 1 か所にまとめています。