Branded Calling webhooks
Follow a caller identity from Zernio review through the authorizer's code and carrier vetting to verified, and each attached number's own vetting.
Branded Calling events follow a caller identity and its numbers. Subscribe with POST /v1/webhooks/settings and the event names below (first event); delivery, retries and signatures are the same for every event (how webhooks behave).
Events
| Event | Description |
|---|---|
branded_calling.identity.status_updated | The identity changed status: review, filing, carrier vetting, verified, or a rejection, suspension or expiry. |
branded_calling.identity.action_required | The identity waits on you: answer a change request, confirm the authorizer's code, fix a rejection, or read an open claim. |
branded_calling.number.status_updated | A number attached to the identity changed vetting status. |
How it behaves
Events fire on status transitions
status_updated fires once per transition of the identity's status (the same value GET /v1/branded-calling/identities/{id} returns), never on a re-check that found nothing new. Zernio polls the carrier every 15 minutes while an identity or a batch of numbers is being vetted, so a carrier decision reaches you within that window.
action_required is the subset that needs you
Every action_required is paired with a status_updated. Its reason says what to do: changes_requested (answer the review points with PATCH), email_code (confirm the code the carrier emailed to the authorizer), rejected (fix the fields and PATCH to resubmit), infringement_claim (a trademark or impersonation claim paused the identity; nothing to do on your side while it is open), expired (the yearly renewal failed; edit and resubmit).
Numbers are vetted after the identity
Number events only start once the identity is verified and you attached numbers. A batch is vetted as a unit, and each number reports its own status: submitted, in_review, verified, unsuccessful, suspended, expired or permanently_rejected.
branded_calling.identity.status_updated
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
Example Requests
/branded_calling.identity.status_updatedbranded_calling.identity.action_required
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
Example Requests
/branded_calling.identity.action_requiredbranded_calling.number.status_updated
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
Example Requests
/branded_calling.number.status_updatedRelated
- Branded Calling: the whole flow, with every status.
- Call webhooks: the calls that carry the identity.
- Phone number webhooks: the number's own lifecycle.