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 '{}'
{
  "ok": true,
  "meta": {
    "request_id": "req_clxxxxxxxxxxxxxxxxxxxxxxxxx"
  },
  "data": {
    "id": "whk_clxxxxxxxxxxxxxxxxxxxxxxxxx",
    "name": "Acme inbound forwarder",
    "url": "https://hooks.acme.com/sendmux",
    "event_types": [
      "message.bounced",
      "message.received"
    ],
    "filters": {
      "mailbox_ids": [
        "mbx_clxxxxxxxxxxxxxxxxxxxxxxxxx"
      ]
    },
    "enabled": true,
    "failing": false,
    "created_at": "2026-04-23T09:12:00Z",
    "updated_at": "2026-04-23T09:12:00Z"
  }
}

Authorizations

Authorization
string
header
required

Sendmux API key. Use a root API key for Management API routes, or a mailbox credential for Mailbox API routes. Obtain keys from the dashboard under API Keys.

Headers

If-Match
string

Weak ETag from a prior GET. Reject with 409 conflict when the server's current ETag differs.

Path Parameters

public_id
string
required

Webhook public ID

Body

application/json
name
string | null

Replace the human-friendly label. Send null to clear it; omit to leave unchanged.

Maximum string length: 255
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:
message.delivered,
message.bounced,
message.complained,
message.rejected,
message.delivery_delayed,
message.received,
message.received.spam,
sendmux.test
filters
object

Replaces the full delivery scope. Omit to leave unchanged; pass an empty mailbox_ids array for all team mailboxes.

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
meta
object
required
data
object
required