Common Errors

List of fields found across the common errors below. Not all fields are used for each error.

Fields
timestamptimestamp

Timestamp of when the error occurred.

codetext

Non-unique error code, generally used as an error category.

pathtext

Unique error name which can be mapped against.

messagetext

Unique message which can be passed through to UI and exposed for logging/reporting.

argumentstext

Can contain additional information specific to the triggered instance of this error.

errortext

Unique error name which can be mapped against.

error_descriptiontext

Error description with more error details.

statustext

Service specific status.

Endpoint: /v1/user/signup/registration_code

API Reference: Create a user with a registration code

409 - Conflict

Error Type: System

Description: The email you are trying to use to create and account has already been used. To access this account, you would need to perform an oAuth to that account, meaning you would also need to know the password.

Example Response
{
"errors": [
{
"code": "NOT_UNIQUE",
"message": "You’re already a member. Please login",
"path": "email",
"arguments": [
"email",
"ma********************@wise.com"
]
}
]
}

400 - Bad Request (Missing fields)

Error Type: Client

Description: Missing required fields. The email and registrationCode fields must be supplied in all calls

Example Response
{
"errors": [
{
"code": "NotNull",
"message": "must not be null",
"path": "email",
"arguments": []
},
{
"code": "NotNull",
"message": "must not be null",
"path": "registrationCode",
"arguments": []
}
]
}

400 - Bad Request (Size)

Error Type: Client

Description: The registration code is too small. Increase its size to fit the restrictions.

Example Response
{
"errors": [
{
"code": "Size",
"message": "size must be between 32 and 2147483647",
"path": "registrationCode",
"arguments": [
"2147483647",
"32"
]
}
]
}

422 - Unprocessable Entity

Error Type: Client

Description: Email is poorly formatted. Only send proper emails.

Example Response
{
"errors": [
{
"code": "ERROR",
"message": "Please provide a valid email",
"path": "email",
"arguments": [
"email",
"ma********************@w"
]
}
]
}

Endpoint: /v1/profiles

API Reference: Profile

400 - Bad Request (Bad profile type)

Error Type: Client

Description: The type of profile was incorrect. It must be either 'personal' or 'business'

Example Response
{
"errors": [
{
"code": "BAD_REQUEST",
"message": "Could not resolve type id",
"arguments": []
}
]
}

400 - Bad Request (Missing details)

Error Type: Client

Description: You must pass a details object.

Example Response
{
"errors": [
{
"code": "BAD_REQUEST",
"message": "Missing details property",
"arguments": []
}
]
}

422 - Unprocessable Entity

Error Type: Client

Description: For type 'personal', you must include 4 fields, and they cannot be blank.

Note that the code "MISSING" applies to both fields where the value is missing entirely or has been provided blank.

For the dateOfBirth field, a date in the format of YYYY-MM-DD must be passed. Other date formats may also parse, but it is sugegsted to use this format. Dates that are not parseable will show as a code of "ERROR".

Phone number must be provided and should be provided with the proper international prefix. Numbers that are too short will be returned with a code of "TOO_SMALL". Numbers submitted that do not parse or generally are incorrect phone numbers will return a code of "UNEXPECTED". Note that the validation on this field is intentionally not very strong, so please ensure the phone number being sent is valid.

Example Response
{
"errors": [
{
"code": "MISSING",
"message": "Please enter your first name",
"path": "firstName",
"arguments": [
"firstName"
]
},
{
"code": "MISSING",
"message": "Property [lastName] cannot be blank",
"path": "lastName",
"arguments": [
"lastName"
]
},
{
"code": "ERROR",
"message": "Unparseable date",
"path": "dateOfBirth",
"arguments": [
"dateOfBirth"
]
},
{
"code": "TOO_SMALL",
"message": "Value provided is too short. Please enter a valid phone number",
"path": "phoneNumber",
"arguments": [
"phoneNumber",
"+123",
"5",
"25"
]
},
{
"code": "UNEXPECTED",
"message": "Please enter a valid phone number",
"path": "phoneNumber",
"arguments": [
"phoneNumber",
"+123"
]
}
]
}

