Skip to main content
GET
/
v1
/
webhooks
/
events
/
{id}
Retrieve a webhook event
curl --request GET \
  --url https://api.antonpayments.com/v1/webhooks/events/{id} \
  --header 'Authorization: Bearer <token>' \
  --header 'DPoP: <api-key>'
{
  "id": "<string>",
  "merchant_id": "<string>",
  "payload": {},
  "created_at": "2026-04-15T14:30:00Z"
}

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.

Path Parameters

id
string
required
Pattern: ^evt_[a-zA-Z0-9]+$

Response

Event with full payload.

A single webhook event record. The payload is the event-specific shape documented in Webhook Events.

id
string
required
Pattern: ^evt_[a-zA-Z0-9]+$
merchant_id
string
required
Pattern: ^mer_[a-zA-Z0-9]+$
type
enum<string>
required

See Webhook Events for the full catalog and payload shapes. Some reserved event types (balance.low on some paths) may be defined but not yet dispatched — subscribing to them is safe but no deliveries arrive until they're wired up.

Available options:
payout.created,
payout.approved,
payout.processing,
payout.sent,
payout.completed,
payout.failed,
payout.cancelled,
payout.returned,
payout.screening_failed,
payout.velocity_blocked,
beneficiary.created,
beneficiary.updated,
beneficiary.deleted,
beneficiary.blocked,
instrument.created,
instrument.updated,
instrument.deleted,
batch.uploaded,
batch.completed,
batch.failed,
fx.quote.created,
fx.exchange.created,
fx.exchange.completed,
fx.exchange.failed,
funding.credit,
screening.hit,
balance.low,
test
payload
object
required

Event-specific payload. See the Webhook Events catalog.

created_at
string<date-time>
required

RFC 3339 / ISO 8601 timestamp in UTC.

Example:

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