API
Errors and rate limits
The API error body, the status codes the endpoints return, rate limits, and page and export size limits
Every endpoint uses standard HTTP status codes and the same small JSON body for errors.
The error body
Errors come back as JSON with a single error string:
{ "error": "Invalid API key" }The text is meant for logs and people. Branch on the status code, not on the message, because wording can change.
Status codes
| Status | Meaning | Common causes |
|---|---|---|
| 200 | Success | Any successful read, check or export |
| 201 | Created | POST /api/v1/inbound/submit, /api/v1/suppression/add, /api/v1/saved-views |
| 400 | Bad request | The body is not a JSON object, a required field is missing (suppression_type and value are required, name is required), or suppression_type is not a valid type |
| 401 | Not authenticated | The key is missing, malformed, unknown or deleted. See Authentication and keys |
| 404 | Not found | Hackathon not found, Organizer not found, Sponsor not found, Submission not found |
| 500 | Server error | The request could not be completed. Check that your JSON is valid and your parameters use documented values, then retry |
If a 500 persists for a request that looks right, contact us with the endpoint, the time and the response body.
Rate limits
There are no published rate limits today. Keep request volume reasonable, cache responses you reuse, and spread bulk work out rather than firing many parallel requests. If limits are introduced, requests over the limit will return 429 with a Retry-After header, so handle that status now and your client will not need changes later.
Page and export size limits
| Endpoint | Limit |
|---|---|
/api/organizers, /api/sponsors | limit defaults to 10, at most 100 per page |
/api/v1/inbound/submissions | limit defaults to 25, at most 100 per page |
/api/hackathons/export | At most 100 rows per request, no paging |
/api/organizers/export, /api/sponsors/export | At most 100 rows per request, no paging |
/api/v1/inbound/submissions/export | Every matching submission |
To pull more than 100 organizers or sponsors, page through the JSON list endpoints with limit=100. For hackathons, split one large export into several narrower ones, for example by type or country. See Hackathons and stats.