Fetch an analysis
curl --request GET \
--url http://localhost:3000/v1/analyses/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "http://localhost:3000/v1/analyses/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('http://localhost:3000/v1/analyses/{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_PORT => "3000",
CURLOPT_URL => "http://localhost:3000/v1/analyses/{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 => [
"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 := "http://localhost:3000/v1/analyses/{id}"
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("http://localhost:3000/v1/analyses/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:3000/v1/analyses/{id}")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"recording_url": "<string>",
"transcript_url": "<string>",
"callback_url": "<string>",
"options": {},
"metadata": {},
"transcript": {
"text": "<string>",
"utterances": [
{
"start": 123,
"end": 123,
"speaker": "<string>",
"transcript": "<string>",
"text": "<string>"
}
],
"words": [
{}
],
"word_count": 1,
"duration_seconds": 1,
"overall_sentiment": "<string>",
"sentiment_score": 123
},
"analysis": {
"prospect_name": "<string>",
"recording_title": "<string>",
"double_down": "<string>",
"ai_summary": "<string>",
"ai_summary_v5": "<string>",
"questions_asked": 1,
"filler_word_count": 1,
"words_per_minute": 1,
"overall_score": 50,
"clarity_score": 50,
"influence_score": 50,
"objection_score": 50,
"discovery_score": 50,
"delivery_score": 50,
"close_score": 50,
"feedback_v5": {
"clarity": {
"positive": "<string>",
"negative": "<string>"
},
"influence": {
"positive": "<string>",
"negative": "<string>"
},
"objection": {
"positive": "<string>",
"negative": "<string>"
},
"discovery": {
"positive": "<string>",
"negative": "<string>"
},
"delivery": {
"positive": "<string>",
"negative": "<string>"
},
"close": {
"positive": "<string>",
"negative": "<string>"
}
},
"action_plan_v5": {
"double_down_implementation": "<string>",
"general_communication_improvement": "<string>",
"quoted_principle": "<string>"
},
"organization_prompt_summary": "<string>",
"organization_feedback": "<string>",
"master_prompt_id": "<string>",
"master_prompt_version": "<string>",
"persona_snapshot": {},
"synthesis_snapshot": {}
},
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
},
"duration_seconds": 123,
"cost_usd_cents": 123,
"created_at": "<string>",
"started_at": "<string>",
"completed_at": "<string>",
"partner_org_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"partner_rep_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"parent_session_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}Analyses
Fetch an analysis
Returns the full analysis row. When status === "completed" the analysis field is populated with the canonical six-pillar shape (clarity / influence / objection / discovery / delivery / close), each pillar exposed as a flat *_score field plus feedback_v5.<pillar>.{positive, negative} and action_plan_v5. KPIs (questions_asked, filler_word_count, words_per_minute) are flat at the top of analysis. Mock fixtures emit the same shape so a partner can decode mock://* and real audio with one decoder.
GET
/
v1
/
analyses
/
{id}
Fetch an analysis
curl --request GET \
--url http://localhost:3000/v1/analyses/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "http://localhost:3000/v1/analyses/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('http://localhost:3000/v1/analyses/{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_PORT => "3000",
CURLOPT_URL => "http://localhost:3000/v1/analyses/{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 => [
"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 := "http://localhost:3000/v1/analyses/{id}"
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("http://localhost:3000/v1/analyses/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:3000/v1/analyses/{id}")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"recording_url": "<string>",
"transcript_url": "<string>",
"callback_url": "<string>",
"options": {},
"metadata": {},
"transcript": {
"text": "<string>",
"utterances": [
{
"start": 123,
"end": 123,
"speaker": "<string>",
"transcript": "<string>",
"text": "<string>"
}
],
"words": [
{}
],
"word_count": 1,
"duration_seconds": 1,
"overall_sentiment": "<string>",
"sentiment_score": 123
},
"analysis": {
"prospect_name": "<string>",
"recording_title": "<string>",
"double_down": "<string>",
"ai_summary": "<string>",
"ai_summary_v5": "<string>",
"questions_asked": 1,
"filler_word_count": 1,
"words_per_minute": 1,
"overall_score": 50,
"clarity_score": 50,
"influence_score": 50,
"objection_score": 50,
"discovery_score": 50,
"delivery_score": 50,
"close_score": 50,
"feedback_v5": {
"clarity": {
"positive": "<string>",
"negative": "<string>"
},
"influence": {
"positive": "<string>",
"negative": "<string>"
},
"objection": {
"positive": "<string>",
"negative": "<string>"
},
"discovery": {
"positive": "<string>",
"negative": "<string>"
},
"delivery": {
"positive": "<string>",
"negative": "<string>"
},
"close": {
"positive": "<string>",
"negative": "<string>"
}
},
"action_plan_v5": {
"double_down_implementation": "<string>",
"general_communication_improvement": "<string>",
"quoted_principle": "<string>"
},
"organization_prompt_summary": "<string>",
"organization_feedback": "<string>",
"master_prompt_id": "<string>",
"master_prompt_version": "<string>",
"persona_snapshot": {},
"synthesis_snapshot": {}
},
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
},
"duration_seconds": 123,
"cost_usd_cents": 123,
"created_at": "<string>",
"started_at": "<string>",
"completed_at": "<string>",
"partner_org_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"partner_rep_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"parent_session_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Response
200 - application/json
Default Response
Available options:
queued, processing, completed, failed, cancelled Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
⌘I

