Docs

Webhooks

Update a webhook

Change the URL, the events, the description, or switch the endpoint on or off.

PATCH/v1/webhooks/{uid}

Send only the fields to change; the rest stay as they are. Switching an endpoint on ("active": true) also clears its failure count, which is how a disabled endpoint is brought back once the receiver is fixed. While it is off, events that happen are not queued for it.

Authorization

Authorizationstringheaderrequired
Bearer followed by your API key: Bearer sgk_…. The key also works in an X-Api-Key header. See Authentication.

Path parameters

uidstringpathrequired
The webhook's 8-character id. Not case-sensitive.

Body

application/json
urlstring
A new URL, under the same rules as on create.
eventsarray of strings | null
A new subscription. null or [] means every pact event.
descriptionstring
A new description; "" clears it.
activeboolean
false stops deliveries; true resumes them and resets consecutive_failures.

Response

200 OKThe webhook as it now is.
uidstring
The endpoint's id: 8 letters and digits.
urlstring
Where events are posted: a public HTTPS URL.
descriptionstring | null
Your note on what it is for (100 characters at most).
eventsarray of strings | null
The event types it receives, or null for every pact event. A ping is delivered whatever this says.
activeboolean
Whether events are delivered to it. Switched off by you, by a 410 Gone answer, or after 10 failed deliveries in a row; switch it on again with Update a webhook.
consecutive_failuresinteger
Deliveries given up on since the last success. Resets to 0 on the next success.
last_statusinteger | null
The HTTP status of the last attempt. null before the first attempt, and when the last attempt got no response.
date_last_successstring (date-time) | null
When a delivery last got a 2xx.
date_disabledstring (date-time) | null
When it was switched off, while it is.
date_createdstring (date-time)
When it was added.
date_updatedstring (date-time)
When its settings or secret last changed.

Errors

StatusWhen
400 Bad RequestThe body is not a JSON object, a URL or event is invalid, or active is not a boolean.
401 UnauthorizedThe API key is missing, wrong or revoked.
403 ForbiddenThe account's plan does not include API access (Pro and Business do).
404 Not FoundNo webhook with that id belongs to your account.

Every error body is { "error": "message" }. See Errors.