Limits, errors & status codes
Request limits
| Context |
Limit |
Synchronous: /v1/in-depth |
≤ 25 peril-event combinations per request |
| Asynchronous: batch upload |
1–100,000 rows per CSV; larger schedules split across uploads |
| Rate limits |
Per-key; a 429 means you have exceeded your tier; contact us to raise it |
| Batch download URLs |
Expire one week after job completion |
Typical response times
Placeholder: engineering to publish measured figures
The figures below are the intended shape of this table, marked [TBC] until engineering supplies measured numbers from production monitoring.
| Request |
Typical response |
| Synchronous, single peril-event combination |
[TBC] seconds |
| Synchronous, full 25-combination request |
[TBC] seconds |
| Batch, 1,000-row schedule |
[TBC] minutes end to end |
| Batch, 10,000-row schedule |
[TBC] minutes end to end |
| Batch, 100,000-row schedule (the upload maximum) |
[TBC] end to end |
HTTP status codes
| Code |
Meaning |
What to do |
200 |
Success |
– |
207 |
Multi-Status: partial success with itemised failures |
Read failed_items; retry or fix the failed rows only |
400 |
Bad request: validation error in payload or parameter format |
Check parameter names, types and date formats (YYYY-MM-DD) |
401 |
Missing or invalid API key |
Confirm the X-API-Key header; check key expiry |
403 |
Key not authorised for this endpoint |
Your licence does not include this endpoint; contact us |
404 |
Endpoint not found |
Check the path against these docs |
405 |
Method not allowed |
GET used where POST is required, or vice versa |
422 |
Unprocessable entity: missing required information or unparseable payload |
The response body itemises the failing fields |
429 |
Too many requests: rate limit exceeded |
Back off and retry; consider the batch endpoint for volume |
500 |
Internal server error |
Retry with back-off; if persistent, check /health and contact support |