コンテンツにスキップ

ログをエクスポートする

GET /api/open/v1/logs/export

一致するすべてのログ行を、ページ送りせず 1 回のレスポンスで返します。絞り込み条件は アカウントログを照会する と同じで、レスポンスは CSV または JSONL のファイルです。

パラメーター位置型必須デフォルト説明
start_timestampqueryintegerいいえ下記参照開始時刻(含む)、unix 秒
end_timestampqueryintegerいいえ下記参照終了時刻(含む)、unix 秒
typequeryintegerいいえ2ログの種類。2 は消費(課金)リクエスト、7 は最終的に失敗したリクエスト(課金なし)。パラメーターを繰り返すかカンマ区切りで指定します(?type=2,7)。それ以外の値は 400
model_namequerystringいいえ—モデル名の完全一致。複数指定する場合はパラメーターを繰り返します(?model_name=a&model_name=b)。カンマ区切りにも対応
key_namequerystringいいえ—Key 名の完全一致。複数指定する場合はパラメーターを繰り返します。名前にカンマを含められるためカンマ区切りは未対応
key_idqueryintegerいいえ—Key ID(正の整数)。パラメーターを繰り返すかカンマ区切りで指定。他ユーザーの ID は空の結果になります
formatquerystringいいえcsv出力形式。csv または jsonl。それ以外の値は 400

時間範囲のルール:

  • 両方とも省略: 直近 30 日間。
  • start_timestamp のみ指定: そこから 30 日後まで。ただし現在時刻を超えません。
  • end_timestamp のみ指定: そこから 30 日前まで。
  • 範囲は最大 366 日です。

複数値パラメーターはそれぞれ最大 50 個までです。超えると 400 invalid_request を返します。タイムスタンプは非負の整数である必要があり、そうでない場合は 400 を返します。このエンドポイントは p / page_size を受け付けません。

Terminal window
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一致した行数が 1 回の上限を超えた場合 true、それ以外は false
Cache-Control常に no-store
Content-Dispositionattachment; filename="logs-<UTC yyyyMMdd-HHmmss>.csv" または .jsonl

1 回のリクエストで返すのは最大 50,000 行です。一致する行がそれを超える場合は、ログ ID の降順で最新の 50,000 行を返し、X-Export-Truncated を true にします。残りが必要な場合は時間範囲を分割して取得してください。アカウントログを照会する と異なり、行はログ ID の降順で並びます。

format=csv は Content-Type: text/csv; charset=utf-8 で、UTF-8 BOM に続いてヘッダー行と 1 行 1 ログを返します。列の順序は常に次のとおりです。

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_source
12345,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 秒です。=、+、@、タブ、復帰文字で始まるセル、および数値でない - で始まるセルには ' を前置し、表計算ソフトが数式として実行するのを防ぎます。

format=jsonl は Content-Type: application/x-ndjson で、1 行 1 つの 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"}
HTTPcodeシナリオ
400invalid_requestタイムスタンプが数値でないか負の値、時間範囲が 366 日を超える、start_timestamp が end_timestamp より大きい、複数値パラメーターが 50 個を超える、key_id が正の整数ではない、type が 2 でも 7 でもない、または format が csv でも jsonl でもない
429—ユーザーごとの照会レート制限(デフォルト 30 回/分)を超過。レスポンスボディが空の場合があります

エラーはファイルではなく通常の JSON エラーボディで返されます。その他の共通エラーコードは プラットフォーム API のエラー を参照してください。

  • デフォルトでは消費(課金)ログのみをエクスポートします。最終的に失敗したリクエスト(課金なし)も含めるには type=2,7 を指定してください。
  • key_name はリクエスト時点の Key 名です。Key の名前を変更しても過去の記録は書き換えられません。
  • key はマスクされた値です。Key がその後完全に削除された場合は空文字列になります。
  • トークン数は実数で、百万単位ではありません。金額はサイトの表示通貨で表されます。残高を照会する を参照してください。
  • このエンドポイントは アカウントログ、使用量統計、モデル別使用量、Key 別使用量 とユーザーごとの照会レート制限(デフォルト 30 回/分)を共有します。レート制限 を参照してください。