# Create a third party transfer

Create a transfer on behalf of a third party.

When creating a third party transfer:
- 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.
- 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.

Endpoint: POST /v2/profiles/{profileId}/third-party-transfers
Security: UserToken

## Path parameters:

  - `profileId` (integer, required)
    The profile ID

## Response 200 fields (application/json):

  - `id` (integer)
    Transfer ID
    Example: 16521632

  - `user` (integer)
    Your user ID
    Example: 4342275

  - `targetAccount` (integer)
    Recipient account ID
    Example: 8692237

  - `sourceAccount` (integer,null)
    Refund recipient account ID

  - `quote` (string)
    Quote ID
    Example: "8fa9be20-ba43-4b15-abbb-9424e1481050"

  - `status` (string)
    Transfer current status. See [Tracking Transfers](/guides/product/send-money/tracking-transfers) for all possible statuses.
    Example: "cancelled"

  - `rate` (number)
    Exchange rate value
    Example: 0.89

  - `created` (string)
    Timestamp when transfer was created
    Example: "2025-10-29T12:28:16.000Z"

  - `business` (integer,null)
    Your business profile ID

  - `details` (object)

  - `details.reference` (string)
    Payment reference text
    Example: "Testing"

  - `originator` (object)
    Data block to capture payment originator details

  - `originator.legalEntityType` (string)
    Payment originator legal type
    Enum: "PRIVATE", "BUSINESS"

  - `originator.reference` (string)
    Unique customer ID in your system
    Example: "CST-2991992"

  - `originator.name` (object)

  - `originator.name.givenName` (string)
    Payment originator first name
    Example: "John"

  - `originator.name.middleNames` (array)
    Payment originator middle name(s)
    Example: ["Ryan"]

  - `originator.name.familyName` (string)
    Payment originator family name
    Example: "Godspeed"

  - `originator.name.patronymicName` (string,null)
    Payment originator patronymic name

  - `originator.name.fullName` (string)
    Payment originator full legal name
    Example: "John Godspeed"

  - `originator.dateOfBirth` (string)
    Payment originator date of birth
    Example: "1977-07-01"

  - `originator.businessRegistrationCode` (string,null)
    Payment originator business registry or incorporation number

  - `originator.address` (object)

  - `originator.address.firstLine` (string)
    Payment originator address first line
    Example: "Salu tee 14"

  - `originator.address.city` (string)
    Payment originator address city
    Example: "Tallinn"

  - `originator.address.stateCode` (string,null)
    Payment originator address state code

  - `originator.address.countryCode` (string)
    Payment originator address country code ISO 3166-1 alpha-2
    Example: "EE"

  - `originator.address.postCode` (string)
    Payment originator address zip code
    Example: "12112"

  - `originator.accountDetails` (string)
    Originator account number
    Example: "23456789"

  - `hasActiveIssues` (boolean)
    Are there any pending issues which stop executing the transfer?

  - `sourceCurrency` (string)
    Source currency code
    Example: "EUR"

  - `sourceValue` (number)
    Transfer amount in source currency

  - `targetCurrency` (string)
    Target currency code
    Example: "GBP"

  - `targetValue` (number)
    Transfer amount in target currency
    Example: 150

  - `originalTransferId` (string)
    Unique identifier randomly generated per transfer request by the calling client
    Example: "54a6bc09-cef9-49a8-9041-f1f0c654cd88"

  - `payinSessionId` (string)
    ID of the Payin Session generated for the transfer, which can be used for certain payin methods when funding the transfer
    Example: "23330542-8e9e-419f-95eb-312b880f92ad"

  - `reference` (string)
    Deprecated, use details.reference instead
    Example: "reference text"

  - `transferRequest` (integer,null)
    Deprecated


