Skip to main content
Securitize sends one POST per corporate action event to your account’s webhook endpoint. The body is the event envelope: what happened, to which object, at which version, with the object’s full state in data.

Webhooks

How every Securitize webhook is delivered: the headers, verifying the signature, acknowledging within 10 seconds, retries and your endpoint. Start there, then come back for what is specific to corporate actions.
A delivery that failed stays readable and resendable for 90 days (Replay and recover, at the webhooks base URL shared by every API).

Apply it exactly once

Delivery is at least once and can be out of order: retries repeat an event, and deliveries run in parallel, so a later version can arrive before an earlier one. Three rules make the handler correct whatever arrives: data is the whole object: replace what you hold, never merge. changedFields is there for your own diffing and notifications, not for applying the change. A handler that follows the three rules:
Branch on objectType to know what data is, and on eventType to know what happened: a corporate action (ca.action.*), a restriction (ca.restriction.*) or a token (ca.token.updated). Treat an eventType you do not know as “something changed on this object” and still apply data by version.

React to what matters

Most events need no action beyond storing them. The ones that do:

Your endpoint

By default the endpoint receives all eleven corporate action event types, next to the events of any other Securitize API your account uses; your Securitize contact can limit it to some. If you suspect a gap, check the event list against what you stored.