Clonify for developers
Connect your own system (your CRM, your app, Make…) to your Clonify account: read your conversations, contacts and transcripts, and build from the outside. Add content to your Knowledge and create products, FAQs and clones. The API speaks JSON over HTTPS and follows the same rules as the panel: your plan quotas and feature locks are enforced automatically.
https://www.clonify.com/api/v1To connect a chat, choose Chat only. Create your key in the panel: Settings → API keys and webhooks. You can have several (one per connected system), each read-only, read & write, or full (with delete). The key is shown ONCE: store it like a password. Send it on every request in the Authorization header.
curl "https://www.clonify.com/api/v1/conversations?limit=5" \
-H "Authorization: Bearer clk_live_…"For a chat integration, choose Chat only (chat). It only authorizes POST /api/v1/chat and uses your plan’s responses. Management permissions are separate: read allows data exports, including knowledge content; write includes read and also allows chat; delete includes the preceding management permissions. Missing permissions return 403 insufficient_scope.
Every error shares the same JSON shape, with a stable code in 'type' (for your code) and a readable message in 'message' (for humans). Status codes: 400 invalid request, 401 missing or revoked key, 403 no permission / feature outside your plan / quota exhausted, 404 not found in your account, 409 conflict (e.g. transcript not ready yet), 429 rate limited, 500 our fault.
{
"error": {
"type": "invalid_updated_since",
"message": "'updated_since' no es una fecha válida (usa ISO 8601)."
}
}Large lists are traversed by cursor: request with ?limit= and chain ?starting_after=<last id> while has_more is true. The cursor is stable by id: you can walk the whole history without missing or duplicating items. Bounded catalogues (tags, clones, products) come whole in one response.
{
"object": "list",
"data": [ … ],
"has_more": true,
"next_starting_after": 95
}Each account has a per-minute request budget by plan: 60 (Starter), 120 (Pro) or 300 (Scale), shared across all its keys. Every response includes the X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers. When exceeded you get 429 with Retry-After (wait and retry with backoff). The limit stops runaway scripts, not real use: at 120/min you can export 12,000 conversations per minute.
Note: this is different from your plan quotas (clone responses, knowledge words). Check those via GET /api/v1/usage — they are enforced exactly like in the panel.
Besides reading on demand, Clonify can notify you in real time: set your URL in Settings → API keys and webhooks and you'll receive lead.created (new contact captured by the clone), conversation.ended (real conversation finished after 10 minutes without messages, with its messages; panel tests are never sent) and purchase.created (every recorded purchase, with the buyer's email, the product and the amount). Each event is switched on separately. Every delivery is signed with HMAC-SHA256 in the signature header using your whsec_… secret. Verify the signature before processing.
If an AI writes your integration (ChatGPT, Claude…), it has two shortcuts built for machines, not for human eyes. And if you'd rather not code at all: Clonify also exposes an MCP server with 100+ tools. Connect it from Settings → Connect your AI.