# Retry a Transfer

**POST** `/transfers/{transferId}/retry`

Base URL: `https://api.uat.triple-a.io/api/fiat-payout/v1`

This endpoint allows you to retry a transfer by cancelling the original and creating a new transfer with the same pricing, fees, and exchange rate. The existing payment is reused and the new transfer is automatically confirmed and dispatched — no additional payment is required.

## Authorization

- oauth2 (http, bearer)

## Path parameters

- `transferId` (string, required)

## Responses

### 200

OK

- `id` (string<uuid>)
  Transfer Identifier
- `source_transfer_id` (string<uuid>)
  The ID of the original transfer this transfer was retried from. Only present on retry transfers.
- `external_id` (string)
  Transfer Reference provided by API caller
- `sender_id` (string<uuid>)
  Identifier of the sender (a Individual or company)
- `recipient_id` (string<uuid>)
  Identifier of the recipient (a Individual or company)
- `destination_account_id` (string<uuid>)
  DestinationAccount Identifier
- `destination_account` (object)
  A DestinationAccount is bank account or digital wallet account to receive a local currency transfer.
  - `id` (string<uuid>, required)
  - `type` ("bank_account" | "digital_wallet" | "cash_pickup" | "card", required)
    Type of destination account
  - `owner_id` (string<uuid>, required)
  - `external_id` (string, required)
    Your own platform's identifier for this payment destination account.
  - `receiving_institution_id` (string<uuid>, required)
    Identifier of a receiving institution which refers to a bank or a digital wallet operator.
  - `currency` (string<iso-4217>, required)
    Local currency for this account.
  - `country_code` (string<iso-3166-1-alpha3>, required)
    The country associated with the payment destination.
  - `alias` (string)
    Name or label for this payment destination.
  - `archived` (boolean)
    No past payment destinations can be deleted, however they can be disabled so they can be avoided for use.
  - `account` (object, required)
    - `cashpoint` (string)
      Receiving Institution Reference Code
    - `recipient_name` (string)
      Recipient Full Name
    - `recipient_identification_type` ("RESIDENT_CARD" | "NATIONAL_ID" | "PASSPORT" | "TAX_ID" | "DRIVING_LICENSE" | "SOCIAL_SECURITY" | "OTHER")
      Identification type (For ARG, CUIT/CUIL = TAX_ID. For COL, Cedula de Ciudadania = NATIONAL_ID, NIT = TAX_ID, passport = PASSPORT)
    - `recipient_identification_number` (string)
      Identification number
    - `recipient_nationality` (string<iso-3166-1-alpha3>)
      Nationality
    - `recipient_address` (string)
      Residence address
    - `recipient_province_state` (string)
      Residence State/Province
    - `recipient_city` (string)
      Residence city
    - `recipient_email` (string)
      Email address
    - `recipient_date_of_birth` (string<date>)
      Date of birth
    - `recipient_identification_issuer` (string)
      Identification issuer
    - `recipient_identification_issue_date` (string<date>)
      Identification issue date
    - `recipient_identification_expiry_date` (string<date>)
      Identification expiry date
    - `recipient_gender` ("female" | "male")
      Gender
    - `recipient_zip_code` (string)
      Residence address zip code or postal code
    - `mobile_number` (string)
    - `account_name` (string)
      Bank account holder's full name.
    - `account_number` (string)
      Bank account number.
    - `account_type` ("IBAN" | "CLABE" | "CBU" | "CBU ALIAS" | "FPS ID" | "ACCOUNT NUMBER" | "PHONE_NUMBER" | "EMAIL")
      The bank account number's format.
    - `bank_account_type` ("SAVINGS" | "CHECKING")
      The bank account type.
    - `routing_type` ("SWIFT-BIC" | "BIK" | "IFSC" | "Sort code" | "ABA" | "BSB" | "BEFTN" | "Routing Number" | "Clearing code" | "Branch Code" | "Zengin Code")
    - `routing_code` (string)
    - `additional_routing_type` ("SWIFT-BIC" | "BIK" | "IFSC" | "Sort code" | "ABA" | "BSB" | "BEFTN" | "Routing Number" | "Clearing code" | "Branch Code" | "Zengin Code")
    - `additional_routing_code` (string)
    - `branch_code` (string)
    - `bank_name` (string)
    - `network` ("network:local" | "network:ACH" | "network:SEPA" | "network:swift" | "network:RTP" | "network:sameday_ACH")
      The network that can be used for transferring funds to this account
  - `intermediary_bank_details` (object)
    - `routing_code_type` ("SWIFT-BIC")
      Routing code type for intermedary bank details
    - `routing_code_value` (string)
      Routing code value for intermedary bank details
    - `bank_name` (string)
      Intermedary bank name
    - `address` (object)
      Intermediay bank address defines intermediary bank address used for intermediary bank
      - `address_line_1` (string)
        Address line 1 of bank address
      - `address_line_2` (string)
        Address line 2 of bank address
      - `city` (string)
        City of the intermediary bank address
      - `state` (string)
        State of the intermediary bank address
      - `zip_code` (string)
        Zip code of intermediary bank address
      - `country_code` (string)
        Country code of intermediary bank address
  - `created_at` (string<date-time>)
  - `updated_at` (string<date-time>)
