Skip to main content
ARouter のリクエストおよびレスポンススキーマは OpenAI Chat API と非常に似ており、わずかな違いがあります。ARouter はすべてのモデルおよびプロバイダーにわたってスキーマを統一しているため、1つだけ学べば十分です。

OpenAPI 仕様

完全な ARouter API は OpenAPI 仕様を使用してドキュメント化されています: ARouter は現在 YAML 仕様を公開しています。Swagger UIPostman などのツールを使用して API を探索したり、クライアントライブラリを生成したりできます。

Base URL

認証

すべてのエンドポイント(/healthz を除く)は、以下のいずれかの方法で認証が必要です: 詳細は認証ガイドを参照してください。

リクエスト

リクエスト形式

以下は TypeScript 型で表現したリクエストスキーマです。これは /v1/chat/completions エンドポイントへの POST リクエストのボディになります。 完全なパラメータリストはパラメータリファレンスを参照してください。
ARouter の OpenAI 互換チャットエンドポイントは messages を標準としています。プロバイダーのネイティブリクエストボディを送信したい場合は、そのプロバイダーのネイティブエンドポイントまたはプロバイダープロキシを使用してください。

メッセージタイプ

ツールタイプ

構造化出力

response_format パラメータはモデルに構造化された JSON レスポンスを強制します。ARouter は2つのモードをサポートしています:
  • { type: 'json_object' }:基本 JSON モード — モデルが有効な JSON を返します
  • { type: 'json_schema', json_schema: { ... } }:厳格スキーマモード — モデルが指定したスキーマに一致する JSON を返します
詳細な使用方法と例については構造化出力を参照してください。 JSON モードを使用する場合も、システムまたはユーザーメッセージでモデルに JSON で応答するよう指示してください。

オプションのリクエスト Header

ARouter はアプリケーションを識別するための以下のオプション header をサポートしています:
  • HTTP-Referer:アプリの URL、ダッシュボードでのソーストラッキングに使用
  • X-Title:ARouter アナリティクスで使用されるアプリの表示名
詳細はリクエスト帰属を参照してください。

モデルルーティング

provider/model 形式でモデルを指定します。ARouter はプロバイダープレフィックスを解析して正しいアップストリームにルーティングします。 model パラメータが省略された場合、テナントに設定されたデフォルトが使用されます。models[]route を使用した順序付き候補モデルリストを含む完全なルーティングロジックはモデルルーティングガイドを参照してください。

ストリーミング

stream: true を設定すると、Server-Sent Events を通じてトークンごとにレスポンスを受信できます。SSE ストリームには data: ペイロードに加えてコメント行が含まれる場合があり、クライアントはそれらのコメントを無視する必要があります。SSE 形式、使用量チャンク、キャンセル、エラー処理についてはストリーミングガイドを参照してください。

非標準パラメータ

選択したモデルがリクエストパラメータをサポートしていない場合(非 OpenAI モデルの logit_bias や OpenAI の top_k など)、そのパラメータは静かに無視されます。残りはアップストリームモデル API に転送されます。

アシスタントプリフィル

ARouter はモデルに部分的なレスポンスを補完させることをサポートしています。messages 配列の末尾に role: "assistant" のメッセージを含めてください:

レスポンス

レスポンス形式

ARouter はすべてのモデルおよびプロバイダーにわたってスキーマを統一し、OpenAI Chat API に準拠しています。 choices は常に配列です。ストリーミングがリクエストされた場合、各 choice には delta プロパティが含まれ、それ以外の場合は message プロパティが含まれます。

Choice タイプ

使用量

レスポンス例

終了理由

ARouter は各モデルの finish_reason を以下のいずれかの値に統一します: アップストリームプロバイダーの生の終了理由は native_finish_reason で確認できます。

エンドポイントグループ

OpenAI 互換

/v1/chat/completions, /v1/embeddings, /v1/modelsOpenAI 互換 SDK と組み合わせて使用できます。provider/model ルーティングをサポート。

Anthropic ネイティブ

/v1/messages, /v1/messages/batches, /v1/messages/count_tokensAnthropic SDK とのドロップイン互換。

Gemini ネイティブ

/v1beta/models/{model}:generateContentGoogle Gemini SDK とのドロップイン互換。

API Key 管理

/api/v1/keysAPI key の作成、一覧表示、更新、削除。

課金

/api/v1/balance, /api/v1/transactionsアカウント残高と取引履歴を照会。

プロバイダープロキシ

/{provider}/{path}サポートされているプロバイダーにリクエストを直接プロキシ。

レート制限

レート制限は API key ごとに適用されます。デフォルト制限はダッシュボードまたは管理 API を使用して key ごとにカスタマイズできます。

エラーレスポンス

すべてのエラーは一貫した JSON 形式に従います:
エラーコードの完全なリストと再試行戦略についてはエラーハンドリングガイドを参照してください。