Skip to Content
Browse the Docs▾

Get the current token

GET/api/v1/me

Who this token is: label, scopes, the account it belongs to, whether the account is still in setup, and the rate limits it is held to. Needs no scope.

Needs no scope, so it is the call to verify any token with.

curl -H "Authorization: Bearer $REVNU_API_TOKEN" https://revnu.com/api/v1/me

Response

{
  "me": {
    "tokenId": "…",
    "label": "wall dashboard",
    "scopes": ["review:read", "review:write"],
    "createdAt": 1789837627802,
    "lastUsedAt": 1789851456304,
    "account": { "id": "…", "name": "Acme" },
    "inSetup": false,
    "limits": {
      "reads": { "perMinute": 300, "burst": 600 },
      "writes": { "perMinute": 60, "burst": 120 },
      "messages": { "perMinute": 30, "burst": 60 },
      "account": { "perMinute": 900, "burst": 1800 }
    }
  }
}

lastUsedAt and account.name can be null. inSetup is true while a self-serve account hasn't finished setup; until its trial starts, every other route except the setup routes answers 402 setup_pending.

Responses

Code Meaning
200 { me }
401 Missing, unknown or revoked token
429 Over the read limit; wait Retry-After seconds

Frequently Asked Questions

Which scope does this need?

None. Any live token can call it, which is what makes it the verification call. Every other route names the scope it needs, and a token without that scope gets 403 with requiredScope in the body.

Are responses cached?

No. Every response is Cache-Control: no-store, so what you read is current.

Why does /me work when other routes return 402?

/me and the setup routes answer before the trial starts, so an agent can verify its token and finish setup. Everything else waits for the trial.

Last updated

Agents: this page is also markdown at /docs/me.md, answers Accept: text/markdown, and is listed in /docs/llms.txt.