Create a webhook subscription
POST /api/v1/sites/{siteId}/outreach/webhooks
Create a webhook subscription so Sight AI POSTs outreach events to your endpoint. Used by app integrations after the OAuth flow completes — your app gets an access token, then calls this endpoint to register its webhook URL and choose which events to receive.
Required headers
Request body
Response
201 Created
secret is the HMAC signing secret. Copy it now — it’s never shown again. You’ll use it to verify the SightAI-Signature header on incoming webhooks. The subscription object returned (and all subsequent reads) only includes secret_prefix, never the full secret.
When the caller is an OAuth token, created_by_oauth_client_id is stamped with the owning client so revoking that client cascades to delete this subscription. For API-key callers, it’s null.
Error responses
Example
List webhook subscriptions
GET /api/v1/sites/{siteId}/outreach/webhooks
List all webhook subscriptions for a site. Returns the safe shape (no plaintext secrets).
Response
webhooks:read scope.
Delete a webhook subscription
DELETE /api/v1/sites/{siteId}/outreach/webhooks/{id}
Delete a webhook subscription. The subscription’s delivery history is cascaded (deleted automatically). Requires the webhooks:write scope.
Response
404 NOT_FOUND if the subscription doesn’t exist or doesn’t belong to the site.
Revoking an app’s access
To revoke an app integration’s access entirely (all its subscriptions + tokens), delete its OAuth client in Integrations → Sight AI API → OAuth apps. This cascades to delete every webhook subscription that client created and revokes its outstanding access/refresh tokens. See Webhooks for the full OAuth flow.Subscription management is API-only — there is no dashboard form. The only dashboard surface for revoking a platform’s webhooks is deleting its OAuth client.