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

Lấy log của tài khoản

GET /api/open/v1/logs
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
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
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
pqueryintegerKhông1Số trang, từ 1 đến 1000000
page_sizequeryintegerKhông10Số mục mỗi trang, từ 1 đến 1000

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. p / page_size được truyền rõ ràng nhưng không hợp lệ sẽ trả về 400; xem Phân trang. Timestamp phải là số nguyên không âm, nếu không sẽ trả về 400.

Terminal window
curl "https://www.routeapi.ai/api/open/v1/logs?start_timestamp=1726408000&end_timestamp=1729000000&key_name=bot&model_name=gpt-4o&p=1&page_size=20" \
-H "Authorization: Bearer $ROUTEAPI_MANAGEMENT_KEY"
{
"success": true,
"message": "",
"data": {
"items": [
{
"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"
}
],
"total": 1,
"page": 1,
"page_size": 20,
"start_timestamp": 1726408000,
"end_timestamp": 1729000000
}
}
TrườngKiểuMô tả
items[].idintegerID của log
items[].created_atintegerThời gian ghi log, giây unix
items[].typeinteger2 là tiêu thụ, 7 là thất bại cuối cùng của yêu cầu
items[].key_idintegerID của Key đã gửi yêu cầu
items[].key_namestringTên của Key tại thời điểm yêu cầu
items[].keystringGiá trị Key đã che, cùng định dạng với Liệt kê API Key, ví dụ sk-abcd**********wxyz; chuỗi rỗng nếu Key đã bị xóa vĩnh viễn
items[].model_namestringTên mô hình
items[].prompt_tokensintegerToken đầu vào
items[].completion_tokensintegerToken đầu ra
items[].total_tokensintegerTổng token đầu vào và đầu ra
items[].amountnumberSố tiền đã tiêu thụ, theo tiền tệ của trang, hai chữ số thập phân; số tiền rất nhỏ có thể là 0.00
items[].use_timeintegerThời lượng yêu cầu, tính bằng giây
items[].is_streambooleanYêu cầu có được xử lý dạng streaming hay không
items[].first_response_msintegerThời gian đến phản hồi đầu tiên, mili giây; 0 nếu không xác định (ví dụ yêu cầu không streaming)
items[].cache_read_tokensintegerToken đọc từ bộ nhớ đệm prompt
items[].cache_creation_tokensintegerToken ghi vào bộ nhớ đệm prompt
items[].reasoning_effortstringMức suy luận (ví dụ low, medium, high); chuỗi rỗng nếu không đặt
items[].request_pathstringĐường dẫn yêu cầu, ví dụ /v1/chat/completions
items[].web_search_callsintegerSố lần gọi tìm kiếm web trong yêu cầu
items[].audio_input_tokensintegerToken âm thanh đầu vào
items[].audio_output_tokensintegerToken âm thanh đầu ra
items[].billing_sourcestringwallet cho số dư ví, subscription cho gói đăng ký, chuỗi rỗng nếu không xác định
items[].request_idstringID yêu cầu, hữu ích khi khắc phục sự cố
totalintegerSố log khớp, đếm tối đa đến 10000
pageintegerSố trang hiện tại
page_sizeintegerSố mục thực tế mỗi trang
start_timestampintegerThời gian bắt đầu thực tế
end_timestampintegerThời gian kết thúc thực tế
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ố phân trang không hợp lệ, tham số đa giá trị vượt quá 50 giá trị, key_id không phải số nguyên dương, hoặc type không phải 2 hay 7
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

Các mã lỗi chung khác xem tại Lỗi API nền tảng.

  • Mặc định chỉ trả về 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í).
  • Kết quả sắp xếp theo created_at giảm dần (mới nhất trước); các bản ghi cùng thời điểm sắp xếp theo ID log giảm dần nên phân trang ổn định.
  • 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.
  • Các trường use_time, first_response_ms, bộ nhớ đệm, tìm kiếm, âm thanh và suy luận là 0 hoặc chuỗi rỗng khi dữ liệu tương ứng không được ghi; các trường luôn hiện diệ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 Xuất log, 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.
  • Để xuất toàn bộ dòng khớp trong một lần (CSV hoặc JSONL), hãy dùng Xuất log thay vì phân trang rồi ghép items.