curl --request POST \
--url https://api.getoneprofile.ai/assistant/threads/{origin}/{thread_id}/link/ \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"continued_in": {
"thread_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}
'import requests
url = "https://api.getoneprofile.ai/assistant/threads/{origin}/{thread_id}/link/"
payload = { "continued_in": { "thread_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a" } }
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({continued_in: {thread_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a'}})
};
fetch('https://api.getoneprofile.ai/assistant/threads/{origin}/{thread_id}/link/', 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.getoneprofile.ai/assistant/threads/{origin}/{thread_id}/link/",
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([
'continued_in' => [
'thread_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.getoneprofile.ai/assistant/threads/{origin}/{thread_id}/link/"
payload := strings.NewReader("{\n \"continued_in\": {\n \"thread_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
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.getoneprofile.ai/assistant/threads/{origin}/{thread_id}/link/")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"continued_in\": {\n \"thread_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getoneprofile.ai/assistant/threads/{origin}/{thread_id}/link/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"continued_in\": {\n \"thread_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n }\n}"
response = http.request(request)
puts response.read_body{
"continued_from": {
"origin": "table",
"thread_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
},
"continued_in": {
"origin": "table",
"thread_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>",
"issues": [
{
"input": "<string>",
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}Link an AI Assistant thread to the one it continues in
Record that this thread continues in another: the lead search that produced a table, and the table’s thread it carried on in. Written on both ends, so each thread’s row shows the link. Both threads must be yours; either one that is not answers 404.
curl --request POST \
--url https://api.getoneprofile.ai/assistant/threads/{origin}/{thread_id}/link/ \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"continued_in": {
"thread_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}
'import requests
url = "https://api.getoneprofile.ai/assistant/threads/{origin}/{thread_id}/link/"
payload = { "continued_in": { "thread_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a" } }
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({continued_in: {thread_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a'}})
};
fetch('https://api.getoneprofile.ai/assistant/threads/{origin}/{thread_id}/link/', 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.getoneprofile.ai/assistant/threads/{origin}/{thread_id}/link/",
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([
'continued_in' => [
'thread_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.getoneprofile.ai/assistant/threads/{origin}/{thread_id}/link/"
payload := strings.NewReader("{\n \"continued_in\": {\n \"thread_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
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.getoneprofile.ai/assistant/threads/{origin}/{thread_id}/link/")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"continued_in\": {\n \"thread_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getoneprofile.ai/assistant/threads/{origin}/{thread_id}/link/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"continued_in\": {\n \"thread_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n }\n}"
response = http.request(request)
puts response.read_body{
"continued_from": {
"origin": "table",
"thread_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
},
"continued_in": {
"origin": "table",
"thread_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>",
"issues": [
{
"input": "<string>",
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}Authorizations
Path Parameters
Which store a thread lives in.
The four assistants keep their transcripts in four tables with four shapes, and nothing here moves them. An origin plus the thread's id in that store is how one row of the meta table names a thread, and how the dock knows which capability the thread carries when it is reopened.
table, find_leads, agent, chat Body
Record that this thread continues in another: a search, and the table it produced.
One thread, named by its store and its id in that store.
Show child attributes
Show child attributes
Response
Successful Response
Was this page helpful?