Discard the changes the agent worked out
curl --request POST \
--url https://api.getoneprofile.ai/sequences/{sequence_id}/agent/training/{session_id}/discard-changes/ \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"expected_revision": 2
}
'import requests
url = "https://api.getoneprofile.ai/sequences/{sequence_id}/agent/training/{session_id}/discard-changes/"
payload = { "expected_revision": 2 }
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({expected_revision: 2})
};
fetch('https://api.getoneprofile.ai/sequences/{sequence_id}/agent/training/{session_id}/discard-changes/', 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/sequences/{sequence_id}/agent/training/{session_id}/discard-changes/",
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([
'expected_revision' => 2
]),
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/sequences/{sequence_id}/agent/training/{session_id}/discard-changes/"
payload := strings.NewReader("{\n \"expected_revision\": 2\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/sequences/{sequence_id}/agent/training/{session_id}/discard-changes/")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"expected_revision\": 2\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getoneprofile.ai/sequences/{sequence_id}/agent/training/{session_id}/discard-changes/")
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 \"expected_revision\": 2\n}"
response = http.request(request)
puts response.read_body{
"agent_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"applied_version": 123,
"base_version": 123,
"contacts": [
{
"context": {},
"fields": [
{
"name": "<string>",
"value": "<string>"
}
],
"label": "<string>",
"messages": [
{
"authored": true,
"body": "<string>",
"conditional": "<string>",
"edited_body": "<string>",
"edited_subject": "<string>",
"error": "<string>",
"facts_used": [
"<string>"
],
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"kind": "<string>",
"note": "<string>",
"previous_body": "<string>",
"previous_subject": "<string>",
"reasoning": "<string>",
"reply_to_step_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"steps": [
{
"action": "<string>",
"detail": "",
"duration_ms": 123,
"observation": "",
"outcome": "completed",
"thought": "<string>"
}
],
"subject": "<string>",
"timing": "<string>",
"title": "<string>"
}
],
"note": "<string>",
"record_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"verdict": "good",
"profile_mismatch": "<string>"
}
],
"created_at": "2023-11-07T05:31:56Z",
"error": "<string>",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"proposal": {
"summary": "<string>",
"changes": [
{
"current": "<string>",
"proposed": "<string>",
"rationale": "<string>",
"slot_key": "<string>"
}
]
},
"revision": 123,
"status": "running",
"steps": [
{
"action": "<string>",
"detail": "",
"duration_ms": 123,
"observation": "",
"outcome": "completed",
"thought": "<string>"
}
]
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}sequences
Discard the changes the agent worked out
Drops the proposal only. The run, its written thread, verdicts and notes stay, and it goes back to being reviewed. Closing the whole run is the close route.
POST
/
sequences
/
{sequence_id}
/
agent
/
training
/
{session_id}
/
discard-changes
/
Discard the changes the agent worked out
curl --request POST \
--url https://api.getoneprofile.ai/sequences/{sequence_id}/agent/training/{session_id}/discard-changes/ \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"expected_revision": 2
}
'import requests
url = "https://api.getoneprofile.ai/sequences/{sequence_id}/agent/training/{session_id}/discard-changes/"
payload = { "expected_revision": 2 }
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({expected_revision: 2})
};
fetch('https://api.getoneprofile.ai/sequences/{sequence_id}/agent/training/{session_id}/discard-changes/', 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/sequences/{sequence_id}/agent/training/{session_id}/discard-changes/",
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([
'expected_revision' => 2
]),
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/sequences/{sequence_id}/agent/training/{session_id}/discard-changes/"
payload := strings.NewReader("{\n \"expected_revision\": 2\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/sequences/{sequence_id}/agent/training/{session_id}/discard-changes/")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"expected_revision\": 2\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getoneprofile.ai/sequences/{sequence_id}/agent/training/{session_id}/discard-changes/")
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 \"expected_revision\": 2\n}"
response = http.request(request)
puts response.read_body{
"agent_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"applied_version": 123,
"base_version": 123,
"contacts": [
{
"context": {},
"fields": [
{
"name": "<string>",
"value": "<string>"
}
],
"label": "<string>",
"messages": [
{
"authored": true,
"body": "<string>",
"conditional": "<string>",
"edited_body": "<string>",
"edited_subject": "<string>",
"error": "<string>",
"facts_used": [
"<string>"
],
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"kind": "<string>",
"note": "<string>",
"previous_body": "<string>",
"previous_subject": "<string>",
"reasoning": "<string>",
"reply_to_step_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"steps": [
{
"action": "<string>",
"detail": "",
"duration_ms": 123,
"observation": "",
"outcome": "completed",
"thought": "<string>"
}
],
"subject": "<string>",
"timing": "<string>",
"title": "<string>"
}
],
"note": "<string>",
"record_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"verdict": "good",
"profile_mismatch": "<string>"
}
],
"created_at": "2023-11-07T05:31:56Z",
"error": "<string>",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"proposal": {
"summary": "<string>",
"changes": [
{
"current": "<string>",
"proposed": "<string>",
"rationale": "<string>",
"slot_key": "<string>"
}
]
},
"revision": 123,
"status": "running",
"steps": [
{
"action": "<string>",
"detail": "",
"duration_ms": 123,
"observation": "",
"outcome": "completed",
"thought": "<string>"
}
]
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}Authorizations
APIKeyHeaderHTTPBearer
Body
application/json
Required range:
x >= 1Response
Successful Response
Show child attributes
Show child attributes
The session's candidate prompt update, kept pending until applied.
Show child attributes
Show child attributes
A session's phase, also used to resume its review screen.
Available options:
running, reviewing, proposing, proposed, completed, abandoned Show child attributes
Show child attributes
Was this page helpful?