Skip to main content
PATCH
/
api
/
post-call-webhooks
/
{id}
curl -X PATCH "https://api.zudu.ai/api/post-call-webhooks/webhook_abc123def456" \
  -H "X-API-KEY: sk_Abc123Def456Ghi789Jkl012Mno345Pqr678Stu901Vwx234Yz" \
  -H "X-API-SECRET: s3cr3t_Xyz789Abc123Def456Ghi789Jkl012Mno345Pqr678Stu901Vwx234" \
  -d '{
    "name": "Updated Webhook Name",
    "url": "https://new-url.com/webhook",
    "description": "Updated description",
    "is_active": false
  }'
{
  "message": "Post-call webhook updated successfully",
  "status": "success",
  "error": null,
  "data": {
    "id": "webhook_abc123def456",
    "organization_id": "org_1234567890",
    "name": "Updated Webhook Name",
    "url": "https://new-url.com/webhook",
    "description": "Updated description",
    "is_active": false,
    "created_at": "2024-01-15T10:30:00Z",
    "updated_at": "2024-01-15T11:00:00Z"
  }
Update a post-call webhook configuration. Only provided fields will be updated; fields not included in the request will remain unchanged.
curl -X PATCH "https://api.zudu.ai/api/post-call-webhooks/webhook_abc123def456" \
  -H "X-API-KEY: sk_Abc123Def456Ghi789Jkl012Mno345Pqr678Stu901Vwx234Yz" \
  -H "X-API-SECRET: s3cr3t_Xyz789Abc123Def456Ghi789Jkl012Mno345Pqr678Stu901Vwx234" \
  -d '{
    "name": "Updated Webhook Name",
    "url": "https://new-url.com/webhook",
    "description": "Updated description",
    "is_active": false
  }'
{
  "message": "Post-call webhook updated successfully",
  "status": "success",
  "error": null,
  "data": {
    "id": "webhook_abc123def456",
    "organization_id": "org_1234567890",
    "name": "Updated Webhook Name",
    "url": "https://new-url.com/webhook",
    "description": "Updated description",
    "is_active": false,
    "created_at": "2024-01-15T10:30:00Z",
    "updated_at": "2024-01-15T11:00:00Z"
  }

Path Parameters

id
string
required
The ID of the webhook to update (format: webhook_...)Example: webhook_abc123def456

Headers

X-API-KEY
string
required
Your API key (format: sk_...)
X-API-SECRET
string
required
Your API secret (format: s3cr3t_...)

Request Body

All fields are optional. Only provided fields will be updated.
name
string
Update the webhook nameExample: "Updated Webhook Name"
url
string
Update the webhook URL (must be HTTPS)Example: "https://new-url.com/webhook"
description
string
Update the webhook descriptionExample: "Updated description"
is_active
boolean
Update the webhook active status
  • true: Activate the webhook
  • false: Deactivate the webhook
Note: Inactive webhooks cannot be assigned to agentsExample: false

Response Fields

id
string
Unique webhook identifier
organization_id
string
The organization ID the webhook belongs to
name
string
Updated webhook name
url
string
Updated webhook URL
description
string
Updated webhook description
is_active
boolean
Updated active status
created_at
string
ISO 8601 timestamp when the webhook was created
updated_at
string
ISO 8601 timestamp when the webhook was last updated

Error Responses

error
string
Bad Request - Validation error
{
  "message": "Validation error",
  "status": "error",
  "error": "Webhook URL must be HTTPS"
}
error
string
Unauthorized - Missing or invalid API key/secret
error
string
Not Found - Webhook does not exist
{
  "message": "Post-call webhook not found",
  "status": "error",
  "error": "Webhook with ID 'webhook_123' does not exist"
}
error
string
Internal Server Error - Failed to update webhook
{
  "message": "Failed to update post-call webhook",
  "status": "error",
  "error": "Database connection failed"
}

Notes

  • Only provided fields in the request body will be updated
  • Fields not included in the request will remain unchanged
  • Webhook URLs must use HTTPS
  • If you deactivate a webhook (is_active: false), it will be automatically unassigned from any agents using it
  • The updated_at timestamp is automatically updated when any field changes
  • Use this endpoint for partial updates - you don’t need to send all fields