OpenAPI 規範
完整的 ARouter API 使用 OpenAPI 規範進行了文件化: ARouter 目前發布 YAML 規範。您可以使用 Swagger UI 或 Postman 等工具來瀏覽 API 或生成客戶端程式庫。Base URL
認證
所有端點(/healthz 除外)都需要透過以下方式之一進行認證:
| 方式 | Header / 參數 | 使用場景 |
|---|---|---|
| Bearer Token | Authorization: Bearer <key> | OpenAI SDK、大多數客戶端 |
| API Key Header | X-Api-Key: <key> | Anthropic SDK |
| 查詢參數 | ?key=<key> | Gemini SDK |
請求
請求格式
以下是以 TypeScript 類型表示的請求結構。這將是您向/v1/chat/completions 端點發起 POST 請求時的請求體。
完整參數列表請參閱參數參考文件。
messages 為標準。如果您想發送提供商的原生請求體,請使用該提供商的原生端點或提供商代理。
訊息類型
工具類型
結構化輸出
response_format 參數強制模型回傳結構化 JSON 回應。ARouter 支援兩種模式:
{ type: 'json_object' }:基本 JSON 模式 — 模型回傳有效的 JSON{ type: 'json_schema', json_schema: { ... } }:嚴格模式 — 模型回傳符合您精確結構的 JSON
可選請求 Header
ARouter 支援以下可選 header 來識別您的應用程式:HTTP-Referer:您的應用程式 URL,用於在控制台中進行來源追蹤X-Title:您的應用程式顯示名稱,用於 ARouter 分析
模型路由
使用provider/model 格式指定模型。ARouter 解析提供商前綴並路由到正確的上游。
如果省略 model 參數,將使用租戶設定的預設模型。完整路由邏輯請參閱模型路由指南,包括使用 models[] 和 route 的有序候選模型列表。
串流傳輸
設定stream: true 可透過 Server-Sent Events 逐 Token 接收回應。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 統一規範為以下值之一:
| 值 | 描述 |
|---|---|
stop | 模型自然完成 |
length | 達到 max_tokens 限制 |
tool_calls | 模型需要呼叫工具 |
content_filter | 內容審核觸發 |
error | 生成過程中發生錯誤 |
native_finish_reason 取得。
端點群組
OpenAI 相容
/v1/chat/completions, /v1/embeddings, /v1/models可與任何 OpenAI 相容 SDK 配合使用。支援 provider/model 路由。Anthropic 原生
/v1/messages, /v1/messages/batches, /v1/messages/count_tokens與 Anthropic SDK 直接相容。Gemini 原生
/v1beta/models/{model}:generateContent與 Google Gemini SDK 直接相容。API Key 管理
/api/v1/keys建立、列出、更新和刪除 API key。帳單
/api/v1/balance, /api/v1/transactions查詢帳戶餘額和交易歷史。提供商代理
/{provider}/{path}將請求直接代理到任何受支援的提供商。速率限制
速率限制按 API key 套用。預設限制可透過控制台或管理 API 按 key 自訂。| Header | 描述 |
|---|---|
X-RateLimit-Limit | 每個視窗期的最大請求數 |
X-RateLimit-Remaining | 剩餘請求數 |
X-RateLimit-Reset | 視窗期重置時間(Unix 時間戳) |