Skip to content

Update a webhook endpoint

PATCH/v1/webhook_endpoints/{id}

Setting status to enabled also clears a failing state.

Send your API key as a bearer token in the Authorization header. Secret API key: Authorization: Bearer ctp_live_sk_…. A publishable key (ctp_…_pk_…) is accepted by these operations only, which serve reference data: getRate, listAssets, listNetworks (each marked x-publishable-key: true). Every other operation refuses it with 403 publishable_key_not_allowed, whatever Origin the request carries: that header binds browsers, not other clients, and nothing on this API relies on it.

Name Type Description
id required string At most 100 characters.
Field Type Description
url string At least 8 characters, at most 2048 characters.
events array of strings Event types to receive, or ["*"] for every event. At least 1 item, at most 64 items.
description string or null null removes the description.
status string One of enabled, disabled.
Terminal window
curl -X PATCH "https://api.ctpeway.com/v1/webhook_endpoints/{id}" \
-H "Authorization: Bearer $CTPEWAY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"events": [
"*"
]
}'
Field Type Description
id string 24 hexadecimal characters.
url string
description optional string
events array of strings Event types this endpoint receives, or ["*"] for all.
status string failing: a delivery ran out of retries; deliveries continue. disabled: nothing is sent. One of enabled, disabled, failing.
secret_last4 string Last four characters of the signing secret.
previous_secret_expires_at optional string (date-time) After a rotation: until then deliveries are also signed with the previous secret.
failing_since optional string (date-time)
last_success_at optional string (date-time)
livemode boolean
created_at string (date-time)
updated_at string (date-time)
{
"id": "0123456789abcdef01234567",
"url": "string",
"description": "string",
"events": [
"string"
],
"status": "enabled",
"secret_last4": "string",
"previous_secret_expires_at": "2026-01-01T00:00:00.000Z",
"failing_since": "2026-01-01T00:00:00.000Z",
"last_success_at": "2026-01-01T00:00:00.000Z",
"livemode": true,
"created_at": "2026-01-01T00:00:00.000Z",
"updated_at": "2026-01-01T00:00:00.000Z"
}

The values are placeholders generated from the schema. They show the shape, not real data.

A failed request answers with the error format described under Errors.

Besides the codes any endpoint can return, this endpoint can answer with these code values: