Documentation
Responses & errors
Every response is JSON. Errors share one shape and a stable code where one applies.
Error shape
JSON
{
"error": "Sign in to continue.",
"code": "SIGN_IN_REQUIRED"
}Status codes
| Status | Meaning |
|---|---|
200 | Success. |
400 | A parameter is missing or invalid, e.g. an unknown sport or a malformed date. |
401 | Sign in required (SIGN_IN_REQUIRED). |
403 | Your plan does not include this route (UPGRADE_REQUIRED). |
404 | Unknown route, or the requested game is not on that date. |
405 | Method not allowed. Most routes are read-only (GET/HEAD). |
429 | Rate limited (RATE_LIMITED). Wait for Retry-After seconds. |
502 / 503 | An upstream source failed or is unreachable. Retry later when retryable is true. |
Freshness fields
Research and live responses include fetchedAt (when PreciseEV fetched the source), stale (true when the source could not be refreshed and cached data was returned) and warnings[] with plain-language notes. Show them to your users rather than hiding a stale number.