Skip to main content
WEBHOOK

Authorizations

Authorization
string
header
required

OAuth 2.0 client credentials. Exchange the client id and secret Securitize issued you for a bearer token at the token URL, with grant_type=client_credentials; the token lasts 2 hours and goes in the Authorization: Bearer header of every request. No scope is needed.

Body

application/json

The body of every webhook, and the payload of every item of GET /webhook-events.

eventType
enum<string>
required
Available options:
investor.deposit.processed,
investor.minting.completed,
investor.transaction.processed,
investor.redemption.pending,
investor.redemption.confirmed,
investor.payout.initiated,
investor.payout.completed
Allowed value: "investor.deposit.processed"
eventId
string
required

One per event, the same on every retry: the deduplication key. <eventType>-<id>. Not the svix-id header, which is the message id.

Example:

"investor.deposit.processed-99001"

timestamp
string<date-time>
required

When Securitize sent the event. The business time is in data.

data
object
required

A cash movement, as on GET /deposits/{depositId}. A key with no value is left out.

Response

200

Any 2xx within 15 seconds acknowledges the delivery. Anything else, or no answer, is retried with increasing delays for about a day.