Get one event by id
GET /events/ — consulta un evento concreto por su ULID.
evt_… indicado. Cross-tenant devuelve 404 con el mismo envelope que un id que no existe — la existencia de eventos en otras orgs no es enumerable.Authorizations
Paste your Connect API key (sk_live_… for production, sk_test_… for sandbox) without the Bearer prefix. Mint and rotate keys from the admin panel.
Headers
Path Parameters
Event id as returned from list, beginning with evt_. Malformed ids that don't match an event return 404, NOT 400 -- the check is value-level, not format-level.
Response
Successful Response
A single event row in the partner-facing shape.
Stripe-style envelope: every event carries object='event' so a
polymorphic partner-side handler can dispatch on the discriminator.
The data field is the business payload verbatim (the JSONB
column on connect_events) -- no transformation between storage and
wire shape.
related_to and related_to_kind together identify the
principal object the event is about. They move as a pair (both set
or both null), enforced at the schema level by a CHECK constraint
in the migration; partner-side handlers can safely use one to
branch on the other.
ULID-shaped event id (evt_<26 base32 chars>). Stable for the lifetime of the event; safe to use as a client-side dedupe key alongside the polymorphic object discriminator.
Always event. The Stripe-style discriminator -- if a future API surface returns mixed object types in one envelope, partner handlers branch on this without having to parse the id prefix.
Event type, e.g. payment_intent.completed or address.deposit.received. The full v1 vocabulary lives in CONNECT.md; unknown values from a forward-compat newer API version should be ignored, not failed.
True for events produced in the live environment (sk_live_* key minted the intent / addresses), False for sandbox. Maps verbatim to the wire body's livemode field. Partner-side handlers should branch on this when downstream side-effects differ between modes (e.g. crediting a real merchant balance vs. a test one).
Payload schema version. v1 for the entire lifetime of this PR sequence. When the partner-visible payload shape changes incompatibly, this field bumps to v2 and old events stay readable at their original version.
Server timestamp when the event row was written. The ULID id's timestamp prefix gives approximate creation-order sort, but created_at is the authoritative wall-clock value for filtering and display.
The business payload. Shape depends on type: payment_intent.completed carries ref_code, amount, currency, address_receiver, address_sender, network, hash, status, metadata; address.deposit.received (when shipped) carries the same set minus ref_code. The full type-by-type payload reference lives in CONNECT.md.
UUID (rendered as a string) of the principal object the event is about. Set for every event type we ship today; the column is nullable for forward-compat with future event types that have no natural principal (e.g. account-wide system notifications).
Names the table related_to resolves into. v1 vocabulary: payment_intent | address. Always present iff related_to is. Future kinds (e.g. subscription, payout) will be added in lock-step with the corresponding event types.