Skip to main content
GET
/
v1
/
payouts
List payouts
curl --request GET \
  --url https://api.antonpayments.com/v1/payouts \
  --header 'Authorization: Bearer <token>' \
  --header 'DPoP: <api-key>'
{ "data": [ { "id": "pay_01HX8Z9K0M2N3P4Q5R6S7T8UAB", "merchant_id": "mer_01HX8Z9K0M2N3P4Q5R6S7T8UZZ", "beneficiary_id": "ben_01HX8Z9K0M2N3P4Q5R6S7T8UA1", "instrument_id": "ins_01HX8Z9K0M2N3P4Q5R6S7T8UA2", "status": "processing", "method": "sepa", "source_amount": "550.00", "source_currency": "USD", "dest_amount": "500.00", "dest_currency": "EUR", "exchange_rate": "0.9091", "fee": "5.00", "fee_currency": "USD", "fee_bearer": "merchant", "fixed_side": "fixed_dest", "total_debited": "557.50", "total_debited_currency": "USD", "fee_finalized": false, "buffer_amount": "2.50", "buffer_currency": "USD", "rail_type": "fiat", "rail_provider": "openpayd", "rail_reference": "OP-2026-04-15-778812", "network": "sepa", "purpose": "supplier_payment", "reference": "PO-8821", "created_at": "2026-04-15T14:30:00Z", "updated_at": "2026-04-15T14:30:05Z", "screened_at": "2026-04-15T14:30:02Z", "approved_at": "2026-04-15T14:30:04Z", "processed_at": "2026-04-15T14:30:05Z" } ], "has_more": true, "next_cursor": "<string>" }

Documentation Index

Fetch the complete documentation index at: https://docs.antonpayments.com/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

OAuth 2.0 client_credentials grant (RFC 6749 §4.4) bound to a DPoP keypair (RFC 9449).

Flow (every authenticated /v1 call requires both an access token AND a fresh per-request DPoP proof):

  1. Register a credential via the merchant portal. Anton issues a client_id (ant_oc_<env>_<32hex>) and a client_secret (ant_ocs_<env>_<48hex>, shown ONCE). The portal generates an ES256 or Ed25519 DPoP keypair in your browser; you store the private half.
  2. Mint an access token: POST /oauth/token with Authorization: Basic <client_id:client_secret> and Content-Type: application/x-www-form-urlencoded. Body: grant_type=client_credentials. A DPoP header carrying a proof signed for the token endpoint is required (no ath claim on this proof).
  3. Use the token: send Authorization: DPoP <access_token> plus a fresh DPoP: <proof> header on every /v1 request. The proof JWT MUST carry htm (request method), htu (request URL, no query/fragment), iat (within ±60s), jti (unique within 5 min), and ath (SHA-256 of the access token, base64url).

Tokens expire in 1 hour in production / staging and 8 hours in sandbox. There are no refresh tokens — call /oauth/token again with your secret. Anton's public signing key is published at /.well-known/jwks.json.

OpenAPI 3.0 has no native DPoP scheme; this declaration plus dpopHeader together convey both the access-token Authorization and the per-request proof header.

DPoP
string
header
required

Per-request DPoP proof JWT (RFC 9449). MUST accompany the Authorization: DPoP <access_token> header on every protected operation. The proof is signed by the merchant's private DPoP key and carries htm, htu, iat, jti, and ath claims.

Query Parameters

limit
integer
default:20

Items per page. Maximum 100.

Required range: 1 <= x <= 100
cursor
string

Opaque cursor returned by a previous list response. Omit for the first page.

status
enum<string>[]

Filter by one or more statuses. Repeat the param to pass multiple values.

Payout lifecycle state. See the How Anton Evaluates Payouts guide for the full state machine and integration guidance.

Available options:
created,
pending_screening,
screening_failed,
pending_approval,
approved,
processing,
sent,
completed,
failed,
returned,
cancelled,
manual_review,
velocity_blocked,
pending_engine_review
beneficiary_id
string
Pattern: ^ben_[a-zA-Z0-9]+$
instrument_id
string
Pattern: ^ins_[a-zA-Z0-9]+$
batch_id
string
Pattern: ^bat_[a-zA-Z0-9]+$
dest_currency
string

ISO 4217 three-letter currency code.

Pattern: ^[A-Z]{3}$
Example:

"USD"

reference
string

Exact-match filter on the merchant's reference field.

created_after
string<date-time>

RFC 3339 timestamp. Returns payouts with created_at >= this. RFC 3339 / ISO 8601 timestamp in UTC.

Example:

"2026-04-15T14:30:00Z"

created_before
string<date-time>

RFC 3339 timestamp. Returns payouts with created_at <= this (inclusive upper bound — matches /v1/batches). RFC 3339 / ISO 8601 timestamp in UTC.

Example:

"2026-04-15T14:30:00Z"

Response

Paginated list of payouts.

data
object[]
required

Array of results for this page. Element schema varies by endpoint.

has_more
boolean
required

Whether more results exist beyond this page.

next_cursor
string

Cursor for the next page. Present only when has_more is true.