---
title: "Create a third party transfer"
method: POST
path: "/v2/profiles/{profileId}/third-party-transfers"
tags: ["third-party-transfer"]
---

# Create a third party transfer

`POST /v2/profiles/{profileId}/third-party-transfers`

When creating a transfer on behalf of a third party, you must take note that:

    * The `originator` datablock is **required**. This details the ultimate sender of funds in the transfer.
    * Depending on the legal entity type of the originator (`PRIVATE` or `BUSINESS`), the required fields vary. Please refer the sample request examples.
    * `OriginalTransferId` field must be used. This is your own ID for the transfer.

    You need to save the transfer ID for tracking its status later via webhooks.

    #### Avoiding duplicate transfers

    The `originalTransferId` field is used to avoid duplicate transfer requests. If your initial call fails (error or timeout), retry the call using the same `originalTransferId` value. Subsequent retry messages are treated as repeat messages and will not create duplicate transfers.

## Path parameters

- `profileId` integer, required — The profile ID.

## Headers

- `X-External-Correlation-Id` string, uuid

## Request body

- CreateThirdPartyTransferRequestContent
  - `originalTransferId` string, required — Unique transfer ID in your system. We use this field also to perform idempotency check to avoid duplicate transfers in case of network failures or timeouts. You can only submit one transfer with same originalTransferId.
  - `targetAccount` integer, required — Recipient account ID.
  - `sourceAccount` integer — Refund recipient account ID.
  - `quote` string, required — Quote ID. You can only create one transfer per one quote. You cannot use same quote ID to create multiple transfers.
  - `details` Details, required
    - `reference` string — Recipient will see this reference text in their bank statement. Maximum allowed characters depends on the currency route. [Business Payments Tips](https://wise.com/help/articles/2932870/tips-for-paying-invoices) for a full list
  - `originator` union, required
    - OriginatorPRIVATE
      - `reference` string, required — Unique customer ID in your system. This allows us to uniquely identify each originator
      - `name` Name, required — Data block to capture the originator name details
        - `givenName` string — Payment originator first name
        - `middleNames` string[] — Payment originator middle name(s)
        - `familyName` string — Payment originator family name
        - `patronymicName` string — Payment originator patronymic name
        - `fullName` string — Payment originator full legal name
      - `dateOfBirth` string, date, required — Payment originator date of birth
      - `nationality` string — Payment originator nationality. Required for certain routes (e.g. to UGX)
      - `accountDetails` string — Payment originator account number
      - `address` Address2, required
        - `firstLine` string, required — Payment originator address first line
        - `city` string — Payment originator address city
        - `stateCode` string — Payment originator address state code. Required if address country code in (US, CA, BR, AU)
        - `countryCode` string, required — Payment originator address country code ISO 3166-1 alpha-2
        - `postCode` string — Originator address zip code
      - `legalEntityType` string, required
    - OriginatorBUSINESS — Data block to capture payment originator details for a business entity
      - `reference` string, required — Unique customer ID in your system. This allows us to uniquely identify each originator
      - `name` Name, required — Data block to capture the originator name details
        - `givenName` string — Payment originator first name
        - `middleNames` string[] — Payment originator middle name(s)
        - `familyName` string — Payment originator family name
        - `patronymicName` string — Payment originator patronymic name
        - `fullName` string — Payment originator full legal name
      - `businessRegistrationCode` string — Payment originator business registry number / incorporation number
      - `businessRegistrationDate` string, date — Payment originator business registration date. Required for certain routes (e.g. to UGX)
      - `accountDetails` string — Payment originator account number
      - `address` Address2, required
        - `firstLine` string, required — Payment originator address first line
        - `city` string — Payment originator address city
        - `stateCode` string — Payment originator address state code. Required if address country code in (US, CA, BR, AU)
        - `countryCode` string, required — Payment originator address country code ISO 3166-1 alpha-2
        - `postCode` string — Originator address zip code
      - `legalEntityType` string, required

## Response `201`

Third party transfer successfully created.

- CreateThirdPartyTransferResponseContent — Returns the originator transfer object.
  - `id` integer — Transfer ID
  - `user` integer — Your user ID
  - `targetAccount` integer — Recipient account ID
  - `sourceAccount` integer — Refund recipient account ID
  - `quote` string — Quote ID
  - `status` string — Transfer current status. See [Tracking Transfers](https://docs.wise.com/guides/product/send-money/tracking-transfers) for all possible statuses.
  - `rate` number — Exchange rate value
  - `details` DetailsResponse
    - `reference` string — Recipient will see this reference text in their bank statement. Maximum allowed characters depends on the currency route. [Business Payments Tips](https://wise.com/help/articles/2932870/tips-for-paying-invoices) for a full list
  - `originator` OriginatorResponse
    - `legalEntityType` 'PRIVATE' | 'BUSINESS'
    - `reference` string — Unique customer ID in your system. This allows us to uniquely identify each originator
    - `name` NameResponse — Data block to capture the originator name details
      - `givenName` string — Payment originator first name
      - `middleNames` string[] — Payment originator middle name(s)
      - `familyName` string — Payment originator family name
      - `patronymicName` string — Payment originator patronymic name
      - `fullName` string — Payment originator full legal name
    - `dateOfBirth` string, date — Payment originator date of birth
    - `nationality` string — Payment originator nationality. Required for certain routes (e.g. to UGX)
    - `accountDetails` string — Payment originator account number
    - `address` AddressResponse
      - `firstLine` string — Payment originator address first line
      - `city` string — Payment originator address city
      - `stateCode` string — Payment originator address state code. Required if address country code in (US, CA, BR, AU)
      - `countryCode` string — Payment originator address country code ISO 3166-1 alpha-2
      - `postCode` string — Originator address zip code
    - `businessRegistrationCode` string — Payment originator business registry number / incorporation number
    - `businessRegistrationDate` string, date — Payment originator business registration date. Required for certain routes (e.g. to UGX)
  - `hasActiveIssues` boolean — Are there any pending issues which stop executing the transfer?
  - `sourceCurrency` string — Source currency code
  - `sourceValue` number — Transfer amount in source currency
  - `targetCurrency` string — Target currency code
  - `targetValue` number — Transfer amount in target currency
  - `originalTransferId` string — Unique identifier randomly generated per transfer request by the calling client
  - `created` string, date-time — Timestamp when transfer was created.

## Other responses

- `429` — Rate limit exceeded. Retry after the number of seconds specified in the `Retry-After` header.

---

[API](https://skmtc.net/wise/apis/platform-api.md) · [All operations](https://skmtc.net/wise/apis/platform-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/wise/platform-api/revisions/4907a1d269ab/schema)
