Skip to main content
POST
Create a single payout (mock)

Authorizations

Authorization
string
header
required

API key authentication. Send your API key as: Authorization: Bearer <your_api_key>

Headers

Idempotency-Key
string | null
X-Mock-Outcome
string | null
X-Mock-Outcome-At
string | null

Body

application/json

Request body for POST /v1/payouts.

amount
required

Positive decimal amount.

Required range: x > 0
currency
string
required

ISO 4217 code, uppercase.

Required string length: 3
country
string
required

ISO 3166-1 alpha-2.

Required string length: 2
external_id
string
required
Required string length: 1 - 80
beneficiary
Beneficiary · object
required

Beneficiary fields. Per-country shape is enforced by CreatePayoutRequest.

We keep bank_account typed as a generic dict here and do the per-country discrimination on the parent (where country is available). This avoids Pydantic's discriminator gotchas and produces cleaner error messages.

description
string | null
Maximum string length: 200
payment_method_id
string | null

Defaults to the country's default method if omitted.

payroll_ref
PayrollRef · object | null

Free traceability block linking a payout back to a payroll calculation.

Engine is stateless in v1, so calculation_id is informational only.

notification_url
string<uri> | null

HTTPS only. Receives signed webhook events on every status change.

Required string length: 1 - 2083
metadata
Metadata · object

≤20 keys, string values ≤500 chars.

processing
ProcessingOptions · object | null

Mock-only request knobs that control transition timing.

Response

Idempotent replay — existing payout returned.