Transfers

Retrieve a transfer

GET/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.

Authentication
ApiKeyAuth
Execution
synchronous

Parameters

  • transferIdstringpathrequired
    Opaque ledger-entry identifier. Treat as a string; never parse or construct it.

    Example: txn_AAAAAAAAB3Y

    pattern ^txn_[A-Za-z0-9_-]{11}$

Responses

The transfer.

Headers

  • X-Request-Idstring
    The client's X-Request-Id if supplied, otherwise a server-generated id. Equals traceId in problems.
  • RateLimit-Limitinteger
  • RateLimit-Remaininginteger
  • RateLimit-Resetinteger
    Seconds until the window resets.

Schema application/json

  • objectstringrequired

    Allowed values: transfer

  • idstringrequired
    The ledger id of the transfer's debit — the same entry GET /accounts/{accountId}/transactions shows.

    Example: txn_AAAAAAAAB3Y

    pattern ^txn_[A-Za-z0-9_-]{11}$

  • merchantReferencestring
    Absent on a transfer made in the portal.
  • statusstringrequired
    pending accepted, not settled yet · completed settled · failed refused, rejected or expired — no money moved.

    Allowed values: pendingcompletedfailed

  • amountMoneyrequired
    Decimal 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, so 10.100 EUR is fine and 10.123 EUR is 400 validation_failed on amount.value.
    • valuestringrequired

      Example: 149.90

      pattern ^-?\d{1,18}(\.\d{1,18})?$

    • currencystringrequired
      ISO 4217 code for fiat (EUR), asset ticker for crypto (USDT).

      Example: EUR

      pattern ^[A-Z0-9]{3,10}$

  • feeobjectrequired
    Charged on top of amount; zero between your own accounts.
    • valuestringrequired

      Example: 149.90

      pattern ^-?\d{1,18}(\.\d{1,18})?$

    • currencystringrequired
      ISO 4217 code for fiat (EUR), asset ticker for crypto (USDT).

      Example: EUR

      pattern ^[A-Z0-9]{3,10}$

  • totalDebitedobjectrequired
    What leaves the source account: amount + fee.
    • valuestringrequired

      Example: 149.90

      pattern ^-?\d{1,18}(\.\d{1,18})?$

    • currencystringrequired
      ISO 4217 code for fiat (EUR), asset ticker for crypto (USDT).

      Example: EUR

      pattern ^[A-Z0-9]{3,10}$

  • sourceAccountIdstringrequired
    Opaque account identifier. Treat as a string; never parse or construct it.

    Example: acc_AAAAAAAAAAc

    pattern ^acc_[A-Za-z0-9_-]{11}$

  • destinationTransferDestinationrequired
    own_account with accountId, or business with exactly one of email and merchantNumber. On the resource: the type, and for own_account the accountId. A business's e-mail or number is not kept, and its account is never shown; counterpartyName on the ledger entry says who received it.
    • typestringrequired

      Allowed values: own_accountbusiness

    • accountIdstring
      Opaque account identifier. Treat as a string; never parse or construct it.

      Example: acc_AAAAAAAAAAc

      pattern ^acc_[A-Za-z0-9_-]{11}$

    • emailstring (email)
      The receiving business's owner e-mail.

      max length 254

    • merchantNumberstring
      The receiving business's merchant number (GET /me → merchantNumber).

      pattern ^[0-9]{10}$

  • descriptionstring
  • failureobject
    Present when status is failed.
    • codestringrequired
      The code the refusal was answered with.
    • messagestringrequired
  • createdAtstring (date-time)required
    RFC 3339, UTC, with millisecond precision.

    Example: 2026-09-18T10:15:30.123Z

  • updatedAtstring (date-time)required
    RFC 3339, UTC, with millisecond precision.

    Example: 2026-09-18T10:15:30.123Z

  • completedAtstring (date-time)
    RFC 3339, UTC, with millisecond precision.

    Example: 2026-09-18T10:15:30.123Z