Start here
Authentication
REST and MCP authenticate with a workspace-bound bearer token:
Authorization: Bearer ingram_live_…
Getting a token
Programmatically — POST /api/v1/accounts creates user + workspace +
token in one call (see the Quickstart). Optional fields:
token_name labels the token; prefund charges a payment method and credits
the wallet in the same call, so an agent is ready to spend immediately.
Dashboard — Settings → API tokens → New token. Pick the scope; the token is displayed once.
Scopes
| Scope | Grants |
|---|---|
read | Availability checks, pricing, listing domains, domain details, DNS reads |
write | Everything in read, plus mutations: register/renew/transfer, DNS changes, security toggles, deletes |
Give agents the narrowest scope that works. A read token cannot spend money under any circumstances.
Handling
- Tokens are stored hashed server-side — lost tokens cannot be recovered, only revoked and re-minted (Settings → API tokens).
- The prefix (
ingram_live_3fk…) is shown in listings so you can tell tokens apart without ever seeing the secret again. - Requests without a valid token get
401 missing_token/401 invalid_tokenin the standard error envelope. - Public endpoints (
/check,/suggest,/tldspricing via check) need no token.
Dashboard sign-in
The dashboard itself uses session auth (email + password or Google), separate
from API tokens. Password reset and email verification are built in. Sessions
never authenticate /api/v1 — only bearer tokens do.