---
title: "Create External Transfer"
method: POST
path: "/external-transfers"
tags: ["External Transfers"]
---

# Create External Transfer

`POST /external-transfers`

## Request

- Base URL: `https://partner-api.getpliant.com/api`
- URL: `https://partner-api.getpliant.com/api/external-transfers`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/getpliant/apis/pliant-customer-api/docs/external-transfers/post.ts> (a function with typed inputs; its response is checked against the schema)

Create a new external transfer for the specified organization.

External transfers are payments made to beneficiaries outside of your organization. You must provide the beneficiary information, transfer amount, and transfer method. The transfer will initially be created in DRAFT status and can be modified until submitted for processing.

## Request body

- object
  - `organizationId` string, uuid, required: The organization for which the external transfer is being created.
  - `teamId` string, uuid: The team associated with the external transfer.
  - `beneficiaryId` string, uuid, required: The beneficiary who will receive the transfer.
  - `beneficiaryPaymentDetailId` string, uuid: The payment details for the beneficiary.
  - `sourceCardAccountId` string, uuid: The card account from which the transfer will be made.
  - `transferAmount` object: The amount of the transfer.
    - `value` number: The value of the monetary amount, converted to minor units of the currency. For instance 1.00 EUR is 100 cents, thus the value here is `100`. See our [guides](/docs/monetary-values) for more details about how to handle monetary amounts.
    - `currency` string: The currency of the monetary amount in ISO 4217 format. Same-currency transfers support the following currencies, with the following `transferMethod` rules: - `EUR`: `SEPA_CREDIT_TRANSFER` - `SEK`, `DKK`: `INSTANT_CREDIT_TRANSFER` - `GBP`: `INSTANT_CREDIT_TRANSFER` (UK Faster Payments) for UK local accounts (account number and sort code), omit `transferMethod` for IBAN accounts - `AED`, `CZK`, `HUF`, `NOK`, `PLN`, `RON`, `USD`: omit `transferMethod`
  - `transferMethod` 'SEPA_CREDIT_TRANSFER' | 'INSTANT_CREDIT_TRANSFER': The transfer method for the external transfer. Whether it is required depends on the transfer currency: - `SEPA_CREDIT_TRANSFER`: SEPA Standard Credit Transfer (SCT). Required for `EUR` transfers. - `INSTANT_CREDIT_TRANSFER`: Instant payment. SEPA Instant for `SEK` and `DKK` transfers, UK Faster Payments for `GBP` transfers to UK local accounts (account number and sort code). Required for these transfers. For all other supported currencies (`AED`, `CZK`, `HUF`, `NOK`, `PLN`, `RON`, `USD`, and `GBP` transfers to IBAN accounts) this field must be omitted — the rail is selected automatically and sending a value is rejected.
  - `purpose` string: The purpose or description of the transfer.
  - `invoiceNumber` string: The invoice number associated with the transfer.
  - `invoiceDate` string, date: The date of the invoice.
  - `dueDate` string, date: The due date for the transfer.
  - `transferTime` string, date-time: The scheduled time for the transfer.
  - `vopId` string, uuid: The unique identifier of a completed Verification of Payee (VoP) check. Required for `SEPA_CREDIT_TRANSFER` transfers in accordance with the Verification of Payee regulation. Obtain this value by calling `POST /vop/verification` before creating the transfer. The verification must have `status: ACTIVE` (valid for 60 minutes after creation).

## Response `201`

Created

