Support
Most API problems are diagnosable from your own data. Try that first — it is usually faster than waiting for a reply.
Debug it yourself
- Check GET /v1/status. Unauthenticated; if it is not 200, the problem is not your integration.
- Check GET /v1/me. Confirms the key works and shows exactly which scopes it holds.
- Read GET /v1/request_logs. Your own recent calls with status and error code, including authentication failures.
- Look up the error code in the Errors guide — it usually names the cause.
- For webhooks, read the delivery history on the endpoint: status, attempt count and response snippet are all there.
The three most common causes
401after it was working. The key was revoked, expired, or its rotation grace ended.GET /v1/request_logsrecords the reason.403on a new endpoint. The key is missing a scope. Scopes are fixed at mint, so this means minting a new key, not editing this one.404on a resource you can see in the dashboard. The key belongs to a different account than the one you are looking at.
Reporting something
Include these five things and the first reply can be an answer rather than a question:
| Why | |
|---|---|
request_id | Identifies the exact request in our logs. The single most useful item. |
HTTP status and error.code | Narrows it immediately |
Agentency-Version | Which contract shaped the response |
| The endpoint | POST /v1/chat, not "the chat thing" |
| Key mode | test or live — the prefix only |
Not in a ticket, not in a screenshot, not in a code sample. Send the key **id** (the public middle segment) if you need to identify one. If you have already sent a secret anywhere, revoke it now and mint a replacement.
Also useful when you have it: a rough timestamp with timezone, whether it is intermittent or every time, and what changed just before it started.
A good report
POST /v1/chatstarted returning429at about 14:20 UTC on 14 January, roughly one in three requests.request_id483c1c5107978d552c8f634d8b141501,Agentency-Version: 2026-08-14, live key9fK2mQ7pXr4TzB1c. We do honourRetry-After. Traffic roughly doubled that morning.
That can be investigated immediately. "Chat is broken" cannot.
Reporting a vulnerability
Report privately rather than opening a public issue. Include enough to reproduce, and please give us a reasonable window to fix it before disclosing.
Feature requests
The most persuasive ones describe the problem rather than the solution: what you are trying to build, what you tried, and where the API got in the way. That often surfaces an existing endpoint that does the job — and when it does not, it makes the case concrete.
What's next
- Errors — every code and what it means.
- Status and the spec — health check and OpenAPI document.
- Changelog — whether something changed under you.