End a persona split test
curl --request POST \
--url https://api.closebot.com/bot/{id}/persona-split-test/end \
--header 'X-CB-KEY: <api-key>'import requests
url = "https://api.closebot.com/bot/{id}/persona-split-test/end"
headers = {"X-CB-KEY": "<api-key>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {'X-CB-KEY': '<api-key>'}};
fetch('https://api.closebot.com/bot/{id}/persona-split-test/end', 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.closebot.com/bot/{id}/persona-split-test/end",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"X-CB-KEY: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.closebot.com/bot/{id}/persona-split-test/end"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("X-CB-KEY", "<api-key>")
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.closebot.com/bot/{id}/persona-split-test/end")
.header("X-CB-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.closebot.com/bot/{id}/persona-split-test/end")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-CB-KEY"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"id": "<string>",
"name": "<string>",
"modifiedAt": "<string>",
"modifiedBy": "<string>",
"versions": [
{
"version": "<string>",
"name": "<string>",
"published": true,
"modifiedAt": "2023-11-07T05:31:56Z",
"modifiedBy": "<string>"
}
],
"sources": [
{
"id": "<string>",
"category": "<string>",
"key": "<string>",
"name": "<string>",
"tags": [
{
"name": "<string>",
"approveDeny": true,
"id": "<string>"
}
],
"tagFilterConfig": {
"operator": "<string>",
"groups": [
{
"operator": "<string>",
"rules": [
{
"tagName": "<string>",
"tagId": "<string>",
"condition": "<string>"
}
]
}
]
},
"channelList": [
"<string>"
],
"channelRules": {
"channels": [
{
"channel": "<string>",
"type": "<string>",
"rules": [
{
"operator": "<string>",
"value": "<string>"
}
]
}
]
},
"personaNameOverride": "<string>",
"enabled": true,
"flowVariableValues": {}
}
],
"personaIds": [
"<string>"
],
"personaWeights": {},
"favorited": true,
"locked": true,
"reschedulingEnabled": true,
"category": "<string>",
"folderId": "<string>",
"followUpActive": true,
"followUpSequences": [
{
"order": 123,
"duration": 123,
"unit": "<string>"
}
],
"smartFollowUp": true,
"followUpRepeat": true,
"followUpVarianceMinutes": 123,
"followUpExtraPrompt": "<string>",
"personaSplitTest": {
"startedAt": "2023-11-07T05:31:56Z",
"endedAt": "2023-11-07T05:31:56Z",
"personas": [
{
"personaId": "<string>",
"weight": 123,
"order": 123,
"results": {
"personaId": "<string>",
"personaName": "<string>",
"splitWeight": 123,
"totalInstances": 123,
"responseCount": 123,
"averageMetric": 123,
"sources": [
{
"sourceId": "<string>",
"sourceName": "<string>",
"totalInstances": 123,
"responseCount": 123,
"averageMetric": 123
}
],
"computedAt": "2023-11-07T05:31:56Z"
}
}
],
"id": "<string>",
"isActive": true,
"metric": "<string>"
},
"tools": [
{
"id": "<string>",
"type": "<string>",
"enabled": true,
"options": {}
}
],
"followUpStates": [
{
"id": 123,
"name": "<string>",
"isDefault": true,
"sequences": [
{
"order": 123,
"duration": 123,
"unit": "<string>"
}
],
"repeatFinal": true,
"extraPrompt": "<string>",
"order": 123
}
],
"availableSplitTestMetrics": [
{
"id": "<string>",
"label": "<string>",
"shortLabel": "<string>"
}
]
}{
"message": "<string>"
}{
"message": "<string>"
}Bot
End a persona split test
Ends the bot’s current persona split test immediately, snapshots performance results, and promotes the winning persona to the bot default. Idempotent if the test has already been finalized.
POST
/
bot
/
{id}
/
persona-split-test
/
end
End a persona split test
curl --request POST \
--url https://api.closebot.com/bot/{id}/persona-split-test/end \
--header 'X-CB-KEY: <api-key>'import requests
url = "https://api.closebot.com/bot/{id}/persona-split-test/end"
headers = {"X-CB-KEY": "<api-key>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {'X-CB-KEY': '<api-key>'}};
fetch('https://api.closebot.com/bot/{id}/persona-split-test/end', 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.closebot.com/bot/{id}/persona-split-test/end",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"X-CB-KEY: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.closebot.com/bot/{id}/persona-split-test/end"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("X-CB-KEY", "<api-key>")
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.closebot.com/bot/{id}/persona-split-test/end")
.header("X-CB-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.closebot.com/bot/{id}/persona-split-test/end")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-CB-KEY"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"id": "<string>",
"name": "<string>",
"modifiedAt": "<string>",
"modifiedBy": "<string>",
"versions": [
{
"version": "<string>",
"name": "<string>",
"published": true,
"modifiedAt": "2023-11-07T05:31:56Z",
"modifiedBy": "<string>"
}
],
"sources": [
{
"id": "<string>",
"category": "<string>",
"key": "<string>",
"name": "<string>",
"tags": [
{
"name": "<string>",
"approveDeny": true,
"id": "<string>"
}
],
"tagFilterConfig": {
"operator": "<string>",
"groups": [
{
"operator": "<string>",
"rules": [
{
"tagName": "<string>",
"tagId": "<string>",
"condition": "<string>"
}
]
}
]
},
"channelList": [
"<string>"
],
"channelRules": {
"channels": [
{
"channel": "<string>",
"type": "<string>",
"rules": [
{
"operator": "<string>",
"value": "<string>"
}
]
}
]
},
"personaNameOverride": "<string>",
"enabled": true,
"flowVariableValues": {}
}
],
"personaIds": [
"<string>"
],
"personaWeights": {},
"favorited": true,
"locked": true,
"reschedulingEnabled": true,
"category": "<string>",
"folderId": "<string>",
"followUpActive": true,
"followUpSequences": [
{
"order": 123,
"duration": 123,
"unit": "<string>"
}
],
"smartFollowUp": true,
"followUpRepeat": true,
"followUpVarianceMinutes": 123,
"followUpExtraPrompt": "<string>",
"personaSplitTest": {
"startedAt": "2023-11-07T05:31:56Z",
"endedAt": "2023-11-07T05:31:56Z",
"personas": [
{
"personaId": "<string>",
"weight": 123,
"order": 123,
"results": {
"personaId": "<string>",
"personaName": "<string>",
"splitWeight": 123,
"totalInstances": 123,
"responseCount": 123,
"averageMetric": 123,
"sources": [
{
"sourceId": "<string>",
"sourceName": "<string>",
"totalInstances": 123,
"responseCount": 123,
"averageMetric": 123
}
],
"computedAt": "2023-11-07T05:31:56Z"
}
}
],
"id": "<string>",
"isActive": true,
"metric": "<string>"
},
"tools": [
{
"id": "<string>",
"type": "<string>",
"enabled": true,
"options": {}
}
],
"followUpStates": [
{
"id": 123,
"name": "<string>",
"isDefault": true,
"sequences": [
{
"order": 123,
"duration": 123,
"unit": "<string>"
}
],
"repeatFinal": true,
"extraPrompt": "<string>",
"order": 123
}
],
"availableSplitTestMetrics": [
{
"id": "<string>",
"label": "<string>",
"shortLabel": "<string>"
}
]
}{
"message": "<string>"
}{
"message": "<string>"
}Authorizations
CloseBot API Key Authorization
Path Parameters
The bot ID.
Response
OK
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes

