400 Bad Request
Validation failed
- Code
validation_failed- Status
400Bad Request- Type
https://errors.clavian.io/validation-failed
What it means
The request could not be understood as written: a field is missing, has the wrong type or is out of range, or the query names a parameter the endpoint does not take. errors[] lists each field that failed and why.
What to do
Correct what errors[] names, showing each message beside its field, and send the request again. The same request sent unchanged fails the same way.
Example
The API answers with status 400 and this body, as application/problem+json. errors has one entry for each field that failed. A detail may be added, saying what went wrong this time; it is for people, and changes.
{
"type": "https://errors.clavian.io/validation-failed",
"title": "Validation failed",
"status": 400,
"code": "validation_failed",
"requestId": "req_01k5znw4hmfay8vvr14d2pf2db",
"errors": [
{
"field": "amount",
"code": "min",
"message": "must be ≥ 1"
}
]
}
Endpoints that return it
94 endpoints in the OpenAPI document name it among their answers.
All 94 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 CSVPUT /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 banPUT /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 platformPOST /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 itDELETE /v1/me/sessions/{sessionId}End one of your sessionsGET /v1/me/venuesThe venues you work atPUT /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