Onboarding API Error Messages

Onboarding API: Error Messages

This page lists common validation messages returned by the Onboarding API, with the status code, an endpoint where each occurs, and the cause. For field formats, see Validation Rules for Individuals and Validation Rules for Legal Entities.

Error Response Structure

An error response contains the following keys.

KeyDescription
statusCodeThe HTTP status code.
timestampThe time of the error.
methodThe HTTP method of the request.
pathThe path of the request.
messageAn array of error messages.

Example of the message key:

"message": ["phoneNumber is too short"]

This structure differs from the Error, Code, Msg, Prio and INT_MSG structure of the payment API.

A format error names the field it refers to. A business-rule error, for example, a date of birth before 1920, returns a message without a field name. Some business-rule errors return status 500.

Format and content errors

MessageStatusEndpointCause
<field> must be a valid ISO 3166-1 alpha-2 code or one of the following codes: XK400POST /accounts/legal-entityA country field (birthCountry, address.country or nationalities) is not a valid code. Use GB for the United Kingdom: UK is rejected.
individual.birthDate must be a valid ISO 8601 date string400POST /accounts/individualThe birth date is not in ISO 8601 format. Use YYYY-MM-DD or a full timestamp. DD/MM/YYYY is rejected.
phoneNumber is not valid400POST /onboardings/individualThe number has no country code, or it is not valid for its country, even if its length is correct.
phoneNumber is too short400POST /onboardings/individualThe number has fewer digits than the country allows.
phoneNumber is too long400POST /onboardings/individualThe number has more digits than the country allows.
status must be a valid enum value400POST /onboardings/companypoliticalExposure.status is missing. Send it for the legal representative and for each UBO.
ubo otherName must be set400POST /onboardings/companyThe otherName of a UBO contains no valid name character, for example 123 or @@@. The message does not give the UBO index.
ubos.0.otherName should not be empty400POST /onboardings/companyThe otherName of a UBO is an empty string. Omit the field instead.
website is not in valid format400POST /onboardings/companylegalEntity.website is not a single valid URL. Two URLs, separated by a space or a comma, are rejected.

Business Rule Errors

MessageStatusEndpointCause
year of birth cannot be less than 1920500POST /accounts/individual, POST /accounts/legal-entity (legal representative)The year of birth is before 1920. 1920 is accepted.
date of birth cannot be today or in the future500POST /accounts/individual, POST /accounts/legal-entity (legal representative)The date of birth is in the future.
"account has already an onboarding ongoing for this profile"500POST /onboardings/companyAn onboarding was already created for this account and profile. The quotation marks are part of the message.
individual account with same identity already exists - id: <existing id>409POST /accounts/individualAn account with the same identity exists. The message contains the id of the existing account.

Identity conflict on POST /accounts/individual

The API returns 409 when an account with the same identity exists. A new account is created when the first name, the birth date, or the birth country differs. No new account is created when only the email, the walletId, the nationalities, the profile, or the letter case of the last name differs.

To give an existing person a second profile, use POST /accounts/individual/{accountId}/profiles. See Onboarding for Multiple Profiles & Wallets.