Live chat API

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 →
Request
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"
Response · 202
{
  "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
How it works

Get started with the Chat API in three steps

  1. 1

    Add the widget

    Install the IotaBot chat widget on your website.

  2. 2

    Create a key and an endpoint

    Create an API key and a webhook endpoint for the website channel.

  3. 3

    Reply live

    POST /v1/messages with the conversation_id — it shows in the visitor's chat at once.

Use cases

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.

FAQ

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}.

Start building with the Chat API

Create a key, send your first request, and try everything in test mode before it goes live.