Errors
One shape everywhere. The code is stable; the message is written for a person and names the problem.
json
{ "error": { "code": "invalid_request", "message": "posted_within_days must be 1-365" } }| Status | Code | When |
|---|---|---|
| 400 | invalid_request | A filter name or value is wrong (unknown parameters are errors too) |
| 400 | too_broad | The search covers too many jobs to answer; add a title, company or location |
| 401 | unauthorized | Missing, mistyped or revoked key |
| 404 | not_found | The job closed, or the id is wrong |
| 429 | limit_reached | Too many at once, or the daily or monthly limit; see Retry-After |
| 5xx | Our side. Retry with backoff |
In MCP, the same problems come back as a tool error with the same message, so the model can fix its own arguments.