Get conversation run snapshot
curl --request GET \
--url https://api.veryfront.com/conversations/{conversation_id}/runs/{run_id}/snapshot \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.veryfront.com/conversations/{conversation_id}/runs/{run_id}/snapshot"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.veryfront.com/conversations/{conversation_id}/runs/{run_id}/snapshot', 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.veryfront.com/conversations/{conversation_id}/runs/{run_id}/snapshot",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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.veryfront.com/conversations/{conversation_id}/runs/{run_id}/snapshot"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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.veryfront.com/conversations/{conversation_id}/runs/{run_id}/snapshot")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.veryfront.com/conversations/{conversation_id}/runs/{run_id}/snapshot")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"after_event_id": 1,
"events": [
{
"event_id": 1,
"event_type": "<string>",
"payload": "<unknown>",
"created_at": "<string>",
"is_error": true,
"run_id": "<string>",
"event_class": "fact",
"span_id": "<string>",
"parent_span_id": "<string>",
"turn_id": "<string>",
"origin_event_type": "<string>",
"origin_custom_name": "<string>",
"unrecoverable_fields": [
"<string>"
]
}
]
}{
"type": "https://api.veryfront.com/errors/validation-failed",
"title": "Validation Failed",
"status": 400,
"idempotency": {
"state": "in_progress",
"operation": "<string>",
"retryable": true,
"retry_after_seconds": 1,
"expires_at": "<string>",
"recovery": {
"available": true,
"description": "<string>",
"resource_url": "<string>"
}
},
"code": "RUN_INVALID_INPUT",
"detail": "The 'email' field must be a valid email address",
"instance": "/projects/my-project/members",
"slug": "validation-failed",
"category": "VALIDATION",
"suggestion": "Check the request body and query parameters against the API documentation.",
"errors": [
{
"field": "email",
"message": "Invalid email format",
"code": "INVALID_FORMAT"
}
]
}Get conversation run snapshot
Returns the current replay snapshot for an agent run stream. The snapshot contains every stored event through the snapshot cursor and the synthetic frames that open the stream.
Entries use the same typed event schema as the event-list endpoint. Entries that were not persisted have event_id: null.
GET
/
conversations
/
{conversation_id}
/
runs
/
{run_id}
/
snapshot
Get conversation run snapshot
curl --request GET \
--url https://api.veryfront.com/conversations/{conversation_id}/runs/{run_id}/snapshot \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.veryfront.com/conversations/{conversation_id}/runs/{run_id}/snapshot"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.veryfront.com/conversations/{conversation_id}/runs/{run_id}/snapshot', 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.veryfront.com/conversations/{conversation_id}/runs/{run_id}/snapshot",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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.veryfront.com/conversations/{conversation_id}/runs/{run_id}/snapshot"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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.veryfront.com/conversations/{conversation_id}/runs/{run_id}/snapshot")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.veryfront.com/conversations/{conversation_id}/runs/{run_id}/snapshot")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"after_event_id": 1,
"events": [
{
"event_id": 1,
"event_type": "<string>",
"payload": "<unknown>",
"created_at": "<string>",
"is_error": true,
"run_id": "<string>",
"event_class": "fact",
"span_id": "<string>",
"parent_span_id": "<string>",
"turn_id": "<string>",
"origin_event_type": "<string>",
"origin_custom_name": "<string>",
"unrecoverable_fields": [
"<string>"
]
}
]
}{
"type": "https://api.veryfront.com/errors/validation-failed",
"title": "Validation Failed",
"status": 400,
"idempotency": {
"state": "in_progress",
"operation": "<string>",
"retryable": true,
"retry_after_seconds": 1,
"expires_at": "<string>",
"recovery": {
"available": true,
"description": "<string>",
"resource_url": "<string>"
}
},
"code": "RUN_INVALID_INPUT",
"detail": "The 'email' field must be a valid email address",
"instance": "/projects/my-project/members",
"slug": "validation-failed",
"category": "VALIDATION",
"suggestion": "Check the request body and query parameters against the API documentation.",
"errors": [
{
"field": "email",
"message": "Invalid email format",
"code": "INVALID_FORMAT"
}
]
}Authorizations
bearerAuthapiKeyAuth
Use a JWT bearer token or a Veryfront API key in the Authorization header.