---
title: "Retrieve a Transfer"
method: GET
path: "/transfers/{id}"
tags: ["Transfers"]
---

# Retrieve a Transfer

`GET /transfers/{id}`

This endpoint allows you to fetch an existing transfer from our database
    by providing its 'id'

## Path parameters

- `id` string, required

## Headers

- `ApiKey` string, required
- `MerchantId` string, required
- `Environment` 'live' | 'sandbox', required

## Response `200`

- TransferDto
  - `id` string, required — Unique identifier for the Transfer
  - `merchantId` string, required — Identifier of the merchant owning this Transfer
  - `createdAt` string, required — Datetime in UTC timezone at which this object was created. Follows the [Datetime ISO](https://en.wikipedia.org/wiki/ISO_8601).
  - `updatedAt` string, required — Datetime in UTC timezone at which this object was updated for the last time . Follows the [Datetime ISO](https://en.wikipedia.org/wiki/ISO_8601).
  - `reference` string, required — A reference provided by the client during the creation of this Transfer
  - `description` string, required — An arbitrary string attached to the Transfer. Mostly useful for displaying to user.
  - `status` 'created' | 'successful' | 'pending' | 'failed', required — The current status of this Transfer
  - `amount` number, required — Amount intended to be sent to the recipient. A positive integer representing how much to charge in the smallest currency unit (e.g., 100 cents to charge €1.00 or 100 to charge FCFA100, a zero-decimal currency).
  - `currency` string, required — Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html).
  - `mode` 'live' | 'sandbox', required — Mode in which this transfer exists. The sandbox mode can be used during the integration phase and is available as soon as the merchant account is created. No real transactions are made in this mode. The live mode has to be used to make real transactions.
  - `destination` union, required — Information about the recipient of this Transfer
    - MobileMoneyDto
      - `type` 'mobile_money' | 'bank_transfer' | 'airtime', required — The method selected to make this Transfer
      - `country` string, required — Two-letter [ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2). Represents the country where the provider selected by the customer is localized.
      - `recipientName` string — recipient's Name
      - `number` string, required — The identifier referencing the payment method of the customer. - In case of a payment by Mobile Money, it corresponds to the customer phone number corresponding to his Mobile Money account
      - `provider` string, required — The name of the provider selected by the customer, in lowercase. The list of supported providers can be found at [/data/providers](#operation/DataController_getProviders)
    - BankTransferDto
      - `type` 'mobile_money' | 'bank_transfer' | 'airtime', required — The method selected to make this Transfer
      - `country` string, required — Two-letter [ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2). Represents the country where the provider selected by the customer is localized.
      - `recipientName` string — recipient's Name
      - `number` string, required — The identifier referencing the payment method of the customer. - In case of a payment by Bank Transfer, it corresponds to the customer bank account number
      - `accountOwner` string, required — The Bank account owner name to which the money must be sent.
      - `bankCode` string, required — The Bank code.
      - `bankName` string, required — The Bank name.
      - `beneficiaryPhone` string, required — The Beneficiary phone
    - AirtimeDto
      - `type` 'mobile_money' | 'bank_transfer' | 'airtime', required — The method selected to make this Transfer
      - `country` string, required — Two-letter [ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2). Represents the country where the provider selected by the customer is localized.
      - `recipientName` string — recipient's Name
      - `number` string, required — The identifier referencing the payment method of the customer. - In case of a payment by Airtime, it corresponds to the customer phone number corresponding to his Airtime account
      - `provider` string, required — The name of the provider selected by the customer, in lowercase. The list of supported providers can be found at [/data/providers](#operation/DataController_getProviders)
  - `fees` TransferFeeDto[], required — Fees applied to merchant's transfer-account uppon success
    - `id` string, required — Unique identifier of the applied Fee object.
    - `rate` number, required — A rate corresponding to the amount (flat or percentage) applied by the fees.
    - `type` 'flat' | 'percent', required — The type of fee applied to the transfer's amount - flat: A fixed amount applied as is to the amount. - percent: A rate applied to the amount as a percentage of the latter.
    - `amount` number, required — Amount applied by this Fees. A positive integer representing how much to charge in the smallest currency unit (e.g., 100 cents to charge €1.00 or 100 to charge FCFA100, a zero-decimal currency).
    - `currency` string, required — Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html).
    - `label` string — An optional label giving information on the reason of this fees.
    - `taxes` string[], required — An array containing every taxes applied to a fee
  - `failureCause` TransferFailureCauseDto
    - `code` string, required
    - `message` string, required
    - `params` string[], required
  - `origin` OriginDto
    - `name` string — Sender's name
    - `country` string — Sender's country. Two-letter [ISO country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
  - `overrideBusinessName` string — override business name for aggregator
  - `overrideBusinessId` string — override business id for merchant
  - `isIrt` boolean, required — indicate if the transfer was international
  - `providerReference` string, required — provider reference that identify this transfer
  - `gatewayId` string, required — The gateway ID used for this transfer
  - `isDelegated` boolean, required — Indicates if the transfer is delegated
  - `aggregatedMerchantId` string, required — Aggregated merchant id
  - `providerData` object — Provider data
  - `subMerchantId` string — Submerchant ID
  - `transferInformation` TransferInformationDto
    - `recipient_name_hashmac` string — Full name of the person receiving the funds (hashed on the partner side).
    - `recipient_phone_hashmac` string — Partner-side HMAC or cryptographic hash of the recipient MSISDN (not the clear number). Requests that send a plain phone number in this field are rejected.
    - `customer_id_hashmac` string — Partner-side hashed customer identifier. Use when name or phone cannot be sent, to correlate transactions for fraud analysis.
    - `transaction_purpose` 'SALARY' | 'LOAN_DISBURSEMENT' | 'COMMISSION' | 'REFUND' | 'CASHOUT' | 'OTHER' — Declared purpose of the payout for compliance and monitoring.

## Other responses

- `400` — Bad Request
- `401` — Wrong credentials
- `404` — Not Found
- `429` — ThrottlerException: Too Many Requests
- `500` — Internal error

---

[API](https://skmtc.net/hub2/apis/hub2-service-api.md) · [All operations](https://skmtc.net/hub2/apis/hub2-service-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/hub2/hub2-service-api/versions/adb17b4b80f4/schema)
