Foutmeldingen
De vorm van elke foutmelding, wat elke code betekent en wat je eraan doet.
Elke weigering van de API is een foutmelding in het formaat van RFC 9457, verstuurd als
application/problem+json. Eén veld zegt wat er misging: code. Deze pagina noemt elke
code die de API kan sturen, met wat je eraan doet.
De foutmelding
{
"type": "https://docs.schedulinq.com/en/api/errors#errors.api.insufficientScope",
"title": "Forbidden",
"status": 403,
"detail": "This API key does not have the scope this operation needs.",
"instance": "/api/v1/users",
"code": "errors.api.insufficientScope",
"requestId": "3f0c8a52-6b1e-4d7a-9c3e-1a2b3c4d5e0b",
"requiredScope": "users:read"
}
| Veld | Wat erin staat |
|---|---|
type | Een link naar de uitleg van de code (op de Engelse versie van deze pagina). |
title | De naam van de HTTP-status. |
status | De HTTP-statuscode. |
detail | Een Engelse zin voor wie het log leest. |
instance | Het pad van het verzoek, zonder querystring. |
code | De code: daarop vertak je. |
errors[] | Bij een geweigerd veld: één regel per veld, met field, code en message. Hoogstens 50; truncated: true als het er meer waren. |
requestId | Het id van het verzoek. |
requiredScope | Bij een 403 errors.api.insufficientScope: het recht dat de sleutel mist. |
Vertak op code, en op de code van elke regel in errors[] — nooit op title,
detail of message. Dat zijn Engelse zinnen, en hun bewoording kan veranderen.
Elk antwoord draagt een header X-Request-Id. Stuur je eigen mee (1 tot 128 tekens uit
A-Z, a-z, 0-9, ., _ en -) en je krijgt hem terug; anders krijg je er een.
Noem hem als je mailt naar support@schedulinq.com.
Statuscodes
De API antwoordt met 400, 401, 402, 403, 404, 405, 409, 413, 415, 422, 429 en 500. Een 404 is ook het antwoord op een id van een andere organisatie. Een heel grote piek kan een 503 krijgen voordat hij de API bereikt: probeer die opnieuw met oplopende wachttijd.
Een weigering wordt herhaald
Een geweigerde POST herhaalt zijn weigering 24 uur lang bij een nieuwe poging met
dezelfde Idempotency-Key. Los de oorzaak op en stuur dan een nieuwe sleutel. Zie
Idempotentie.
Authenticatie en limieten
errors.api.apiKeyMissing
401Send your API key in the Authorization header: Authorization: Bearer sq_live_...
Stuur de sleutel mee als Authorization: Bearer sq_live_…. Zie
Authenticatie.
Komt voor bij: elk endpoint
errors.api.apiKeyInvalid
401The API key is not valid. Check that you copied the whole key.
Controleer of de hele sleutel aankomt, zonder spaties of regeleinden.
Komt voor bij: elk endpoint
errors.api.apiKeyRevoked
401This API key has been revoked. Ask an admin of the organisation for a new key.
Een beheerder heeft de sleutel ingetrokken. Vraag een nieuwe; opnieuw proberen helpt niet.
Komt voor bij: elk endpoint
errors.api.apiKeyExpired
401This API key has expired. Ask an admin of the organisation for a new key.
De sleutel is voorbij zijn laatste geldige dag. Vraag een beheerder om een nieuwe.
Komt voor bij: elk endpoint
errors.api.insufficientScope
403This API key does not have the scope this operation needs.
requiredScope noemt het recht dat de sleutel mist. Een beheerder maakt een sleutel die
het wel heeft.
Komt voor bij: elk endpoint
errors.api.forbidden
403This API key may not do this.
errors.api.tooManyFailedAuthentications
429Too many failed authentications from this address. Wait for the number of seconds in Retry-After before trying again.
Wacht Retry-After af en herstel de sleutel voordat je het opnieuw probeert. Een
geldige sleutel weigert deze limiet nooit.
Komt voor bij: elk endpoint
errors.api.rateLimitExceeded
429Too many requests for this API key. Wait for the number of seconds in Retry-After and try again.
Wacht Retry-After af en probeer het opnieuw met dezelfde Idempotency-Key. Zie
Limieten.
Komt voor bij: elk endpoint
errors.api.customerInvitationLimit
429This customer has received the maximum number of invitations through the API for now. Try again later.
Wacht Retry-After af. Tien uitnodigingen per dag aan één klant is ruim; meer wijst
meestal op een lus in je systeem.
Komt voor bij: POST /api/v1/invitations
errors.api.colleagueInvitationLimit
429The organisation has sent the maximum number of colleague invitations through the API for now. Wait for the number of seconds in Retry-After and try again.
Wacht Retry-After af. Herhalingen tellen ook mee, dus probeer het niet in een snelle
lus opnieuw.
Komt voor bij: POST /api/v1/users, POST /api/v1/users/invitations/{id}/resend
errors.api.requestTooLarge
413The request body is larger than 256 KB.
Geen API-verzoek heeft zoveel nodig. Controleer wat je systeem in de body zet.
Verzoeken die de API niet kan plaatsen of lezen
errors.api.resourceNotFound
404There is no resource at this path.
Controleer het pad met de referentie.
Komt voor bij: POST /api/v1/users/invitations/{id}/resend
errors.api.methodNotSupported
405This path does not support this HTTP method. The Allow header lists the methods it does support.
errors.api.mediaTypeNotSupported
415Send the request body as application/json and accept application/json.
Stuur Content-Type: application/json mee.
errors.api.badRequest
400The request could not be processed.
errors.api.invalidRequestBody
400The request body is not valid JSON.
errors.api.invalidParameter
400A parameter has a value of the wrong type.
Komt voor bij: GET /api/v1/users, POST /api/v1/users, GET /api/v1/services, GET /api/v1/roles, POST /api/v1/planning-links, GET /api/v1/invitations, POST /api/v1/invitations, GET /api/v1/appointments
errors.api.missingParameter
400A required parameter is missing.
errors.api.unexpectedError
500Something went wrong on our side. Try again later; if it keeps happening, contact support with the requestId.
Probeer het opnieuw met oplopende wachttijd. Blijft het gebeuren, stuur dan de
requestId naar support@schedulinq.com.
Komt voor bij: elk endpoint
Niet gevonden en conflicten
errors.api.appointmentNotFound
404This appointment does not exist, or it belongs to another organisation.
Ook het antwoord op een id van een andere organisatie.
Komt voor bij: GET /api/v1/appointments/{id}
errors.api.invitationNotFound
404This invitation could not be found.
Ook het antwoord op een id van een andere organisatie.
Komt voor bij: GET /api/v1/invitations/{id}
errors.api.colleagueNotFound
404No colleague of this organisation has this id or e-mail address.
Controleer het id of e-mailadres met GET /api/v1/users.
Komt voor bij: POST /api/v1/planning-links, POST /api/v1/invitations
errors.api.serviceNotFound
404This service does not exist, or it is archived.
Controleer het id met GET /api/v1/services.
Komt voor bij: POST /api/v1/planning-links, POST /api/v1/invitations
errors.api.customerNotFound
404No customer of this organisation has this id.
Ook het antwoord op een gearchiveerde klant en op een id van een andere organisatie. Een klant die is samengevoegd met een andere, wordt naar die andere gevolgd, niet geweigerd.
Komt voor bij: POST /api/v1/planning-links, POST /api/v1/invitations
errors.api.colleagueNotActive
409This colleague can't be booked: they have not accepted their invitation yet, or they are deactivated, archived or not schedulable.
Het teamlid heeft de uitnodiging nog niet geaccepteerd, of is gedeactiveerd of
gearchiveerd. Stuur na het oplossen een nieuwe Idempotency-Key: dezelfde sleutel
herhaalt deze weigering 24 uur lang.
Komt voor bij: POST /api/v1/planning-links, POST /api/v1/invitations
errors.api.customerDeactivated
409This customer is deactivated and can't book online. Reactivate them in Schedulinq first.
Activeer de klant opnieuw in Schedulinq en stuur daarna een nieuwe Idempotency-Key.
Komt voor bij: POST /api/v1/invitations
errors.api.conflict
409The resource was changed by another request at the same time. Try again.
Probeer het opnieuw met dezelfde Idempotency-Key; deze weigering wordt niet bewaard.
Teamleden en plaatsen
errors.api.colleagueArchived
409An archived colleague of this organisation has this e-mail address. Restore them in Schedulinq, or invite with another address.
Zet het teamlid terug in Schedulinq, of nodig uit met een ander adres.
Komt voor bij: POST /api/v1/users
errors.api.emailInUseElsewhere
409This e-mail address belongs to a Schedulinq account outside this organisation. Invite the colleague with another address; a plus-alias such as name+yourcompany@example.com works.
De andere organisatie wordt nooit genoemd. Nodig uit met een ander adres. Een plus-adres
zoals piet+ov@… telt als een ander adres. Zie
Teamleden.
Komt voor bij: POST /api/v1/users
errors.api.roleNotAssignable
403This API key may not give this role. Use one of the roles the key may assign (GET /api/v1/roles).
De rol hoort niet bij de rollen van de sleutel, is verwijderd, of is van een andere
organisatie. Deze foutmelding heeft geen errors[].
Komt voor bij: POST /api/v1/users, POST /api/v1/users/invitations/{id}/resend
errors.api.colleagueInvitationAccepted
409This invitation has already been accepted: the colleague is in the organisation.
Er valt niets opnieuw te sturen: het teamlid hoort bij de organisatie.
Komt voor bij: POST /api/v1/users/invitations/{id}/resend
errors.api.noSeatsAvailable
409The organisation has no free seat for another user. An admin can add seats under Billing.
De betaalde plaatsen zijn vol, openstaande uitnodigingen meegeteld. De API koopt nooit
een plaats; een beheerder voegt er een toe in Schedulinq. Stuur na het oplossen een
nieuwe Idempotency-Key: dezelfde sleutel herhaalt deze weigering 24 uur lang.
Komt voor bij: POST /api/v1/users, POST /api/v1/users/invitations/{id}/resend
errors.api.trialUserLimit
402The organisation is on a trial and cannot add more users.
De proefperiode is afgelopen zonder abonnement, of het abonnement is vervallen. Elke
aanmaak geeft dit antwoord tot een beheerder het oplost. Stuur na het oplossen een
nieuwe Idempotency-Key: dezelfde sleutel herhaalt deze weigering 24 uur lang.
Komt voor bij: POST /api/v1/users, POST /api/v1/users/invitations/{id}/resend
errors.api.organisationScheduledForDeletion
409This organisation is scheduled for deletion and accepts no changes.
Komt voor bij: POST /api/v1/users, POST /api/v1/users/invitations/{id}/resend, POST /api/v1/planning-links, POST /api/v1/invitations
Idempotentie
errors.api.idempotencyKeyRequired
400Send an Idempotency-Key header with this request, a unique value per operation.
Zie Idempotentie.
Komt voor bij: POST /api/v1/users, POST /api/v1/users/invitations/{id}/resend, POST /api/v1/planning-links, POST /api/v1/invitations
errors.api.idempotencyKeyTooLong
400The Idempotency-Key header is longer than 255 characters.
Komt voor bij: POST /api/v1/users, POST /api/v1/users/invitations/{id}/resend, POST /api/v1/planning-links, POST /api/v1/invitations
errors.api.idempotencyKeyReused
422This Idempotency-Key was already used for a different request. Use a new key for a new request.
Maak een nieuwe sleutel voor een nieuw verzoek; gebruik een sleutel alleen opnieuw om hetzelfde verzoek te herhalen.
Komt voor bij: POST /api/v1/users, POST /api/v1/users/invitations/{id}/resend, POST /api/v1/planning-links, POST /api/v1/invitations
errors.api.duplicateRequestInProgress
409A request with this Idempotency-Key is still being processed. Try again in a moment.
Probeer het na een moment opnieuw, met dezelfde sleutel.
Komt voor bij: POST /api/v1/users, POST /api/v1/users/invitations/{id}/resend, POST /api/v1/planning-links, POST /api/v1/invitations
Validatie
errors.api.validationFailed
400One or more fields are not valid. The errors list names each field.
errors[] noemt elk veld met zijn code; hieronder staan de codes die erin kunnen staan.
Komt voor bij: GET /api/v1/users, POST /api/v1/users, GET /api/v1/services, GET /api/v1/roles, POST /api/v1/planning-links, GET /api/v1/invitations, POST /api/v1/invitations, GET /api/v1/appointments
errors.api.custom_field_invalid
400This value is not valid for this custom field.
Komt voor bij: POST /api/v1/users
errors.api.custom_field_required
400This custom field is required.
errors.api.custom_field_unknown_key
400There is no custom field with this key.
Komt voor bij: POST /api/v1/users
errors.validation.addOnNotOffered
422This add-on does not exist, or it is not offered with this service.
Komt voor bij: POST /api/v1/invitations
errors.validation.addOnQuantityInvalid
400Choose a quantity between 1 and 99 for each add-on.
Komt voor bij: POST /api/v1/invitations
errors.validation.addOnQuantityNotAllowed
422This add-on can only be booked once per appointment.
Komt voor bij: POST /api/v1/invitations
errors.validation.addOnRepeated
400This add-on is listed more than once.
Komt voor bij: POST /api/v1/invitations
errors.validation.addressRequired
400Address is required
Komt voor bij: POST /api/v1/planning-links, POST /api/v1/invitations
errors.validation.appointmentTypeRequired
400Appointment type is required
errors.validation.cityTooLong
400The city must not exceed 100 characters.
errors.validation.colleagueIdOrEmail
400Name the colleague by id or by e-mail address — one of the two.
Komt voor bij: POST /api/v1/planning-links, POST /api/v1/invitations
errors.validation.colleagueRepeated
400This colleague is listed more than once.
Komt voor bij: POST /api/v1/invitations
errors.validation.companyNameRequired
400Company name is required
Komt voor bij: POST /api/v1/planning-links, POST /api/v1/invitations
errors.validation.companyNameTooLong
400Company name must not exceed 255 characters
errors.validation.countryInvalid
400Invalid country code
errors.validation.cursorInvalid
400The cursor is not valid. Use the nextCursor of a previous page as it was given.
Geef nextCursor precies door zoals je hem kreeg.
Komt voor bij: GET /api/v1/invitations, GET /api/v1/appointments
errors.validation.customFieldKeyFormat
400A custom field key is at most 64 characters: a lowercase letter, then a-z, 0-9 and _.
Komt voor bij: POST /api/v1/users
errors.validation.customFieldsTooMany
400customFields holds at most 30 keys.
Komt voor bij: POST /api/v1/users
errors.validation.customerIdOrDetails
400Name the customer by id alone, or by its details — not both.
Komt voor bij: POST /api/v1/planning-links, POST /api/v1/invitations
errors.validation.customerRequired
400Customer is required
errors.validation.emailInvalid
400Invalid email address
Komt voor bij: POST /api/v1/users
errors.validation.emailNonAscii
400Use an email address without special characters before the @.
Komt voor bij: POST /api/v1/users
errors.validation.emailRequired
400Email is required
Komt voor bij: POST /api/v1/users, POST /api/v1/planning-links, POST /api/v1/invitations
errors.validation.emailTooLong
400Email must not exceed 255 characters
errors.validation.firstNameRequired
400First name is required
Komt voor bij: POST /api/v1/users
errors.validation.firstNameTooLong
400First name must not exceed 100 characters
Komt voor bij: POST /api/v1/users
errors.validation.invalidValue
400This value has the wrong type or format.
Komt voor bij: GET /api/v1/invitations, GET /api/v1/appointments
errors.validation.invitationValidUntilInPast
400The expiry date cannot be in the past.
Komt voor bij: POST /api/v1/invitations
errors.validation.invitationValidUntilTooFar
400The expiry date can be at most ten years ahead.
Komt voor bij: POST /api/v1/invitations
errors.validation.lastNameRequired
400Last name is required
Komt voor bij: POST /api/v1/users, POST /api/v1/planning-links, POST /api/v1/invitations
errors.validation.lastNameTooLong
400Last name must not exceed 100 characters
Komt voor bij: POST /api/v1/users
errors.validation.limitOutOfRange
400limit must be a whole number from 1 to 100.
Komt voor bij: GET /api/v1/users, GET /api/v1/services, GET /api/v1/roles, GET /api/v1/invitations, GET /api/v1/appointments
errors.validation.localeInvalid
400A language is a two-letter code, such as nl or en.
Komt voor bij: POST /api/v1/users
errors.validation.metadataFilterRequired
400A list needs at least one metadata filter, for example metadata[dealId]=D-123.
Komt voor bij: GET /api/v1/invitations, GET /api/v1/appointments
errors.validation.metadataKeyInvalid
400A metadata key is 1 to 40 characters: a-z, A-Z, 0-9 and _.
Komt voor bij: POST /api/v1/users
errors.validation.metadataTooManyKeys
400metadata holds at most 20 keys with a value, and at most 40 entries in all.
Komt voor bij: POST /api/v1/users
errors.validation.metadataValueInvalid
400A metadata value is a string on one line.
Komt voor bij: POST /api/v1/users, POST /api/v1/planning-links, POST /api/v1/invitations
errors.validation.metadataValueTooLong
400A metadata value is at most 500 characters.
Komt voor bij: POST /api/v1/users
errors.validation.nameRequired
400A name is required.
Komt voor bij: POST /api/v1/users, POST /api/v1/planning-links, POST /api/v1/invitations
errors.validation.nameTooLong
400The name is too long.
errors.validation.phoneInvalid
400Invalid phone number
Komt voor bij: POST /api/v1/planning-links, POST /api/v1/invitations
errors.validation.phoneNumberTooLong
400Phone number must not exceed 20 characters
errors.validation.postalCodeTooLong
400The postal code must not exceed 20 characters.
errors.validation.redirectUrlInvalid
400Enter a full web address starting with https://
Komt voor bij: POST /api/v1/planning-links
errors.validation.redirectUrlTooLong
400The web address must not exceed 2048 characters
Komt voor bij: POST /api/v1/planning-links
errors.validation.returnUrlOriginNotAllowed
400This return address is not on the organisation's list of allowed return addresses (Integrations → API).
Een beheerder voegt het adres toe onder Integraties → API → Toegestane terugkeeradressen.
Komt voor bij: POST /api/v1/planning-links
errors.validation.roleRequired
400A role is required.
Komt voor bij: POST /api/v1/users
errors.validation.serviceHasNoDuration
422This service has no duration of its own. Give it one in Schedulinq, or add an add-on with a duration.
Geef de dienst een duur in Schedulinq, of voeg een extra met een duur toe. Stuur na het
oplossen een nieuwe Idempotency-Key: dezelfde sleutel herhaalt deze weigering 24 uur
lang.
Komt voor bij: POST /api/v1/invitations
errors.validation.streetTooLong
400Street and house number must not exceed 255 characters.
errors.validation.supportedLocalesInvalid
400Only English, Dutch, German, French, Spanish, Italian, Polish and Arabic are supported: en, nl, de, fr, es, it, pl or ar.
Komt voor bij: POST /api/v1/users
errors.validation.unknownField
400This field does not exist.
Controleer de veldnaam met de referentie. Onbekende velden worden geweigerd, nooit genegeerd.
Komt voor bij: GET /api/v1/invitations, GET /api/v1/appointments
errors.validation.userCannotDoEveryService
422This colleague does not do this service (or one of its add-ons).
Komt voor bij: POST /api/v1/planning-links, POST /api/v1/invitations
errors.validation.userEmailTooLong
400Email must not exceed 100 characters
Komt voor bij: POST /api/v1/users
errors.validation.userRequired
400Name at least one colleague.
Komt voor bij: POST /api/v1/invitations
errors.validation.usersOutOfRange
400users names 1 to 100 colleagues.
Komt voor bij: POST /api/v1/invitations