API errors
One envelope, and a specific code for every Project Zero refusal.
Project Zero refusals (403 and 503) use the Gateway's error envelope, with a stable code:
{ "error": { "code": "zero_capacity_unavailable", "message": "The Zero Pool is at capacity. It resets daily." } }Authentication failures (401) and invalid request bodies (422) are answered before a request reaches Project Zero, in the framework's shape: { "detail": … }.
Project Zero codes
| Status | Code | Meaning |
|---|---|---|
| 401 | — | The credential is missing, revoked or expired. Run tessen auth:login, then tessen opencode. |
| 403 | zero_entitlement_required | This account does not have Project Zero access. tessen zero shows your access. |
| 422 | — | The request body is invalid — for example an unknown program, or the project-zero model sent together with a different program. |
| 503 | zero_capacity_unavailable | No verified zero-cost capacity can serve the request right now, or today's pool is used. The error carries reset_at; retry after it. |
| 503 | zero_program_disabled | Project Zero is switched off by Tessen. It is not your account and not the pool, and the rest of Tessen is unaffected. |
Retrying
- 401, 403 and 422 will not succeed on retry; fix the cause first.
- zero_capacity_unavailable: retry after reset_at, not immediately.
- zero_program_disabled: Project Zero is off. Retrying sooner does not help.