ClonifyDevelopersOpen panel

Getting started

  • Authentication
  • Errors
  • Pagination
  • Rate limits
  • Webhooks
  • For AI agents
  • MCP server

API reference

  • Outgoing webhooks3
  • Student learning activity7
  • External API deliveries6
  • Chat with the clone1
  • Contacts & tags5
  • Academy access4
  • Conversations4
  • Product catalogue13
  • External sales2
  • Knowledge12
  • Multimedia4
  • Clones (versions in the API)3
  • Meetings & bookings3
  • Webinars6
  • Account & usage1
Clonify

Outgoing webhooks

GET/api/v1/webhook

Read webhook settings

Returns webhook or null, with destination, global pause, categories and last delivery result. Does not include the signing secret. Shares the settings used by the dashboard.

bash
curl "https://www.clonify.com/api/v1/webhook" \
  -H "Authorization: Bearer clk_live_…"
json
{
  "webhook": {
    "url": "https://receiver.example/events",
    "active": false,
    "send_leads": false,
    "send_conversations": false,
    "send_purchases": false,
    "send_payments": true,
    "send_payment_failures": false,
    "send_refunds": false,
    "send_cancellations": false,
    "send_contact_email_changes": false,
    "last_success_at": null,
    "last_error": null,
    "consecutive_failures": 0
  }
}
PUT/api/v1/webhook

Configure webhook

Creates or updates the account’s single shared destination. Creating requires url. Omitted fields remain unchanged; new destinations start paused with every category off. Set active=true and the categories to send explicitly. Changing the URL also redirects pending notifications without resuming a paused destination. Enabling categories does not send history. Global pause retains pending notifications; disabling and re-enabling a financial category discards its earlier pending notifications. Saving does not test the receiver or change charges, emails or access. Unknown fields, null and wrong types are rejected. Returns the GET shape; 404 if there is no destination and no url.

Write permission

Body (JSON)

urlstring

Public HTTPS URL, up to 500 characters. Required only on creation.

activeboolean

Send or pause all notifications. Defaults to false on creation.

send_leadsboolean

New contacts captured by the clone.

send_conversationsboolean

Completed conversations with their messages.

send_purchasesboolean

Recorded purchases; do not count them again as payments.

send_paymentsboolean

Successful Stripe payments, including installments.

send_payment_failuresboolean

Failed Stripe installment payment attempts.

send_refundsboolean

Stripe refund status changes.

send_cancellationsboolean

Stripe cancellations: effective, scheduled or schedule reversed.

send_contact_email_changesboolean

Email corrections made in Contacts or by an agent. Event contact.email_changed, off by default.

bash
curl -X PUT "https://www.clonify.com/api/v1/webhook" \
  -H "Authorization: Bearer clk_live_…" \
  -H "Content-Type: application/json" \
  -d '{"url":"…","active":true}'
POST/api/v1/webhook/secret

Retrieve signing secret

Returns the existing private signing secret without changing it. Requires write permission; never included in GET or configuration responses. Store it only on the authorized server that verifies signatures; do not publish it. Returns 404 if no destination exists.

Write permission
bash
curl -X POST "https://www.clonify.com/api/v1/webhook/secret" \
  -H "Authorization: Bearer clk_live_…" \
  -H "Content-Type: application/json" \
  -d '{}'
json
{
  "secret": "whsec_REDACTED"
}