- `mode` ("sending" | "receiving")
  `sending` mode allow users to specify the `sending_amount` and get a quote for `receiving_amount`; `receiving` mode allows users to specify the `receiving_amount` and get a quote for `sending_amount`.
- `sending_amount` (number<double>)
  Sending amount
- `sending_currency` (string<iso-4217-ext>)
  Sending Currency which is defined by /currencies.
- `receiving_amount` (number<double>)
  Receiving amount
- `receiving_currency` (string<iso-4217-ext>)
  Receiving Currency which is defined by /currencies.
- `purpose_of_remittance` ("OTHER_FEES" | "INSURANCE_CLAIMS" | "MAINTENANCE_EXPENSES" | "SMALL_VALUE_REMITTANCE" | "TRANSPORTATION_FEES" | "GIFT_AND_DONATION" | "OFFICE_EXPENSES" | "EXPORTED_GOODS" | "PERSONAL_TRANSFER" | "OTHER" | "LIBERALIZED_REMITTANCE" | "TAX_PAYMENT" | "MEDICAL_TREATMENT" | "SHARES_INVESTMENT" | "ROYALTY_FEES" | "LOAN_PAYMENT" | "BUSINESS_INSURANCE" | "ADVERTISING_EXPENSES" | "TRAVEL" | "DELIVERY_FEES" | "PROPERTY_PURCHASE" | "FAMILY_SUPPORT" | "UTILITY_BILLS" | "CONSTRUCTION_EXPENSES" | "PROPERTY_RENTAL" | "SERVICE_CHARGES" | "HOTEL_ACCOMMODATION" | "SALARY_PAYMENT" | "EDUCATION" | "ADVISORY_FEES" | "FUND_INVESTMENT" | "COMPANY_EXPENSES" | "BILLS" | "INSURANCE" | "INVESTMENT" | "REMITTANCE" | "HEALTH" | "TAXES")
  Receiving Currency which is defined by /currencies. If OTHER is used, it could cause extended delays
- `source_of_funds` ("GIFT" | "SALARY" | "LOTTERY" | "SAVINGS" | "CASH" | "OTHER" | "BUSINESS")
  Receiving Currency which is defined by /currencies.
- `relationship` ("FAMILY" | "GRAND_FATHER" | "FATHER" | "FATHER_IN_LAW" | "GRAND_MOTHER" | "MOTHER" | "MOTHER_IN_LAW" | "UNCLE" | "AUNT" | "BROTHER" | "SISTER" | "FRIEND" | "EX-SPOUSE" | "SON" | "DAUGHTER" | "NIECE" | "NEPHEW" | "SISTER_IN_LAW" | "BROTHER_IN_LAW" | "HUSBAND" | "WIFE" | "SELF" | "SPOUSE" | "COUSIN" | "EX_SPOUSE" | "OTHER")
  Relationship between sender and recipient
