Introduction
Authentication, conventions, and response codes for the Landbot Platform API.
The Landbot Platform API lets you manage channels, customers, messages, and webhooks in your workspace from any HTTP client. All endpoints live under a single base URL and share the same authentication scheme.
Data model
Three resources, one implicit relationship:
- Channel — a connection between Landbot and a messaging surface (webchat, WhatsApp, Facebook, …).
GET /channels/ - Customer — a person who has spoken to the bot through one channel. Each customer belongs to exactly one channel.
GET /customers/ - Bot — a conversation flow you built in the builder. A customer can be assigned to a bot, an agent, or neither.
A conversation is the implicit message stream between a customer and whoever is currently assigned (bot or agent). It isn't a resource you fetch directly — every message-related endpoint addresses the customer.
Base URL
https://api.landbot.io/v1/
All paths in this reference are relative to this URL.
Authentication
Every request must include your agent token in the Authorization header:
Authorization: Token <agent_token>
Content-Type: application/json
Find your token at app.landbot.io/gui/settings/account.
Warning Treat your agent token like a password. It grants full access to your workspace through the API.
Response codes
Successful responses use the following statuses:
| Code | Meaning |
|---|---|
200 |
Success |
201 |
Created |
204 |
Deleted (no body) |
Errors share a common JSON shape: an errors object mapping field names to a list of messages.
{
"errors": {
"customer_id": ["You can't send message to this customer"]
}
}
| Code | Meaning |
|---|---|
400 |
Invalid schema (not JSON) |
401 |
Unauthorized (invalid token) |
402 |
Payment required |
403 |
Forbidden (insufficient permissions) |
404 |
Not found |
405 |
Method not allowed |
412 |
Precondition failed |
413 |
Request too large |
422 |
Unprocessable entity (invalid JSON parameters) |
429 |
Too many requests (limit: 10/second) |