List Sessions (Enriched)
curl --request GET \
--url https://api.toughtongueai.com/api/public/v2/sessions \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.toughtongueai.com/api/public/v2/sessions"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.toughtongueai.com/api/public/v2/sessions', 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.toughtongueai.com/api/public/v2/sessions",
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.toughtongueai.com/api/public/v2/sessions"
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.toughtongueai.com/api/public/v2/sessions")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.toughtongueai.com/api/public/v2/sessions")
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{
"sessions": [
{
"id": "session_abc123",
"scenario_id": "scenario_xyz",
"scenario_name": "Sales Cold Call",
"user_email": "user@example.com",
"duration_seconds": 180,
"duration_minutes": 3.0,
"status": "completed",
"evaluation_score": 85,
"evaluation_note": "Strong performance overall",
"report_card": {
"topics": [
{
"name": "Opening",
"score": 90,
"note": "Clear and confident introduction"
}
]
},
"report_card_topics": "Opening;Objection Handling;Closing",
"analytics_url": "https://app.toughtongueai.com/analysis/session_abc123",
"created_at": "2024-01-15T10:30:00Z"
}
],
"total": 1,
"page": 1,
"limit": 50
}
Sessions
List Sessions (Enriched)
List sessions with enriched evaluation data
GET
/
v2
/
sessions
List Sessions (Enriched)
curl --request GET \
--url https://api.toughtongueai.com/api/public/v2/sessions \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.toughtongueai.com/api/public/v2/sessions"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.toughtongueai.com/api/public/v2/sessions', 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.toughtongueai.com/api/public/v2/sessions",
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.toughtongueai.com/api/public/v2/sessions"
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.toughtongueai.com/api/public/v2/sessions")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.toughtongueai.com/api/public/v2/sessions")
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{
"sessions": [
{
"id": "session_abc123",
"scenario_id": "scenario_xyz",
"scenario_name": "Sales Cold Call",
"user_email": "user@example.com",
"duration_seconds": 180,
"duration_minutes": 3.0,
"status": "completed",
"evaluation_score": 85,
"evaluation_note": "Strong performance overall",
"report_card": {
"topics": [
{
"name": "Opening",
"score": 90,
"note": "Clear and confident introduction"
}
]
},
"report_card_topics": "Opening;Objection Handling;Closing",
"analytics_url": "https://app.toughtongueai.com/analysis/session_abc123",
"created_at": "2024-01-15T10:30:00Z"
}
],
"total": 1,
"page": 1,
"limit": 50
}
List sessions with additional evaluation and analytics data.
Returns the same structure as CSV exports with evaluation scores and report cards.
string
Filter by scenario ID
string
Filter by user email (comma-separated for multiple)
string
Filter from date (ISO format: YYYY-MM-DD or YYYY-MM-DDTHH:MM:SSZ)
string
Filter to date (ISO format: YYYY-MM-DD or YYYY-MM-DDTHH:MM:SSZ)
boolean
default:"false"
Use admin access for org-wide data (requires org context)
integer
default:"1"
Page number (starts at 1)
integer
default:"50"
Items per page (max 500)
{
"sessions": [
{
"id": "session_abc123",
"scenario_id": "scenario_xyz",
"scenario_name": "Sales Cold Call",
"user_email": "user@example.com",
"duration_seconds": 180,
"duration_minutes": 3.0,
"status": "completed",
"evaluation_score": 85,
"evaluation_note": "Strong performance overall",
"report_card": {
"topics": [
{
"name": "Opening",
"score": 90,
"note": "Clear and confident introduction"
}
]
},
"report_card_topics": "Opening;Objection Handling;Closing",
"analytics_url": "https://app.toughtongueai.com/analysis/session_abc123",
"created_at": "2024-01-15T10:30:00Z"
}
],
"total": 1,
"page": 1,
"limit": 50
}
⌘I