curl --request POST \
--url https://api.getoneprofile.ai/inbox-ai/threads/{thread_id}/draft/stream/ \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"steer_text": "<string>"
}
'import requests
url = "https://api.getoneprofile.ai/inbox-ai/threads/{thread_id}/draft/stream/"
payload = { "steer_text": "<string>" }
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({steer_text: '<string>'})
};
fetch('https://api.getoneprofile.ai/inbox-ai/threads/{thread_id}/draft/stream/', 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/inbox-ai/threads/{thread_id}/draft/stream/",
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([
'steer_text' => '<string>'
]),
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://api.getoneprofile.ai/inbox-ai/threads/{thread_id}/draft/stream/"
payload := strings.NewReader("{\n \"steer_text\": \"<string>\"\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://api.getoneprofile.ai/inbox-ai/threads/{thread_id}/draft/stream/")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"steer_text\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getoneprofile.ai/inbox-ai/threads/{thread_id}/draft/stream/")
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 \"steer_text\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body"<string>"{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>",
"issues": [
{
"input": "<string>",
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}Generate a reply draft, streaming the work
Draft with AI as a stream of Server-Sent Events. Writes exactly the reply the plain draft route writes, and says what it did on the way: a step frame for each piece of work once it is done (reading the conversation, reading the contact’s LinkedIn profile when the conversation’s agent does, writing the reply), each with its measured duration, then one result frame whose data is the draft, or null when nothing usable was written.
Failures arrive as an error frame, because the stream has already answered 200: reason not_found when the conversation is gone, limit when the workspace has used today’s AI Assistant allowance, paused when the AI Assistant is paused, and no reason for anything else, including a sequence with no audience table, whose sentence says so.
Closing the connection does not stop the draft: it is still written and saved.
curl --request POST \
--url https://api.getoneprofile.ai/inbox-ai/threads/{thread_id}/draft/stream/ \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"steer_text": "<string>"
}
'import requests
url = "https://api.getoneprofile.ai/inbox-ai/threads/{thread_id}/draft/stream/"
payload = { "steer_text": "<string>" }
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({steer_text: '<string>'})
};
fetch('https://api.getoneprofile.ai/inbox-ai/threads/{thread_id}/draft/stream/', 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/inbox-ai/threads/{thread_id}/draft/stream/",
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([
'steer_text' => '<string>'
]),
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://api.getoneprofile.ai/inbox-ai/threads/{thread_id}/draft/stream/"
payload := strings.NewReader("{\n \"steer_text\": \"<string>\"\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://api.getoneprofile.ai/inbox-ai/threads/{thread_id}/draft/stream/")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"steer_text\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getoneprofile.ai/inbox-ai/threads/{thread_id}/draft/stream/")
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 \"steer_text\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body"<string>"{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>",
"issues": [
{
"input": "<string>",
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Body
500Response
A stream of Server-Sent Events; the final result frame's data is the draft, or null.
The response is of type string.
Was this page helpful?