Verify Token
GET/api/me
Confirms your token works, names the account it belongs to, and lists the scopes it carries. Requires no scopes, so it succeeds with any valid token — run it first.
Any valid API token can call this endpoint — no specific scope required. Manage tokens.
Check tenant_id. A 200 on its own only proves that some real account answered. Every SKU.io account answers on its own hostname, and an unrecognised hostname still resolves, so a mistyped {{domain}} fails with the same 401 as a bad token. Confirming tenant_id is what catches it.
Check token.scopes. This is exactly what the token may do. Reading it up front beats discovering a missing scope from a 403 partway through a multi-step job, with the earlier steps already committed. token is null when you are authenticated by browser session rather than a token.
If it fails:
401— the token is missing, wrong, revoked, or expired; or{{domain}}names an account that isn't yours. Set{{domain}}to everything you see before.sku.iowhen you sign in, keeping any extra labels (beta.acme.sku.io, notacme.sku.io).404— the path is wrong. Every API route lives under/api.
Request
Responses
- 200
- 401
- 403
- 429
OK
Response Headers
Unauthorized
Response Headers
Forbidden — the token lacks a required scope, the endpoint is not available to API tokens, or the user behind the token lacks the permission. A human must adjust the token scopes or user permissions; do not retry.
Rate limited — platform limit is 1,000 requests/min; individual tokens may carry lower limits. Honor the Retry-After header before retrying. See the Rate Limits guide.