IBAN validation
POST/validate-iban
The IBAN validation checks an IBAN based on specific criteria including length, country code, format, checksum, structure and SEPA country recognition.
The following components of the IBAN are checked:
- Country code: verifies if the country code submitted is representing a valid country.
- Length: verifies if the IBAN length is correct for the specific country.
- Checksum: verifies that the checksum part of the IBAN is plausible towards the remainder of the IBAN.
- Structure: validates the structure of the IBAN.
In case the IBAN is valid, the following data is returned: IBAN, country code, check whether the country is part of SEPA (Single Euro Payments Area), account number, sort code and check sum.
Base URLs
| SANDBOX | PRODUCTION | |
|---|---|---|
| API Base URL | https://ibanchecker.cons.shared.upcf.jpmmps.com/api/v1 | https://ibanchecker.shared.upcf.jpmmps.com/api/v1 |
| Merchant Key | Provided by Product Solution Specialist | Provided by Customer Relationship Manager |
| API Authentication Key | Provided by Product Solution Specialist | Provided by Customer Relationship Manager |
The following section will describe the procedure and results of an IBAN validation. To perform the IBAN validation, provide IBAN number.
Request
Header Parameters
Must be application/json
Must be be en-US
The origin of the request
The client making the request
- application/json
- Body
- Example
Bodyrequired
validationRequest objectrequired
IBAN number to be validated.
Possible values: <= 34 characters, Value must match regular expression ^[A-Z]{2}[0-9]{2}[a-zA-Z0-9]{1,30}$
DE89750500000000123456{
"validationRequest": {
"iban": "DE89750500000000123456"
}
}
Responses
- 200
- 400
- 401
- 403
- 404
- 500
IBAN verified successfully
- application/json
- Schema
- Example (auto)
- Example
Schema
validationRequest objectrequired
IBAN number from the request that was validated.
IBAN number to be validated.
Possible values: <= 34 characters, Value must match regular expression ^[A-Z]{2}[0-9]{2}[a-zA-Z0-9]{1,30}$
DE89750500000000123456validationResult objectrequired
Indicates whether the provided IBAN is valid.
truevalidationDetails object
Flags indicating which validation checks passed.
Check if the value provided as country code is a valid ISO country code.
IBAN length is correct for a specific country.
Last two digits checksum matches the calculated value.
IBAN conforms to the correct formatting of its country. For certain countries, there might be additional rules governing the structure of the IBAN, such as which specific numbers/characters appear in specific positions. This field verifies that the number/letter pattern is correct.
ibanDetails object
The IBAN number received in the request.
Possible values: Value must match regular expression [A-Z]{2}[0-9]{2}[a-zA-Z0-9]{1,30}
The IBAN number received in the request.
Possible values: <= 34 characters
DE89750500000000123456ISO 3166-1 country provided in IBAN participates in SEPA.
Possible values: <= 2 characters
DEIndicates if country provided in IBAN participates in SEPA.
trueBank Account Number extracted from the IBAN.
0000000123456Domestic bank identifier / sort code of the bank e.g., Bankleitzahl in Germany or Code Banque & Code Guiche in France.
Possible values: <= 8 characters
75050000sepaSchemeSupport object
Indicates if SEPA schemes available for this bank.
Indicates if SEPA credit transfer is supported.
Indicates if SEPA schemes available for this bank.
Indicates if SEPA B2B direct debit is supported.
{
"validationRequest": {
"iban": "DE89750500000000123456"
},
"validationResult": {
"isValidIban": true,
"validationDetails": {
"countryCode": true,
"length": true,
"checksum": true,
"structure": true
},
"ibanDetails": "DE89750500000000123456"
}
}
{
"validationRequest": {
"iban": "DE89750500000000123456"
},
"validationResult": {
"isValidIban": true,
"validationDetails": {
"countryCode": true,
"length": true,
"checksum": true,
"structure": true
},
"ibanDetails": {
"iban": "DE89750500000000123456",
"countryCode": "DE",
"sepaCountry": true,
"accountNumber": "0000000123456",
"sortCode": "75050000",
"checksum": "97"
}
}
}
Invalid input
- application/json
- Schema
- Example (auto)
- Example
Schema
{
"message": "string"
}
{
"message": "Invalid IBAN format"
}
Unauthorized: no valid API key provided
- application/json
- Schema
- Example (auto)
- Example
Schema
{
"message": "string"
}
{
"message": "Unauthorized"
}
FORBIDDEN: The API key doesn't have permissions to perform the request
- application/json
- Schema
- Example (auto)
- Example
Schema
{
"message": "string"
}
{
"message": "Access denied"
}
Not Found
For error handling, please refer to this section.
- application/json
- Schema
- Example (auto)
- Example
Schema
- string
- string[]
errorDetails object
message object
{
"error": "string",
"errorDetails": {
"context": {},
"gatewayDescription": "string",
"paymentProviderDescription": "string"
},
"message": "string"
}
{
"traceId": "00-1234567890abcdef0123456789abcdef-0123456789abcdef-00",
"errors": [
{
"message": "Resource not found.",
"code": "not_found"
}
]
}
Internal Server Error
For error handling, please refer to this section.
- application/json
- Schema
- Example (auto)
- Example
Schema
- string
- string[]
errorDetails object
message object
{
"error": "string",
"errorDetails": {
"context": {},
"gatewayDescription": "string",
"paymentProviderDescription": "string"
},
"message": "string"
}
{
"traceId": "00-1234567890abcdef0123456789abcdef-0123456789abcdef-00",
"errors": [
{
"message": "Internal server error."
}
]
}