POST
/v1/auth/token
无需鉴权
用应用密钥换取访问令牌,后续所有请求都使用返回的 access_token。
请求
# POST /v1/auth/token
curl -X POST "https://apimng.xin/v1/auth/token" \
-H "Content-Type: application/json" \
-d '{
"app_key": "ak_live_7f3c9d21a0",
"app_secret": "sk_live_9b4e6a1d8c",
"scope": "project:read"
}'
响应 200
{
"code": 0,
"message": "ok",
"data": {
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"token_type": "Bearer",
"expires_in": 7200,
"scope": "project:read"
}
}
GET
/v1/projects
project:read
分页读取账号下的项目,含运行环境、在线状态与当前 QPS。
请求
# GET /v1/projects?page=1&size=20
curl -X GET "https://apimng.xin/v1/projects?page=1&size=20" \
-H "Authorization: Bearer $ACCESS_TOKEN"
响应 200
{
"code": 0,
"message": "ok",
"data": {
"total": 6,
"page": 1,
"size": 20,
"items": [
{ "id": "prj_10231", "name": "订单中心", "env": "production", "qps": 120 },
{ "id": "prj_10232", "name": "用户中心", "env": "production", "qps": 80 }
]
}
}
POST
/v1/keys
key:write
为指定项目签发一对新的应用密钥,可绑定 IP 白名单与调用范围。
请求
# POST /v1/keys
curl -X POST "https://apimng.xin/v1/keys" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"project_id": "prj_10231",
"scope": ["project:read", "log:read"],
"ip_whitelist": ["203.0.113.24"]
}'
响应 201
{
"code": 0,
"message": "created",
"data": {
"key_id": "key_20745",
"app_key": "ak_live_7f3c9d21a0",
"app_secret": "sk_live_9b4e6a1d8c",
"created_at": "2026-03-11T09:24:05+08:00"
}
}
GET
/v1/logs
log:read
按时间区间检索调用记录,可按项目、路径与状态码筛选,最多回溯 30 天。
请求
# GET /v1/logs?project_id=prj_10231&status=200
curl -X GET "https://apimng.xin/v1/logs?project_id=prj_10231&status=200&limit=50" \
-H "Authorization: Bearer $ACCESS_TOKEN"
响应 200
{
"code": 0,
"message": "ok",
"data": {
"items": [
{
"trace_id": "tr_9f2a41c7",
"path": "/v1/projects",
"method": "GET",
"status": 200,
"latency_ms": 96,
"ts": "2026-03-11T09:31:42+08:00"
}
]
}
}
GET
/v1/quota
quota:read
查看当日调用次数、剩余额度与限流阈值,接近上限时提前调整调用节奏。
请求
# GET /v1/quota
curl -X GET "https://apimng.xin/v1/quota" \
-H "Authorization: Bearer $ACCESS_TOKEN"
响应 200
{
"code": 0,
"message": "ok",
"data": {
"plan": "personal",
"daily_limit": 10000,
"used_today": 4739,
"rate_limit_qps": 50,
"reset_at": "2026-03-12T00:00:00+08:00"
}
}