匯出日誌
GET /api/open/v1/logs/export一次回傳全部符合條件的日誌,不分頁。篩選條件與 查詢帳戶日誌 相同,回應主體是 CSV 或 JSONL 檔案。
| 參數 | 位置 | 類型 | 必填 | 預設值 | 說明 |
|---|---|---|---|---|---|
start_timestamp | query | integer | 否 | 見說明 | 起始時間(含),unix 秒 |
end_timestamp | query | integer | 否 | 見說明 | 結束時間(含),unix 秒 |
type | query | integer | 否 | 2 | 日誌類型:2 消費(計費)請求,7 最終失敗請求(不計費)。多值需重複參數或逗號分隔(?type=2,7);其他值回傳 400 |
model_name | query | string | 否 | — | 依模型名稱精確篩選;多值需重複參數(?model_name=a&model_name=b),也支援逗號分隔 |
key_name | query | string | 否 | — | 依 Key 名稱精確篩選;多值需重複參數,不支援逗號分隔(名稱本身可能含逗號) |
key_id | query | integer | 否 | — | Key ID,正整數;多值需重複參數或逗號分隔。其他使用者的 Key ID 只會回傳空結果 |
format | query | string | 否 | csv | 匯出格式:csv 或 jsonl;其他值回傳 400 |
時間範圍規則:
- 兩端都省略:最近 30 天。
- 只傳
start_timestamp:向後 30 天,且不超過目前時間。 - 只傳
end_timestamp:向前 30 天。 - 範圍最長 366 天。
多值參數每個最多 50 個值,超過回傳 400 invalid_request。時間參數必須為非負整數,否則回傳 400。本介面不接受 p / page_size。
curl "https://www.routeapi.ai/api/open/v1/logs/export?start_timestamp=1726408000&end_timestamp=1729000000&key_name=bot&type=2,7&format=csv" \ -H "Authorization: Bearer $ROUTEAPI_MANAGEMENT_KEY" \ -o logs.csv回應主體是匯出檔案,不是一般的 { success, message, data } JSON。回應標頭:
| 回應標頭 | 說明 |
|---|---|
X-Export-Rows | 本次寫入檔案的行數 |
X-Export-Truncated | 符合條件的行數超過單次上限時為 true,否則為 false |
Cache-Control | 恆為 no-store |
Content-Disposition | attachment; filename="logs-<UTC yyyyMMdd-HHmmss>.csv" 或 .jsonl |
單次最多回傳 50000 行。符合條件的行數超過 50000 時,依日誌 ID 倒序取最新的 50000 行,並設定 X-Export-Truncated: true;需要其餘資料時把時間範圍拆小、分批匯出。與 查詢帳戶日誌 不同,本介面依日誌 ID 倒序(id desc)排列。
CSV 格式
Section titled “CSV 格式”format=csv 回傳 Content-Type: text/csv; charset=utf-8,以 UTF-8 BOM 開頭,接著是標頭與每行一筆日誌。欄位順序固定為:
id,created_at,type,key_id,key_name,model_name,prompt_tokens,completion_tokens,total_tokens,amount,request_id,key,use_time,is_stream,first_response_ms,cache_read_tokens,cache_creation_tokens,reasoning_effort,request_path,web_search_calls,audio_input_tokens,audio_output_tokens,billing_source12345,1729000000,2,12,bot,gpt-4o,1200,300,1500,0.05,20261020120000123456789,sk-abcd**********wxyz,3,true,420,800,0,medium,/v1/chat/completions,0,0,0,wallet欄位與 查詢帳戶日誌 的 item 一致,created_at 為 unix 秒。以 =、+、@、Tab 或回車開頭的儲存格,以及以非數字 - 開頭的儲存格,會加上前綴 ',避免試算表軟體把內容當成公式執行。
JSONL 格式
Section titled “JSONL 格式”format=jsonl 回傳 Content-Type: application/x-ndjson,每行一個 JSON 物件,欄位與 查詢帳戶日誌 的 item 完全相同:
{"id":12345,"created_at":1729000000,"type":2,"key_id":12,"key_name":"bot","key":"sk-abcd**********wxyz","model_name":"gpt-4o","prompt_tokens":1200,"completion_tokens":300,"total_tokens":1500,"amount":0.05,"use_time":3,"is_stream":true,"first_response_ms":420,"cache_read_tokens":800,"cache_creation_tokens":0,"reasoning_effort":"medium","request_path":"/v1/chat/completions","web_search_calls":0,"audio_input_tokens":0,"audio_output_tokens":0,"billing_source":"wallet","request_id":"20261020120000123456789"}| HTTP | code | 情境 |
|---|---|---|
| 400 | invalid_request | 時間戳非數字或為負數、時間範圍超過 366 天、start_timestamp 大於 end_timestamp、多值參數超過 50 個值、key_id 不是正整數、type 不是 2 或 7,或 format 不是 csv 或 jsonl |
| 429 | — | 超過按使用者的查詢頻率限制(預設 30 次/分鐘),回應主體可能為空 |
錯誤以一般 JSON 錯誤主體回傳,不是檔案。其他通用錯誤碼見 開放平台 API 錯誤。