API 文档管理接口用户管理

获取当前用户信息

🔐 需要 PAT 鉴权(User 权限)

获取当前用户的个人资料,以及钱包、促销、订阅三类相互独立的额度信息。

Base URL

  • https://api.autorouter.top — Production

Authentication

本接口使用 系统访问令牌(PAT)+ Auto-Api-User 鉴权,不能使用 sk-xxx 形式的 API Key。

Header说明
Authorization系统访问令牌。格式:Bearer {system_access_token}。在「个人中心 → 个人资料 → 访问令牌」中生成。Bearer 前缀可省略。
Auto-Api-User当前登录用户 ID,必须与令牌所属用户一致。可在「个人中心 → 个人资料 → 用户 ID」处复制。

Endpoints

GET /api/user/self

获取当前用户信息

🔐 需要 PAT 鉴权(User 权限)

Responses

200: 成功

Content-Type: application/json

401: 未鉴权或鉴权失败

响应字段

顶层
字段类型说明
successboolean是否成功
messagestring错误信息,成功时为空字符串
dataobject用户资料与余额信息
data 用户信息
字段类型说明
idinteger用户 ID
usernamestring用户名
display_namestring显示名称
roleinteger角色:1 普通用户,10 管理员,100 Root
statusinteger账号状态
emailstring邮箱
groupstring用户分组
user_level_idinteger管理员配置的基础会员等级 ID
user_level_namestring基础会员等级名称
effective_user_level_idinteger运行时有效会员等级 ID(基础等级与订阅升级取较高者)
effective_user_level_namestring运行时有效会员等级名称
quotainteger钱包剩余额度,仅表示钱包账户余额,不包含促销或订阅额度
quota_amountnumber钱包额度金额
promotion_quotainteger独立促销额度,与钱包额度分开统计
promotion_amountnumber独立促销金额
promotion_expires_atinteger促销额度过期时间(Unix 时间戳,秒;无可用促销时为 0
total_available_quotainteger当前可用额度合计,计算方式为 quota + promotion_quota不包含订阅额度
used_quotainteger累计使用额度,为账户历史总消耗,不应理解为单纯的“钱包已消费额度”
used_quota_amountnumber累计使用金额
request_countinteger累计请求次数
aff_codestring邀请码
aff_countinteger邀请注册人数
aff_quotainteger可兑换邀请奖励额度
aff_history_quotainteger历史邀请奖励额度
inviter_idinteger邀请人用户 ID
settingstring用户设置 JSON 字符串
sidebar_modulesstring侧边栏模块配置
stripe_customerstringStripe 客户 ID
permissionsobject权限配置
subscriptionsarray独立订阅额度列表,每条记录表示一个有效订阅的额度摘要(见下表)
github_id / discord_id / oidc_id / wechat_id / telegram_id / linux_do_idstring第三方账号绑定 ID,未绑定时为空字符串
data.subscriptions[] 订阅额度
字段类型说明
idinteger订阅记录 ID
plan_idinteger订阅方案 ID
amount_totalnumber订阅总额度(金额)。无限额度订阅返回 -1
amount_usednumber已使用额度(金额)
start_timeinteger订阅开始时间(Unix 时间戳,秒)
end_timeinteger订阅结束时间(Unix 时间戳,秒)
statusstring订阅状态,见下表
订阅 status 取值
说明
active生效中
cancel_pending已申请取消,当前周期内仍可使用

额度字段关系

响应中的额度分为三类,彼此独立:

类型额度字段金额字段说明
钱包quotaquota_amount用户钱包账户剩余额度
促销promotion_quotapromotion_amount独立促销额度,有过期时间 promotion_expires_at
订阅subscriptions[]amount_total / amount_used独立订阅额度列表,每条订阅单独统计
  • total_available_quota 目前仅合计钱包与促销额度:quota + promotion_quota不包含 subscriptions 中的订阅额度。
  • used_quota 表示账户累计使用额度,覆盖历史总消耗,不等同于“钱包已消费额度”。
  • 订阅额度中 amount_total = -1 表示无限额度。

请求示例

curl -X GET "https://api.autorouter.top/api/user/self" \
  -H "Authorization: Bearer YOUR_SYSTEM_ACCESS_TOKEN" \
  -H "Auto-Api-User: YOUR_USER_ID"

响应示例

{
  "success": true,
  "message": "",
  "data": {
    "id": 1,
    "username": "admin",
    "display_name": "Root User",
    "role": 100,
    "status": 1,
    "email": "",
    "group": "default",
    "user_level_id": 1,
    "user_level_name": "default",
    "effective_user_level_id": 1,
    "effective_user_level_name": "default",
    "quota": 499833937905329,
    "quota_amount": 999667875.810658,
    "promotion_quota": 0,
    "promotion_amount": 0,
    "promotion_expires_at": 0,
    "total_available_quota": 499833937905329,
    "used_quota": 168868338185,
    "used_quota_amount": 337736.67637,
    "request_count": 12922181,
    "aff_code": "zwRf",
    "aff_count": 0,
    "aff_quota": 0,
    "aff_history_quota": 0,
    "inviter_id": 0,
    "github_id": "",
    "discord_id": "",
    "oidc_id": "",
    "wechat_id": "",
    "telegram_id": "",
    "linux_do_id": "",
    "setting": "{\"billing_preference\":\"wallet_first\",\"language\":\"zh\"}",
    "stripe_customer": "",
    "sidebar_modules": "",
    "permissions": {
      "sidebar_settings": false,
      "sidebar_modules": {}
    },
    "subscriptions": [
      {
        "id": 12,
        "plan_id": 3,
        "amount_total": 100,
        "amount_used": 25.5,
        "start_time": 1756617600,
        "end_time": 1759296000,
        "status": "active"
      }
    ]
  }
}

目录