Link an external bank account via Plaid or direct entry for top-ups and payouts.
curl --request POST \
--url https://api.example.com/api/v3/users/bank-accounts/save \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'api_key: <api-key>' \
--data '
{
"api_key": "YOUR_API_KEY",
"user_id": "user-8f3a2b1c-0e44-4f2d-9a11-7b23cc90d1ef",
"idempotent_key": "idp-9f1a2b3c-4d5e-6f70-8192-a3b4c5d6e7f8",
"first_name": "Alex",
"last_name": "Rivera",
"account_number": "8001234567",
"routing_number": "123456789"
}
'{
"status": "success",
"message": "operation completed",
"data": {
"items": [
{
"id": "bbac-...",
"account_number_last_4": "6789",
"routing_number": "123456789",
"bank_name": "<string>",
"source_platform": "plaid",
"created_at": "2026-04-16T12:34:56.000Z"
}
],
"pagination": {
"page": 1,
"per_page": 25,
"total": 100,
"sort": "created_at:desc",
"search": "jane"
}
}
}Documentation Index
Fetch the complete documentation index at: https://developers.ingopayments.com/llms.txt
Use this file to discover all available pages before exploring further.
Program API key identifying your integration. Pass as the api_key HTTP header (preferred) or as an api_key field in the JSON request body. Required on every request in addition to the HMAC Authorization header.
Identifier of the target user. Required when the endpoint operates on a specific user.
"user-8f3a2b1c-0e44-4f2d-9a11-7b23cc90d1ef"
Client-supplied idempotency token. Submitting the same key twice returns the first response rather than creating a duplicate transaction.
First name.
Last name.
Bank account number (5-20 digits).
ABA routing number (9 digits).
Program API key. Accepted either in the api_key HTTP header or as this body field.
5-digit US ZIP code.
ISO 3166-1 alpha-2 country code.
ISO 3166-2 two-letter state/region code.
City.
Street address line 1.
Tokenised fingerprint representing the linked account.
Success.
success "operation completed"
Endpoint-specific payload; shape varies per operation.
Hide child attributes
Hide child attributes
"bbac-..."
"6789"
"123456789"
plaid, ipg "2026-04-16T12:34:56.000Z"
curl --request POST \
--url https://api.example.com/api/v3/users/bank-accounts/save \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'api_key: <api-key>' \
--data '
{
"api_key": "YOUR_API_KEY",
"user_id": "user-8f3a2b1c-0e44-4f2d-9a11-7b23cc90d1ef",
"idempotent_key": "idp-9f1a2b3c-4d5e-6f70-8192-a3b4c5d6e7f8",
"first_name": "Alex",
"last_name": "Rivera",
"account_number": "8001234567",
"routing_number": "123456789"
}
'{
"status": "success",
"message": "operation completed",
"data": {
"items": [
{
"id": "bbac-...",
"account_number_last_4": "6789",
"routing_number": "123456789",
"bank_name": "<string>",
"source_platform": "plaid",
"created_at": "2026-04-16T12:34:56.000Z"
}
],
"pagination": {
"page": 1,
"per_page": 25,
"total": 100,
"sort": "created_at:desc",
"search": "jane"
}
}
}