Skip to main content
PUT
/
api
/
v1
/
agents
/
{agent_id}
/
webhooks
/
{webhook_id}
curl -X PUT \
  'https://app.talkover.ai/api/v1/agents/9fbef0b7-8d4e-4a08-9207-66c22155721d/webhooks/9fcafbf2-7593-44d6-8cd7-1b221beba62a' \
  -H 'Authorization: Bearer YOUR_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "Updated Webhook Name",
    "webhook_url": "https://newexample.com/webhook",
    "webhook_secret": "new_secret",
    "events": ["event_phone_call_started", "event_conversation_started"],
    "timeout": 45,
    "max_retries": 5,
    "enabled": false
  }'
{
  "success": true,
  "message": "Webhook updated successfully",
  "data": {
    "id": "9fcafbf2-7593-44d6-8cd7-1b221beba62a",
    "agent_id": "9fbef0b7-8d4e-4a08-9207-66c22155721d",
    "name": "Updated Webhook Name",
    "webhook_url": "https://newexample.com/webhook",
    "events": ["event_phone_call_started", "event_conversation_started"],
    "timeout": 45,
    "max_retries": 5,
    "enabled": false,
    "created_at": "2025-09-03T23:19:51.000000Z",
    "updated_at": "2025-09-03T23:45:30.000000Z",
    "events_count": 2,
    "status": "disabled"
  }
}

Documentation Index

Fetch the complete documentation index at: https://docs.talkover.ai/llms.txt

Use this file to discover all available pages before exploring further.

Overview

Updates an existing webhook configuration. All fields are optional - only provided fields will be updated.

Endpoint

agent_id
string
required
Agent UUID
webhook_id
string
required
Webhook UUID

Request

curl -X PUT \
  'https://app.talkover.ai/api/v1/agents/9fbef0b7-8d4e-4a08-9207-66c22155721d/webhooks/9fcafbf2-7593-44d6-8cd7-1b221beba62a' \
  -H 'Authorization: Bearer YOUR_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "Updated Webhook Name",
    "webhook_url": "https://newexample.com/webhook",
    "webhook_secret": "new_secret",
    "events": ["event_phone_call_started", "event_conversation_started"],
    "timeout": 45,
    "max_retries": 5,
    "enabled": false
  }'

Response

success
boolean
Indicates if the webhook was updated successfully
message
string
Success message
data
object
Updated webhook object
data.id
string
Unique webhook identifier
data.agent_id
string
Agent UUID this webhook belongs to
data.name
string
Updated webhook name
data.webhook_url
string
Updated webhook URL
data.events
array
Updated array of configured event types
data.timeout
integer
Updated request timeout in seconds
data.max_retries
integer
Updated maximum retry attempts
data.enabled
boolean
Updated webhook status
data.created_at
string
ISO 8601 timestamp when webhook was created
data.updated_at
string
ISO 8601 timestamp when webhook was last updated
data.events_count
integer
Number of events configured for this webhook
data.status
string
Current webhook status
{
  "success": true,
  "message": "Webhook updated successfully",
  "data": {
    "id": "9fcafbf2-7593-44d6-8cd7-1b221beba62a",
    "agent_id": "9fbef0b7-8d4e-4a08-9207-66c22155721d",
    "name": "Updated Webhook Name",
    "webhook_url": "https://newexample.com/webhook",
    "events": ["event_phone_call_started", "event_conversation_started"],
    "timeout": 45,
    "max_retries": 5,
    "enabled": false,
    "created_at": "2025-09-03T23:19:51.000000Z",
    "updated_at": "2025-09-03T23:45:30.000000Z",
    "events_count": 2,
    "status": "disabled"
  }
}

Error Responses

{
  "message": "Missing Bearer Token"
}
{
  "success": false,
  "message": "Agent not found in this environment."
}
{
  "success": false,
  "message": "Webhook not found."
}
{
  "message": "The given data was invalid.",
  "errors": {
    "webhook_url": ["The webhook url must be a valid URL."],
    "events": ["The events field must contain at least 1 items."]
  }
}

Validation Rules

  • name: Optional, string, maximum 255 characters
  • webhook_url: Optional, valid URL, maximum 500 characters
  • webhook_secret: Optional, string, maximum 255 characters
  • events: Optional, array with minimum 1 event, each event must be from available events list
  • timeout: Optional, integer between 5-120 seconds
  • max_retries: Optional, integer between 0-10
  • enabled: Optional, boolean

Important Notes

  • All fields are optional - only provided fields will be updated
  • Webhook operations automatically clear the agent cache for immediate effect
  • Use HTTPS endpoints for webhook URLs in production
  • Implement proper signature verification using the webhook secret for security