For developers
Chatbot API: the same assistant, in your own app.
Use the AI assistant you built in Helovo from your own app, bot or internal tools through a single REST endpoint. You manage what the assistant knows and its rules in the dashboard; your code just sends the message and gets the answer.
curl https://api.helovo.com/v1/chat \
-H "Authorization: Bearer $HELOVO_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "bot_id": "bot_…", "message": "Are you open today?" }'Why the Helovo API?
One endpoint
Send a message to POST /v1/chat and get the answer back as JSON. No SDK to install.
Streaming (SSE)
With "stream": true the answer arrives as Server-Sent Events, so users read it as it's written.
Conversation memory
Pass conversation_id to continue a conversation; you don't have to store earlier messages yourself.
Knowledge managed in the dashboard
Change the assistant's instructions, tone and language in the dashboard; your code doesn't change.
Per-chatbot keys
Scope an API key to all chatbots or just the ones you choose, and revoke it whenever you need to.
The same guardrails
Over the API, the assistant still stays on topic, doesn't make things up and introduces itself as your business's assistant.
What you can build
- A customer support assistant inside your mobile app
- Answers for a Telegram, Discord or messaging bot you built yourself
- If you're an agency, your clients' assistants connected to your own dashboard
- Draft replies to incoming questions in your CRM or help desk
- An assistant that answers with company information on kiosks, tablet menus or internal tools
Your first request in three steps
- 1
Build the chatbot
Create an account, write your business details and instructions, and test it in the dashboard.
- 2
Create an API key
Create a key on the API page in the dashboard. It's shown only once.
- 3
Send a request
Keep the key on your server and send the message to POST /v1/chat with the bot_id.
Documentation
Send a message to your chatbot and get the answer with a single endpoint.
Authentication
Add an Authorization: Bearer sk_… header to every request. The API is for server-to-server use only; requests from browsers (CORS) are refused. To chat with visitors on your website, use the widget.
POSThttps://api.helovo.com/v1/chat
| Field | Type | Description |
|---|---|---|
| bot_id* | string | The chatbot's ID (shown on the chatbot's Install tab). |
| message* | string | The user's message, at most 4,000 characters. |
| conversation_id | string | Continues an existing conversation. Leave it empty to start a new one. |
| user | string | The user's ID in your own system; shown in conversations (at most 128 characters). |
| stream | boolean | When true, the answer arrives in pieces as Server-Sent Events. |
Request
curl https://api.helovo.com/v1/chat \
-H "Authorization: Bearer $HELOVO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"bot_id": "bot_…",
"message": "Hello",
"user": "customer-42"
}'Response
{
"id": "msg_01J…",
"conversation_id": "conv_01J…",
"answer": "Hello, how can I help you?",
"model": "standard",
"finish_reason": "stop",
"usage": { "input_tokens": 142, "output_tokens": 18 }
}Streaming answer
"stream": true makes the answer arrive as Server-Sent Events: meta → delta (pieces of text) → done or error.
curl -N https://api.helovo.com/v1/chat \
-H "Authorization: Bearer $HELOVO_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "bot_id": "bot_…", "message": "Hello", "stream": true }'Other endpoints
GET /v1/chatbots— The chatbots the key can use.GET /v1/conversations/{id}— The messages of a conversation started through the API.
Errors and limits
Errors come back as {"error": {"code": "…", "message": "…", "request_id": "…"}}. Every response includes the X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers.
| 400 | invalid_request | Invalid JSON or an unknown field. |
| 401 | missing_api_key / invalid_api_key | The key is missing, invalid, revoked or expired. |
| 404 | chatbot_not_found / conversation_not_found | It doesn't exist, or this key has no access to it. |
| 409 | chatbot_paused | The chatbot is paused. |
| 422 | validation_error | The message is empty or too long. |
| 429 | rate_limited / quota_exceeded | Per-minute limit or monthly quota reached. See the Retry-After header. |
| 502–504 | ai_error / ai_not_configured / ai_timeout | The assistant couldn't answer; try again. |
Limits and pricing
- The API is available on the paid plan: 5,000 API requests a month and 60 requests a minute.
- The paid plan is billed weekly, monthly or yearly, with no per-seat or per-token charges.
- The API is for server-to-server use only; never put the key in browser code. For website visitors, use the one-line widget.
Frequently asked questions
Does Helovo have a chatbot API?
Yes. Every chatbot you build in Helovo can be used from your own app through a REST API: send a message to POST /v1/chat and get the answer as JSON or Server-Sent Events.
Which languages can I use?
Any language that can send an HTTP request: cURL, JavaScript (Node.js), Python, PHP, Go, Java and more. The docs include cURL, JavaScript and Python examples.
Can I call the API directly from the browser?
No. To keep your API key secret, the API is server-to-server only and browser requests are refused. For visitors on your website, use the widget.
Can I see conversations that come through the API?
Yes. Conversations started through the API also appear in the dashboard; send your own user ID in the user field to see who started each one.
Does the API work on the free plan?
No. You can build your chatbot and test it in the dashboard for free; API requests are available on the paid plan.
For a step-by-step walkthrough, read our chatbot API guide. For more questions, see the FAQ.