List events (the same objects delivered by webhooks)
/eventsYour events, newest first. An event is written each time a payment, payout, transfer or exchange reaches a new
status — from every channel: the API's, the portal's, a batch file's and the legacy /v1 contract's. Its data
is the resource exactly as its own GET read at that moment. Use it for reconciliation, or — until webhook
delivery ships — as the way to learn outcomes without polling every resource. Events are retained for 30 days.
A status the resource passed through between two observations may not get an event of its own (a transfer can
go from pending to completed with only the latter recorded); the terminal ones always do. Payout and
transfer events follow the ledger within about a minute. Requires webhooks:read.
Parameters
limitintegerqueryDefault:
20≥ 1 · ≤ 100
cursorstringqueryOpaque cursor from a previous page'snextCursor.max length 512
createdAfterstring (date-time)queryInclusive lower bound oncreatedAt.createdBeforestring (date-time)queryExclusive upper bound oncreatedAt.typestringqueryAllowed values:
payment.pendingpayment.processingpayment.completedpayment.failedpayment.expiredpayment.cancelledpayment.refundedpayout.pendingpayout.processingpayout.completedpayout.failedpayout.cancelledtransfer.pendingtransfer.completedtransfer.failedfx_exchange.pendingfx_exchange.processingfx_exchange.completedfx_exchange.failedfx_exchange.cancelledresourceIdstringqueryOnly events about this resource — itsidas its ownGETreturns it (pay_…,fx_…, ortxn_…for a payout or transfer).max length 64
Responses
A page of events.
Headers
X-Request-IdstringThe client'sX-Request-Idif supplied, otherwise a server-generated id. EqualstraceIdin problems.RateLimit-LimitintegerRateLimit-RemainingintegerRateLimit-ResetintegerSeconds until the window resets.
Schema application/json
objectstringrequiredAllowed values:
listdataarray<Event>objectstringrequiredAllowed values:
eventidstringrequiredStable across retries — deduplicate on this.Example:
evt_019985c24a6e7c3b9f102d5e8a1b3c4dpattern ^evt_[0-9a-f]{32}$
typestringrequiredAllowed values:
payment.pendingpayment.processingpayment.completedpayment.failedpayment.expiredpayment.cancelledpayment.refundedpayout.pendingpayout.processingpayout.completedpayout.failedpayout.cancelledtransfer.pendingtransfer.completedtransfer.failedfx_exchange.pendingfx_exchange.processingfx_exchange.completedfx_exchange.failedfx_exchange.cancelledversionstringrequiredEnvelope version. Additive changes — a new field, a new event type, a new enum value — never bump it.Allowed values:
1createdAtstring (date-time)requiredRFC 3339, UTC, with millisecond precision.Example:
2026-09-18T10:15:30.123ZdataobjectrequiredThe full resource asGETwould return it at the time of the event.deliveryobjectHow the event's delivery to your webhook stands. Present inGET /eventsresponses, never in the delivered payload — and absent for an intermediate status (only outcomes are delivered) and when your webhook did not take native v2 events when the event happened.failingis retrying after a failed attempt;exhaustedran out of retries.
hasMorebooleanrequirednextCursorstringnullablePass ascursorto fetch the next page.nullwhenhasMoreis false.