Docs · Build
Limits & errors
The limits you can hit, the codes you can get, and the fix for each.
Request limits
| Limit | Value |
|---|---|
| Menu rows per request (task + history) | 100,000 |
| Request body | no cap with tokens or plan credits to pay with; 300 MB without |
| Free-market fits on a free key | 4 an hour and 100 a day |
| Validation and input tests | rate-limited; follow the API's 429 feedback |
Limits are configurable and can change during the beta; the API's own responses are authoritative. Need more? Ask through the contact form (topic: additional capacity).
HTTP status codes
| Code | Meaning | What to do |
|---|---|---|
| 200 | Accepted, or the result you asked for | — |
| 401 / 403 | Missing or invalid key, or a feature your account does not have | Check the Authorization header and your key |
| 404 | Unknown session id | Check the id and the base URL |
| 413 | Request too large | Send fewer menus or history rows |
| 422 | The request breaks a rule; the message says which | Fix the input; /validate catches most of these for free |
| 429 | Your balance cannot cover the call, or a rate limit was hit | Top up, or wait; nothing was queued or charged |
| 5xx | Our side | Retry with backoff; contact support with the session id if it persists |
Common validation errors
| Message contains | Fix |
|---|---|
menu 0 is reserved for the task | Move historical rows off menu 0. |
no menu-0 (T=0) task rows | Include today's menu — the options you want decided. |
dated after now (T > 0) | Trim sales to the past. |
keys appear in historical menus at multiple T values | Split them into distinct keys or separate requests. |
business_description could not be resolved | Send one, or save one in the console's business profile. |
unknown model version | GET / lists the versions on offer. |
Before you contact support
GET /health— is the service up?POST /validateon the exact payload — does it pass?- Read the
parse_reportcounters in the fit response: most “why is my history so small” questions are answered there. - Large fits can run tens of minutes. Cancel with
DELETE /session/{id}if you need to.
Still stuck? support@hyperc.com — include your account email and the session id.
Go deeper on GitHub