Skip to main content
POST
Create a transfer recipient

More is required than looks likely

relationship, email, and a full address are required, because payout providers ask for them. Omitting them here is not a shortcut — it produces a recipient that cannot be turned into a destination, and the refusal arrives later as 422 recipient_profile_incomplete. The name fields depend on type:
The recipient address is not shaped like a customer address. There is no line2, both state and stateOrProvince are accepted, and line1 and city need at least two characters.

Error codes

Authorizations

Authorization
string
header
required

A secret API key, sent as Authorization: Bearer sk_test_… in sandbox or Bearer sk_live_… in live.

Body

application/json
type
enum<string>
required

Decides which name fields are required.

Available options:
individual,
business
displayName
string
required

What you call this recipient. Shown on destinations and transfers.

Required string length: 2 - 200
relationship
string
required

How this recipient relates to you, such as vendor or supplier. Required — payout providers ask for it.

Required string length: 2 - 80
email
string<email>
required

Required. Payout providers ask for it.

address
object
required
firstName
string

Required when type is individual.

Maximum string length: 100
lastName
string

Required when type is individual.

Maximum string length: 100

Required when type is business.

Maximum string length: 200
phoneNumber
string
Maximum string length: 24

Response

Successful response.

id
string
required

A 26-character ULID.

Required string length: 26
Pattern: ^[0-7][0-9A-HJKMNP-TV-Z]{25}$
Example:

"01K2Z3AB4C5D6E7F8G9HJKMNPQ"

type
enum<string>
required
Available options:
individual,
business
displayName
string
required
relationship
string | null
required
email
string<email> | null
required
phoneNumber
string | null
required
address
object | null
required
defaultPaymentDetailId
string | null
required

A 26-character ULID.

Required string length: 26
Pattern: ^[0-7][0-9A-HJKMNP-TV-Z]{25}$
Example:

"01K2Z3AB4C5D6E7F8G9HJKMNPQ"

paymentDetails
object[]
required
createdAt
string<date-time>
required
Example:

"2026-08-14T09:00:00.000Z"