Skip to main content
POST
Add recipient

Authorizations

API-KEY
string
header
required

Your partner API key.

Headers

Api-Version
string
default:2026-09.1
required

The API version this request targets. Required on every /api/v0/* call. Format YYYY-MM.<release>; 2026-09.1 is the latest. The version that served the request is echoed back on the response. Missing, malformed or unsupported values are rejected with 400.

Pattern: ^\d{4}-\d{2}\.\d+$

Path Parameters

userId
string
required

The customer the recipient belongs to. Must be a cus_… reference id — a UUID is rejected with 400.

Body

application/json
type
enum<string>
required

BUSINESS or INDIVIDUAL.

Available options:
BUSINESS,
INDIVIDUAL
currency
string
required

ISO 4217 — the currency the recipient is paid in.

currencySymbol
string
required

The symbol for that currency.

currencyId
integer
required

Endl's numeric id for the currency, from List currencies.

payoutRail
string
required

The rail used to reach the recipient. Decides which verification the customer needs — see above.

relationshipToCustomer
string
required

How the recipient relates to the customer — SUPPLIER, EMPLOYEE, SELF, SPOUSE, SUBSIDIARY_COMPANY, and others.

firstName
string

Recipient's first name. Required when type is INDIVIDUAL.

lastName
string

Recipient's last name. Required when type is INDIVIDUAL.

businessName
string

Recipient's legal name. Required when type is BUSINESS.

countryId
integer

Endl's numeric id for the recipient's country, from List countries. Not saved — the saved country is recipientAddress.countryId. It narrows the payout-rail check to that country (without it, the check accepts any country's rails), and fills in recipientAddress.countryTwoLetter / countryThreeLetter when either is missing — in which case it is required for every rail except AED and CRYPTO.

email
string

Recipient's email address.

recipientAddress
object

The recipient's address. Send countryId here as well as at the top level — this one is the country saved on the recipient. Send both ISO codes, or leave either out and it is filled from the top-level countryId. Any key not listed here is rejected with 400.

institutionalAddress
object

Address of the receiving bank. Same properties as recipientAddress. Required for GBP, with a valid UK postcode. Also used as the beneficiary bank address on AED payouts. Not specific to business recipients.

bankName
string

Receiving bank name.

bankAccountNumber
string

Receiving account number.

ifsc
string

IFSC — for Indian rails.

swiftBic
string

SWIFT / BIC — for SWIFT.

iban
string

IBAN — for SEPA.

sortCode
string

Sort code — for UK rails.

bankRoutingNumber
string

Routing number — for US rails.

bankType
string

Set to us for a US bank recipient, which must then also carry accountType.

accountType
enum<string>

For a US bank recipient (bankType: "us"): checking or savings.

Available options:
checking,
savings
walletAddress
string

Destination wallet address — for CRYPTO, with walletChain.

walletChain
string

Network of walletAddress — for CRYPTO.

providerBankId
string

The receiving bank's code. Take it from the options of the bankId field in Get recipient fields and send the option's code. Required wherever that endpoint marks bankId as REQUIRED. Top level only, never inside recipientAddress.

phone
string

Recipient's phone number. Digits only, up to 15. No +, spaces or dashes.

dateOfBirth
string

Individual's date of birth, DD-MM-YYYY (for example 25-01-1994).

governmentId
string

Recipient's ID number. Get recipient fields calls this field governmentIdNumber.

governmentIdType
string

Type of governmentId, from the field's options.

bankBranchCode
string

Branch code.

bankBranchName
string

Branch name. Required for TWD.

nationality
string

Recipient's nationality, from the field's options.

gender
string

M or F.

occupation
string

Recipient's occupation, from the field's options.

nativeFirstName
string

First name in local script. CNY requires Han characters.

nativeLastName
string

Last name in local script.

nativeAddress
string

Address in local script. Top level, not inside recipientAddress.

nativeBusinessName
string

BUSINESS only. Legal name in local script.

businessStructure
string

BUSINESS only. From the field's options.

businessRegistrationCountry
string

BUSINESS only. From the field's options.

Response

The created recipient, including its rec_ id and providerBankId. Unwrapped — no code, message or data wrapper.

A recipient, unwrapped. Keys with no value are left out, except inside the two address objects. alias is never returned.

id
string

rec_… reference id.

userId
string

cus_… id of the owning customer.

type
enum<string>

INDIVIDUAL or BUSINESS.

Available options:
INDIVIDUAL,
BUSINESS
firstName
string

First name. For a BUSINESS recipient this holds the business name.

lastName
string

Contact detail.

email
string

Contact detail.

phone
string

Contact detail.

dateOfBirth
string

Returned as YYYY-MM-DD (sent as DD-MM-YYYY on Add recipient).

nationality
string

Individual identity detail, where the corridor needs it.

gender
string

Individual identity detail, where the corridor needs it.

occupation
string

Individual identity detail, where the corridor needs it.

governmentId
string

Individual identity detail, where the corridor needs it.

governmentIdType
string

Individual identity detail, where the corridor needs it.

businessStructure
string

Business detail.

businessRegistrationCountry
string

Business detail.

bankName
string

Bank detail for the rail.

bankAccountNumber
string

Bank detail for the rail.

bankRoutingNumber
string

Bank detail for the rail.

bankBranchCode
string

Bank detail for the rail.

bankBranchName
string

Bank detail for the rail.

iban
string

Bank detail for the rail.

swiftBic
string

Bank detail for the rail.

ifsc
string

Bank detail for the rail.

sortCode
string

Bank detail for the rail.

accountType
string

Bank detail for the rail.

providerBankId
string

Bank detail for the rail — the receiving bank's code, as sent on Add recipient.

walletAddress
string

Payout wallet, for CRYPTO recipients.

walletChain
string

Payout wallet chain, for CRYPTO recipients.

recipientAddress
object

The recipient's address. Always present; inner fields may be null.

institutionalAddress
object

The bank's address, same fields. Always present; inner fields may be null.

currency
string

Payout currency.

currencySymbol
string

Payout currency symbol.

currencyId
integer

Payout currency id.

payoutRail
string

Payout rail, e.g. ACH, SEPA, BANK_TRANSFER, CRYPTO.

relationshipToCustomer
string

Relationship to the customer, e.g. FRIEND, SUPPLIER.

wireMessage
string

Default memo sent with wires.

addedToAccountsProvider
boolean

Registered with the payout provider.

statusAccountsProvider
string

Provider status: PENDING, ACTIVE, OPEN, CLOSED, FROZEN, EDD, DORMANT (plus _L2F variants). Only ACTIVE can be paid.

statusAccountsProviderUpdatedOn
string

ISO 8601 time of the last provider status change.

counterpartyId
string

Provider-side id. Opaque.

flag
string

Country name of the payout currency, for display.

invoiceMandatory
boolean

true when a transfer to this recipient must carry an invoice.

isNewKyc
boolean

Internal. Do not branch on it.

deleted
boolean

Always false in a list.

createdOn
string

ISO 8601 timestamp.

updatedOn
string

ISO 8601 timestamp.