Errors and limits
Status codes, error bodies, plan limits and rate limits.
Errors return JSON with a human-readable message, safe to show to staff:
{ "message": "Every event must offer an entry option that doesn't use face matching." }
Status codes#
| Code | Meaning |
|---|---|
400 |
The request is invalid — see message. |
401 |
Missing, revoked or unknown API key, or the account is suspended. |
402 |
Your plan doesn't allow this: pilot limits reached (1 event, 500 guests, 30 days) or no active plan. Choose a plan in the dashboard. |
404 |
Not found — or not yours. You only ever see your own events. |
409 |
Conflict: enrolment closed, event ended, or widget settings missing. |
410 |
(Widget) the enrolment token has expired or was already used. |
422 |
No usable face in the photo. |
429 |
Rate limit — wait and retry. |
Rate limits#
| Who | Limit |
|---|---|
| Your API key | 300 requests per minute |
| Each gate device | 300 requests per minute |
| Guests' browsers (widget) | 600 requests per hour per network |
Plans#
| Plan | Includes |
|---|---|
| Pilot | 1 event, 500 enrolled guests, 30 days — free |
| Pay as you go | Per enrolled guest |
| Growth | 5,000 guests a month, then per guest |
| Scale | 30,000 guests a month, then per guest |
Gate checks are unlimited on every plan. Only a ticket's first enrolment on an event counts.