Skip to content

Limits and versioning

LimitValue
Request body1 MB. Larger bodies get 413 payload_too_large.
Page sizeAt most 200 items per page. See pagination.
Webhook secretAt least 32 characters.
Share link lifetimeAt most 30 days.

The API contract reserves 429 rate_limited with a Retry-After header, and targets 1,000 events per second per organization on ingest and 20 requests per second on other routes. These limits are not enforced in the current release. Write your client as if they were: back off on 429, and batch events instead of sending them one by one.

The API lives under /v1. Within v1 changes are additive: new endpoints, new optional fields and new enum values can appear, so ignore fields you do not recognize and handle unknown enum values gracefully. Breaking changes ship under a new path.

The event schema has its own version, ape_version, currently 0.1. See the event schema and the changelog.

Test and live data are separate. Test keys (hk_test_...) work only with the sandbox base URL and live keys (hk_live_...) only with production. See environments.