API errors
Every problem code the API answers with, and what to do.
A refusal comes back as application/problem+json with type (a link here), status, code and detail, the words to show the owner. A needs answer adds kind and what to do next.
Refusals
input
- The input isn’t valid.
fieldnames the first one to fix anddetailsays how;issueslists every problem, each with itsfieldandmessage, so you can fix them all in one try.
subject
- What it’s about isn’t there, or this caller can’t see it.
actor
- This caller can’t do it: only the owner can, in Allpage, or the token or app wasn’t given this area.
tier
- Only the owner can do this, on its own screen in Allpage.
approval
- It needed the owner’s approval, which they declined or which expired.
policy
- It’s outside a policy the owner accepted.
guard
- The business’s own rules refuse it right now.
detailsays why, in words you can repeat to the owner.
autonomy
- The owner set this area to Never for this app or token. They change it under Settings, For developers.
conflict
- An
Idempotency-Keywas used with a different body, or what you changed moved on since you read it. Read it again and retry.
not_found
- No such operation or record.
unauthorized
- No valid token. Send
Authorization: Bearer ….
forbidden
- The token can’t reach this business or area.
rate_limited
- Too many requests. Wait for
Retry-Afterseconds.
bad_request
- The request itself is malformed, like JSON that doesn’t parse.
server
- Something failed on our side. Retry with the same key.
Needs
needs
409, kind module. A tool this needs is off or not set up. module names it; offer is how to get it (a command to propose, or a screen).
portal
409, kind portal. A step the owner does themselves in a browser. Send them url (single-use, needs their Allpage sign-in, expires at expiresAt), then read check with checkInput to see when it’s done.
choose_business
409, kind business. The person has more than one business. Pick one of choices and send the request again for it.
limit
429, kind limit. Over a limit. Retry-After and retryAfter say when it can go again, when that’s known; unlock says what raises it.
paused
403, kind paused. capability is paused for this business. unlock lists what’s left to fix; nothing else is affected.
reauth
403, kind reauth. A money, texting or access setting only the owner changes, signed in to Allpage with a passkey or authenticator app in the last within minutes. An app or token asks the owner to do it in Allpage; it’s never done over the API.