Live chat API for your website
The IotaBot chat widget on your site, driven by your own system: every visitor message and form on your webhook, and replies that appear in the visitor's chat instantly.
- ✓ Messages and forms on your webhook
- ✓ Replies appear instantly
- ✓ AI ↔ team handoff
- ✓ Match visitors to your users
Reply to a visitor
Full reference →curl -X POST "https://api.iotabot.com/v1/messages" \
-H "Authorization: Bearer $IOTABOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"conversation_id": "6a4b9e21c3f1a2b3c4d5e6f7",
"text": "I found your order — it ships today."
}' \
-H "Idempotency-Key: order-1042-shipped"{
"data": {
"id": "6a4ba0f1c3f1a2b3c4d5e733",
"object": "message",
"status": "queued",
"channel": "website",
"conversation_id": "6a4b9e21c3f1a2b3c4d5e6f7",
"created_at": "2026-10-01T09:16:10.004Z"
}
}- Instant
- replies appear in the visitor's chat
- Forms
- every submission on your webhook
- Handoff
- between the AI, your team and your code
- Your users
- identified visitors carry your user id
Get started with the Chat API in three steps
- 1
Add the widget
Install the IotaBot chat widget on your website.
- 2
Create a key and an endpoint
Create an API key and a webhook endpoint for the website channel.
- 3
Reply live
POST /v1/messages with the conversation_id — it shows in the visitor's chat at once.
What you can build with the Chat API
Visitor messages on your webhook
Every message, new chat, handoff and form submission — as it happens.
See how →Live replies
Messages you send appear in the visitor's chat instantly, like an agent typing.
See how →Take over from the AI
take_over: true stops the AI and puts the chat with your team.
See how →Close, assign and tag
Manage chats from your system — the visitor is asked to rate a closed chat.
See how →Know who is chatting
When your site identifies a signed-in user, conversations carry your user id.
See how →Test mode
Simulate visitors with a test key — nothing reaches your site.
See how →Chat API use cases
Chats into your helpdesk
Mirror website chats into your own support tool and reply from it.
Order lookups
Answer "where is my order?" from your own order system.
Forms into your CRM
Send every form a visitor fills in the chat to your CRM.
Escalations
Route chats the AI hands over to the right team in your system.
Chat API: frequently asked questions
What is a live chat API?
It lets your software receive and send messages in your website's chat widget. IotaBot sends each visitor message to your webhook and shows your replies in the chat instantly.
Do I need to build a chat widget?
No. The IotaBot widget runs on your site; the API connects it to your own systems.
Can the AI and my code both answer?
Yes. The AI answers by default; send take_over: true, or set mode to human, to stop it — and give the chat back when you are done.
Can I identify logged-in users?
Yes. When your site identifies a signed-in user to the widget, conversations carry your user id as contact.external_id.
What happens when a chat is closed?
Closed chats do not accept messages (conversation_closed) — reopen one with PATCH /v1/conversations/{id}.
One API for every channel
The same endpoints, webhooks and errors on WhatsApp, Instagram, email and website chat.
Start building with the Chat API
Create a key, send your first request, and try everything in test mode before it goes live.
