Skip to main content
PUT
CLI

Authorizations

Authorization
string
header
required

API Key in Bearer format (e.g., Bearer sk_test_...)

Headers

X-API-Key
string

API key

Path Parameters

transferId
string
required

Transfer ID

legId
string
required

Transfer leg ID

Body

application/json
status
enum<string>
required

The status to set for the leg

Available options:
PENDING,
IN_PROGRESS,
COMPLETED,
FAILED,
SKIPPED
Example:

"COMPLETED"

reason
string

Reason for the status change. Required when setting status to FAILED or SKIPPED.

Example:

"Simulating provider timeout"

outputAmount
string

Output amount in minor units. Used when completing a leg to simulate the actual amount received.

Example:

"100000000"

Response

Leg status updated successfully

id
string
required

Transfer ID (tfr_xxx)

Example:

"tfr_1234567890abcdef"

organizationId
string
required

Organization ID

Example:

"org_abc123"

sourceCustomerId
string
required

Source customer ID

Example:

"cus_abc123"

flow
enum<string>
required

Transfer flow type describing the asset conversion

Available options:
CRYPTO_TO_CRYPTO,
CRYPTO_TO_FIAT,
FIAT_TO_CRYPTO,
FIAT_TO_FIAT,
FIAT_TO_CRYPTO_TO_FIAT,
FX,
INTERNAL,
FEE_CRYPTO,
REFUND_CRYPTO,
REFUND_FIAT
Example:

"CRYPTO_TO_FIAT"

status
enum<string>
required

Transfer status

Available options:
DRAFT,
PENDING_AUTHORIZATION,
IN_REVIEW,
PENDING,
PROCESSING,
COMPLETED,
FAILED,
CANCELLED,
REVERSED
Example:

"COMPLETED"

source
object
required

Source payment details

destination
object
required

Destination payment details

sourceAmount
object
required

Source amount with currency details

createdAt
string<date-time>
required

Transfer creation date

Example:

"2026-09-15T10:00:00.000Z"

updatedAt
string<date-time>
required

Transfer last update date

Example:

"2026-09-15T10:00:00.000Z"

legs
object[]
required

Transfer route legs (steps in the transfer)

fundingNeeded
boolean
required

Whether the transfer is waiting for the customer to send funds (deposit)

Example:

false

clientReferenceId
string | null

Client's internal reference ID

Example:

"order_abc123"

counterpartyId
string | null

Counterparty ID for third-party recipient transfers

Example:

"cp_abc123"

agentId
string | null

Agent whose key created or submitted this transfer. Null when the transfer was not made by an agent key.

Example:

"agt_abc123"

agentApprovalStatus
enum<string> | null

Owner approval for an agent payment that went over its limits. PENDING: the draft waits for POST /v1/transfers/{id}/agent-approval. Null when no approval was needed.

Available options:
PENDING,
APPROVED,
DECLINED
destinationAmount
object | null

Destination amount with currency details

refund
object | null

Refund details when this transfer has been refunded or a refund is in progress

quoteId
string | null

Quote ID if transfer was created from a quote

Example:

"quote_abc123"

exchangeRate
string | null

Exchange rate applied to the currency conversion, inclusive of all fees. Expressed on minor-unit amounts: destinationAmount = sourceAmount * exchangeRate. Populated for FX trades.

Example:

"0.99985"

referenceRate
string

Independent reference rate used to price this transfer, expressed as destination major units per source major unit. Present for benchmark-priced FX transfers.

Example:

"1.158691536019208779"

referenceRateAsOf
string

Timestamp of the independent reference rate used to price this transfer (ISO 8601).

Example:

"2026-09-02T18:30:04.000Z"

referenceProvider
enum<string>

Independent market that published referenceRate. Present when referenceRate is present.

Available options:
XE
Example:

"XE"

developerFeeFixed
string | null

Fixed developer fee in minor units of source currency. Prefer the developerFee object, which also carries the collected amount and payout hash.

Example:

"100"

developerFeePercent
number | null

Variable developer fee as decimal percentage (e.g., 0.005 = 0.5%). Prefer the developerFee object, which also carries the collected amount and payout hash.

Example:

0.005

developerFee
object | null

Developer fee charged on this transfer: the configured components plus the collected amount and the on-chain payout hash for reconciliation against your fee wallet. Null when the transfer has no developer fee. Per-step collected amounts and fee tx hashes are on legs[].

depositInstructions
object

Deposit instructions if customer needs to send funds (onramps). Either crypto or fiat instructions depending on the transfer flow.

returnedToAccountId
string | null

Account credited when a settled payout is returned. Null unless the return is attributed to one account on this transfer.

Example:

"acc_123"

returnedAt
string<date-time> | null

When the payout return was recorded. Account history uses this time for returned credits.

Example:

"2026-09-15T10:00:00.000Z"

currentLegIndex
number | null

Index of the current active leg in the legs array (0-indexed). Null if all legs are done.

Example:

0

isThirdParty
boolean

Whether this is a third-party payment (destination account belongs to someone other than the customer)

Example:

false

remarks
string | null

Free-form remarks or notes about the transfer

Example:

"Partial payment - remaining balance to be paid next month"

internalRemarks
string | null

Internal remarks visible only within your organization. Never forwarded to payment rails or counterparties.

uetr
string | null

SWIFT UETR (Universal End-to-End Transaction Reference)

Example:

"9b6f37f2-21f0-4b2b-b03c-1893364782ce"

imad
string | null

Wire IMAD (Input Message Accountability Data)

Example:

"20260309EREBBANK000002"

omad
string | null

Wire OMAD (Output Message Accountability Data)

Example:

"20260309MMQFMP0B012345"

achTraceNumber
string | null

ACH trace number from the payment network

Example:

"021000021234567"

originatingAccount
object | null

Sending bank and account used for the fiat payout, when known

txHash
string | null

Blockchain transaction hash

Example:

"0x1234567890abcdef..."

systemRemark
string | null

System-generated status note with important transfer context for the customer

Example:

"Tracking is unavailable for this SWIFT transfer. We will auto-complete it after 24 hours and mark it with an asterisk because settlement is assumed rather than confirmed."

metadata
object

Additional non-contractual transfer metadata for UI display

Example:
estimatedSettlementAt
string<date-time> | null

Estimated time the recipient will receive funds. Best-effort projection — fiat rails account for bank cutoff times, weekends, and US Federal Reserve holidays; crypto conversions project from recently observed processing times for the route. Not a guarantee.

Example:

"2026-05-26T13:00:00.000Z"

nextCutoffAt
string<date-time> | null

Next time the customer can submit and still settle same business day. Past this time, transfers settle next business day.

Example:

"2026-05-19T19:00:00.000Z"

cutoffTimezone
string | null

IANA timezone for the cutoff time, e.g. "America/New_York".

Example:

"America/New_York"

counterparty
object

Expanded counterparty details (only included when expand=counterparty)