Campaign Events

Receive `CAMPAIGN.STATUS` events via webhook whenever an RCS campaign's per-carrier launch status (AT&T, T-Mobile, Verizon, other carriers) or verification status (AEGIS, Google) changes. Subscribe by attaching a webhook to an RCS agent sender — `CAMPAIGN.STATUS` is only supported for agent senders, not phone numbers. Attempting to attach this event to a phone number returns `400 Bad Request`. The payload includes the agent reference, the connected campaign and brand public ids, and the full `carrierLaunches` object. **Before trusting the payload, verify the `PINNACLE-SIGNING-SECRET` header matches the signing secret of the webhook this event was delivered to.** Respond with a `200` to acknowledge receipt — any non-2xx response causes Pinnacle to retry with exponential backoff.

Headers

PINNACLE-SIGNING-SECRETstringRequired
Secret for verifying the authenticity of the request. Starts with `pss-` and is unique for each webhook. Find it at [webhooks](https://app.pinnacle.sh/dashboard/development/webhooks).

Payload

The payload of this webhook request is an object.
typeenumRequired
Allowed values:
agentobjectRequired

The RCS agent the campaign-status update is for.

campaignobjectRequired
Reference to the connected campaign.
brandobjectRequired
Reference to the brand owning the agent's connected campaign.
carrierLaunchesobjectRequired

Resolved per-key launch status for the campaign’s agent. Carrier statuses live under carriers and verifier statuses under verification.

updatedAtstringRequiredformat: "date-time"
ISO 8601 timestamp of when the change was applied.

Response

200
Return a 200 status to indicate that the data was received successfully