Skip to main content
POST
/
sandbox
/
account-holder-verifications
Verify IBAN Holder
curl --request POST \
  --url https://api.ibantrack.com/api-v1/sandbox/account-holder-verifications \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "account": {
    "iban": "FR7630004000031234567890143"
  },
  "account_holder": {
    "name": "Jean Dupont"
  },
  "sandbox_result": "match"
}
'
{
"id": "abc123ab-3171-4e97-92ec-a11e9fabc123",
"status": "completed",
"match_result": "match"
}

Testing in Sandbox

The Sandbox environment mirrors the Production API but allows you to control the verification outcome using the sandbox_result field. This is essential for testing how your application handles different business logic scenarios (matches, mismatches, or errors).
Note: No real bank queries are performed in the Sandbox. All IBANs are accepted as long as they follow the standard IBAN format.

Authentication

Use the same OAuth endpoint for both production and sandbox.

Triggering Specific Outcomes

Use the sandbox_result parameter in your request body to force the API to return a specific state.
ValueResulting match_resultResulting statusUse Case
match (default)matchcompletedTest a successful verification flow.
no_matchno_matchcompletedTest your UI for rejected bank accounts.
close_matchclose_matchcompletedTest the logic for matched_name reconciliation.
failednullfailedTest your error handling for technical roadblocks.

Sandbox Example Request

{
  "account": {
    "iban": "FR7630004000031234567890143"
  },
  "account_holder": {
    "name": "Jean Dupont"
  },
  "sandbox_result": "close_match"
}

Test IBANs

Any valid IBAN structure works in sandbox. Examples:
CountryIBAN
๐Ÿ‡ซ๐Ÿ‡ท FranceFR7630004000031234567890143
๐Ÿ‡ฉ๐Ÿ‡ช GermanyDE89370400440532013000
๐Ÿ‡ช๐Ÿ‡ธ SpainES9121000418450200051332
๐Ÿ‡ฎ๐Ÿ‡น ItalyIT60X0542811101000000123456

Unlimited sandbox requests

โœ… No account credits consumed โœ… Same authentication as production

Going Live

Once testing is complete:
  1. Switch from /sandbox/account-holder-verifications
    to /account-holder-verifications
  2. Remove the sandbox_result parameter
Thatโ€™s it!

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
account
object
required
account_holder
object
required
sandbox_result
enum<string>
default:match

Force a specific outcome for testing purposes.

Available options:
match,
no_match,
close_match,
failed

Response

Verification completed

id
string<uuid>
Example:

"abc123ab-3171-4e97-92ec-a11e9fabc123"

status
enum<string>

The current lifecycle state of the verification request. A completed status indicates that the financial institution has been successfully reached and processed the request. A failedstatus indicates that the verification could not be completed due to technical or institutional constraints. Additional details may be provided in the status_reasonfield.

Available options:
pending,
completed,
failed
match_result
enum<string>

The outcome of the account holder name verification against the financial institutionโ€™s records. Provided only when statusis completed.

Available options:
match,
close_match,
no_match,
unable_to_verify
matched_name
string

Indicates the name as registered by the financial institution. Provided only if 'match_result' is 'close_match' and in accordance with data privacy regulations.

Example:

"JEAN DUPONT"

status_reason
string

Additional context on the request status. Primarily populated when status is 'failed' or when match_result is 'unable_to_match'

Example:

"responding_institution_timeout"

enrichment
object