curl --request POST \
--url https://api.getoneprofile.ai/outbound-agents/{agent_id}/feedback/ \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"body": "",
"comment": "<string>",
"create_only": false,
"edited_body": "<string>",
"edited_subject": "<string>",
"kind": "email",
"message_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"source": "agent_tab"
}
'import requests
url = "https://api.getoneprofile.ai/outbound-agents/{agent_id}/feedback/"
payload = {
"body": "",
"comment": "<string>",
"create_only": False,
"edited_body": "<string>",
"edited_subject": "<string>",
"kind": "email",
"message_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"source": "agent_tab"
}
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({
body: JSON.stringify(''),
comment: '<string>',
create_only: false,
edited_body: '<string>',
edited_subject: '<string>',
kind: 'email',
message_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
source: 'agent_tab'
})
};
fetch('https://api.getoneprofile.ai/outbound-agents/{agent_id}/feedback/', 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}/feedback/",
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([
'body' => '',
'comment' => '<string>',
'create_only' => false,
'edited_body' => '<string>',
'edited_subject' => '<string>',
'kind' => 'email',
'message_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'source' => 'agent_tab'
]),
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/outbound-agents/{agent_id}/feedback/"
payload := strings.NewReader("{\n \"body\": \"\",\n \"comment\": \"<string>\",\n \"create_only\": false,\n \"edited_body\": \"<string>\",\n \"edited_subject\": \"<string>\",\n \"kind\": \"email\",\n \"message_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"source\": \"agent_tab\"\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/outbound-agents/{agent_id}/feedback/")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"body\": \"\",\n \"comment\": \"<string>\",\n \"create_only\": false,\n \"edited_body\": \"<string>\",\n \"edited_subject\": \"<string>\",\n \"kind\": \"email\",\n \"message_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"source\": \"agent_tab\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getoneprofile.ai/outbound-agents/{agent_id}/feedback/")
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 \"body\": \"\",\n \"comment\": \"<string>\",\n \"create_only\": false,\n \"edited_body\": \"<string>\",\n \"edited_subject\": \"<string>\",\n \"kind\": \"email\",\n \"message_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"source\": \"agent_tab\"\n}"
response = http.request(request)
puts response.read_body{
"comment": "<string>",
"consumed_in_version": 123,
"created_at": "2023-11-07T05:31:56Z",
"edited_body": "<string>",
"edited_subject": "<string>",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"kind": "email",
"message_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"original_body": "<string>",
"original_subject": "<string>",
"rating": "good",
"slot_key": "<string>",
"source": "approval_card",
"teaches": true,
"updated_at": "2023-11-07T05:31:56Z",
"user_id": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>",
"issues": [
{
"input": "<string>",
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}Rate one message the agent wrote
Record a thumb, a note, or both, as the person’s record of what they read. It teaches nothing: the agent learns from Needs work, a thumbs down with a reason (POST /agent-learnings/thumbs-downs/), and from a person’s edit (POST /agent-learnings/hand-edits/), each proposing a learning a person saves.
curl --request POST \
--url https://api.getoneprofile.ai/outbound-agents/{agent_id}/feedback/ \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"body": "",
"comment": "<string>",
"create_only": false,
"edited_body": "<string>",
"edited_subject": "<string>",
"kind": "email",
"message_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"source": "agent_tab"
}
'import requests
url = "https://api.getoneprofile.ai/outbound-agents/{agent_id}/feedback/"
payload = {
"body": "",
"comment": "<string>",
"create_only": False,
"edited_body": "<string>",
"edited_subject": "<string>",
"kind": "email",
"message_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"source": "agent_tab"
}
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({
body: JSON.stringify(''),
comment: '<string>',
create_only: false,
edited_body: '<string>',
edited_subject: '<string>',
kind: 'email',
message_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
source: 'agent_tab'
})
};
fetch('https://api.getoneprofile.ai/outbound-agents/{agent_id}/feedback/', 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}/feedback/",
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([
'body' => '',
'comment' => '<string>',
'create_only' => false,
'edited_body' => '<string>',
'edited_subject' => '<string>',
'kind' => 'email',
'message_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'source' => 'agent_tab'
]),
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/outbound-agents/{agent_id}/feedback/"
payload := strings.NewReader("{\n \"body\": \"\",\n \"comment\": \"<string>\",\n \"create_only\": false,\n \"edited_body\": \"<string>\",\n \"edited_subject\": \"<string>\",\n \"kind\": \"email\",\n \"message_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"source\": \"agent_tab\"\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/outbound-agents/{agent_id}/feedback/")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"body\": \"\",\n \"comment\": \"<string>\",\n \"create_only\": false,\n \"edited_body\": \"<string>\",\n \"edited_subject\": \"<string>\",\n \"kind\": \"email\",\n \"message_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"source\": \"agent_tab\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getoneprofile.ai/outbound-agents/{agent_id}/feedback/")
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 \"body\": \"\",\n \"comment\": \"<string>\",\n \"create_only\": false,\n \"edited_body\": \"<string>\",\n \"edited_subject\": \"<string>\",\n \"kind\": \"email\",\n \"message_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"source\": \"agent_tab\"\n}"
response = http.request(request)
puts response.read_body{
"comment": "<string>",
"consumed_in_version": 123,
"created_at": "2023-11-07T05:31:56Z",
"edited_body": "<string>",
"edited_subject": "<string>",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"kind": "email",
"message_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"original_body": "<string>",
"original_subject": "<string>",
"rating": "good",
"slot_key": "<string>",
"source": "approval_card",
"teaches": true,
"updated_at": "2023-11-07T05:31:56Z",
"user_id": "<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
Path Parameters
Body
A thumb, a note, or both, on one message the agent wrote.
The words rated, when the message they were on is gone.
20000What the person wants changed.
2000Refuse to replace an existing verdict that was not reviewed.
1 - 20000500What the message was; read from the message itself when one is named.
email, linkedin_connection_note, linkedin_message, linkedin_inmail, reply_email, reply_linkedin The message being rated; null when it is already gone.
The thumb.
good, bad Where the verdict was given: a sequence's AI writing tab and its Preview (agent_tab), or a task waiting for approval (approval_card). Only a verdict given on the AI writing tab counts as a review of that step's writing.
agent_tab, approval_card Response
Successful Response
One person's verdict on one message the agent wrote.
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 The human verdict on one message: a thumb, not a scale.
good, bad Where a piece of feedback came from, which says how much it means.
approval_card, inbox_draft, agent_tab, approved_unchanged, positive_reply, sent_message Whether it says something needs work: a thumbs down, a note given without a Looks good, or a rewrite. A Looks good with no rewrite, a note on it and an approval kept as written included, does not. Either way it is a record: the agent learns only from Needs work, through its learnings.
Was this page helpful?