sendsend.email

Update a webhook endpoint

PATCH/v1/webhooks/{id}

Change where the endpoint points or which events it receives. Its secret and delivery history are kept. The new URL goes through the same safety checks as when you create one.

Required scope: webhooks:manage

Parameters

NameInDescription
idrequiredpathThe webhook endpoint id.

Request body

FieldType
urloptionalstring
endpointoptionalstring
eventsoptional"email.sent" | "email.delivered" | "email.bounced" | "email.complained" | "email.failed" | "email.opened" | "email.clicked" | "email.delivery_delayed" | "email.scheduled" | "email.suppressed" | "email.received"[]

Unknown fields are rejected, so a typo never silently does nothing.

Example

curl -X PATCH 'https://api.sendsend.email/v1/webhooks/ID' \
  -H "Authorization: Bearer $SENDSEND_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
  "events": [
    "email.bounced",
    "email.complained"
  ]
}'

Response 200

{
  "id": "whe_3Hq…",
  "object": "webhook_endpoint",
  "url": "https://acme.com/hooks/sendsend",
  "events": [
    "email.bounced",
    "email.complained"
  ],
  "active": true,
  "created_at": "2026-10-06T15:00:00.000Z"
}

Errors

StatusCodeWhen
400validation_errorThe request body or parameters are invalid. The message says which field.
404not_foundNo such resource in this project.
401unauthorizedThe API key is missing, invalid or revoked.
403forbiddenThe key does not have the scope this endpoint needs.

Every error has the same shape. See Errors.