Skip to main content
PATCH
/
webhook-endpoints
/
{endpointId}
Update a webhook endpoint
curl --request PATCH \
  --url https://voice.growdental.ai/api/partner/v1/webhook-endpoints/{endpointId} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "url": "<string>",
  "enabled_events": []
}
'
{
  "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "url": "<string>",
  "enabled_events": [],
  "failure_count": 123,
  "created_at": "2023-11-07T05:31:56Z",
  "updated_at": "2023-11-07T05:31:56Z"
}

Authorizations

Authorization
string
header
required

Partner API key sent as a Bearer token:

Authorization: Bearer gd_live_...

Keys are issued by the GrowDental team (invite-only), shown once at creation, and stored server-side only as a SHA-256 hash. Key format: gd_live_ (or gd_test_) followed by a 43-character base62 secret (~256 bits of entropy). To rotate, request a new key, deploy it, then ask us to revoke the old one — both keys work during the overlap.

Path Parameters

endpointId
string<uuid>
required

Webhook endpoint ID.

Body

application/json

All fields optional (at least one required); only provided fields change.

url
string<uri>
Maximum string length: 500
enabled_events
enum<string>[]
Minimum array length: 1

Event types deliverable to webhook endpoints. call_attempt.resolved and appointment.booked are planned (Phase 2) — valid to subscribe to now, but not yet emitted.

Available options:
call.completed,
call.recording.ready,
call_request.completed,
call_attempt.resolved,
appointment.booked
status
enum<string>

Set to active to re-enable an auto-disabled endpoint.

Available options:
active,
disabled

Response

The updated endpoint.

id
string<uuid>
required
url
string<uri>
required
enabled_events
enum<string>[]
required

Event types deliverable to webhook endpoints. call_attempt.resolved and appointment.booked are planned (Phase 2) — valid to subscribe to now, but not yet emitted.

Available options:
call.completed,
call.recording.ready,
call_request.completed,
call_attempt.resolved,
appointment.booked
status
enum<string>
required

disabled endpoints receive no deliveries. Endpoints are auto-disabled after sustained delivery failures; re-enable via PATCH once your receiver is healthy.

Available options:
active,
disabled
failure_count
integer
required

Consecutive failed deliveries; resets on success.

created_at
string<date-time>
required
updated_at
string<date-time>
required