Retrieve a transfer
/transfers/{transferId}By the txn_… id of its debit, whichever channel made it. A ledger entry that is not one of your transfers is 404 not_found. Requires transfers:read.
Parameters
transferIdstringpathrequiredOpaque ledger-entry identifier. Treat as a string; never parse or construct it.Example:
txn_AAAAAAAAB3Ypattern ^txn_[A-Za-z0-9_-]{11}$
Responses
The transfer.
Headers
X-Request-IdstringThe client'sX-Request-Idif supplied, otherwise a server-generated id. EqualstraceIdin problems.RateLimit-LimitintegerRateLimit-RemainingintegerRateLimit-ResetintegerSeconds until the window resets.
Schema application/json
objectstringrequiredAllowed values:
transferidstringrequiredThe ledger id of the transfer's debit — the same entryGET /accounts/{accountId}/transactionsshows.Example:
txn_AAAAAAAAB3Ypattern ^txn_[A-Za-z0-9_-]{11}$
merchantReferencestringAbsent on a transfer made in the portal.statusstringrequiredpendingaccepted, not settled yet ·completedsettled ·failedrefused, rejected or expired — no money moved.Allowed values:
pendingcompletedfailedamountMoneyrequiredDecimal amount as a string — never a float, never minor units. An amount you send may carry no more decimal places than its currency has (and never more than 8); trailing zeros do not count, so10.100 EURis fine and10.123 EURis400 validation_failedonamount.value.valuestringrequiredExample:
149.90pattern ^-?\d{1,18}(\.\d{1,18})?$
currencystringrequiredISO 4217 code for fiat (EUR), asset ticker for crypto (USDT).Example:
EURpattern ^[A-Z0-9]{3,10}$
feeobjectrequiredCharged on top ofamount; zero between your own accounts.valuestringrequiredExample:
149.90pattern ^-?\d{1,18}(\.\d{1,18})?$
currencystringrequiredISO 4217 code for fiat (EUR), asset ticker for crypto (USDT).Example:
EURpattern ^[A-Z0-9]{3,10}$
totalDebitedobjectrequiredWhat leaves the source account:amount + fee.valuestringrequiredExample:
149.90pattern ^-?\d{1,18}(\.\d{1,18})?$
currencystringrequiredISO 4217 code for fiat (EUR), asset ticker for crypto (USDT).Example:
EURpattern ^[A-Z0-9]{3,10}$
sourceAccountIdstringrequiredOpaque account identifier. Treat as a string; never parse or construct it.Example:
acc_AAAAAAAAAAcpattern ^acc_[A-Za-z0-9_-]{11}$
destinationTransferDestinationrequiredown_accountwithaccountId, orbusinesswith exactly one ofemailandmerchantNumber. On the resource: the type, and forown_accounttheaccountId. A business's e-mail or number is not kept, and its account is never shown;counterpartyNameon the ledger entry says who received it.typestringrequiredAllowed values:
own_accountbusinessaccountIdstringOpaque account identifier. Treat as a string; never parse or construct it.Example:
acc_AAAAAAAAAAcpattern ^acc_[A-Za-z0-9_-]{11}$
emailstring (email)The receiving business's owner e-mail.max length 254
merchantNumberstringThe receiving business's merchant number (GET /me→merchantNumber).pattern ^[0-9]{10}$
descriptionstringfailureobjectPresent whenstatusisfailed.codestringrequiredThe code the refusal was answered with.messagestringrequired
createdAtstring (date-time)requiredRFC 3339, UTC, with millisecond precision.Example:
2026-09-18T10:15:30.123ZupdatedAtstring (date-time)requiredRFC 3339, UTC, with millisecond precision.Example:
2026-09-18T10:15:30.123ZcompletedAtstring (date-time)RFC 3339, UTC, with millisecond precision.Example:
2026-09-18T10:15:30.123Z