> ## Documentation Index
> Fetch the complete documentation index at: https://docs.codaclean.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Fouten

> Foutformaat, HTTP-statuscodes en foutcodes van de Codaclean API.

## Foutformaat

Fouten worden als JSON teruggegeven, met een `message`:

| Veld         | Beschrijving                                                                  |
| ------------ | ----------------------------------------------------------------------------- |
| `message`    | Voor mensen leesbare beschrijving. Parse deze tekst niet: hij kan veranderen. |
| `code`       | Stabiele, machineleesbare foutcode. Baseer uw foutafhandeling hierop.         |
| `fields`     | De foutieve velden, bij `unknownField` en `fieldNotUpdatable`.                |
| `candidates` | De connectoren waaruit u kunt kiezen, bij `connectorSelectionRequired`.       |

`code` wordt teruggegeven door de endpoints voor klanten, mandaten en referentiegegevens. De endpoints voor bestanden en uploads geven alleen een `message` terug. Het token-endpoint voegt bij een `500` ook een veld `error` toe.

## HTTP-statuscodes

| Status | Betekenis                                                                                                            |
| ------ | -------------------------------------------------------------------------------------------------------------------- |
| `400`  | De aanvraag is ongeldig. Corrigeer ze voordat u het opnieuw probeert.                                                |
| `401`  | De ID-token ontbreekt, is ongeldig of is verlopen, of de gebruiker kan de API niet gebruiken. Vernieuw de token.     |
| `403`  | De API-sleutel ontbreekt of is ongeldig, er ontbreekt een scope, of de gebruiker heeft geen toegang tot de resource. |
| `404`  | De resource bestaat niet of is niet zichtbaar voor de gebruiker.                                                     |
| `409`  | Conflict met de huidige toestand (bestaat al, is al gearchiveerd, is al bevestigd …).                                |
| `422`  | De aanvraag is geldig, maar kan niet in deze vorm worden verwerkt. Zie de foutcode.                                  |
| `429`  | Aanvraaglimiet of quotum overschreden.                                                                               |
| `500`  | Onverwachte fout. Probeer het later opnieuw.                                                                         |
| `502`  | De uploadgegevens konden niet worden uitgereikt. Probeer het later opnieuw.                                          |

**Zie ook:** [Aanvraaglimieten](/nl/api/rate-limits)

## Foutcodes

| Code                           | Status | Betekenis                                                                                                                                                                                                                                                                                                              |
| ------------------------------ | ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `invalidPayload`               | 400    | De body is geen JSON-object, of een verplicht veld ontbreekt of is ongeldig.                                                                                                                                                                                                                                           |
| `unknownField`                 | 400    | De body bevat velden die het endpoint niet aanvaardt. Zie `fields`.                                                                                                                                                                                                                                                    |
| `fieldNotUpdatable`            | 400    | Het veld kan niet gewijzigd worden met `PATCH /customers/{customerId}`. Zie `fields`.                                                                                                                                                                                                                                  |
| `invalidIdentifier`            | 400    | Het ID van de klant of van het mandaat heeft een ongeldig formaat.                                                                                                                                                                                                                                                     |
| `invalidEnterpriseNumber`      | 400    | Het ondernemingsnummer is ongeldig.                                                                                                                                                                                                                                                                                    |
| `invalidIban`                  | 400    | De IBAN is ongeldig.                                                                                                                                                                                                                                                                                                   |
| `forbiddenScope`               | 403    | Uw API-sleutel heeft niet de scope die het endpoint vereist.                                                                                                                                                                                                                                                           |
| `accessDenied`                 | 403    | De klant bestaat, maar de gebruiker heeft er geen toegang toe.                                                                                                                                                                                                                                                         |
| `belongsToAnotherTenant`       | 403    | Het ondernemingsnummer of de IBAN is al geregistreerd door een ander boekhoudkantoor. Wil de boekhouder een klant van het ene kantoor naar het andere overzetten, dan moet hij contact opnemen met de support van Codaclean om een overdrachtsprocedure op te starten. Daarvoor is het akkoord van de eindklant nodig. |
| `customerNotFound`             | 404    | De klant bestaat niet of behoort tot een ander boekhoudkantoor.                                                                                                                                                                                                                                                        |
| `ibanNotFound`                 | 404    | De IBAN is niet aan deze klant gekoppeld.                                                                                                                                                                                                                                                                              |
| `payrollProviderNotFound`      | 404    | De code van het sociaal secretariaat is onbekend of niet aan deze klant gekoppeld.                                                                                                                                                                                                                                     |
| `mandateNotFound`              | 404    | Het mandaat bestaat niet of is niet zichtbaar voor de gebruiker.                                                                                                                                                                                                                                                       |
| `bankNotSupported`             | 404    | Codaclean kan voor deze bank geen mandaat aanvragen.                                                                                                                                                                                                                                                                   |
| `customerAlreadyExists`        | 409    | Er bestaat in het boekhoudkantoor al een klant met dit ondernemingsnummer.                                                                                                                                                                                                                                             |
| `customerAlreadyArchived`      | 409    | De klant is gearchiveerd.                                                                                                                                                                                                                                                                                              |
| `ibanAlreadyInUse`             | 409    | De IBAN is al gekoppeld aan een klant van het boekhoudkantoor.                                                                                                                                                                                                                                                         |
| `payrollProviderAlreadyLinked` | 409    | Het sociaal secretariaat is al aan deze klant gekoppeld.                                                                                                                                                                                                                                                               |
| `mandateAlreadyRequested`      | 409    | Er bestaat al een mandaataanvraag voor deze klant en deze bankrekening of dit sociaal secretariaat.                                                                                                                                                                                                                    |
| `connectorSelectionRequired`   | 422    | Er komen meerdere connectoren in aanmerking voor de bank. Roep het endpoint opnieuw aan met de `connectorId` van een van de `candidates`.                                                                                                                                                                              |
| `connectorUnavailable`         | 422    | Er is geen bruikbare connector voor deze bank, of de meegestuurde `connectorId` is onbekend.                                                                                                                                                                                                                           |

**Zie ook:** [Scopes](/nl/api/scopes) · [Toegang tot gegevens](/nl/api/data-access)

## Klanten van een ander boekhoudkantoor

De API geeft nooit gegevens van een ander boekhoudkantoor prijs. Er zijn twee mogelijke gevallen:

* **U raadpleegt of wijzigt een klant via zijn ID** en die klant behoort tot een ander kantoor: `404 customerNotFound`, net alsof hij niet bestond.
* **U maakt een klant aan of voegt een IBAN toe** die een ander kantoor al heeft geregistreerd: `403 belongsToAnotherTenant`. Omdat de aanroep niet kan slagen, vertelt de API u waarom, zonder het andere kantoor te noemen.

## Uploadfouten

De upload-endpoints geven deze waarden terug in `message`:

| Message                  | Status | Betekenis                                                                              |
| ------------------------ | ------ | -------------------------------------------------------------------------------------- |
| `upload_not_allowed`     | 403    | Uploaden is niet ingeschakeld voor het boekhoudkantoor. Neem contact op met Codaclean. |
| `sts_assume_role_failed` | 502    | De inloggegevens konden niet worden uitgereikt. Probeer het later opnieuw.             |
