Authentication & rate limits

How Havoptic API keys work, the anonymous, Developer, Pro and Team tiers, and how to read the RateLimit-Policy, RateLimit and Retry-After headers.

Every read endpoint works without a key. A key raises your limits, gives you a daily usage view, and is required for webhooks.

API keys

Sign in with GitHub on the API keys dashboard and create a key. It looks like hv_live_ followed by 32 letters and digits and is shown once; Havoptic stores only its SHA-256 hash. You can hold up to 5 active keys and revoke any of them at any time.

Send it on requests to api.havoptic.com:

curl -H "Authorization: Bearer $HAVOPTIC_API_KEY" "https://api.havoptic.com/v1/changes?kind=breaking"

# Also accepted:
curl -H "X-Api-Key: $HAVOPTIC_API_KEY" "https://api.havoptic.com/v1/changes?kind=breaking"

Tiers

TierPer minutePer dayWebhooks
Anonymous (per IP)60not enforced (please stay under 1,000)-
Developer (free key)12010,0003
Pro600100,000unlimited
Team1,200no daily capunlimited

Per-minute limits are a fixed 60-second window per caller. Daily quotas reset at 00:00 UTC. The tier that served a request is echoed in the Havoptic-Tier response header.

Rate-limit headers

api.havoptic.com sends the IETF RateLimit headers:

HTTP/2 200
Havoptic-Tier: developer
RateLimit-Policy: "developer-minute";q=120;w=60, "developer-day";q=10000;w=86400
RateLimit: "developer-day";r=9874;t=41230

Staying under the limits

Developer docs · API reference · OpenAPI · Havoptic