身份验证

用 access-token 请求头验证 REST API 调用,在仪表盘中管理密钥,并读懂身份验证错误。

目标:每次 REST API 调用都携带有效密钥,并理解每种身份验证错误的含义。

请求头

把你的 API 密钥放进 access-token 请求头。它不是 Bearer 令牌 —— Authorization: Bearer 不会被读取。

curl -X POST "https://api.anysite.io/api/linkedin/user" \
  -H "access-token: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"user": "satyanadella"}'

ACTION FOR THE HUMAN: copy your API key at https://app.anysite.io/billing — an agent cannot obtain it.

未携带 access-token 请求头的请求会在计费前被 422 拒绝。

access-token 是 REST API 唯一的密钥请求头。MCP 服务器的身份验证方式不同 —— 密钥在 URL 中, 或者由客户端代你发送 Authorization: Bearer 请求头 —— 所以一个可用的 MCP 配置不能说明 REST 调用 能否成功,反过来也一样:MCP 身份验证。

密钥保存在哪里

密钥归属于某个套餐的余额,在仪表盘的「订阅与 API」页面管理。

ACTION FOR THE HUMAN: open https://app.anysite.io/billing (打开「订阅与 API」页面).

再次查看密钥的值

密钥永远不会丢失,点击它所在的行只会打开详情(id、限额),而不是密钥字符串本身。要查看密钥的值:

打开「订阅与 API」页面

ACTION FOR THE HUMAN: open https://app.anysite.io/billing (打开「订阅与 API」页面).

点击密钥所在行的「重新生成」

即 API 密钥列表中该行上的圆形箭头图标。

确认弹窗

完整的密钥字符串会显示出来。

尽管名字如此,「重新生成」并不会改变密钥:它显示的是密钥原本就有的值,所以已经在使用该密钥的 客户端不受影响。因此它不会吊销已泄露的密钥 —— 要让密钥失效,请删除它(如果它是余额下的最后一个 密钥,先创建一个替代密钥)。MCP 套餐的密钥不能重新生成。

验证

用你的密钥发起调用,返回的状态码不是下表中的 401、403 或 422。响应头 x-token-points 显示该密钥 所属余额中剩余的积分。

身份验证错误

错误响应体的结构是 {"detail": ...}。以下响应均不计费。

状态码 detail 含义
422 列表,其中 "msg" 指出缺少必需的请求头 没有发送 access-token 请求头。
401 "Invalid token" 该值不是一个有效的 Anysite 密钥(被截断、有多余空格,或字符串错误)。
401 "Token does not exist" 密钥已被删除。
401 "Token expired" 密钥所属的套餐已到期。请在「订阅与 API」页面续订。
401 "Points limit exhausted, required at least N points" 余额中的积分少于本次调用所需的数量。
403 "This token is restricted to MCP usage only and cannot be used for direct API access" 该密钥属于仅限 MCP 使用的套餐。

完整的状态码列表见错误与限制。