- object
  - `id` string, uuid: The unique identifier of the external transfer.
  - `organizationId` string, uuid: The organization to which the external transfer belongs.
  - `teamId` string, uuid: The team associated with the external transfer.
  - `memberId` string, uuid: The member who created the external transfer.
  - `beneficiaryId` string, uuid: The beneficiary who will receive the transfer.
  - `beneficiaryPaymentDetailId` string, uuid: The payment details for the beneficiary.
  - `sourceCardAccountId` string, uuid: The card account from which the transfer will be made.
  - `transferAmount` object: The amount of the transfer.
    - `value` number: The value of the monetary amount, converted to minor units of the currency. For instance 1.00 EUR is 100 cents, thus the value here is `100`. See our [guides](/docs/monetary-values) for more details about how to handle monetary amounts.
    - `currency` string: The currency of the monetary amount in ISO 4217 format, for example `EUR` for Euro or `USD` for US Dollar.
  - `transferMethod` 'SEPA_CREDIT_TRANSFER' | 'INSTANT_CREDIT_TRANSFER': The transfer method for the external transfer. Whether it is present depends on the transfer currency: - `SEPA_CREDIT_TRANSFER`: Used for `EUR` transfers. - `INSTANT_CREDIT_TRANSFER`: Used for `SEK` and `DKK` transfers, and for `GBP` transfers to UK local accounts (UK Faster Payments). For all other supported currencies (`AED`, `CZK`, `HUF`, `NOK`, `PLN`, `RON`, `USD`, and `GBP` transfers to IBAN accounts) this field is not set (null / omitted) because the rail is selected automatically.
  - `status` 'DRAFT' | 'NEEDS_APPROVAL' | 'APPROVED' | 'COMPLIANCE_CHECK' | 'COMPLIANCE_PASSED' | 'COMPLIANCE_REVIEW' | 'PAYMENT_IN_PROGRESS' | 'PAID' | 'FAILED': The current status of the external transfer. It can be one of the following values: - `DRAFT`: Transfer is in draft state and can be modified - `NEEDS_APPROVAL`: Transfer requires approval before processing - `APPROVED`: Transfer has been approved and is ready for processing - `COMPLIANCE_CHECK`: Transfer is undergoing compliance checks - `COMPLIANCE_PASSED`: Transfer has passed compliance checks - `COMPLIANCE_REVIEW`: Transfer is under compliance review - `PAYMENT_IN_PROGRESS`: Transfer is currently being processed - `PAID`: Transfer has been successfully completed - `FAILED`: Transfer has failed
  - `purpose` string: The purpose or description of the transfer.
  - `invoiceNumber` string: The invoice number associated with the transfer.
  - `invoiceDate` string, date: The date of the invoice.
  - `dueDate` string, date: The due date for the transfer.
  - `transferTime` string, date-time: The scheduled time for the transfer.
  - `approvedAt` string, date-time: The date and time when the transfer was approved.
  - `createdAt` string, date-time: The date and time when the transfer was created.
  - `vop` object, nullable: Verification of Payee (VoP) result for the transfer. Null when VoP was not performed.
    - `vopResult` string: The outcome of the Verification of Payee (VoP). It can be one of the following values: - `MATCH`: The payee name fully matches the account holder. - `CLOSE_MATCH`: The payee name closely matches the account holder. - `NO_MATCH`: The payee name does not match the account holder. - `UNAVAILABLE`: Verification could not be performed.
    - `vopExternalVerificationId` string, uuid: The external identifier of the Verification of Payee (VoP).
    - `vopExpiresAt` string, date-time: The date and time when the Verification of Payee result expires.

## Other responses

- `400` (unresolved $ref)
- `401` (unresolved $ref)
- `403` (unresolved $ref)
- `409` (unresolved $ref)
- `429` (unresolved $ref)
- `500` (unresolved $ref)

## Changes

- **2026-11-03** `a4fbf7d068b4`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/getpliant/apis/pliant-customer-api/changes/external-transfers/post.md)

---

[API](https://skmtc.dev/getpliant/apis/pliant-customer-api.md) - [All operations](https://skmtc.dev/getpliant/apis/pliant-customer-api/llms.txt) - [OpenAPI document](https://skmtc.dev/getpliant/apis/pliant-customer-api/revisions/a4fbf7d068b4?raw)
