Skip to main content
POST
/
book-transfer
/
routable-bank-account-to-routable-bank-account-transfer
Transfer between two routable bank accounts
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.

Authorizations

api_key
string
header
required

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.

Body

application/json
amount
string
required

Monetary amount as a decimal string with two decimal places (for example "100.00"). Must be positive.

Example:

"100.00"

source_entity_id
string
required

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.

source_entity_type
enum<string>
required

Type of the source entity.

Available options:
user,
business,
program
source_routable_bank_account_id
string
required

Source routable bank account identifier. Must belong to the source_entity_id.

Example:

"rbac-2b1c0e44-4f2d-9a11-7b23-cc90d1ef8f3a"

destination_entity_id
string
required

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.

destination_entity_type
enum<string>
required

Type of the destination entity.

Available options:
user,
business,
program
destination_routable_bank_account_id
string
required

Destination routable bank account identifier. Must belong to the destination_entity_id.

Example:

"rbac-2b1c0e44-4f2d-9a11-7b23-cc90d1ef8f3a"

description
string
required

Free-form description attached to the resulting transaction.

idempotent_key
string
required

Client-supplied idempotency token. Submitting the same key twice returns the first response rather than creating a duplicate transaction.

api_key
string

Program API key. Accepted either in the api_key HTTP header or as this body field.

reference
string

Optional external reference string stored on the resulting transaction.

metadata
object

Arbitrary key/value metadata object attached to the operation.

Response

Success.

status
enum<string>
required
Available options:
success
message
string
required
Example:

"operation completed"

data
object

Endpoint-specific payload; shape varies per operation.