Endpoint: /v2/profiles/business-profile

API Reference: Create a business profile

400 - Bad Request (Missing fields)

Error Type: Client

Description: Certain fields are required. Please make sure these are provided.

Address must be provided, and include the first line, city, and ISO 3 Country code

For businesses that must have a registration number, it is required. For SOLE_PROPRIETORSHIP, this field is optional

Example Response
{
"errors": [
{
"code": "api.businessName.missing",
"message": "Please specify the name of your business",
"path": "businessName",
"arguments": null
},
{
"code": "api.registrationNumber.missing",
"message": "Please specify the registration number of your business ",
"path": "registrationNumber",
"arguments": null
},
{
"code": "api.firstLevelCategory.missing",
"message": "Please select a category",
"path": "firstLevelCategory",
"arguments": null
},
{
"code": "api.firstLevelCategory.missing",
"message": "Please select a category",
"path": "firstLevelCategory",
"arguments": null
},
{
"code": "api.address.missing",
"message": "Please specify the address of your business",
"path": "address",
"arguments": null
},
{
"code": "api.companyType.missing",
"message": "Please select a company type",
"path": "companyType",
"arguments": null
}
]
}

400 - Bad Request (Field validation)

Error Type: Client

Description: Field validation will be completed on supplied fields that are expected, including those that are optional.

The returned errors will include codes that detail the field that was incorrectly passed as well as the message that can be included.

Example Response
{
"errors": [
{
"code": "api.businessName.missing",
"message": "Please specify the name of your business",
"path": "businessName",
"arguments": null
},
{
"code": "api.businessName.invalid",
"message": "Business name contains invalid characters",
"path": "businessName",
"arguments": null
},
{
"code": "api.businessName.size.too.short",
"message": "Business name must be at least 1 character long",
"path": "businessName",
"arguments": null
},
{
"code": "api.companyType.invalid",
"message": "Invalid company type selected",
"path": "companyType",
"arguments": null
},
{
"code": "api.secondLevelCategory.invalid",
"message": "Invalid category selected",
"path": "secondLevelCategory",
"arguments": null
}
]
}

Endpoint: /v1/addresses

API Reference: Addresses

403 - Unauthorized

Error Type: Client

Description: If no body or a profileID that is not owned by the user is sent (including blank and null), you will be given a 403. Ensure that a profileID is provided.

Example Response
{
"timestamp": "YYYY-MM-DDThh:mm:ss.sTZD",
"status": 403,
"error": "unauthorized",
"message": "Unauthorized"
}

422 - Unprocessable Entity

Error Type: Client

Description: Required fields, must not be blank.

Example Response
{
"errors": [
{
"code": "MISSING",
"message": "Property [addressCountryCode] cannot be blank",
"path": "addressCountryCode",
"arguments": [
"addressCountryCode"
]
},
{
"code": "MISSING",
"message": "Please specify Address",
"path": "addressFirstLine",
"arguments": [
"addressFirstLine"
]
},
{
"code": "MISSING",
"message": "Property [addressCity] cannot be blank",
"path": "addressCity",
"arguments": [
"addressCity"
]
}
]
}

500 - Internal Server Error (Missing body details)

Error Type: Client

Description: If you send a body without detail, it will tell you that those fields are needed.

Example Response
{
"errors": [
{
"code": "UNEXPECTED_ERROR",
"message": "Validation failed for argument...",
"arguments": []
}
]
}

500 - Internal Server Error (Missing post code)

Error Type: Client

Description: Certain countries require a postCode. If you try to create an address without a postCode for a country that requires it, you will get the following error.

Example Response
{
"errors": [
{
"code": "UNEXPECTED_ERROR",
"message": "Validation failed for argument...",
"arguments": []
}
]
}

Endpoint: /v1/profiles/{{business-profile-id}}/ubos

API Reference: Create UBOs

400 - Bad Request

Error Type: Client

