Update Webhook
Partial update of a webhook, identified by webhookId, following JSON Merge Patch (RFC 7396) semantics. Fields omitted from the request body keep their stored value. null on signature or authentication explicitly clears the stored value (the attribute is dropped from the record). eventType and url may not be null — they're required to have a value once the webhook exists.
Reactivation is triggered when any of the following holds:
-
the request changes
url, -
the request changes
authentication(including clearing it vianull), or -
the stored record's status is
failed(in which case PATCH re-runs the activation handshake even when nothing about the configuration changes — this is the recovery path from a POST that returnedcreated_failed, or from a previous PATCH whose handshake failed).
When reactivation is triggered, the activation POST is re-run against the target URL. On a 2xx response the webhook moves back to pending and the response carries code: updated_not_verified; on a non-2xx response the request returns 400 and the stored record is left untouched (the prior active / pending / failed state is preserved). When no reactivation is required, the response carries code: updated and the stored status is unchanged.
Authorization
apiKey clientId In: header
In: header
Path Parameters
Unique identifier for the webhook.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Partial webhook update body. Follows JSON Merge Patch (RFC 7396) semantics: every field is optional, and omitted fields keep their stored value. null on signature or authentication explicitly clears the stored value (the attribute is removed from the record). Changing url or authentication (including clearing authentication) re-runs the activation handshake and returns updated_not_verified.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X PATCH "https://example.com/v2/webhooks/628fc8e2-ee7e-4779-9eb7-d980e7a92f3a" \ -H "Content-Type: application/json" \ -d '{ "signature": { "key": "a3f8c92e5d1b4f7a9e6c2d8b3f5a1c4e" } }'{
"status": 200,
"code": "updated_not_verified",
"detail": "string",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}{
"status": 400,
"code": "missing_fields",
"detail": "string",
"errors": [
{
"detail": "string",
"pointer": "string",
"parameter": "string",
"header": "string",
"code": "string"
}
]
}{
"status": 400,
"code": "missing_fields",
"detail": "string",
"errors": [
{
"detail": "string",
"pointer": "string",
"parameter": "string",
"header": "string",
"code": "string"
}
]
}{
"status": 400,
"code": "missing_fields",
"detail": "string",
"errors": [
{
"detail": "string",
"pointer": "string",
"parameter": "string",
"header": "string",
"code": "string"
}
]
}{
"status": 400,
"code": "missing_fields",
"detail": "string",
"errors": [
{
"detail": "string",
"pointer": "string",
"parameter": "string",
"header": "string",
"code": "string"
}
]
}{
"status": 429,
"detail": "string",
"code": "f5d62b05-370e-48be-a755-8675ca146431"
}{
"status": 400,
"code": "missing_fields",
"detail": "string",
"errors": [
{
"detail": "string",
"pointer": "string",
"parameter": "string",
"header": "string",
"code": "string"
}
]
}{
"status": 500,
"detail": "string",
"code": "unexpected_error"
}