# Retrieve Transfer Retrieves details of a previously requested transfer Endpoint: GET /v1/transfers/{transfer_id} Version: 1.1.2 Security: OAuth2Flow ## Path parameters: - `id` (string, required) Transfer ID ## Header parameters: - `Authorization` (string) OAuth bearer token (see authentication flows) - `x-l2f-request-id` (string) Optional Unique ID per request, useful for fault resolution/diagnosis and audit. ## Response 200 fields (application/json): - `data` (object, required) - `data.id` (string, required) Unique ID of the transfer request, to be used to accept the transfer and lookup status - `data.status` (string, required) Status of the transfer. Cannot be modified directly by the client. * REQUESTED - Transfer request is created and has passed validation. It must be accepted at which point it will be executed. * ACCEPTED - Transfer request has been accepted and is waiting execution. At this point it cannot be cancelled. * EXPIRED - Occurs when a transfer request was not accepted within a reasonable time frame. The transfer cannot be replayed from this state. * CANCELLED - Transfer request was cancelled. Only available prior to acceptance. The transfer request cannot be replayed from this state. * EXECUTED - Transfer request has been executed, it is completed with all ledger entries performed. * REJECTED - Transfer request was rejected and cannot be executed. Enum: "REQUESTED", "ACCEPTED", "EXPIRED", "CANCELLED", "EXECUTED", "REJECTED" - `data.created_timestamp` (string, required) Time when the transfer request was generated - `data.valid_until` (string, required) Time when this transfer request expires and can no longer be accepted. Upon expiry a new transfer must be requested - `data.source_details` (object, required) Details of transaction to be performed on the source account on acceptance - `data.source_details.source_account_id` (string, required) Source account ID - `data.source_details.asset_type_id` (string) Asset type IDs follow a simple structure as follows: {$BLOCKCHAIN}_{$NETWORK}_{$CURRENCY_CODE} Simple asset type to test with include. - ETHEREUM_SEPOLIA_ETH - ETHEREUM_SEPOLIA_USDC - SOLANA_DEVNET_SOL - BITCOIN_TESTNET_BTC - FIAT_TESTNET_USD - FIAT_TESTNET_USD - FIAT_MAINNET_USD - FIAT_TESTNET_EUR - `data.source_details.amount_to_debit` (number, required) Amount that will be debited from the source account - `data.destination_details` (object, required) Details of transaction to be performed on the destination account on acceptance - `data.destination_details.destination_account_id` (string, required) Destination account ID - `data.destination_details.asset_type_id` (string) Asset type IDs follow a simple structure as follows: {$BLOCKCHAIN}_{$NETWORK}_{$CURRENCY_CODE} Simple asset type to test with include - ETHEREUM_SEPOLIA_ETH - ETHEREUM_SEPOLIA_USDC - SOLANA_DEVNET_SOL - BITCOIN_TESTNET_BTC - FIAT_TESTNET_USD - FIAT_TESTNET_USD - FIAT_MAINNET_USD - FIAT_TESTNET_EUR - `data.destination_details.amount_to_credit` (number, required) Amount that will be credited to the destination account ## Response 400 fields (application/json): - `errors` (array) Error List - `errors.code` (string) Layer2 Standard Error Code - `errors.description` (string) Error Description ## Response 401 fields (application/json): - `errors` (array) Error List - `errors.code` (string) Layer2 Standard Error Code - `errors.description` (string) Error Description ## Response 404 fields (application/json): - `errors` (array) Error List - `errors.code` (string) Layer2 Standard Error Code - `errors.description` (string) Error Description ## Response 500 fields (application/json): - `errors` (array) Error List - `errors.code` (string) Layer2 Standard Error Code - `errors.description` (string) Error Description