Error Handling
The HTTP response convention your endpoints should follow, and how retries work in both directions.
All endpoints you implement should follow this HTTP response convention:
| HTTP Status | Meaning |
|---|---|
200 OK | Request received and processed successfully |
400 Bad Request | Missing or invalid fields in the request body |
401 Unauthorized | Invalid or missing API key |
500 Internal Server Error | Unexpected error on your side - vGrubs will retry where applicable |
vGrubs retries where applicable when your endpoint responds with
500. In the other direction, retry your pushes to vGrubs with exponential backoff when they fail with a network error or a 5xx.Retry only on network errors and 5xx. A 400 means the payload itself is invalid - retrying the same request will fail again. Fix the fields named in message and send the order again. Error responses have the shape { "error": true, "message": "..." }.