Every event we can send to your webhook, grouped by service area. Subscribe to types by name, or to a whole service area.
The event envelope
Every webhook POST carries one event as JSON. The envelope is the same for every type; data is the type's payload, shown for each type below. Check the Webhook-Signature header before trusting it: how to verify a signature.
id
string required
evt_…. Unique per event; deliveries can repeat, so de-duplicate on it.
The product area a notification belongs to; platform is the account itself.
One of voiceconnectivityhostingiotplatform
organisationId
string (uuid) required
The organisation the event is about.
Example 0f8b6c1e-5a2d-4c7e-9b3a-2d1e6f4a7c90
occurredAt
string (date-time) required
When the change took effect.
Example 2026-09-25T09:12:44Z
data
object required
The type's payload; see the notification catalogue.
Example {"iccid":"8944110068212345678","label":"Car park barrier 3","planId":"5b0e4f2a-8c1d-4e6f-9a3b-7d2c1e0f4a61","allowanceBytes":1073741824,"usedBytes":1073741824,"periodEnd":"2026-10-01T00:00:00Z"}
A SIM stopped passing data, sent once the network has applied it. reason says why: customerPause (you paused it), nonPayment (a payment failed) or provider (our operations team). A SIM stopped for using its allowance sends iot.sim.allowance_reached instead.
A paused or suspended SIM is passing data again, sent once the network has applied it. previousReason says why it had stopped: customerPause, nonPayment or provider.
A SIM was permanently ceased and has stopped passing data. Sent when the cease takes effect on the network, which for a cease dated in the future is that date.
A SIM passed a threshold of its data allowance for the period: 80%, and 100% for a SIM that carries on at overage rates rather than pausing. Each threshold is sent once per period. SIMs in a shared data pool are not sent this individually.