Bot API
The Bot API allows you to retrieve information about your bot and its flows
Get bot
GET
https://clients.csml.dev/v1/api/bot
Retrieve the bot for this integration
{
"id": "06e63f93-2e1a-4f76-b174-9c4aa6e31401",
"organization_id": "0b50ddf9-052b-4dd6-9901-459caa15ed33",
"name": "MyBot",
"description": "This is my bot",
"default_flow": "fd2e74e5-1305-4650-a300-8097d71df01f",
"created_at": "2019-12-11T18:59:39.391Z",
"updated_at": "2019-12-13T01:27:38.653Z",
"env": {
"MY_VAR": "somevalue"
},
"flows": [
{
"id": "fd2e74e5-1305-4650-a300-8097d71df01f",
"bot_id": "06e63f93-2e1a-4f76-b174-9c4aa6e31401",
"organization_id": "0b50ddf9-052b-4dd6-9901-459caa15ed33",
"name": "Default",
"description": "Default custom flow",
"commands": [
"/default"
],
"content": "start:\n\tsay \"hello!\"\n\tgoto end",
"created_at": "2019-12-11T18:59:39.610Z",
"updated_at": "2019-12-13T01:31:51.507Z",
},
...
]
}
Update bot
PUT
https://clients.csml.dev/v1/api/bot
Update a bot's name, default_flow and/or description. Parameters that are not set will not be changed.
Request Body
key/value hash of bot environment variables
ID of default flow to set (flow must exist)
{
"id": "06e63f93-2e1a-4f76-b174-9c4aa6e31401",
"organization_id": "0b50ddf9-052b-4dd6-9901-459caa15ed33",
"name": "MyBot",
"description": "This is my bot",
"default_flow": "fd2e74e5-1305-4650-a300-8097d71df01f",
"created_at": "2019-12-11T18:59:39.391Z",
"updated_at": "2019-12-13T01:27:38.653Z",
"flows": [
{
"id": "fd2e74e5-1305-4650-a300-8097d71df01f",
"bot_id": "06e63f93-2e1a-4f76-b174-9c4aa6e31401",
"organization_id": "0b50ddf9-052b-4dd6-9901-459caa15ed33",
"name": "Default",
"description": "Default custom flow",
"commands": [
"/default"
],
"content": "start:\n\tsay \"hello!\"\n\tgoto end",
"created_at": "2019-12-11T18:59:39.610Z",
"updated_at": "2019-12-13T01:31:51.507Z",
},
...
]
}
Get bot flows
GET
https://clients.csml.dev/v1/api/bot/flows
Retrieve all the flows in the current bot
[
{
"id": "fd2e74e5-1305-4650-a300-8097d71df01f",
"bot_id": "06e63f93-2e1a-4f76-b174-9c4aa6e31401",
"organization_id": "0b50ddf9-052b-4dd6-9901-459caa15ed33",
"name": "Default",
"description": "Default custom flow",
"commands": [
"/default"
],
"content": "start:\n\tsay \"hello!\"\n\tgoto end",
"created_at": "2019-12-11T18:59:39.610Z",
"updated_at": "2019-12-13T01:31:51.507Z",
},
...
]
Create Flow
POST
https://clients.csml.dev/v1/api/bot/flows
Add a new flow to the current bot
Request Body
Description of the flow to create
Commands that will trigger the flow.
Example: ["some", "command"]
{
"id": "c3187b49-5833-4572-960f-a6eedd59d9cd",
"organization_id": "0b50ddf9-052b-4dd6-9901-459caa15ed33",
"name": "SomeFlow",
"bot_id": "3944ec9b-81c8-4b58-854d-b412c89b8e42",
"commands": [
"/someflow",
"some command"
],
"content": "start:\n say \"Hi!\"\n goto end",
"created_at": "2020-08-23T17:54:39.461Z",
"updated_at": "2020-08-23T17:54:39.461Z"
}
Get flow
GET
https://clients/csml.dev/v1/api/bot/flows/:flow_id
Path Parameters
{
"id": "fd2e74e5-1305-4650-a300-8097d71df01f",
"bot_id": "06e63f93-2e1a-4f76-b174-9c4aa6e31401",
"organization_id": "0b50ddf9-052b-4dd6-9901-459caa15ed33",
"name": "Default",
"description": "Default custom flow",
"commands": [
"/default"
],
"content": "start:\n\tsay \"hello!\"\n\tgoto end",
"created_at": "2019-12-11T18:59:39.610Z",
"updated_at": "2019-12-13T01:31:51.507Z",
}
Update flow
PUT
https://clients/csml.dev/v1/api/bot/flows/:flow_id
Path Parameters
Request Body
{
"id": "c3187b49-5833-4572-960f-a6eedd59d9cd",
"organization_id": "0b50ddf9-052b-4dd6-9901-459caa15ed33",
"name": "SomeFlow",
"bot_id": "3944ec9b-81c8-4b58-854d-b412c89b8e42",
"commands": [
"/someflow",
"some command"
],
"content": "start:\n say \"Hi!\"\n goto end",
"created_at": "2020-08-23T17:54:39.461Z",
"updated_at": "2020-08-23T17:54:39.461Z"
}
Bot usage
GET
https://clients.csml.dev/v1/api/bot/usage
Get usage information about a bot
{
"currentmonth": {
"messages": 0,
"clients": 0
},
"last30d": {
"messages": 0,
"clients": 0
},
"lastmonth": {
"messages": 0,
"clients": 0
}
}
Validate bot
POST
https://clients.csml.dev/v1/api/bot/validate
Validate bot data against the CSML interpreter
Request Body
The bot object as retrieved from the GET /bot operation
// bot is valid
{
"valid": true
}
// bot is invalid
{
"valid": false,
"errors": [
{
"flow": "someFlow",
"step": "someStep",
"line": 0,
"column": 0,
"message": "error message"
}
]
}
Build bot
POST
https://clients.csml.dev/v1/api/bot/build
Build a new version of the bot
{
"id": "3944ec9b-81c8-4b58-854d-b412c89b8e42",
"name": "test",
"default_flow": "4c9d5234-cad2-4c97-be47-a82f31ec26a3",
"created_at": "2020-08-23T17:47:21.229Z",
"version_id": "40e19091-9f5b-4f38-9494-9a97a1072640",
"engine_version": "1.4.0",
"flows": [
{
"id": "4c9d5234-cad2-4c97-be47-a82f31ec26a3",
"name": "Default",
"commands": [
"/default"
],
"content": "start:\n say \"Hello\"\n goto end",
}
]
}
Get bot build version
GET
https://clients.csml.dev/v1/api/bot/build
Query Parameters
ID of version to retrieve.
Defaults to `latest` if not set.
{
"id": "3944ec9b-81c8-4b58-854d-b412c89b8e42",
"name": "test",
"default_flow": "4c9d5234-cad2-4c97-be47-a82f31ec26a3",
"created_at": "2020-08-23T17:47:21.229Z",
"version_id": "40e19091-9f5b-4f38-9494-9a97a1072640",
"engine_version": "1.4.0",
"flows": [
{
"id": "4c9d5234-cad2-4c97-be47-a82f31ec26a3",
"name": "Default",
"commands": [
"/default"
],
"content": "start:\n say \"Hello\"\n goto end",
}
]
}