Skip to main content
POST
Create a Treasury beneficiary

What this endpoint does

Creates a reusable individual or business recipient with BSB/account payout details and can validate optional Sumsub evidence in the same request.

When to use it

Create the beneficiary before the first payout. Supply externalReference only when your system already has a stable recipient identifier; otherwise Wayex generates one.

Before you call

Use a secret API key with treasury:write. Supply the required recipient and destination data. If a fresh end-client Sumsub share token is available or required by policy, send it in the input-only, single-use sumsub.shareToken field on this request.

Money and balance effect

This changes a resource or configuration but does not directly reserve, debit, credit, or settle wallet money.

States and completion

Creation does not guarantee a payout will pass current policy. Evidence, screening, limits, and balance are checked when the payout is submitted.

Safe retries

Send a unique Idempotency-Key for the logical action. If the response is lost, retry the same payload with the same key; never create a new key merely because the first response timed out. Read Beneficiaries and payouts for the complete workflow.

Authorizations

Authorization
string
header
required

Send the same Wayex API key as Authorization: Bearer <key>.

Headers

Idempotency-Key
string
required

A unique key for this logical action. Reuse the same key and identical payload when retrying after an unknown response.

Required string length: 8 - 255

Body

application/json
destination
object
required
type
enum<string>
required
Available options:
individual
firstName
string
required
Minimum string length: 1
lastName
string
required
Minimum string length: 1
dateOfBirth
string
required
address
string
required
Minimum string length: 1
partyContext
object
externalReference
string
Required string length: 1 - 512
sumsub
object

Response

201 - application/json
id
string
required
Minimum string length: 1
clientId
string
required
Minimum string length: 1
externalReference
string
required
Minimum string length: 1
destination
object
required
status
enum<string>
required
Available options:
active,
inactive
createdAt
string<date-time>
required
updatedAt
string<date-time>
required
type
enum<string>
required
Available options:
individual
firstName
string
required
Minimum string length: 1
lastName
string
required
Minimum string length: 1
dateOfBirth
string
required
address
string
required
Minimum string length: 1
partyContext
object
deactivatedAt
string<date-time>