429 Too Many Requests
Too many requests
- Code
rate_limited- Status
429Too Many Requests- Type
https://errors.clavian.io/rate-limited
What it means
The caller sent more requests than its limit allows in the current window. Limits are counted per session, API key, station, account, phone number or IP address, depending on the endpoint.
What to do
Wait at least as long as the Retry-After header says before trying again, and wait longer if it happens again. Tell a person how long to wait rather than letting them retry at once.
Example
The API answers with status 429 and this body, as application/problem+json. A detail may be added, saying what went wrong this time; it is for people, and changes.
{
"type": "https://errors.clavian.io/rate-limited",
"title": "Too many requests",
"status": 429,
"code": "rate_limited",
"requestId": "req_01k5znw4hmfay8vvr14d2pf2db"
}
Endpoints that return it
101 endpoints in the OpenAPI document name it among their answers.
All 101 endpoints
GET /v1/files/{fileId}Fetch a private file through its signed URLGET /v1/helloHello worldGET /v1/hq/auditThe platform audit logPOST /v1/hq/audit/exportExport the platform audit log as CSVGET /v1/hq/brandRead the brand configuration, as HQ edits itPUT /v1/hq/brandChange the brand values HQ setsGET /v1/hq/organizationsEvery organisation on the Platform, newest firstPOST /v1/hq/organizationsCreate an organisation, and invite its ownerGET /v1/hq/organizations/{organizationId}Read one organisation’s recordPOST /v1/hq/organizations/{organizationId}/owner-invitationsInvite an owner to an organisation that has noneGET /v1/hq/organizations/{organizationId}/settingsRead one organisation’s settings, as HQPUT /v1/hq/organizations/{organizationId}/settingsSet, lock or unlock an organisation’s settings, as HQPATCH /v1/hq/organizations/{organizationId}/venues/{venueId}/listingSet a venue’s discovery flagsGET /v1/hq/playersSearch every player on the PlatformGET /v1/hq/players/{playerId}One player’s platform recordPOST /v1/hq/players/{playerId}/banBan a person from the PlatformPOST /v1/hq/players/{playerId}/unbanLift a person’s platform banGET /v1/hq/settingsRead the platform defaults and locksPUT /v1/hq/settingsChange platform defaults and locksGET /v1/hq/venuesEvery venue on the PlatformPOST /v1/invitations/acceptJoin the staff with an invitation linkPATCH /v1/meChange your own profile: marketing, and your email address or phone numberGET /v1/me/accessWhat you may do: in an organisation, at a venue, or on the platformGET /v1/me/consentsWhat you have agreed toPOST /v1/me/consentsAccept a new version of the terms or the privacy policyPOST /v1/me/contact-verificationFinish changing your email address or phone number, with the code sent to itGET /v1/me/organizationsThe organisations you are on the staff ofGET /v1/me/sessionsWhere you are signed inDELETE /v1/me/sessions/{sessionId}End one of your sessionsGET /v1/me/venuesThe venues you work atGET /v1/metaThe brand configuration and feature flagsGET /v1/notifications/prefsYour notification preferencesPUT /v1/notifications/prefsChange your notification preferencesGET /v1/organizations/{organizationId}/auditThe organisation’s audit logPOST /v1/organizations/{organizationId}/audit/exportExport the organisation’s audit log as CSVPOST /v1/organizations/{organizationId}/filesStart an uploadGET /v1/organizations/{organizationId}/files/{fileId}Read a filePOST /v1/organizations/{organizationId}/files/{fileId}/completeFinish an uploadGET /v1/organizations/{organizationId}/invitationsInvitations sent, newest firstPOST /v1/organizations/{organizationId}/invitationsInvite someone to the staff, by phone or by emailDELETE /v1/organizations/{organizationId}/invitations/{invitationId}Withdraw an invitationGET /v1/organizations/{organizationId}/membersThe organisation’s staffPUT /v1/organizations/{organizationId}/members/me/pinSet or change your own staff PIN at a venueGET /v1/organizations/{organizationId}/members/shared-deviceThis counter device: who holds it, and who can unlock itPOST /v1/organizations/{organizationId}/members/shared-deviceTurn this device into a shared counter devicePOST /v1/organizations/{organizationId}/members/shared-device/lockLock this counter deviceGET /v1/organizations/{organizationId}/members/{memberId}One member of the staffDELETE /v1/organizations/{organizationId}/members/{memberId}Take someone off the staffDELETE /v1/organizations/{organizationId}/members/{memberId}/pinReset a member’s staff PIN at a venuePUT /v1/organizations/{organizationId}/members/{memberId}/roleGive a member a different rolePUT /v1/organizations/{organizationId}/members/{memberId}/statusSuspend a member, or reinstate onePOST /v1/organizations/{organizationId}/members/{memberId}/unlockUnlock this counter device as a member, with their PINPUT /v1/organizations/{organizationId}/members/{memberId}/venuesChange which venues a member works atGET /v1/organizations/{organizationId}/playersSearch the organisation’s playersGET /v1/organizations/{organizationId}/players/{playerId}One player, as this organisation sees themPATCH /v1/organizations/{organizationId}/players/{playerId}Add, edit or remove notes and tagsPOST /v1/organizations/{organizationId}/players/{playerId}/banBan a player from every venue of the organisationGET /v1/organizations/{organizationId}/players/{playerId}/bansA player’s bans in this organisation, reasons includedGET /v1/organizations/{organizationId}/players/{playerId}/id-checksA player’s ID checks at this organisationPOST /v1/organizations/{organizationId}/players/{playerId}/id-checksRecord a staff document ID checkGET /v1/organizations/{organizationId}/players/{playerId}/id-checks/{idCheckId}/photoView an ID check’s photoGET /v1/organizations/{organizationId}/players/{playerId}/ordersThe player’s orders hereGET /v1/organizations/{organizationId}/players/{playerId}/passesThe player’s passes hereGET /v1/organizations/{organizationId}/players/{playerId}/pointsThe points the player earned hereGET /v1/organizations/{organizationId}/players/{playerId}/sessionsThe player’s sessions herePOST /v1/organizations/{organizationId}/players/{playerId}/unbanLift a player’s organisation banGET /v1/organizations/{organizationId}/players/{playerId}/walletThe player’s wallet statement hereGET /v1/organizations/{organizationId}/rolesEvery role: the built-in ones and the custom onesPOST /v1/organizations/{organizationId}/rolesMake a custom roleGET /v1/organizations/{organizationId}/roles/{role}One role: its permissions and its limitsPUT /v1/organizations/{organizationId}/roles/{role}Change a custom role’s permissionsDELETE /v1/organizations/{organizationId}/roles/{role}Delete a custom rolePUT /v1/organizations/{organizationId}/roles/{role}/limitsSet the limits a role carriesGET /v1/organizations/{organizationId}/scope-probesList the organisation scoping smoke rowsPOST /v1/organizations/{organizationId}/scope-probesWrite an organisation scoping smoke rowGET /v1/organizations/{organizationId}/scope-probes/{scopeProbeId}Read one organisation scoping smoke rowGET /v1/organizations/{organizationId}/settingsRead the organisation’s settings screenPUT /v1/organizations/{organizationId}/settingsChange the organisation’s settingsGET /v1/organizations/{organizationId}/venuesList the organisation's venuesPOST /v1/organizations/{organizationId}/venuesCreate a venueGET /v1/organizations/{organizationId}/venues/{venueId}Read a venuePATCH /v1/organizations/{organizationId}/venues/{venueId}Edit a venuePOST /v1/organizations/{organizationId}/venues/{venueId}/archiveClose a venue for goodGET /v1/organizations/{organizationId}/venues/{venueId}/floor-planRead one floor’s planPUT /v1/organizations/{organizationId}/venues/{venueId}/floor-planSave one floor’s planPOST /v1/organizations/{organizationId}/venues/{venueId}/players/{playerId}/banBan a player from one venuePOST /v1/organizations/{organizationId}/venues/{venueId}/players/{playerId}/unbanLift a player’s ban at one venueGET /v1/organizations/{organizationId}/venues/{venueId}/settingsRead a venue’s settings screenPUT /v1/organizations/{organizationId}/venues/{venueId}/settingsChange a venue’s settingsGET /v1/organizations/{organizationId}/venues/{venueId}/station-classesList a venue's station classesPOST /v1/organizations/{organizationId}/venues/{venueId}/station-classesCreate a station classPATCH /v1/organizations/{organizationId}/venues/{venueId}/station-classes/{classId}Edit a station classGET /v1/organizations/{organizationId}/venues/{venueId}/zonesList a venue's zonesPOST /v1/organizations/{organizationId}/venues/{venueId}/zonesCreate a zonePATCH /v1/organizations/{organizationId}/venues/{venueId}/zones/{zoneId}Rename or recolour a zoneGET /v1/public/venuesFind venuesGET /v1/public/venues/{slug}A venue pagePOST /v1/realtime/tokenA realtime token for the socket: as a member of an organisation, or as the playerPOST /v1/station/sign-in/passwordSign a player in at a kiosk with an email address or username and a passwordPOST /v1/station/sign-in/phoneSign a player in at a kiosk with a phone codePOST /v1/station/sign-in/phone/codeSend a sign-in code to a phone, from a kiosk