Update webhook subscription

Updates an existing webhook subscription.

Authentication

AuthorizationBearer

Bearer authentication of the form Bearer <token>, where token is your auth token.

Path parameters

subscriptionIdstringRequired
Webhook subscription ID.

Headers

X-Tenant-IdstringRequired
Tenant context used for authorization and routing.
Idempotency-KeystringOptional

Optional client-generated idempotency token (recommended for safe retries).

X-Request-TimestampstringRequired

Unix seconds. Required on the signed host; tolerance is 300s either way (403 request_timestamp_skew).

X-Content-SHA256stringRequired

Lowercase hex SHA-256 of the body. An empty body hashes the empty string, so the header is always present. Mismatch returns 400 body_hash_mismatch.

X-Request-SignaturestringRequired

Detached JWS (<protected>..<signature>, ES256 or PS256) over METHOD\nPATH?QUERY\nTIMESTAMP\nIDEMPOTENCY_KEY_OR_EMPTY\nX_CONTENT_SHA256.

Request

This endpoint expects an object.
urlstringOptionalformat: "uri"
eventTypeslist of stringsOptional
activebooleanOptional
Enable or disable the subscription.
authTypeenumOptional

Omit to leave authentication untouched. Send NONE to delete the stored HMAC key and stop signing deliveries. Any value other than HMAC or NONE is rejected.

Allowed values:
secretstringOptional

New HMAC key. The current key is never returned, so leaving this out keeps it as is — send a value only to rotate the key.

Response

Webhook subscription updated.
subscriptionIdstring
Unique subscription identifier.
tenantIdstring
Tenant that owns this subscription.
urlstringformat: "uri"
URL that receives webhook events.
activeboolean
Whether the subscription is active.
eventTypeslist of stringsOptional
Event types this subscription receives.
authTypeenumOptional
Authentication applied to delivery.
hmacSecretSetbooleanOptional
Whether an HMAC key is stored. The key itself is never returned by any endpoint.
createdAtdatetimeOptional
updatedAtdatetimeOptional
accountIdstring or nullOptional

Account this subscription is bound to. null means tenant-wide: it receives every account’s events.

Errors

400
Bad Request Error
404
Not Found Error
500
Internal Server Error