cURL
curl --request POST \
--url https://api.botpress.cloud/v1/chat/conversations/{id}/participants \
--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 '
{
"userId": "<string>"
}
'import requests
url = "https://api.botpress.cloud/v1/chat/conversations/{id}/participants"
payload = { "userId": "<string>" }
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({userId: '<string>'})
};
fetch('https://api.botpress.cloud/v1/chat/conversations/{id}/participants', 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/{id}/participants",
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([
'userId' => '<string>'
]),
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/{id}/participants"
payload := strings.NewReader("{\n \"userId\": \"<string>\"\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/{id}/participants")
.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 \"userId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.botpress.cloud/v1/chat/conversations/{id}/participants")
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 \"userId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"participant": {
"id": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"tags": {},
"name": "<string>",
"pictureUrl": "<string>",
"properties": {},
"attributes": {}
}
}{
"participant": {
"id": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"tags": {},
"name": "<string>",
"pictureUrl": "<string>",
"properties": {},
"attributes": {}
}
}addParticipant
Add a Participant to a Conversation.
POST
/
v1
/
chat
/
conversations
/
{id}
/
participants
cURL
curl --request POST \
--url https://api.botpress.cloud/v1/chat/conversations/{id}/participants \
--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 '
{
"userId": "<string>"
}
'import requests
url = "https://api.botpress.cloud/v1/chat/conversations/{id}/participants"
payload = { "userId": "<string>" }
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({userId: '<string>'})
};
fetch('https://api.botpress.cloud/v1/chat/conversations/{id}/participants', 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/{id}/participants",
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([
'userId' => '<string>'
]),
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/{id}/participants"
payload := strings.NewReader("{\n \"userId\": \"<string>\"\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/{id}/participants")
.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 \"userId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.botpress.cloud/v1/chat/conversations/{id}/participants")
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 \"userId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"participant": {
"id": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"tags": {},
"name": "<string>",
"pictureUrl": "<string>",
"properties": {},
"attributes": {}
}
}{
"participant": {
"id": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"tags": {},
"name": "<string>",
"pictureUrl": "<string>",
"properties": {},
"attributes": {}
}
}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.
Path Parameters
Conversation id
Body
application/json
Participant data
User id
Required string length:
28 - 36Response
Returns the Participant object
The user object represents someone interacting with the bot within a specific integration. The same person interacting with a bot in slack and messenger will be represented with two different users.
Show child attributes
Show child attributes
Last modified on July 3, 2026
Was this page helpful?
⌘I