Skip to main content
PATCH
/
webhooks
/
{public_id}
Update a webhook subscription
curl --request PATCH \
  --url https://app.sendmux.ai/api/v1/webhooks/{public_id} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "url": "<string>",
  "event_types": [
    "ses.bounce"
  ],
  "enabled": true
}
'
{
  "ok": true,
  "data": {
    "id": "twhk_clxxxxxxxxxxxxxxxxxxxxxxxxx",
    "url": "https://hooks.acme.com/sendmux",
    "event_types": [
      "ses.bounce",
      "ses.complaint"
    ],
    "enabled": true,
    "failing": false,
    "created_at": "2026-04-23T09:12:00Z",
    "updated_at": "2026-04-23T09:12:00Z"
  },
  "meta": {
    "request_id": "req_clxxxxxxxxxxxxxxxxxxxxxxxxx"
  }
}

Authorizations

Authorization
string
header
required

Sendmux API key. Obtain from the dashboard under API Keys. Format: smx_root_...

Path Parameters

public_id
string
required

Webhook public ID

Body

application/json
url
string<uri>

New HTTPS endpoint. Must be https://.

event_types
enum<string>[]

Replaces the full event-type list. At least one must be provided.

Minimum array length: 1

Event types a webhook may subscribe to. sendmux.test is accepted so you can verify end-to-end delivery via POST /webhooks/{id}/test.

Available options:
ses.bounce,
ses.complaint,
ses.delivery,
ses.reject,
ses.delivery_delay,
mail.inbound,
sendmux.test
enabled
boolean

When toggled from false to true, also clears the failing flag — retry deliveries resume on the next matching event.

Response

Updated subscription

ok
enum<boolean>
required
Available options:
true
data
object
required
meta
object
required