Skip to content

Limits and errors

How much you can ask for, and what every error means.

Limits

LimitValue
Requests120 a minute per key. Other keys aren't affected.
Rows a page1 to 100 (?limit=, default 100).
Page cursorCan be used for 15 minutes.
Check-in cursorCan be used for 24 hours.

Over 120 requests in a minute you get 429 rate_limited with a Retry-After header: the seconds until the next minute starts. Wait that long, then carry on.

Errors

Errors are JSON, with a code and the request's ID:

JSON
{ "error": { "code": "rate_limited", "request_id": "6f9e…" } }

Quote the request_id when you contact Blocklive.

StatusCodeMeaningWhat to do
400invalid_requestA query parameter is wrong or not allowed, or limit is outside 1 to 100.Fix the request.
401unauthorizedNo key, a malformed key, or a key that is revoked, expired or for the other environment.Check the key; ask the organizer.
404not_foundThe path, event or attendee doesn't exist, or your key can't read it. These aren't told apart.Check the IDs and the key's events.
405method_not_allowedOnly GET is supported.Use GET.
410resync_requiredThe cursor is too old, or what your key may read changed.Start again without a cursor.
429rate_limitedOver 120 requests a minute.Wait for Retry-After.
503unavailableBlocklive couldn't answer just now.Retry with backoff: 1 s, 2 s, 4 s, up to a minute.

Retrying is safe: every endpoint only reads.