curl --request GET \
--url https://api.getoneprofile.ai/outbound-agents/{agent_id}/messages/{message_id}/ \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.getoneprofile.ai/outbound-agents/{agent_id}/messages/{message_id}/"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.getoneprofile.ai/outbound-agents/{agent_id}/messages/{message_id}/', 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/outbound-agents/{agent_id}/messages/{message_id}/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"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"
"net/http"
"io"
)
func main() {
url := "https://api.getoneprofile.ai/outbound-agents/{agent_id}/messages/{message_id}/"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-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.get("https://api.getoneprofile.ai/outbound-agents/{agent_id}/messages/{message_id}/")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getoneprofile.ai/outbound-agents/{agent_id}/messages/{message_id}/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"agent_version": 123,
"angle": "<string>",
"body": "<string>",
"confidence": "high",
"confidence_score": 123,
"confident": true,
"conversation_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_at": "2023-11-07T05:31:56Z",
"credits_charged": 123,
"error": "<string>",
"facts_used": [
"<string>"
],
"findings": [
{
"code": "<string>",
"excerpt": "<string>",
"message": "<string>",
"severity": "<string>"
}
],
"generated_body": "<string>",
"generated_subject": "<string>",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"insufficient_data": true,
"is_preview": true,
"judge_verdict": {
"grounded": true,
"language_ok": true,
"on_topic": true,
"quality_score": 123,
"reasons": [
"<string>"
],
"safe": true
},
"kind": "email",
"model_key": "<string>",
"opens_thread": true,
"price_tenths": 123,
"quality_score": 123,
"reach": "none",
"reasoning": "<string>",
"sent_at": "2023-11-07T05:31:56Z",
"slot_key": "<string>",
"status": "writing",
"subject": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>",
"issues": [
{
"input": "<string>",
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}Read one message the agent wrote
One written message with everything shown beside it: the agent’s own confidence, the independent quality score, what it built the message on, and what the checks found.
curl --request GET \
--url https://api.getoneprofile.ai/outbound-agents/{agent_id}/messages/{message_id}/ \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.getoneprofile.ai/outbound-agents/{agent_id}/messages/{message_id}/"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.getoneprofile.ai/outbound-agents/{agent_id}/messages/{message_id}/', 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/outbound-agents/{agent_id}/messages/{message_id}/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"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"
"net/http"
"io"
)
func main() {
url := "https://api.getoneprofile.ai/outbound-agents/{agent_id}/messages/{message_id}/"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-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.get("https://api.getoneprofile.ai/outbound-agents/{agent_id}/messages/{message_id}/")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getoneprofile.ai/outbound-agents/{agent_id}/messages/{message_id}/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"agent_version": 123,
"angle": "<string>",
"body": "<string>",
"confidence": "high",
"confidence_score": 123,
"confident": true,
"conversation_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_at": "2023-11-07T05:31:56Z",
"credits_charged": 123,
"error": "<string>",
"facts_used": [
"<string>"
],
"findings": [
{
"code": "<string>",
"excerpt": "<string>",
"message": "<string>",
"severity": "<string>"
}
],
"generated_body": "<string>",
"generated_subject": "<string>",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"insufficient_data": true,
"is_preview": true,
"judge_verdict": {
"grounded": true,
"language_ok": true,
"on_topic": true,
"quality_score": 123,
"reasons": [
"<string>"
],
"safe": true
},
"kind": "email",
"model_key": "<string>",
"opens_thread": true,
"price_tenths": 123,
"quality_score": 123,
"reach": "none",
"reasoning": "<string>",
"sent_at": "2023-11-07T05:31:56Z",
"slot_key": "<string>",
"status": "writing",
"subject": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>",
"issues": [
{
"input": "<string>",
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}Authorizations
Response
Successful Response
One message the agent wrote, with everything shown beside it.
The writer's own read on whether its message is ready to send unedited.
high, medium, low Show child attributes
Show child attributes
What the independent judge said about a written message.
Show child attributes
Show child attributes
What one written message is, which decides its rules, its length and its channel.
email, linkedin_connection_note, linkedin_message, linkedin_inmail, reply_email, reply_linkedin How far a Use AI run may reach beyond the table's own data.
The price lever and the budget lever both key on this. NONE is one
plain completion; MCP runs the research loop against ONLY the
org's attached MCP tools (no Firecrawl fees, no page summaries);
WEB is the full web research loop. A run that has both web and MCP
executes — and bills — as WEB.
none, mcp, web Where one written message stands.
WRITING is a lease: the model is being asked. WRITTEN, QUEUED (a person is looking at it) and EDITED (a person changed it) are the three sendable states. UNPAID is written but not fully charged, so it is not sendable until the remainder is collected. SENT, REJECTED, SUPERSEDED and FAILED are terminal.
writing, written, unpaid, queued, sent, edited, rejected, superseded, failed Was this page helpful?