Skip to content
Documentation

Update a webhook subscription

PUT
/v1/public-api/webhooks/{uuid}

Scope: webhooks:write. Changes name, URL, events and enabled state; the signing secret stays the same. Idempotency-Key is required.

Authorization

integrationKey
headerAuthorizationBearer <cf_sk_…>

Organization API key (cf_sk_…), created under Organization → API and automations → API keys and sent as Authorization: Bearer cf_sk_….

Path Parameters

uuid*string
Formatuuid

Header Parameters

Idempotency-Key*string
Lengthlength <= 200

Request Body

application/json
  1. body
name*string
Length1 <= length <= 120
url*string

Public HTTPS URL. Private addresses, redirects and DNS rebinding are blocked.

Formaturi
events*array<string>
Items1 <= items
enabled*boolean

Response Body

Success

application/json
  1. response
success*boolean
data*unknown
meta?
Example Request
curl -X PUT 'https://api.getclickfix.com/v1/public-api/webhooks/497f6eca-6276-4993-bfeb-53cbbbba6f08' \  -H 'Idempotency-Key: string' \  -H 'Content-Type: application/json' \  -d '{  "name": "ERP sync",  "url": "https://erp.example.com/clickfix/webhook",  "events": [    "conversation.created",    "conversation.resolved",    "message.received"  ],  "enabled": true}'
Example Response
{  "success": true,  "data": {    "uuid": "7a8b9c0d-1e2f-4a3b-8c4d-5e6f7a8b9c0d",    "name": "ERP sync",    "url": "https://erp.example.com/clickfix/webhook",    "events": [      "conversation.created",      "conversation.resolved",      "message.received"    ],    "enabled": true,    "created_at": "2026-11-01T10:00:00Z"  },  "meta": {    "request_id": "01JCK9ZQ3M8R2W7X5E4T1N0PAB"  }}