Skip to main content
Every failure looks the same. Switch on error.code, it’s stable. Never parse error.message, it’s written for humans and gets reworded freely.
Every response, success or failure, also carries an X-Request-Id header. Quote it if you report a problem, it maps to the exact log line. If you meet a code you don’t recognize, fall back to the HTTP status. New codes only ever get added, never repurposed, so treating an unknown code by its status is always safe.
404 not_found is returned both when something never existed and when it belongs to someone else. That’s on purpose, otherwise anyone with a key could probe ids to discover what other accounts hold.