- `remarks` (string)
  Remarks or notes
- `transaction_pin` (string)
  A PIN related the transfer, e.g. Cash Pickup PIN
- `exchange_rate` (number<double>)
  The exchange rate from sending currency to receiving currency, e.g. 1 BTC = 57151.5 USD.
- `status` ("created" | "awaiting_fund" | "trade_initiated" | "confirmed" | "rejected" | "cancelled" | "submitted" | "available" | "declined" | "completed" | "reversed")
  Transfer Status
- `sub_status` ("none" | "ambiguous" | "invalid_parameters" | "declined_by_provider" | "reversed_by_provider")
  Transfer SubStatus
- `error_desc` (string)
  Transfer error description / decline reason
- `error_code` ("E001" | "E002" | "E003" | "E004" | "E005" | "E006" | "E007" | "E008" | "E010" | "E011" | "E012" | "E013" | "E014" | "E015" | "E016" | "E017" | "E018" | "E019" | "E020" | "E022" | "E023" | "E024" | "E025" | "E026" | "E027" | "E028" | "E029" | "E030" | "E031" | "E032" | "E033" | "E034" | "E035" | "E036" | "E037" | "E038" | "E041" | "E042" | "E043" | "E044" | "E045" | "E048" | "E049" | "E052" | "E053" | "E054" | "E059" | "E060" | "E061" | "E063" | "E064" | "E065" | "E066" | "E067" | "E069" | "E072" | "E073" | "E074" | "E075" | "E076" | "E077")
  Transfer error code
- `balance_id` (string<uuid>)
  This indicates which balance is used for this transfer
- `balance_debit_amount` (number<double>)
  This indicates the amount which will be debit from merchant's balance with `balance_id` for this transfer.
