Transfer funds between two routable accounts within your program — no external rail.
curl --request POST \
--url https://api.example.com/api/v3/book-transfer/routable-bank-account-to-routable-bank-account-transfer \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'api_key: <api-key>' \
--data '
{
"api_key": "YOUR_API_KEY",
"amount": "100.00",
"source_entity_id": "user-8f3a2b1c-0e44-4f2d-9a11-7b23cc90d1ef",
"source_entity_type": "user",
"source_routable_bank_account_id": "rbac-2b1c0e44-4f2d-9a11-7b23-cc90d1ef8f3a",
"destination_entity_id": "buss-2ef94c60-5a11-4d72-a3c1-5be7fab0123e",
"destination_entity_type": "business",
"destination_routable_bank_account_id": "rbac-9f1a2b3c-4d5e-6f70-8192-a3b4c5d6e7f8",
"description": "Payout for invoice #INV-001",
"idempotent_key": "idp-9f1a2b3c-4d5e-6f70-8192-a3b4c5d6e7f8"
}
'{
"status": "success",
"message": "operation completed",
"data": {
"items": [
{
"id": "ltra-4f2d9a11-7b23-cc90-d1ef-8f3a2b1c0e44",
"amount": "100.00",
"currency": "usd",
"status": "pending",
"category": "<string>",
"method": "<string>",
"originator_type": "<string>",
"originator_id": "<string>",
"description": "<string>",
"posting_date": "2026-04-16T12:34:56.000Z",
"reversed_transaction_id": "ltra-4f2d9a11-7b23-cc90-d1ef-8f3a2b1c0e44"
}
],
"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.
Monetary amount as a decimal string with two decimal places (for example "100.00"). Must be positive.
"100.00"
Identifier of the source entity. Matches source_entity_type: a user-* id when type is user, a buss-* id when business, or a prog-* id when program.
Type of the source entity.
user, business, program Source routable bank account identifier. Must belong to the source_entity_id.
"rbac-2b1c0e44-4f2d-9a11-7b23-cc90d1ef8f3a"
Identifier of the destination entity. Matches destination_entity_type: a user-* id when type is user, a buss-* id when business, or a prog-* id when program.
Type of the destination entity.
user, business, program Destination routable bank account identifier. Must belong to the destination_entity_id.
"rbac-2b1c0e44-4f2d-9a11-7b23-cc90d1ef8f3a"
Free-form description attached to the resulting transaction.
Client-supplied idempotency token. Submitting the same key twice returns the first response rather than creating a duplicate transaction.
Program API key. Accepted either in the api_key HTTP header or as this body field.
Optional external reference string stored on the resulting transaction.
Arbitrary key/value metadata object attached to the operation.
Success.
success "operation completed"
Endpoint-specific payload; shape varies per operation.
Hide child attributes
Hide child attributes
Ledger transaction id; prefix ltra-.
"ltra-4f2d9a11-7b23-cc90-d1ef-8f3a2b1c0e44"
Decimal money amount as a string with two decimal places.
"100.00"
usd, USD "usd"
pending, active, complete, completed, deactive, reversal, refund "2026-04-16T12:34:56.000Z"
Ledger transaction id; prefix ltra-.
"ltra-4f2d9a11-7b23-cc90-d1ef-8f3a2b1c0e44"
curl --request POST \
--url https://api.example.com/api/v3/book-transfer/routable-bank-account-to-routable-bank-account-transfer \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'api_key: <api-key>' \
--data '
{
"api_key": "YOUR_API_KEY",
"amount": "100.00",
"source_entity_id": "user-8f3a2b1c-0e44-4f2d-9a11-7b23cc90d1ef",
"source_entity_type": "user",
"source_routable_bank_account_id": "rbac-2b1c0e44-4f2d-9a11-7b23-cc90d1ef8f3a",
"destination_entity_id": "buss-2ef94c60-5a11-4d72-a3c1-5be7fab0123e",
"destination_entity_type": "business",
"destination_routable_bank_account_id": "rbac-9f1a2b3c-4d5e-6f70-8192-a3b4c5d6e7f8",
"description": "Payout for invoice #INV-001",
"idempotent_key": "idp-9f1a2b3c-4d5e-6f70-8192-a3b4c5d6e7f8"
}
'{
"status": "success",
"message": "operation completed",
"data": {
"items": [
{
"id": "ltra-4f2d9a11-7b23-cc90-d1ef-8f3a2b1c0e44",
"amount": "100.00",
"currency": "usd",
"status": "pending",
"category": "<string>",
"method": "<string>",
"originator_type": "<string>",
"originator_id": "<string>",
"description": "<string>",
"posting_date": "2026-04-16T12:34:56.000Z",
"reversed_transaction_id": "ltra-4f2d9a11-7b23-cc90-d1ef-8f3a2b1c0e44"
}
],
"pagination": {
"page": 1,
"per_page": 25,
"total": 100,
"sort": "created_at:desc",
"search": "jane"
}
}
}