SchedulinqDocs
Naar Schedulinq

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"
}
VeldWat erin staat
typeEen link naar de uitleg van de code (op de Engelse versie van deze pagina).
titleDe naam van de HTTP-status.
statusDe HTTP-statuscode.
detailEen Engelse zin voor wie het log leest.
instanceHet pad van het verzoek, zonder querystring.
codeDe 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.
requestIdHet id van het verzoek.
requiredScopeBij 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

401

Send 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

401

The 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

401

This 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

401

This 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

403

This 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

403

This API key may not do this.

errors.api.tooManyFailedAuthentications

429

Too 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

429

Too 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

429

This 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

429

The 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

413

The 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

404

There 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

405

This path does not support this HTTP method. The Allow header lists the methods it does support.

errors.api.mediaTypeNotSupported

415

Send the request body as application/json and accept application/json.

Stuur Content-Type: application/json mee.

errors.api.badRequest

400

The request could not be processed.

errors.api.invalidRequestBody

400

The request body is not valid JSON.

errors.api.invalidParameter

400

errors.api.missingParameter

400

A required parameter is missing.

errors.api.unexpectedError

500

Something 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

404

This 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

404

This 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

404

No 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

404

This 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

404

No 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

409

This 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

409

This 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

409

The 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

409

An 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

409

This 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

403

This 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

409

This 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

409

The 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

402

The 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

409

This 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

400

Send 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

400

The 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

422

This 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

409

A 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

400

One 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

400

This value is not valid for this custom field.

Komt voor bij: POST /api/v1/users

errors.api.custom_field_required

400

This custom field is required.

errors.api.custom_field_unknown_key

400

There is no custom field with this key.

Komt voor bij: POST /api/v1/users

errors.validation.addOnNotOffered

422

This add-on does not exist, or it is not offered with this service.

Komt voor bij: POST /api/v1/invitations

errors.validation.addOnQuantityInvalid

400

Choose a quantity between 1 and 99 for each add-on.

Komt voor bij: POST /api/v1/invitations

errors.validation.addOnQuantityNotAllowed

422

This add-on can only be booked once per appointment.

Komt voor bij: POST /api/v1/invitations

errors.validation.addOnRepeated

400

This add-on is listed more than once.

Komt voor bij: POST /api/v1/invitations

errors.validation.addressRequired

400

Address is required

Komt voor bij: POST /api/v1/planning-links, POST /api/v1/invitations

errors.validation.appointmentTypeRequired

400

Appointment type is required

errors.validation.cityTooLong

400

The city must not exceed 100 characters.

errors.validation.colleagueIdOrEmail

400

Name 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

400

This colleague is listed more than once.

Komt voor bij: POST /api/v1/invitations

errors.validation.companyNameRequired

400

Company name is required

Komt voor bij: POST /api/v1/planning-links, POST /api/v1/invitations

errors.validation.companyNameTooLong

400

Company name must not exceed 255 characters

errors.validation.countryInvalid

400

Invalid country code

errors.validation.cursorInvalid

400

The 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

400

A 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

400

customFields holds at most 30 keys.

Komt voor bij: POST /api/v1/users

errors.validation.customerIdOrDetails

400

Name 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

400

Customer is required

errors.validation.emailInvalid

400

Invalid email address

Komt voor bij: POST /api/v1/users

errors.validation.emailNonAscii

400

Use an email address without special characters before the @.

Komt voor bij: POST /api/v1/users

errors.validation.emailRequired

400

errors.validation.emailTooLong

400

Email must not exceed 255 characters

errors.validation.firstNameRequired

400

First name is required

Komt voor bij: POST /api/v1/users

errors.validation.firstNameTooLong

400

First name must not exceed 100 characters

Komt voor bij: POST /api/v1/users

errors.validation.invalidValue

400

This value has the wrong type or format.

Komt voor bij: GET /api/v1/invitations, GET /api/v1/appointments

errors.validation.invitationValidUntilInPast

400

The expiry date cannot be in the past.

Komt voor bij: POST /api/v1/invitations

errors.validation.invitationValidUntilTooFar

400

The expiry date can be at most ten years ahead.

Komt voor bij: POST /api/v1/invitations

errors.validation.lastNameRequired

400

errors.validation.lastNameTooLong

400

Last name must not exceed 100 characters

Komt voor bij: POST /api/v1/users

errors.validation.limitOutOfRange

400

errors.validation.localeInvalid

400

A language is a two-letter code, such as nl or en.

Komt voor bij: POST /api/v1/users

errors.validation.metadataFilterRequired

400

A 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

400

A metadata key is 1 to 40 characters: a-z, A-Z, 0-9 and _.

Komt voor bij: POST /api/v1/users

errors.validation.metadataTooManyKeys

400

metadata 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

400

A 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

400

A metadata value is at most 500 characters.

Komt voor bij: POST /api/v1/users

errors.validation.nameRequired

400

errors.validation.nameTooLong

400

The name is too long.

errors.validation.phoneInvalid

400

Invalid phone number

Komt voor bij: POST /api/v1/planning-links, POST /api/v1/invitations

errors.validation.phoneNumberTooLong

400

Phone number must not exceed 20 characters

errors.validation.postalCodeTooLong

400

The postal code must not exceed 20 characters.

errors.validation.redirectUrlInvalid

400

Enter a full web address starting with https://

Komt voor bij: POST /api/v1/planning-links

errors.validation.redirectUrlTooLong

400

The web address must not exceed 2048 characters

Komt voor bij: POST /api/v1/planning-links

errors.validation.returnUrlOriginNotAllowed

400

This 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

400

A role is required.

Komt voor bij: POST /api/v1/users

errors.validation.serviceHasNoDuration

422

This 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

400

Street and house number must not exceed 255 characters.

errors.validation.supportedLocalesInvalid

400

Only 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

400

This 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

422

This 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

400

Email must not exceed 100 characters

Komt voor bij: POST /api/v1/users

errors.validation.userRequired

400

Name at least one colleague.

Komt voor bij: POST /api/v1/invitations

errors.validation.usersOutOfRange

400

users names 1 to 100 colleagues.

Komt voor bij: POST /api/v1/invitations

Laatst bijgewerkt op 4 oktober 2026