invalidPayload | 400 | The body is not a JSON object, or a required field is missing or invalid. |
unknownField | 400 | The body contains fields the endpoint does not accept. See fields. |
fieldNotUpdatable | 400 | The field cannot be changed with PATCH /customers/{customerId}. See fields. |
invalidIdentifier | 400 | The customer or mandate identifier is malformed. |
invalidEnterpriseNumber | 400 | The enterprise number is not valid. |
invalidIban | 400 | The IBAN is not valid. |
forbiddenScope | 403 | Your API key lacks the scope the endpoint requires. |
accessDenied | 403 | The customer exists but is outside the user’s access. |
belongsToAnotherTenant | 403 | The enterprise number or IBAN is already registered by another accounting firm. To move a customer between firms, the accountant must contact Codaclean support to start a transfer procedure, which requires the end customer’s agreement. |
customerNotFound | 404 | The customer does not exist or belongs to another accounting firm. |
ibanNotFound | 404 | The IBAN is not linked to this customer. |
payrollProviderNotFound | 404 | Unknown payroll provider code, or not linked to this customer. |
mandateNotFound | 404 | The mandate does not exist or is not visible to the user. |
bankNotSupported | 404 | Codaclean cannot request a mandate for this bank. |
customerAlreadyExists | 409 | A customer with this enterprise number already exists in the accounting firm. |
customerAlreadyArchived | 409 | The customer has been archived. |
ibanAlreadyInUse | 409 | The IBAN is already linked to a customer of the accounting firm. |
payrollProviderAlreadyLinked | 409 | The payroll provider is already linked to this customer. |
mandateAlreadyRequested | 409 | A mandate request already exists for this customer and bank account or payroll provider. |
connectorSelectionRequired | 422 | Several connectors match the bank. Call again with one of the candidates’ connectorId. |
connectorUnavailable | 422 | No usable connector for this bank, or the connectorId sent is unknown. |