Reassign contacts and conversations from one prompt to another
curl --request POST \
--url https://your-instance.example.com/api/prompts/reassign \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"promptId": "5f7b1c2e8a1d4e0012c3b4a5",
"targetPromptId": "5f7b1c2e8a1d4e0012c3b4a6"
}
'import requests
url = "https://your-instance.example.com/api/prompts/reassign"
payload = {
"promptId": "5f7b1c2e8a1d4e0012c3b4a5",
"targetPromptId": "5f7b1c2e8a1d4e0012c3b4a6"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
promptId: '5f7b1c2e8a1d4e0012c3b4a5',
targetPromptId: '5f7b1c2e8a1d4e0012c3b4a6'
})
};
fetch('https://your-instance.example.com/api/prompts/reassign', 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://your-instance.example.com/api/prompts/reassign",
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([
'promptId' => '5f7b1c2e8a1d4e0012c3b4a5',
'targetPromptId' => '5f7b1c2e8a1d4e0012c3b4a6'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://your-instance.example.com/api/prompts/reassign"
payload := strings.NewReader("{\n \"promptId\": \"5f7b1c2e8a1d4e0012c3b4a5\",\n \"targetPromptId\": \"5f7b1c2e8a1d4e0012c3b4a6\"\n}")
req, _ := http.NewRequest("POST", url, payload)
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://your-instance.example.com/api/prompts/reassign")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"promptId\": \"5f7b1c2e8a1d4e0012c3b4a5\",\n \"targetPromptId\": \"5f7b1c2e8a1d4e0012c3b4a6\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://your-instance.example.com/api/prompts/reassign")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"promptId\": \"5f7b1c2e8a1d4e0012c3b4a5\",\n \"targetPromptId\": \"5f7b1c2e8a1d4e0012c3b4a6\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"message": "Successfully reassigned 14 items and deleted prompt",
"contactsUpdated": 9,
"conversationsUpdated": 5,
"totalUpdated": 14
}{
"error": "Prompt not found",
"details": "No prompt with id 5f7b1c2e8a1d4e0012c3b4a5 belongs to this user."
}{
"error": "Prompt not found",
"details": "No prompt with id 5f7b1c2e8a1d4e0012c3b4a5 belongs to this user."
}{
"error": "Prompt not found",
"details": "No prompt with id 5f7b1c2e8a1d4e0012c3b4a5 belongs to this user."
}Prompts
Reassign contacts and conversations from one prompt to another
Moves every Contact and Conversation pointing at promptId over to targetPromptId, then deletes the source prompt. Both prompts must be owned by the caller. Used when consolidating or retiring prompts without orphaning conversations.
POST
/
api
/
prompts
/
reassign
Reassign contacts and conversations from one prompt to another
curl --request POST \
--url https://your-instance.example.com/api/prompts/reassign \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"promptId": "5f7b1c2e8a1d4e0012c3b4a5",
"targetPromptId": "5f7b1c2e8a1d4e0012c3b4a6"
}
'import requests
url = "https://your-instance.example.com/api/prompts/reassign"
payload = {
"promptId": "5f7b1c2e8a1d4e0012c3b4a5",
"targetPromptId": "5f7b1c2e8a1d4e0012c3b4a6"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
promptId: '5f7b1c2e8a1d4e0012c3b4a5',
targetPromptId: '5f7b1c2e8a1d4e0012c3b4a6'
})
};
fetch('https://your-instance.example.com/api/prompts/reassign', 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://your-instance.example.com/api/prompts/reassign",
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([
'promptId' => '5f7b1c2e8a1d4e0012c3b4a5',
'targetPromptId' => '5f7b1c2e8a1d4e0012c3b4a6'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://your-instance.example.com/api/prompts/reassign"
payload := strings.NewReader("{\n \"promptId\": \"5f7b1c2e8a1d4e0012c3b4a5\",\n \"targetPromptId\": \"5f7b1c2e8a1d4e0012c3b4a6\"\n}")
req, _ := http.NewRequest("POST", url, payload)
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://your-instance.example.com/api/prompts/reassign")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"promptId\": \"5f7b1c2e8a1d4e0012c3b4a5\",\n \"targetPromptId\": \"5f7b1c2e8a1d4e0012c3b4a6\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://your-instance.example.com/api/prompts/reassign")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"promptId\": \"5f7b1c2e8a1d4e0012c3b4a5\",\n \"targetPromptId\": \"5f7b1c2e8a1d4e0012c3b4a6\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"message": "Successfully reassigned 14 items and deleted prompt",
"contactsUpdated": 9,
"conversationsUpdated": 5,
"totalUpdated": 14
}{
"error": "Prompt not found",
"details": "No prompt with id 5f7b1c2e8a1d4e0012c3b4a5 belongs to this user."
}{
"error": "Prompt not found",
"details": "No prompt with id 5f7b1c2e8a1d4e0012c3b4a5 belongs to this user."
}{
"error": "Prompt not found",
"details": "No prompt with id 5f7b1c2e8a1d4e0012c3b4a5 belongs to this user."
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
application/json
⌘I