Update a subscription
Replaces the full configuration of an existing subscription (full-replacement PUT semantics - send every field you want to keep, or it may be cleared/reset). The required enable_signed_webhooks also drives the signing lifecycle. Returns the updated subscription - including a new one-time signing secret only if this call just enabled signing on a previously-unsigned subscription.
Authorizations
API key passed as a Bearer token in the Authorization header: Authorization: Bearer <YOUR_API_KEY>.
Path Parameters
The subscription ID.
Body
Display name for the subscription (non-blank; unique per organization).
"Payment Events Webhook"
Destination endpoint that receives event POSTs. Must match ^https?://.*.
^https?://.*"https://api.example.com/webhooks/payments"
Whether deliveries are attempted (true) or paused (false).
true
HMAC signing toggle. Must be true or false (omitting it returns 400). On create, true generates a whsec_ signing secret returned once in the response; false creates an unsigned subscription. On update it also drives the signing lifecycle (enable or disable signing).
true
Event types to subscribe to, each in the case-sensitive Service.Event pattern (e.g. CallHandler.CallStarted). An empty array or ["*"] subscribes to all events.
[]Custom HTTP headers sent with each delivery (string->string map; e.g. auth tokens for your receiving endpoint).
{
"X-Custom-Header": "custom-value",
"Authorization": "Bearer your-api-token-here"
}Free-text description (max 1500 chars).
1500"Receives payment events with custom authentication"
Scope the subscription to specific agents (scope = AGENT).
Scope the subscription to specific workspaces (scope = WORKSPACE).
Response
OK. Includes a new secret only if this update just enabled signing.
Subscription ID. Required for GET / PUT / DELETE.
"6a27a76692d9e3a8ffd7e62d"
Owning organization (resolved from your API key).
"ddd6f1d8-b232-497e-bf1e-ea7317622d17"
Resolved delivery scope.
ORGANIZATION, WORKSPACE, AGENT "ORGANIZATION"
User that created the subscription.
"google-oauth2|101090478854418701727"
"Payment Events Webhook"
"https://api.example.com/webhooks/payments"
[]true
Custom HTTP headers forwarded with each delivery; omitted when unset.
{
"X-Custom-Header": "custom-value",
"Authorization": "Bearer your-api-token-here"
}Free-text description; omitted when unset.
"Receives payment events with custom authentication"
Agent scope; omitted when unset.
Workspace scope; omitted when unset.
Per-attempt delivery timeout in ms (default 1000).
1000
Delivery retry configuration.
Whether the subscription has a signing secret. Always present.
true
HMAC signing secret, prefixed whsec_. Present only at issuance when signing is enabled. Never returned by read endpoints.
"whsec_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
"2026-06-09T10:15:00.000Z"
"2026-06-09T10:15:00.000Z"

