用户日志与用量统计
curl --request GET \
--url https://api.mixroute.ai/api/log/selfimport requests
url = "https://api.mixroute.ai/api/log/self"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.mixroute.ai/api/log/self', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.mixroute.ai/api/log/self",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.mixroute.ai/api/log/self"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.mixroute.ai/api/log/self")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.mixroute.ai/api/log/self")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body系统 API
用户日志与用量统计
通过 API 获取使用记录(Usage Logs)、仪表盘资讯与帐单资讯,由 /api/log/self 与 /api/log/self/stat 两个接口提供。
GET
/
api
/
log
/
self
用户日志与用量统计
curl --request GET \
--url https://api.mixroute.ai/api/log/selfimport requests
url = "https://api.mixroute.ai/api/log/self"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.mixroute.ai/api/log/self', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.mixroute.ai/api/log/self",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.mixroute.ai/api/log/self"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.mixroute.ai/api/log/self")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.mixroute.ai/api/log/self")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body简介
MixRoute 控制台提供两个接口,用于查询当前账号下的用量与计费信息,覆盖以下需求:- 查看 Usage Logs(使用记录)
- 查看 Dashboard 资讯(模型分析、请求次数、Token 统计等)
- 查看帐单资讯(某个 API Key 使用了哪些模型、对应输入/输出 Token、各模型用量占比等)
- 按模型维度了解实际消费情况
认证
所有请求需要在请求头携带两个字段:| 请求头 | 说明 |
|---|---|
Authorization | Bearer <you-api-key>,你的系统访问 API Key |
New-Api-User | <you-user-id>,当前账号的用户 ID |
获取用户日志 GET /api/log/self
返回当前账号的使用日志,日志条目按时间倒序排列,可通过分页参数控制输出内容。
请求参数
integer
页码,从 1 开始。
integer
每页返回的日志条目数。
/api/log/self?p=1&page_size=20 表示获取第一页、每页 20 条日志。
请求示例
cURL
curl --request GET \
--url 'https://console.mixroute.ai/api/log/self?p=1&page_size=20' \
--header 'authorization: Bearer <you-api-key>' \
--header 'new-api-user: <you-user-id>'
响应示例
Response
{
"data": {
"page": 1,
"page_size": 20,
"total": 2821,
"items": [
{
"id": 1,
"user_id": 81,
"created_at": 1787215542,
"type": 2,
"content": "",
"username": "<you-user-name>",
"token_name": "<your-token-name>",
"model_name": "deepseek-v4-flash-0731",
"quota": 768,
"prompt_tokens": 23144,
"completion_tokens": 2948,
"use_time": 38,
"is_stream": true,
"channel": 239,
"channel_name": "",
"token_id": 202,
"group": "default",
"ip": "",
"request_id": "202608200845041208627278268d9d63W55TNWu",
"other": "{\"billing_source\":\"wallet\",\"cache_ratio\":0.02,\"cache_tokens\":18432,\"completion_ratio\":2,\"frt\":1245,\"group_ratio\":1,\"model_price\":-1,\"model_ratio\":0.07,\"reasoning_effort\":\"max\",\"request_conversion\":[\"OpenAI Responses\"],\"request_path\":\"/v1/responses\",\"user_group_ratio\":-1}"
}
]
},
"message": "",
"success": true
}
日志字段说明
| 字段 | 类型 | 说明 |
|---|---|---|
data.page | integer | 当前页码 |
data.page_size | integer | 每页条目数 |
data.total | integer | 日志总条数 |
data.items[] | array | 日志条目列表 |
data.items[].id | integer | 日志 ID |
data.items[].user_id | integer | 用户 ID |
data.items[].created_at | integer | 创建时间(Unix 时间戳,秒) |
data.items[].type | integer | 记录类型 |
data.items[].content | string | 备注或错误信息,通常为空 |
data.items[].username | string | 用户名 |
data.items[].token_name | string | 使用的 API Key 名称 |
data.items[].model_name | string | 模型名称 |
data.items[].quota | integer | 本次消费的 quota(1 USD = 500,000 quota(5 × 10⁵)) |
data.items[].prompt_tokens | integer | 输入 token 数 |
data.items[].completion_tokens | integer | 输出 token 数 |
data.items[].use_time | integer | 请求耗时(秒) |
data.items[].is_stream | boolean | 是否流式请求 |
data.items[].channel | integer | 渠道 ID |
data.items[].channel_name | string | 渠道名称,可能为空 |
data.items[].token_id | integer | API Key ID |
data.items[].group | string | 分组名称 |
data.items[].ip | string | 请求 IP |
data.items[].request_id | string | 请求 ID |
data.items[].other | string | 计费元数据 JSON 字符串,见下方说明 |
data.items[].other 为 JSON 字符串,主要包含以下计费与请求信息:
| 字段 | 说明 |
|---|---|
billing_source | 计费来源,如 wallet |
model_price | 模型单价,未指定时为 -1 |
model_ratio | 模型倍率 |
cache_ratio | 缓存倍率 |
cache_tokens | 缓存 token 数 |
completion_ratio | 输出倍率 |
group_ratio | 分组倍率 |
user_group_ratio | 用户分组倍率 |
reasoning_effort | 推理强度配置 |
request_conversion | 请求转换方式,如 OpenAI Responses |
request_path | 实际请求路径,如 /v1/responses |
frt | 首 token 响应时间(毫秒) |
获取用户总消费统计 GET /api/log/self/stat
返回当前账号的累计消费与限流状态数据,无请求参数。
请求示例
cURL
curl --request GET \
--url 'https://console.mixroute.ai/api/log/self/stat' \
--header 'authorization: Bearer <you-api-key>' \
--header 'new-api-user: <you-user-id>'
响应示例
Response
{
"data": {
"quota": 32892251,
"rpm": 0,
"tpm": 0
},
"message": "",
"success": true
}
字段说明
| 字段 | 类型 | 说明 |
|---|---|---|
data.quota | integer | 累计消费 quota |
data.rpm | integer | 每分钟请求数限制状态 |
data.tpm | integer | 每分钟 token 数限制状态 |
message | string | 错误消息,成功时为空 |
success | boolean | 是否请求成功 |
⌘I