Errors
JoyToken model-call failures return OpenAI-compatible error objects. message is a readable reason; type is the more stable field for client-side handling.
Error response
Chat Completions Errors
The OpenAPI definition keeps 429 for traditional rate-limit compatibility, but the current code path explicitly enforces quota, policy, and wallet precheck. Fixed QPS rate limiting is not a public capability yet.
Models Errors
GET /api/v1/models is exposed by front-gateway and does not require an API key. The most common failure is unavailable backend model service:
503 response
Debug Fields
When a request fails, record these fields and query the same time window in Console logs / usage:
Simple Retry Check
retry.ts