- `balance_currency` (string<iso-4217-ext>)
  Iso-4217 for `fiat_money` (i.e., local currency), non-iso-4217 listed here (https://en.wikipedia.org/wiki/ISO_4217) for `cyptocurrency`'
- `fee` (number<double>)
  This indicates the amount which will be debit from merchant's balance as a transaction fee with `balance_id` for this transfer. This includes VAT and intermediary bank fee (if applicable).
- `fee_currency` (string<iso-4217-ext>)
  currency for transaction fee; where ISO-4217 for `fiat_money` (i.e., local currency), non-iso-4217 listed here (https://en.wikipedia.org/wiki/ISO_4217) for `cyptocurrency`'
- `vat` (number<double>)
  This indicates the VAT amount calculated on agreed pricing fee.
- `vat_percentage` (number<double>)
  This indicates the VAT percentage is used to calculate VAT fee on agreed pricing fee.
- `sending_amount_returned` (number<double>)
  This indicates the sending amount which will be returned to merchant's balance with `balance_id` for this transfer when the transfer is failed (rejected, cancelled, declined and reversed).
- `fee_returned` (number<double>)
  This indicates the transaction fee amount which will be returned to merchant's balance with `balance_id` for this transfer when the transfer is failed (rejected, cancelled and declined); for transfers are reversed, this will be 0.
- `expires_at` (string<date-time>)
  Creation Timestamp
- `created_at` (string<date-time>)
  Creation Timestamp
- `updated_at` (string<date-time>)
  Update Timestamp
- `charge_type` ("OUR" | "SHA")
  To specify which party bears the bank fee. **OUR** means that the initiator will pay the fee, which means an additional fee when you create the transfer. **SHA** means that both the initiator and the recipient will pay the fee. Some fees will be deducted from the amount sent by the intermediary banks
- `intermediary_bank_fee` (number<double>)
  Indicates the intermediary bank charge. It will follow the sending currency.
- `payment` (object)
  Payment
  - `id` (string<uuid>)
    Payment Identifier
  - `status` (string)
    Payment status
  - `reason` (string<uuid>)
    Failed/Declined Reason
  - `url` (string)
    CDN of payment page
  - `crypto_address` (string)
    Cryptocurrency token address
  - `crypto_currency` (string)
    Cryptocurrency value
  - `crypto_network` (string)
    The blockchain to use to pay
  - `expires_at` (string<date-time>)
    The expiration of the address
  - `card_issuer_country` (string)
    The issuer country of card if payment is made via card
  - `reference_number` (string)
    Payment reference number
  - `iban` (string)
    IBAN
- `card_form` (object)
  Only present for Card Destination Account
  - `id` (string)
  - `status` (string)
  - `reason` (string)
  - `reason_code` (string)
  - `created_at` (string<date>)
  - `deleted_at` (string<date>)
  - `expires_at` (string<date>)
  - `used_at` (string<date>)
  - `submitted_at` (string<date>)
  - `charged_at` (string<date>)
  - `hosted_url` (string<uri>)
    The link to the card adding form (front end).
    Card form is only valid for a certain time. To generate the new link, please call `POST /destination-accounts/{accountId}/card_form`.
    Please checkout the note for that api
- `conditions` (object)
  Conditions that a transfer must meet before it can be processed
  - `document_types` (object)
    - `transfer_purpose` (string)
- `documents` (object[])
  - `id` (string<uuid>)
  - `external_id` (string)
    A reference to the document given by API caller
  - `owner_id` (string<uuid>)
    The ID of an individual or company who owns the document.
  - `category` ("identity_verification")
    More categories will be added over time.
  - `document_type` ("passport" | "national_id" | "selfie_photo" | "kyc_provider_result")
    The type `kyc_provider_result` can be used to upload reports from the 3rd party KYC providers.
  - `mime_type` (string)
    The type `kyc_provider_result` can be used to upload reports from the 3rd party KYC providers.
  - `file_name` (string)
  - `file_id` (string)
  - `status` ("none" | "valid" | "pending" | "rejected" | "expired")
  - `expires_at` (string<date-time>)
    Time of expiry of the validity of this identity document.
  - `created_at` (string<date-time>)
  - `updated_at` (string<date-time>)

Example:

```json
{
  "id": "00000000-0000-0000-0000-000000000000",
  "source_transfer_id": "00000000-0000-0000-0000-000000000000",
  "external_id": "string",
  "sender_id": "00000000-0000-0000-0000-000000000000",
  "recipient_id": "00000000-0000-0000-0000-000000000000",
  "destination_account_id": "00000000-0000-0000-0000-000000000000",
  "destination_account": {
    "id": "00000000-0000-0000-0000-000000000000",
    "type": "bank_account",
    "owner_id": "00000000-0000-0000-0000-000000000000",
    "external_id": "string",
    "receiving_institution_id": "00000000-0000-0000-0000-000000000000",
    "currency": "USD",
    "country_code": "USA",
    "alias": "Account 1",
    "archived": false,
    "account": {
      "cashpoint": "string",
      "recipient_name": "string",
      "recipient_identification_type": "NATIONAL_ID",
      "recipient_identification_number": "S98765433X",
      "recipient_nationality": "SGP",
      "recipient_address": "1 Falcon Ave, California",
      "recipient_province_state": "New York",
      "recipient_city": "New York City",
      "recipient_email": "jamse.zhang@example.com",
      "recipient_date_of_birth": "2019-08-24",
      "recipient_identification_issuer": "City hall",
      "recipient_identification_issue_date": "2019-08-24",
      "recipient_identification_expiry_date": "2025-08-24",
      "recipient_gender": "female",
      "recipient_zip_code": "12345",
      "mobile_number": "string",
      "account_name": "John Zuckerberg",
      "account_number": "9876543201",
      "account_type": "IBAN",
      "bank_account_type": "SAVINGS",
      "routing_type": "SWIFT-BIC",
      "routing_code": "string",
      "additional_routing_type": "SWIFT-BIC",
      "additional_routing_code": "string",
      "branch_code": "string",
      "bank_name": "string",
      "network": "network:local"
    },
    "intermediary_bank_details": {
      "routing_code_type": "SWIFT-BIC",
      "routing_code_value": "BKENGB2LXXX",
      "bank_name": "Bank of England",
      "address": {
        "address_line_1": "1600 Amphitheatre Parkway",
        "address_line_2": "Building 43",
        "city": "Mountain View",
        "state": "California",
        "zip_code": "94043",
        "country_code": "USA"
      }
    },
    "created_at": "1970-01-01T00:00:00.000Z",
    "updated_at": "1970-01-01T00:00:00.000Z"
  },
  "mode": "sending",
  "sending_amount": 0.001,
  "sending_currency": "BTC",
  "receiving_amount": 57.15,
  "receiving_currency": "USD",
  "purpose_of_remittance": "FAMILY_SUPPORT",
  "source_of_funds": "SALARY",
  "relationship": "FATHER",
  "remarks": "string",
  "transaction_pin": "string",
  "exchange_rate": 57151.5,
  "status": "created",
  "sub_status": "none",
  "error_desc": "string",
  "error_code": "E001",
  "balance_id": "00000000-0000-0000-0000-000000000000",
  "balance_debit_amount": 57.15,
  "balance_currency": "USD",
  "fee": 57.15,
  "fee_currency": "USD",
  "vat": 57.15,
  "vat_percentage": 57.15,
  "sending_amount_returned": 57.15,
  "fee_returned": 57.15,
  "expires_at": "1970-01-01T00:00:00.000Z",
  "created_at": "1970-01-01T00:00:00.000Z",
  "updated_at": "1970-01-01T00:00:00.000Z",
  "charge_type": "SHA",
  "intermediary_bank_fee": 25,
  "payment": {
    "id": "00000000-0000-0000-0000-000000000000",
    "status": "string",
    "reason": "00000000-0000-0000-0000-000000000000",
    "url": "string",
    "crypto_address": "string",
    "crypto_currency": "string",
    "crypto_network": "string",
    "expires_at": "1970-01-01T00:00:00.000Z",
    "card_issuer_country": "USA",
    "reference_number": "MFB-870989-FPP",
    "iban": "FR7630006000011234567890189"
  },
  "card_form": {
    "id": "string",
    "status": "string",
    "reason": "string",
    "reason_code": "string",
    "created_at": "2024-01-01",
    "deleted_at": "2024-01-01",
    "expires_at": "2024-01-01",
    "used_at": "2024-01-01",
    "submitted_at": "2024-01-01",
    "charged_at": "2024-01-01",
    "hosted_url": "string"
  },
  "conditions": {
    "document_types": {
      "transfer_purpose": "string"
    }
  },
  "documents": [
    {
      "id": "00000000-0000-0000-0000-000000000000",
      "external_id": "string",
      "owner_id": "00000000-0000-0000-0000-000000000000",
      "category": "identity_verification",
      "document_type": "passport",
      "mime_type": "string",
      "file_name": "string",
      "file_id": "string",
      "status": "pending",
      "expires_at": "1970-01-01T00:00:00.000Z",
      "created_at": "1970-01-01T00:00:00.000Z",
      "updated_at": "1970-01-01T00:00:00.000Z"
    }
  ]
}
```

### 400

Error defines errors may be returned from the system.

- `message` (string)
- `errors` (object[])
  - `errorCode` (string)
  - `message` (string)

Example:

```json
{
  "message": "string",
  "errors": [
    {
      "errorCode": "string",
      "message": "string"
    }
  ]
}
```

### 404

Error defines errors may be returned from the system.

- `message` (string)
- `errors` (object[])
  - `errorCode` (string)
  - `message` (string)

Example:

```json
{
  "message": "string",
  "errors": [
    {
      "errorCode": "string",
      "message": "string"
    }
  ]
}
```

### 409

Error defines errors may be returned from the system.

- `message` (string)
- `errors` (object[])
  - `errorCode` (string)
  - `message` (string)

Example:

```json
{
  "message": "string",
  "errors": [
    {
      "errorCode": "string",
      "message": "string"
    }
  ]
}
```