POST /v1/send308 accounts blocked · 5 of 5 agents · first seen Sep 12
403 on first send
New API keys only have the read scope. The first send returns 403 Forbidden and says nothing about scopes, so agents retry with the same key, then switch to another email API.
- Share of failed tasks
- 38%
- Accounts blocked
- 308
- MRR a month at risk
- $3,080
- Lab trials failed
- 36 of 200
What agents doThe path most agents take, from production and the lab
- The agent creates a keyPOST /v1/api-keys → 201 · scope: read
- The first send is refusedPOST /v1/send → 403 {"error":"Forbidden"}
- It retries with the same key4 retries in 25 s, median
- It reads the 403 docs pageGET /docs/errors/403.md · no mention of scopes
- It leavesSwitches vendors or reports the error
Where it comes from
src/errors.ts:48
48throw new ApiError(403, "Forbidden");/docs/errors/403.md
Explains 403 in general. Doesn't say how to add a scope.
Default key scope
read
In productionAccounts blocked, by the day they made their key
By agent
- claude-code105 · 17%
- codex82 · 21%
- cursor86 · 32%
- gemini-cli35 · 22%
Count, and the share of that agent's API keys it blocked.
Accounts it blocked
Fix
What it costs
$3,080/mo
308 blocked accounts × $10 of MRR per working account. New agent-started accounts that reach a working call bring $6,100 of MRR across 610 accounts.