Skip to main content
WEBHOOK

Headers

X-OpenFX-Signature
string
required

t=<unix-timestamp>,v1=<hex-hmac>: a hex-encoded HMAC-SHA256 signature computed over {timestamp}.{raw_body} (the exact bytes sent, not a re-serialized copy) using your organization's signing secret for that environment. Reject if t is more than 300 seconds from now, then verify v1 with a constant-time compare. See Webhook authentication. Dedup on the delivered event's id, not on this header.

Example:

"t=1735689600,v1=5257a869e7bfbe00e0be2007c1b7be16bb2ba57ee233b0d0c4de5d83b3f5e01d"

Body

application/json

The payout address now exists and every setup act has started: the one payments.payout_address.* event with a null data.previousStatus. data.status reports the rollup as it stood when the event was emitted, ordinarily PENDING.

For an address the subscriber created themselves this restates the create response, minus bankAccount and the name strings a delivery never carries. It earns its place when an address is created out of band or reaches a system that never saw the POST /v3/payments/payout-addresses call, and it is the only announcement of an address that has not yet settled.

object
string
required

The type of object represented, a fixed discriminator. Always "event" for this resource, and identical across every object of the type.

Allowed value: "event"
Example:

"event"

id
string
required

Event identifier, the client's dedup key for this delivery.

Pattern: ^evt_[1-9A-HJ-NP-Za-km-z]{21,22}$
Example:

"evt_5EdynMEiYSyiWAH9GpcbHp"

type
string
required

Resource noun this event is about, the plural of the resource segment in eventType. Route coarsely on this; switch on eventType for the specific transition.

Allowed value: "payout_addresses"
Example:

"payout_addresses"

eventType
string
required

Product-namespaced lowercase {product}.{resource}.{action} event type, the product segment mirroring the resource's URL, the one lowercase-enum exception on this platform (every other enum is SCREAMING_SNAKE).

Allowed value: "payments.payout_address.created"
Example:

"payments.payout_address.created"

createdAt
string<date-time>
required

Event timestamp.

Pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?Z$
Example:

"2026-06-04T10:30:00.000Z"

data
object
required

The PayoutAddress resource plus event-only context, embedded as data on every payments.payout_address.* webhook/event.

Where a verification act drove a status change, that act's result is in the payload. bankAccount and the acts' name strings are not delivered to webhook endpoints; read them from GET /v3/payments/payout-addresses/{payoutAddressId}.

Response

200

Return any 2xx to acknowledge receipt of the event.