/v1/webhooks endpoints. Event names do not change, but the payload shape, the signature headers, and the signing secret do.
What changes
Update your endpoint
Before you enable a new webhook, make these changes:- Parse the new payloads. See Webhook event payloads.
- Verify the new signature headers. Code that verifies the legacy
OpenPhone-Signatureheader rejects every new delivery. See Validate webhook signatures.
Migrate a v1 API webhook
1
Find your legacy webhooks
Call
GET /v1/webhooks to get the URL, events, and resourceIds of each webhook. You can combine webhooks that send to the same URL into one new webhook.2
Create the replacement, disabled
key field from the response. It is the new signing secret.3
Test your endpoint
For each event type that you subscribe to, send a test event with
POST /webhooks/:id/events/test. Put the event type in eventType, for example { "eventType": "message.received" }.Quo sends a signed request with sample data to your URL. Make sure that your endpoint verifies the signature and returns a 2xx response. GET /webhooks/:id/events shows each test delivery and the response from your endpoint.4
Switch to the replacement
Delete the legacy webhook, then enable the replacement immediately. Events that occur between the two calls are not delivered.