EMAIL_NOT_VERIFIED
The account behind the key has not confirmed its email address
The key is valid, but its account has not opened the verification link yet, so the API and the MCP server refuse to spend for it.
- http status
- 403
- credits
- Nothing is billed for a failed request.
What it means
Every account confirms its email address once, right after signing up. Until that happens the dashboard shows the verification notice, and every request under /api/v1 and every MCP tool call answers this code instead of running the lookup.
The browser form endpoint and the bounce webhook URLs are not affected: their keys can only be created from a confirmed session.
What to do
Open the link in the verification email, or sign in and request a new one from the verification notice. Nothing is charged for a refused request, so the same call can simply be retried afterwards.
Example response
{
"success": false,
"error": {
"code": "EMAIL_NOT_VERIFIED",
"message": "Verify your email address to use the API. Open the verification link Spaw sent you, or request a new one from the dashboard.",
"request_id": "req_01m1kgdm4xngzmbmff68g94w0c"
}
}Every error carries the request_id also sent in the X-Request-Id header; quote it when writing to support.
Related
- ORIGIN_NOT_ALLOWED · the page's origin is not on the key's allowed list
- KEY_IP_NOT_ALLOWED · the key is used from an address outside its allowlist
- KEY_ACCOUNT_MISMATCH · the key belongs to an account its holder has left
- KEY_SCOPE_DENIED · the key lacks the scope this endpoint needs
- SANDBOX_ENDPOINT_NOT_ALLOWED · the sandbox key does not answer this endpoint
- SANDBOX_VALUE_NOT_ALLOWED · the sandbox key does not answer for that value
- TURNSTILE_FAILED · the publishable key requires a Cloudflare Turnstile token
- All error codes
- Verdicts and the risk score
- API reference
markdown version: /docs/errors/EMAIL_NOT_VERIFIED.md