Today: a session cookie
Identity is a session cookie on the same origin. Sign in with a magic link or with Google, and the browser carries the session on every request after that.What needs it, and what does not
Public
GET /api/zones/:name — reading a zone. No account, no key, rate limited per IP.This is a logged-out visitor’s first impression of the product and it stays that way
deliberately.Session required
Everything under
/api/domains, /api/claims and /api/verifications. Without a session
you get 401 with unauthenticated.When the API opens
There are no public API keys yet. This section describes the intended shape so that anything you
build now stays valid — it is not a switch you can flip today.
- A second way to present identity on the same routes.
- Per-key rate limits, and per-key scopes (
zones:read,domains:read,domains:write).
- Any response shape on this site.
- The error envelope. An invalid key would be one more
codein the catalogue. - The public zone read, which stays keyless.
Idempotency
POST requests accept an Idempotency-Key header. Retrying with the same key returns the original
response rather than issuing a second token or a second claim.