Description: UBOs must include a full object. Submitting a blank UBO object will result in the 400 error.

Note - Unlike other APIs, this is the format for missing details or those that are otherwise errored. Please review this message for the details as to why the call failed.

Example Response
{
"errors": [
{
"code": "BAD_REQUEST",
"message": "ApiError...",
"arguments": []
}
]
}

Endpoint: /v3/profiles/{{business-profile-id}}/quotes

API Reference: Create an authenticated quote

400 - Bad Request (Currency codes)

Error Type: Client

Description: Invalid source or target currency codes.

Example Response
{
"errors": [
{
"code": "CurrencyCode",
"message": "That wasn't a valid ISO-4217 currency code (like GBP, USD or EUR).",
"path": "targetCurrency",
"arguments": []
},
{
"code": "CurrencyCode",
"message": "That wasn't a valid ISO-4217 currency code (like GBP, USD or EUR).",
"path": "sourceCurrency",
"arguments": []
}
]
}

400 - Bad Request (Negative amount)

Error Type: Client

Description: Negative amount is not supported.

Example Response
{
"errors": [
{
"code": "error.greaterThanZero",
"message": "Please type in a number that's larger than 0.",
"path": "sourceAmount",
"arguments": []
}
]
}

400 - Bad Request (Source/target amount vague)

Error Type: Client

Description: Cant determine if source or target route because source and target amount is specified. Please pick either sourceAmount or targetAmount, not both.

Example Response
{
"errors": [
{
"code": "error.quote.amount.onlySingle",
"message": "Please only specify a source or target amount.",
"path": "sourceAmount",
"arguments": []
}
]
}

Endpoint: /v1/accounts

API Reference: Create a recipient account

422 - Unprocessable Entity (Missing name)

Error Type: Client

Description: First and last name is required for personal recipients, with at least 2 characters.

Example Response
{
"timestamp": "YYYY-MM-DDThh:mm:ss.sTZD",
"errors": [
{
"code": "NOT_VALID",
"message": "Please enter the recipients first and last name.",
"path": "accountHolderName",
"arguments": [
"accountHolderName",
"John S"
]
}
]
}

422 - Unprocessable Entity (Bank information)

Error Type: Client

Description: Bank account information is invalid. (iban, swift, bank_code, account_number, etc)

Example Response
{
"timestamp": "YYYY-MM-DDThh:mm:ss.sTZD",
"errors": [
{
"code": "NOT_VALID",
"message": "Please specify an IBAN.",
"path": "IBAN",
"arguments": [
"IBAN"
]
}
]
}

Endpoint: /v1/transfers

API Reference: Create transfer

422 - Unprocessable Entity (Recipient address)

Error Type: Client

Description: Recipient address is required for this transfer because the source or the target currency route requires it.

Example Response
{
"errors": [
{
"code": "INVALID_RECIPIENT",
"message": "Recipient address is mandatory for this payment, please update or create a new recipient.",
"arguments": []
}
]
}

Endpoint: /v3/profiles/{{profileId}}/transfers/{{transferId}}/payments

API Reference: Fund a Transfer

422 - Unprocessable Entity

Error Type: Server

Description: Not enough funds in balance.

Example Response
{
"type": "BALANCE",
"status": "REJECTED",
"errorCode": "balance.payment-option-unavailable",
"errorMessage": null
}

403 - Unauthorized

Error Type: Server

Description: SCA Required. See Strong Customer Authentication & 2FA for more details.

Example Response
{
"error": "unauthorized",
"message": "Unauthorized",
"path": null,
"status": 403,
"timestamp": "YYYY-MM-DDThh:mm:ss.sTZD"
}

Endpoint: /v1/transfers/{{transferId}}/cancel

API Reference: Cancel a Transfer

409

Error Type: Client

Description: Attempting to cancel a completed transfer.

Example Response
{
"errors": [
{
"code": "transfer.cancellation.not.allowed",
"message": "Transfer cannot be cancelled",
"arguments": []
}
]
}