Skip to main content
PATCH
Update Webhook Endpoint

Authorizations

Authorization
string
header
required

API key in the Authorization header: Bearer qr_live_… or Bearer qr_test_…. Token endpoints take a Clerk session JWT instead.

Path Parameters

id
string
required

Body

application/json

All fields are optional; supply only those you want to change. At least one field is required.

url
string<uri>

New destination URL. Must resolve to a publicly routable host.

Maximum string length: 2048
events
enum<string>[]
Minimum array length: 1
Available options:
qr.created,
qr.updated,
qr.deleted,
qr.scanned,
batch.completed,
batch.failed,
*
description
string | null

Set to null to clear the description.

Maximum string length: 500
status
enum<string>

Set to enabled to re-enable a manually or automatically disabled endpoint (resets consecutive failure count to zero).

Available options:
enabled,
disabled

Response

Updated webhook endpoint

id
string
Example:

"whe_aB3dE5fG7hI9jK1m"

object
string
Example:

"webhook_endpoint"

url
string<uri>
Example:

"https://example.com/webhooks/qrkit"

description
string | null
events
string[]
Example:
source
enum<string>

Who manages this endpoint. Set at creation, immutable afterwards. Endpoint caps are counted per source.

Available options:
api,
zapier,
make,
n8n
status
enum<string>

auto_disabled is set automatically after sustained delivery failures. Re-enable with PATCH /webhooks/{id} { "status": "enabled" }.

Available options:
enabled,
disabled,
auto_disabled
secret
string

Full whsec_… value returned only on create (POST /webhooks) and secret rotation (POST /webhooks/{id}/rotate-secret). All other reads return the masked form whsec_…XXXX.

Example:

"whsec_…a1b2"

last_success_at
string<date-time> | null
last_failure_at
string<date-time> | null
created_at
string<date-time>
updated_at
string<date-time>