API reference
Read-only endpoints. Authenticate with a Bearer token, scoped to what your integration needs.
/api/v1/sessionsList sessions for the authenticated tenant.
Returns sessions in reverse-chronological order, capped at the requested limit. Use `cursor` to paginate.
Scope · sessions:read
Query parameters
limitint (1–100)Page size. Default 50.fromISO datetimeInclusive lower bound on `started_at`.toISO datetimeInclusive upper bound on `started_at`.user_iduuidFilter to a single rep.cursorISO datetimePass `next_cursor` from the previous response.
{
"ok": true,
"data": [
{
"id": "30000000-0000-0000-0000-000000000001",
"user_id": "a0000000-0000-0000-0000-000000000002",
"scenario_id": "10000000-0000-0000-0000-000000000004",
"status": "scored",
"started_at": "2026-05-06T17:00:00Z",
"ended_at": "2026-05-06T17:07:00Z",
"duration_seconds": 420,
"created_at": "2026-05-06T17:00:00Z"
}
],
"next_cursor": "2026-05-06T17:00:00Z"
}/api/v1/sessions/:idFetch a single session, including its full transcript.
Returns 404 if the session does not exist or is outside your tenant.
Scope · sessions:read
{
"ok": true,
"data": {
"id": "30000000-0000-0000-0000-000000000001",
"transcript": [{ "role": "agent", "message": "Hello?", "time": 0 }]
}
}/api/v1/scorecards/:idFetch a single scorecard.
Includes overall score, headline, category breakdown, and coach-friendly callouts.
Scope · scorecards:read
{
"ok": true,
"data": {
"overall_score": 87,
"verdict": "crushed_it",
"headline": "You earned the right to ask for the math by reframing his anger as data."
}
}/api/v1/scenariosList scenarios for the tenant.
Active scenarios first; archived scenarios included for back-references.
Scope · scenarios:read
{
"ok": true,
"data": [
{ "id": "...", "name": "Cold Call — FSBO Seller", "call_type": "cold_call" }
]
}/api/v1/usersList rep records for the tenant.
Returns id, full_name, role, and last_session_at. Email is intentionally not included by default.
Scope · users:read
{
"ok": true,
"data": [
{ "id": "...", "full_name": "Jordan Reyes", "role": "rep", "last_session_at": "2026-05-06T17:00:00Z" }
]
}/api/v1/analytics/summaryAggregate KPI summary for the period.
Total sessions, scored count, average score, and unique active reps.
Scope · analytics:read
Query parameters
fromISO datetimeDefault: 30 days ago.toISO datetimeDefault: now.
{
"ok": true,
"data": {
"from": "2026-04-06T17:00:00Z",
"to": "2026-05-06T17:00:00Z",
"sessions": 132,
"scored": 128,
"avg_score": 78,
"unique_reps": 12
}
}