curl --request POST \
--url https://api.botpress.cloud/v1/chat/conversations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-bot-id: <x-bot-id>' \
--header 'x-bp-authenticated-principal: <x-bp-authenticated-principal>' \
--data '
{
"channel": "<string>",
"tags": {},
"integrationName": "<string>",
"properties": {}
}
'import requests
url = "https://api.botpress.cloud/v1/chat/conversations"
payload = {
"channel": "<string>",
"tags": {},
"integrationName": "<string>",
"properties": {}
}
headers = {
"x-bp-authenticated-principal": "<x-bp-authenticated-principal>",
"x-bot-id": "<x-bot-id>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-bp-authenticated-principal': '<x-bp-authenticated-principal>',
'x-bot-id': '<x-bot-id>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({channel: '<string>', tags: {}, integrationName: '<string>', properties: {}})
};
fetch('https://api.botpress.cloud/v1/chat/conversations', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.botpress.cloud/v1/chat/conversations",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'channel' => '<string>',
'tags' => [
],
'integrationName' => '<string>',
'properties' => [
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"x-bot-id: <x-bot-id>",
"x-bp-authenticated-principal: <x-bp-authenticated-principal>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.botpress.cloud/v1/chat/conversations"
payload := strings.NewReader("{\n \"channel\": \"<string>\",\n \"tags\": {},\n \"integrationName\": \"<string>\",\n \"properties\": {}\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-bp-authenticated-principal", "<x-bp-authenticated-principal>")
req.Header.Add("x-bot-id", "<x-bot-id>")
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.botpress.cloud/v1/chat/conversations")
.header("x-bp-authenticated-principal", "<x-bp-authenticated-principal>")
.header("x-bot-id", "<x-bot-id>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"channel\": \"<string>\",\n \"tags\": {},\n \"integrationName\": \"<string>\",\n \"properties\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.botpress.cloud/v1/chat/conversations")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-bp-authenticated-principal"] = '<x-bp-authenticated-principal>'
request["x-bot-id"] = '<x-bot-id>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"channel\": \"<string>\",\n \"tags\": {},\n \"integrationName\": \"<string>\",\n \"properties\": {}\n}"
response = http.request(request)
puts response.read_body{
"conversation": {
"id": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"channel": "<string>",
"integration": "<string>",
"tags": {},
"messageCount": 123,
"currentTaskId": "<string>",
"properties": {}
}
}{
"conversation": {
"id": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"channel": "<string>",
"integration": "<string>",
"tags": {},
"messageCount": 123,
"currentTaskId": "<string>",
"properties": {}
}
}createConversation
Creates a new Conversation. When creating a new Conversation, the required tags must be provided. See the specific integration for more details.
curl --request POST \
--url https://api.botpress.cloud/v1/chat/conversations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-bot-id: <x-bot-id>' \
--header 'x-bp-authenticated-principal: <x-bp-authenticated-principal>' \
--data '
{
"channel": "<string>",
"tags": {},
"integrationName": "<string>",
"properties": {}
}
'import requests
url = "https://api.botpress.cloud/v1/chat/conversations"
payload = {
"channel": "<string>",
"tags": {},
"integrationName": "<string>",
"properties": {}
}
headers = {
"x-bp-authenticated-principal": "<x-bp-authenticated-principal>",
"x-bot-id": "<x-bot-id>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-bp-authenticated-principal': '<x-bp-authenticated-principal>',
'x-bot-id': '<x-bot-id>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({channel: '<string>', tags: {}, integrationName: '<string>', properties: {}})
};
fetch('https://api.botpress.cloud/v1/chat/conversations', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.botpress.cloud/v1/chat/conversations",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'channel' => '<string>',
'tags' => [
],
'integrationName' => '<string>',
'properties' => [
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"x-bot-id: <x-bot-id>",
"x-bp-authenticated-principal: <x-bp-authenticated-principal>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.botpress.cloud/v1/chat/conversations"
payload := strings.NewReader("{\n \"channel\": \"<string>\",\n \"tags\": {},\n \"integrationName\": \"<string>\",\n \"properties\": {}\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-bp-authenticated-principal", "<x-bp-authenticated-principal>")
req.Header.Add("x-bot-id", "<x-bot-id>")
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.botpress.cloud/v1/chat/conversations")
.header("x-bp-authenticated-principal", "<x-bp-authenticated-principal>")
.header("x-bot-id", "<x-bot-id>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"channel\": \"<string>\",\n \"tags\": {},\n \"integrationName\": \"<string>\",\n \"properties\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.botpress.cloud/v1/chat/conversations")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-bp-authenticated-principal"] = '<x-bp-authenticated-principal>'
request["x-bot-id"] = '<x-bot-id>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"channel\": \"<string>\",\n \"tags\": {},\n \"integrationName\": \"<string>\",\n \"properties\": {}\n}"
response = http.request(request)
puts response.read_body{
"conversation": {
"id": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"channel": "<string>",
"integration": "<string>",
"tags": {},
"messageCount": 123,
"currentTaskId": "<string>",
"properties": {}
}
}{
"conversation": {
"id": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"channel": "<string>",
"integration": "<string>",
"tags": {},
"messageCount": 123,
"currentTaskId": "<string>",
"properties": {}
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
Authenticated principal. Injected by the authentication middleware.
Bot id
Integration id
Integration alias
Caller's IP address. Injected by the edge proxy.
Body
Conversation data
Channel name
200Tags for the Conversation
Show child attributes
Show child attributes
[DEPRECATED] To create a conversation from within a bot, call an action of the integration instead.
200EXPERIMENTAL - Optional shared properties that can be accessed and modified by both the bot and any of its integrations.
Show child attributes
Show child attributes
Response
Returns a Conversation object if creation succeeds. Returns an error otherwise
The Conversation object represents an exchange of messages between one or more users. A Conversation is always linked to an integration's channels. For example, a Slack channel represents a conversation.
Show child attributes
Show child attributes
Was this page helpful?