Bridge Transfers API
The Transfers API from Bridge — 5 operation(s) for transfers.
The Transfers API from Bridge — 5 operation(s) for transfers.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/bridge-transfers-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Bridge API Keys Transfers API
description: APIs to move into, out of, and between any form of a dollar
version: '1'
servers:
- url: https://api.bridge.xyz/v0
description: The base path for all resources
security:
- ApiKey: []
tags:
- name: Transfers
paths:
/transfers:
get:
summary: Get all transfers
tags:
- Transfers
parameters:
- $ref: '#/components/parameters/LimitParameter'
- $ref: '#/components/parameters/TransferStartingAfterParameter'
- $ref: '#/components/parameters/TransferEndingBeforeParameter'
- $ref: '#/components/parameters/TxHashParameter'
- $ref: '#/components/parameters/UpdatedAfterMsParameter'
- $ref: '#/components/parameters/UpdatedBeforeMsParameter'
- $ref: '#/components/parameters/TemplateIDParameter'
- $ref: '#/components/parameters/TransferStateParameter'
responses:
'200':
description: List of transfers (the returned list is empty if none found)
content:
application/json:
schema:
title: Transfers
type: object
required:
- count
- data
properties:
count:
type: integer
description: The number of transfers returned
data:
type: array
minItems: 0
items:
$ref: '#/components/schemas/TransferResponse'
examples:
TransfersFound:
summary: A non-empty list of transfers
value:
count: 2
data:
- $ref: '#/components/examples/AchOnrampFundsReceivedTransferResponse'
- $ref: '#/components/examples/AchOfframpTransferResponse'
NoTransfersFound:
summary: An empty list of transfers
value:
count: 0
data: []
'401':
$ref: '#/components/responses/AuthenticationError'
'500':
$ref: '#/components/responses/UnexpectedError'
post:
summary: Create a transfer
description: 'Create a transfer.
If this transfer cannot be created because the funding source is temporarily busy processing another update, this endpoint may return `409 resource_state_conflict`.
This is a transient, retryable response. You may safely retry the same request with the same `Idempotency-Key`.
'
tags:
- Transfers
parameters:
- $ref: '#/components/parameters/IdempotencyKeyParameter'
requestBody:
description: Transfer object to be created
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/TransferRequest'
responses:
'201':
description: Transfer object created
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/TransferResponse'
- $ref: '#/components/schemas/TransferRouteResponse'
examples:
AchOnrampTransferResponse:
$ref: '#/components/examples/AchOnrampTransferResponse'
AchOfframpTransferResponse:
$ref: '#/components/examples/AchOfframpTransferResponse'
AchOfframpWithMemoTransferResponse:
$ref: '#/components/examples/AchOfframpWithMemoTransferResponse'
WireOnrampTransferResponse:
$ref: '#/components/examples/WireOnrampTransferResponse'
WireOfframpTransferResponse:
$ref: '#/components/examples/WireOfframpTransferResponse'
SepaOnrampTransferResponse:
$ref: '#/components/examples/SepaOnrampTransferResponse'
SepaOfframpTransferResponse:
$ref: '#/components/examples/SepaOfframpTransferResponse'
PixOnrampTransferResponse:
$ref: '#/components/examples/PixOnrampTransferResponse'
PixOfframpTransferResponse:
$ref: '#/components/examples/PixOfframpTransferResponse'
SpeiOnrampTransferResponse:
$ref: '#/components/examples/SpeiOnrampTransferResponse'
SpeiOfframpTransferResponse:
$ref: '#/components/examples/SpeiOfframpTransferResponse'
BreBOnrampTransferResponse:
$ref: '#/components/examples/BreBOnrampTransferResponse'
BreBOfframpTransferResponse:
$ref: '#/components/examples/BreBOfframpTransferResponse'
CoBankTransferOnrampTransferResponse:
$ref: '#/components/examples/CoBankTransferOnrampTransferResponse'
CoBankTransferOfframpTransferResponse:
$ref: '#/components/examples/CoBankTransferOfframpTransferResponse'
ValidTransferRouteResponse:
$ref: '#/components/examples/ValidTransferRouteResponse'
'401':
$ref: '#/components/responses/AuthenticationError'
'400':
$ref: '#/components/responses/BadRequestError'
'409':
$ref: '#/components/responses/ResourceStateConflictError'
'403':
$ref: '#/components/responses/TransferAmlError'
'500':
$ref: '#/components/responses/UnexpectedError'
/transfers/pending:
get:
summary: List transfers with pending USDT trades
description: 'Returns transfers that have a stuck USDT-to-USD trade awaiting execution. Results are sorted by creation time (newest first) and paginated.
Use `POST /transfers/{transferID}/execute` to force-execute a pending trade at the current market rate.
'
tags:
- Transfers
parameters:
- $ref: '#/components/parameters/LimitParameter'
- $ref: '#/components/parameters/TransferStartingAfterParameter'
- $ref: '#/components/parameters/TransferEndingBeforeParameter'
responses:
'200':
description: List of transfers with pending trades (the returned list is empty if none found)
content:
application/json:
schema:
title: PendingTransfers
type: object
required:
- count
- data
properties:
count:
type: integer
description: The number of transfers returned
data:
type: array
minItems: 0
items:
$ref: '#/components/schemas/TransferResponse'
'400':
$ref: '#/components/responses/BadRequestError'
'401':
$ref: '#/components/responses/AuthenticationError'
'500':
$ref: '#/components/responses/UnexpectedError'
/transfers/{transferID}:
parameters:
- $ref: '#/components/parameters/TransferIDParameter'
get:
summary: Get a transfer
description: Retrieve a transfer object from the passed in transfer ID
tags:
- Transfers
responses:
'200':
description: Successful transfer object response
content:
application/json:
schema:
$ref: '#/components/schemas/TransferResponse'
examples:
AchOnrampTransferResponse:
$ref: '#/components/examples/AchOnrampTransferResponse'
AchOfframpTransferResponse:
$ref: '#/components/examples/AchOfframpTransferResponse'
AchOfframpWithMemoTransferResponse:
$ref: '#/components/examples/AchOfframpWithMemoTransferResponse'
WireOnrampTransferResponse:
$ref: '#/components/examples/WireOnrampTransferResponse'
WireOfframpTransferResponse:
$ref: '#/components/examples/WireOfframpTransferResponse'
SepaOnrampTransferResponse:
$ref: '#/components/examples/SepaOnrampTransferResponse'
SepaOfframpTransferResponse:
$ref: '#/components/examples/SepaOfframpTransferResponse'
PixOnrampTransferResponse:
$ref: '#/components/examples/PixOnrampTransferResponse'
PixOfframpTransferResponse:
$ref: '#/components/examples/PixOfframpTransferResponse'
SpeiOnrampTransferResponse:
$ref: '#/components/examples/SpeiOnrampTransferResponse'
SpeiOfframpTransferResponse:
$ref: '#/components/examples/SpeiOfframpTransferResponse'
BreBOnrampTransferResponse:
$ref: '#/components/examples/BreBOnrampTransferResponse'
BreBOfframpTransferResponse:
$ref: '#/components/examples/BreBOfframpTransferResponse'
CoBankTransferOnrampTransferResponse:
$ref: '#/components/examples/CoBankTransferOnrampTransferResponse'
CoBankTransferOfframpTransferResponse:
$ref: '#/components/examples/CoBankTransferOfframpTransferResponse'
'401':
$ref: '#/components/responses/AuthenticationError'
'404':
$ref: '#/components/responses/NotFoundError'
'500':
$ref: '#/components/responses/UnexpectedError'
put:
summary: Update a transfer
description: Update a transfer that was previously created. Must be in the awaiting_funds state.
tags:
- Transfers
requestBody:
description: Transfer object to be updated
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/TransferUpdateRequest'
responses:
'201':
description: Transfer object created
content:
application/json:
schema:
$ref: '#/components/schemas/TransferResponse'
examples:
AchOnrampTransferResponse:
$ref: '#/components/examples/AchOnrampTransferResponse'
AchOfframpTransferResponse:
$ref: '#/components/examples/AchOfframpTransferResponse'
AchOfframpWithMemoTransferResponse:
$ref: '#/components/examples/AchOfframpWithMemoTransferResponse'
WireOnrampTransferResponse:
$ref: '#/components/examples/WireOnrampTransferResponse'
WireOfframpTransferResponse:
$ref: '#/components/examples/WireOfframpTransferResponse'
SepaOnrampTransferResponse:
$ref: '#/components/examples/SepaOnrampTransferResponse'
SepaOfframpTransferResponse:
$ref: '#/components/examples/SepaOfframpTransferResponse'
PixOnrampTransferResponse:
$ref: '#/components/examples/PixOnrampTransferResponse'
PixOfframpTransferResponse:
$ref: '#/components/examples/PixOfframpTransferResponse'
SpeiOnrampTransferResponse:
$ref: '#/components/examples/SpeiOnrampTransferResponse'
SpeiOfframpTransferResponse:
$ref: '#/components/examples/SpeiOfframpTransferResponse'
BreBOnrampTransferResponse:
$ref: '#/components/examples/BreBOnrampTransferResponse'
BreBOfframpTransferResponse:
$ref: '#/components/examples/BreBOfframpTransferResponse'
CoBankTransferOnrampTransferResponse:
$ref: '#/components/examples/CoBankTransferOnrampTransferResponse'
CoBankTransferOfframpTransferResponse:
$ref: '#/components/examples/CoBankTransferOfframpTransferResponse'
'401':
$ref: '#/components/responses/AuthenticationError'
'400':
$ref: '#/components/responses/BadRequestError'
'403':
$ref: '#/components/responses/TransferAmlError'
'500':
$ref: '#/components/responses/UnexpectedError'
delete:
summary: Delete a transfer
description: Delete a transfer that was previously created. Must be in the awaiting_funds state.
tags:
- Transfers
responses:
'200':
description: Successful deletion of transfer
'401':
$ref: '#/components/responses/AuthenticationError'
'404':
$ref: '#/components/responses/NotFoundError'
'500':
$ref: '#/components/responses/UnexpectedError'
/transfers/{transferID}/execute:
parameters:
- $ref: '#/components/parameters/TransferIDParameter'
post:
summary: Execute a pending USDT trade on a transfer
description: 'Force-executes a stuck USDT-to-USD trade at the current market rate. The transfer must have a pending trade (i.e. appear in `GET /transfers/pending`).
After execution, the transfer will continue processing normally with the executed market rate.
'
tags:
- Transfers
parameters:
- $ref: '#/components/parameters/IdempotencyKeyParameter'
responses:
'200':
description: Transfer with trade execute at market rate enabled successfully
content:
application/json:
schema:
$ref: '#/components/schemas/TransferResponse'
'400':
$ref: '#/components/responses/BadRequestError'
'401':
$ref: '#/components/responses/AuthenticationError'
'404':
$ref: '#/components/responses/NotFoundError'
'500':
$ref: '#/components/responses/UnexpectedError'
/transfers/static_templates:
get:
summary: Get all static templates
tags:
- Transfers
parameters:
- $ref: '#/components/parameters/LimitParameter'
- $ref: '#/components/parameters/TransferStartingAfterParameter'
- $ref: '#/components/parameters/TransferEndingBeforeParameter'
responses:
'200':
description: List of static templates (the returned list is empty if none found). Static templates are transfers that are used as templates for other transfers and can be created using the static_templates feature flag.
content:
application/json:
schema:
title: Static Templates
type: object
required:
- count
- data
properties:
count:
type: integer
description: The number of static templates returned
data:
type: array
minItems: 0
items:
$ref: '#/components/schemas/TransferResponse'
examples:
TransfersFound:
summary: A non-empty list of static templates
value:
count: 2
data:
- $ref: '#/components/examples/AchOnrampFundsReceivedTransferResponse'
- $ref: '#/components/examples/AchOfframpTransferResponse'
NoTransfersFound:
summary: An empty list of static templates
value:
count: 0
data: []
'401':
$ref: '#/components/responses/AuthenticationError'
'500':
$ref: '#/components/responses/UnexpectedError'
components:
schemas:
TravelRuleWalletAttestedOwnershipAt:
type: string
format: date-time
description: Required when `wallet_type` is `self-custodied` or `hosted`. Must be a timestamp in the past indicating when wallet ownership was attested.
Currency:
type: string
enum:
- usdb
- usdc
- usdt
- usd
- pyusd
TravelRuleData:
type: object
description: Travel Rule data for a crypto movement. Send this on create or update when the same counterparty should apply to every future use of a reusable resource, or send the same payload with `POST /travel_rule_data/{id}` when it belongs to one specific movement.
properties:
originator:
description: The party sending the crypto.
allOf:
- $ref: '#/components/schemas/TravelRuleOriginator'
beneficiary:
description: The party receiving the crypto.
allOf:
- $ref: '#/components/schemas/TravelRuleBeneficiary'
example:
originator:
name: Jane Smith
address:
street_line_1: 123 Market St
street_line_2: null
city: San Francisco
state: CA
postal_code: '94105'
country: USA
identifying_information:
type: national_id
number: '1234567890'
issuing_country: USA
birth_date: '2000-01-31'
place_of_birth:
city: San Francisco
country: USA
wallet_type: self_custodied
wallet_attested_ownership_at: '2026-04-01T12:00:00Z'
beneficiary:
is_self: true
wallet_type: external
TransferRouteResponse:
required:
- state
- notes
properties:
state:
type: string
enum:
- valid
- invalid
notes:
type: array
items:
type: string
TransferReturnDetails:
properties:
reason:
description: The reason for the return, as given by the returning financial institution.
type: string
refund_reference_id:
description: A unique identifier (such as transaction hash) for the refund transaction.
type: string
risk_rejection_reason:
description: If the return is due to a risk rejection, this field will be populated with the reason for the risk rejection.
type: string
ChargeBearer:
description: 'Which party bears the SWIFT transaction charges.
- `our`: the sender (ordering customer) pays all charges.
- `sha`: charges are shared — the sender pays their own bank''s charges; intermediary/beneficiary bank charges are deducted from the transferred amount.
- `ben`: the receiver (beneficiary) pays all charges, deducted from the transferred amount.
'
type: string
enum:
- our
- sha
- ben
Error:
required:
- code
- message
properties:
code:
type: string
minLength: 1
maxLength: 256
message:
type: string
minLength: 1
maxLength: 512
source:
title: ErrorSource
required:
- location
- key
properties:
location:
type: string
enum:
- path
- query
- body
- header
key:
type: string
description: Comma separated names of the properties or parameters causing the error
ExchangeDetails:
description: Exchange information for a currency conversion.
properties:
fixed_rate:
description: The target exchange rate.
type: string
estimated_market_rate:
description: The estimated achievable rate based on current market conditions.
type: string
traded_market_rate:
description: The actual effective exchange rate achieved.
type: string
trade_at_market:
description: Whether market-rate execution has been applied to this trade.
type: boolean
updated_at:
description: Timestamp of the last exchange details update.
type: string
format: date-time
SwiftReference:
description: A payment reference message or remittance information to be included in a SWIFT transaction. It can have at most 4 lines (separated by "\n"), each line with a max length of 35 chars. The allowed characters are `a-z`, `A-Z`, `0-9`, special characters (`/` `-` `?` `:` `(` `)` `.` `,` `'` `+`), and space
type: string
minLength: 1
maxLength: 190
SwiftCharges:
description: '**Deprecated**: this schema is the type of the deprecated `swift_charges` field and will be removed in a future release. Prefer `charge_bearer`, which is typed by `ChargeBearer`.
Which party bears the SWIFT transaction charges (MT 103 field 71A).
- `our`: the sender (ordering customer) pays all charges.
- `sha`: charges are shared — the sender pays their own bank''s charges; intermediary/beneficiary bank charges are deducted from the transferred amount.
- `ben`: the receiver (beneficiary) pays all charges, deducted from the transferred amount.
'
deprecated: true
type: string
enum:
- our
- sha
- ben
SpeiReference:
description: A payment reference message or remittance information to be included in a SPEI transaction. The allowed characters are alphanumeric `a-z`, `A-Z`, `0-9`, and space
type: string
minLength: 1
maxLength: 40
TransferDestination:
required:
- currency
- payment_rail
properties:
currency:
description: When `eur` is specified as the destination currency, the destination rail must be `sepa`.
$ref: '#/components/schemas/EuroInclusiveCurrency'
payment_rail:
description: When `sepa` is specified as the destination payment rail, the destination currency must be `eur`; when `swift` is specified as the destination payment rail, the destination currency must be `usd`.
$ref: '#/components/schemas/SepaSwiftInclusiveOfframpPaymentRail'
external_account_id:
description: External bank account Bridge should send the funds to. The currency associated with the External Account must match the destination currency.
$ref: '#/components/schemas/Id'
bridge_wallet_id:
description: The Bridge Wallet to which Bridge will send the funds. The chain associated with the Bridge Wallet must match the destination payment rail.
$ref: '#/components/schemas/Id'
omad:
$ref: '#/components/schemas/Omad'
readOnly: true
imad:
$ref: '#/components/schemas/Imad'
readOnly: true
trace_number:
$ref: '#/components/schemas/TraceNumber'
readOnly: true
end_to_end_id:
$ref: '#/components/schemas/EndToEndId'
readOnly: true
wire_message:
$ref: '#/components/schemas/WireMessage'
sepa_reference:
$ref: '#/components/schemas/SepaReference'
swift_reference:
$ref: '#/components/schemas/SwiftReference'
spei_reference:
$ref: '#/components/schemas/SpeiReference'
reference:
$ref: '#/components/schemas/Reference'
swift_charges:
description: '**Deprecated**: prefer `charge_bearer`; this field will be removed in a future release. In responses, this field always mirrors `charge_bearer`. Sending both `swift_charges` and `charge_bearer` with conflicting values on a request is rejected.
Which party will bear the charges for the SWIFT transaction. When left blank, `sha` will be used as the default.
'
deprecated: true
$ref: '#/components/schemas/SwiftCharges'
charge_bearer:
description: Which party bears the charges for the SWIFT transaction. Defaults to `sha` when not specified. Replaces the deprecated `swift_charges` field; accepted on both request and response.
$ref: '#/components/schemas/ChargeBearer'
ach_reference:
$ref: '#/components/schemas/AchReference'
uetr:
$ref: '#/components/schemas/Uetr'
blockchain_memo:
type: string
description: The memo to include when sending funds on chain. Only allowed for blockchains that support memos such as Stellar
deposit_id:
$ref: '#/components/schemas/DepositId'
tracking_number:
$ref: '#/components/schemas/TrackingNumber'
readOnly: true
transaction_id:
$ref: '#/components/schemas/TransactionId'
readOnly: true
sending_institution_name:
description: The name of the institution sending the funds
type: string
readOnly: true
SepaSwiftInclusivePaymentRail:
type: string
enum:
- ach
- wire
- ach_push
- ach_same_day
- arbitrum
- avalanche_c_chain
- base
- bre_b
- co_bank_transfer
- celo
- ethereum
- faster_payments
- fiat_deposit_return
- optimism
- pix
- polygon
- sepa
- solana
- spei
- stellar
- swift
- tempo
- tron
SepaReference:
description: A reference message to be sent with a SEPA transaction. We recommend you set a unique value to help you and your customers track payments end to end. It must be from 6 to 140 characters. The allowed characters are `a-z`, `A-Z`, `0-9`, spaces, ampersand (`&`), hyphen (`-`), full stop (`.`), and solidus (`/`). If not populated, the default value is "Payment via Bridge {unique_token}".
type: string
minLength: 6
maxLength: 140
TrackingNumber:
description: The primary tracking identifier for this fiat transaction. Format varies by payment rail (e.g., UETR for SEPA/FPS, clave de rastreo for SPEI, end-to-end ID for PIX).
type: string
readOnly: true
Uetr:
description: 'Deprecated: use tracking_number instead. The unique end-to-end transaction reference, for tracing purposes.'
type: string
readOnly: true
deprecated: true
Imad:
description: (Wire only) The IMAD of a wire transfer, if available
type: string
pattern: '[a-z0-9]*'
minLength: 1
maxLength: 40
TransferRequest:
required:
- on_behalf_of
- source
- destination
properties:
id:
$ref: '#/components/schemas/Id'
readOnly: true
client_reference_id:
$ref: '#/components/schemas/client_reference_id'
amount:
description: 'Amount of the transfer, expressed as a decimal string. Examples include "100.25", "0.1", "1.234567", "1.01" etc.
It is denominated in the source currency if that is a fiat currency, or in the fiat currency to which the source currency is pegged.'
type: string
on_behalf_of:
description: The id of the Bridge customer that you are moving funds on behalf of.
type: string
developer_fee:
description: 'The fee, expressed as a decimal string, represents the amount you wish to reserve for your own account. This fee is the final amount deducted from what your customer ultimately receives, rather than a percentage.
It is denominated in the source currency if that is a fiat currency, or in the fiat currency to which the source currency is pegged.'
type: string
developer_fee_percent:
description: 'The fee percent, expressed as a decimal string from `0.0` to `100.0`, represents the percentage of the transfer you wish to reserve for your own account.
This field must be set instead of `developer_fee` when using [Flexible Amounts](https://apidocs.bridge.xyz/platform/orchestration/fees-and-mins/devfees#transfers-with-fixed-amounts).'
type: string
dry_run:
description: Whether to validate the transfer route without creating a transfer. If set to true, a valid transfer will return a `TransferRouteResponse` indicating the transfer would have been valid. The same error response will be returned for an invalid transfer as in the non-dry-run case.
type: boolean
source:
description: The source of the transfer, which could be an external bank account, a bridge account, or a crypto wallet address.
allOf:
- $ref: '#/components/schemas/TransferSource'
- properties:
from_address:
description: The crypto wallet address that the customer will send funds from, in order to kick off this transfer.
type: string
destination:
description: The destination of the transfer, which could be an external bank account, a bridge account, or a crypto wallet address.
allOf:
- $ref: '#/components/schemas/TransferDestination'
- properties:
amount:
description: 'Specify the destination amount for the recipient to receive. Learn more at [Fixed Outputs Integration Guide](https://apidocs.bridge.xyz/get-started/guides/move-money/fixed_outputs_integration_guide).
Denominated in the destination currency.
Expressed as a decimal string. Examples include "100.25", "0.1", "1.234567", "1.01" etc.'
type: string
to_address:
description: The crypto wallet address that the customer wishes to ultimately receive funds at, in order to complete this transfer
type: string
wire_message:
type: string
features:
description: Features that should be enabled for this transfer. See [Transfer Features](https://apidocs.bridge.xyz/platform/orchestration/transfers/transfer-features) for more details.
type: object
properties:
flexible_amount:
type: boolean
description: Allows for variable amounts to be accepted. When true, omit `amount` from the request body. Required to be `true` when the source payment rail is `swift`.
static_template:
type: boolean
allow_any_from_address:
type: boolean
return_instructions:
description: Optional instructions for where to send funds if the transfer is returned (e.g. refund). Only supported when the source payment rail is crypto. When the source is Stellar, `memo` is required.
$ref: '#/components/schemas/ReturnInstructions'
initiation:
description: 'Payment initiation context. Required when the source Bridge Wallet''s GET response includes `initiation_required: true`. Omit for wallets that do not return that field. Not returned in transfer responses.'
writeOnly: true
allOf:
- $ref: '#/components/schemas/TransferInitiation'
travel_rule_data:
description: Travel Rule data for this transfer. Use this when the same originator or beneficiary should apply to this transfer's movement. If the payload is only known after the transfer exists or is specific to a single movement, you can also submit the same object with `POST /travel_rule_data/{id}`.
allOf:
- $ref: '#/components/schemas/TravelRuleData'
TransferState:
type: string
enum:
- awaiting_funds
- in_review
- funds_received
- payment_submitted
- payment_processed
- canceled
- undeliverable
- returned
- refund_in_flight
- refund_failed
- refunded
TransferInitiation:
type: object
description: 'Payment initiation context required for transfers sourced from wallets where `initiation_required: true`. Captures how the payment was initiated (channel and subchannel) and whether Strong Customer Authentication was applied or which SCA exemption was used. This object is accepted on create only and is not returned in transfer responses.'
required:
- channel
- subchannel
- attestations
properties:
channel:
description: How the payment was initiated. Use `p2p_mobile_payment` for peer-to-peer transfers initiated on a mobile device; `other_mobile_payment` for non-P2P mobile-initiated payments (e.g. a merchant payment via a mobile app); `other` for payments not relying on a mobile device.
type: string
e
# --- truncated at 32 KB (101 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/bridge/refs/heads/main/openapi/bridge-transfers-api-openapi.yml