API overview
JSON over HTTPS at https://outis.sh/v1. Everything the desk can do, a key can do.
Authentication#
Authorization: Bearer outis_…
Mint keys under Keys in the desk. Cookie sessions exist for the desk only — do not scrape the UI. See keys.
Conventions#
- Request and response bodies are JSON. Send
Content-Type: application/json. - Every response carries
ok. On success the payload sits beside it, usually underresult. - Money is in US dollars, as numbers, in fields ending
Usd. - Resources you do not own return 404, never 403 — the API does not confirm what exists on other accounts.
Errors#
{ "ok": false, "error": "human-readable message", "code": "NO_CREDIT" }
| Status | Code | Meaning |
|---|---|---|
| 400 | — | Malformed request, or the upstream rejected it; read error. |
| 401 | AUTH | Missing or unknown key, or a wrong password at sign-in (BAD_AUTH). |
| 409 | EXISTS | Signing up with an email already in use. |
| 402 | NO_CREDIT | The balance does not cover the quote. Nothing was bought. |
| 403 | FORBIDDEN | Operator-only route. |
| 404 | NOT_FOUND | Not found, or not yours. |
Escape hatch#
POST/v1/rpc
{ "method": "renew-domain", "params": { "domain": "nobody.example", "years": 1 } }
Calls a method on the underlying registrar API directly, for anything without a first-class endpoint. Billing and ownership rules are identical: paid methods are quoted and debited, and you can only touch your own resources.
Machine-readable contract#
/llms.txt is the same contract written for language models, with the acceptable use rules first. Point your agent at it.
Something wrong or missing? The API contract is also at /llms.txt.Acceptable use