How to Use the HitlChat API
The HitlChat API lets you manage contacts, list conversations, and send WhatsApp messages and broadcasts straight from your own code. This guide gets you authenticated and making your first call in minutes — then points you to the full interactive reference for every endpoint and field.
Before you start
- A HitlChat account with a connected WhatsApp number (Business API or QR connection).
- Your API key — see Authentication below for where to find it.
- Anything that can send an HTTP request (cURL, Postman, or your own backend). All examples use cURL.
Authentication
Every request is authenticated with a Bearer token in the Authorization header. Your token is your API key, which you’ll find inside HitlChat under My Account → API in the “Your API Key” banner.
Base URL
All endpoints are versioned under a single base URL. Append each path shown below to it.
Make your first call
The quickest way to confirm your key works is to list your conversations. Paste this into your terminal, swapping in your API key:
# List your conversations
curl https://api-portal.hitlchat.io/api/v1/public/conversationlist \
-H "Authorization: Bearer YOUR_API_KEY"
A 200 response with a JSON list means you’re authenticated and ready to go. A 401 means the key is missing or wrong — recheck the banner under My Account → API.
The HitlChat APIs
HitlChat exposes six APIs. Each card below shows what it’s for and one example — the full interactive reference documents every endpoint, parameter and response.
Contacts API
Create and update contacts and assign tags. Assigning a tag can trigger automations you’ve set up in HitlChat (send a message, add to a list, start a workflow).
# Create a contact and tag it
curl -X POST https://api-portal.hitlchat.io/api/v1/public/contacts \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"recipientNumber": "447700900123",
"name": "Jane Doe",
"tags": ["vip"]
}'
Conversation Listings API
Fetch your conversations with customer details, the last message sender, status, and whether the bot is currently paused or was ever transferred to a human.
curl https://api-portal.hitlchat.io/api/v1/public/conversationlist \
-H "Authorization: Bearer YOUR_API_KEY"
# Each item includes:
# customer_name, customer_whatsapp_number,
# last_message_sent_by, conversation_status,
# bot_currently_paused, transferred_to_human_at_least_once
Agency API
Invite clients into your agency and manage agency relationships programmatically.
curl -X POST https://api-portal.hitlchat.io/api/v1/public/agency/invite-client \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"email_address": "client@example.com",
"first_name": "Sam",
"last_name": "Lee"
}'
Broadcasts API Business API only
Create and send WhatsApp broadcast campaigns using your approved Meta templates. Send immediately by omitting scheduled_datetime, or schedule it for the future. Target recipients by contact lists, tags, or an array of phone numbers.
# Send a broadcast now to specific numbers
curl -X POST https://api-portal.hitlchat.io/api/v1/public/broadcasts \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"broadcast_name": "May promo",
"meta_template_name": "promo_may_2026",
"recipient_numbers": ["447700900123"],
"broadcast_configuration": {
"variables": { "1": "Jane", "2": "20%" }
}
}'
meta_template_name.Templates API Business API only
Fetch your approved Meta message templates so you can reference them by name when sending broadcasts.
curl https://api-portal.hitlchat.io/api/v1/public/templates \
-H "Authorization: Bearer YOUR_API_KEY"
Messages API QR connection only
Send WhatsApp messages — text, image, video, audio or file — when your number is connected via the WhatsApp Web / QR code method (not the Meta Business API).
# Send a text message
curl -X POST https://api-portal.hitlchat.io/api/v1/public/messages/send \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"type": "text",
"recipientNumber": "447700900123",
"messageText": "Hi! A human will be with you shortly."
}'
type to image, video, audio or file and include a media_url.Every endpoint, field and response
The examples above are a starting point. The full interactive reference — auto-generated from the live API, so it’s always up to date — documents every parameter and lets you try calls in the browser.
HitlChat API FAQs
What is the HitlChat API base URL?
All endpoints live under https://api-portal.hitlchat.io/api/v1/public/. Append each path (for example conversationlist or contacts) to that base URL.
How do I authenticate with the HitlChat API?
Send your API key as a Bearer token: Authorization: Bearer YOUR_API_KEY. Your key is shown inside HitlChat under My Account → API in the “Your API Key” banner.
Where do I find my API key?
Log in to HitlChat and open My Account → API. Your key is displayed in the “Your API Key” banner. Keep it secret — it grants full access to your account.
Can I send WhatsApp messages through the API?
Yes. If your number is connected via the QR code method, use the Messages API (POST /v1/public/messages/send) for text and media. If you’re on the WhatsApp Business API, send template-based campaigns with the Broadcasts API.
What’s the difference between the Messages API and the Broadcasts API?
The Messages API sends individual messages and is for QR code connections. The Broadcasts API sends campaigns using approved Meta templates and is for the WhatsApp Business API. Use whichever matches how your number is connected.
How do I schedule a broadcast versus sending it now?
Include a scheduled_datetime to schedule it for the future, or omit that field to send immediately. Target recipients by contact lists, tags, or an array of recipient_numbers.
Do tags trigger automations?
Yes. Assigning a tag to a contact via the Contacts API can trigger any automations you’ve set up in HitlChat — such as sending a message, adding the contact to a list, or starting a workflow.
Is there interactive API documentation?
Yes. The full interactive reference is public, lists every endpoint and field, and lets you try requests in the browser. It’s generated from the live API, so it never drifts out of date.
Can I tell whether a bot is paused or a chat went to a human?
Yes. The Conversation Listings API returns bot_currently_paused and transferred_to_human_at_least_once for each conversation, alongside the customer details and status. To pause a bot from the app instead, see Take Over a Chat & Pause Your Bot.
Related guides
How to Take Over a Chat & Pause Your Bot
Take over a live chat from your bot in the Inbox — pause the bot, reply as a human, and hand control back.
Read guide →How to Set Up Human Handoff Keywords & Bot Settings
Auto-transfer chats to a human with HITL keywords, set the inactivity timer, and turn the bot on or off.
Read guide →Stories from real businesses
Daniel Ortega
eCommerce Ops Manager
"WhatsApp is where most of our online customer conversations happen. Our Voiceflow assistant handles the basic questions really well, but when questions get more complicated hitlchat allows our team to jump in instantly without having to move the customer to another channel. It feels like true live chat inside WhatsApp and we’ve seen higher conversions because of it"
Sanjay Mehta
Conversational AI Agency
"The hitlchat setup is super simple, and its easy to use! Most of our clients run small teams handling WhatsApp conversations powered by a Voiceflow bot. hitlchat gives them one shared workspace to manage all their conversations. Being able to step into bot conversations directly inside WhatsApp has transformed their support workflows."
Lucas Bennett
Voiceflow Developer
"We've been building Voiceflow WhatsApp assistants for our clients across various industries (healthcare, ecommerce, restaurants etc) for a few years now. We had been looking for a way to route conversations from the Voiceflow assistant to live human agent for some time. Eventually we found out about hitlchat and honestly its been a gamechanger for us ever since. Our clients love it, and as a result we love it!"
Ready to try hitlchat ?
Create Your Free Account Now
No credit card required