Bỏ qua để đến nội dung

Xuất log

GET /api/open/v1/logs/export

Trả về toàn bộ dòng log khớp trong một phản hồi duy nhất, không phân trang. Bộ lọc giống với Lấy log của tài khoản; phản hồi là tệp CSV hoặc JSONL.

Tham sốVị tríKiểuBắt buộcMặc địnhMô tả
start_timestampqueryintegerKhôngXem bên dướiThời gian bắt đầu (bao gồm), giây unix
end_timestampqueryintegerKhôngXem bên dướiThời gian kết thúc (bao gồm), giây unix
typequeryintegerKhông2Loại log: 2 là yêu cầu tiêu thụ (tính phí), 7 là yêu cầu thất bại cuối cùng (không tính phí). Lặp lại tham số hoặc phân tách bằng dấu phẩy (?type=2,7); giá trị khác trả về 400
model_namequerystringKhông—Tên mô hình chính xác; lặp lại tham số cho nhiều giá trị (?model_name=a&model_name=b) hoặc phân tách bằng dấu phẩy
key_namequerystringKhông—Tên Key chính xác; lặp lại tham số cho nhiều giá trị. Không hỗ trợ dấu phẩy vì tên có thể chứa dấu phẩy
key_idqueryintegerKhông—ID của Key, số nguyên dương; lặp lại tham số hoặc phân tách bằng dấu phẩy. ID của người dùng khác sẽ trả về kết quả rỗng
formatquerystringKhôngcsvĐịnh dạng đầu ra: csv hoặc jsonl; giá trị khác trả về 400

Quy tắc khoảng thời gian:

  • Bỏ trống cả hai: 30 ngày gần nhất.
  • Chỉ có start_timestamp: 30 ngày tính về sau, tối đa đến thời điểm hiện tại.
  • Chỉ có end_timestamp: 30 ngày tính về trước.
  • Khoảng thời gian tối đa 366 ngày.

Mỗi tham số đa giá trị nhận tối đa 50 giá trị; vượt quá sẽ trả về 400 invalid_request. Timestamp phải là số nguyên không âm, nếu không sẽ trả về 400. Endpoint này không nhận p hay 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

Body phản hồi là tệp đã xuất, không phải JSON { success, message, data } thông thường. Header:

HeaderMô tả
X-Export-RowsSố dòng đã ghi vào tệp
X-Export-Truncatedtrue khi số dòng khớp vượt giới hạn mỗi yêu cầu; ngược lại là false
Cache-ControlLuôn là no-store
Content-Dispositionattachment; filename="logs-<UTC yyyyMMdd-HHmmss>.csv" hoặc .jsonl

Mỗi yêu cầu trả về tối đa 50.000 dòng. Khi có nhiều dòng khớp hơn, 50.000 dòng mới nhất theo ID log được trả về và X-Export-Truncated là true; hãy chia khoảng thời gian thành các cửa sổ nhỏ hơn để lấy phần còn lại. Khác với Lấy log của tài khoản, các dòng được sắp xếp theo ID log giảm dần.

format=csv trả về Content-Type: text/csv; charset=utf-8 với BOM UTF-8, sau đó là dòng tiêu đề và mỗi dòng một log. Thứ tự cột luôn như sau:

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

Các trường giống với item trong Lấy log của tài khoản; created_at là giây unix. Các ô bắt đầu bằng =, +, @, tab hoặc xuống dòng, cũng như bắt đầu bằng - không phải số, được thêm tiền tố ' để phần mềm bảng tính không xử lý chúng như công thức.

format=jsonl trả về Content-Type: application/x-ndjson, mỗi dòng một đối tượng JSON, với các trường giống hệt item trong Lấy log của tài khoản:

{"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"}
HTTPcodeTình huống
400invalid_requestTimestamp không phải số hoặc âm, khoảng thời gian vượt quá 366 ngày, start_timestamp lớn hơn end_timestamp, tham số đa giá trị vượt quá 50 giá trị, key_id không phải số nguyên dương, type không phải 2 hay 7, hoặc format không phải csv hay jsonl
429—Vượt giới hạn truy vấn theo người dùng (mặc định 30/phút); body có thể trống

Lỗi được trả về dưới dạng body JSON thông thường, không phải tệp. Các mã lỗi chung khác xem tại Lỗi API nền tảng.

  • Mặc định chỉ xuất log tiêu thụ (tính phí). Thêm type=2,7 để bao gồm cả các yêu cầu thất bại cuối cùng (không tính phí).
  • key_name là tên của Key tại thời điểm yêu cầu; đổi tên Key không ghi lại các bản ghi cũ.
  • key là giá trị đã che; là chuỗi rỗng nếu Key đã bị xóa vĩnh viễn.
  • Số token là số đếm thô, không phải đơn vị triệu. Số tiền dùng tiền tệ hiển thị của trang, xem Lấy số dư.
  • Endpoint này dùng chung giới hạn truy vấn theo người dùng (mặc định 30/phút) với Log của tài khoản, Mức sử dụng, Mức sử dụng theo mô hình và Mức sử dụng theo Key. Xem Giới hạn tần suất.