Skip to main content
PATCH
/
webhook-endpoints
/
{endpointId}
Update webhook endpoint
curl --request PATCH \
  --url https://api.scripe.io/v1/webhook-endpoints/{endpointId} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "<string>",
  "url": "<string>",
  "events": [],
  "isActive": true,
  "projectId": "<string>"
}
'
{
  "data": {
    "id": "whe_a1b2c3d4e5f6g7h8",
    "url": "https://hooks.example.com/scripe",
    "name": "Production CRM",
    "events": [
      "post.created",
      "job.completed"
    ],
    "isActive": true,
    "disabledReason": "<string>",
    "projectId": "<string>",
    "secretLast4": "<string>",
    "createdAt": "2023-11-07T05:31:56Z",
    "updatedAt": "2023-11-07T05:31:56Z"
  }
}

Documentation Index

Fetch the complete documentation index at: https://apidocs.scripe.io/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

Pass Authorization: Bearer scripe_sk_live_<...> (or scripe_sk_test_<...> for test keys) on every request. Keys are scoped to a single workspace and can be revoked from the Scripe dashboard.

Headers

Scripe-Api-Version
string

Pin the API version. Format YYYY-MM-DD. Omit to receive the currently rolling default. Unknown versions return 400 version_unsupported.

Example:

"2026-08-01"

Path Parameters

endpointId
string
required
Example:

"whe_a1b2c3d4e5f6g7h8"

Body

application/json
name
string
Required string length: 1 - 128
url
string<uri>
Maximum string length: 1024
events
enum<string>[]
Minimum array length: 1

Closed list of subscribable events. Adding a new event name is a contract change — bump the docs + this enum in lockstep with the producer.

Available options:
note.created,
post.created,
post.updated,
post.scheduled,
post.unscheduled,
source.created,
job.completed,
job.failed,
knowledge.indexed
isActive
boolean
projectId
string | null

Response

Endpoint updated.

data
object
required

Display-safe shape of a webhook endpoint. The plaintext signing secret is never present here — only secretLast4. Use WebhookEndpointWithSecret (returned by create + rotate) when the plaintext matters.