curl --request GET \
--url https://api.chariot.in/v1/asr/sessions/{session_id} \
--header 'chariotai-api-key: <api-key>'import requests
url = "https://api.chariot.in/v1/asr/sessions/{session_id}"
headers = {"chariotai-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'chariotai-api-key': '<api-key>'}};
fetch('https://api.chariot.in/v1/asr/sessions/{session_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_URL => "https://api.chariot.in/v1/asr/sessions/{session_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 => [
"chariotai-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"
"net/http"
"io"
)
func main() {
url := "https://api.chariot.in/v1/asr/sessions/{session_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("chariotai-api-key", "<api-key>")
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.chariot.in/v1/asr/sessions/{session_id}")
.header("chariotai-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.chariot.in/v1/asr/sessions/{session_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["chariotai-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"session_id": "3f2c9a71-5b0e-4d7a-9c1e-8a4b6d2f0e13",
"created_at": "2026-10-19T09:41:27.518000Z",
"model_type": "chariot-1-asr-realtime",
"mode": "balanced",
"style": "codemix",
"language": "en",
"audio_format": "pcm_16000",
"sample_rate": 16000,
"audio_seconds": 4.82,
"credits": 8,
"transcript": "Hi, I'd like to move the meeting to Thursday.",
"close_code": 1000,
"started_at": "2026-10-19T09:41:21.904000Z",
"ended_at": "2026-10-19T09:41:27.402000Z"
}Get ASR session
Return one streaming session with its transcript, settings, cost, and how it ended.
curl --request GET \
--url https://api.chariot.in/v1/asr/sessions/{session_id} \
--header 'chariotai-api-key: <api-key>'import requests
url = "https://api.chariot.in/v1/asr/sessions/{session_id}"
headers = {"chariotai-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'chariotai-api-key': '<api-key>'}};
fetch('https://api.chariot.in/v1/asr/sessions/{session_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_URL => "https://api.chariot.in/v1/asr/sessions/{session_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 => [
"chariotai-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"
"net/http"
"io"
)
func main() {
url := "https://api.chariot.in/v1/asr/sessions/{session_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("chariotai-api-key", "<api-key>")
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.chariot.in/v1/asr/sessions/{session_id}")
.header("chariotai-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.chariot.in/v1/asr/sessions/{session_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["chariotai-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"session_id": "3f2c9a71-5b0e-4d7a-9c1e-8a4b6d2f0e13",
"created_at": "2026-10-19T09:41:27.518000Z",
"model_type": "chariot-1-asr-realtime",
"mode": "balanced",
"style": "codemix",
"language": "en",
"audio_format": "pcm_16000",
"sample_rate": 16000,
"audio_seconds": 4.82,
"credits": 8,
"transcript": "Hi, I'd like to move the meeting to Thursday.",
"close_code": 1000,
"started_at": "2026-10-19T09:41:21.904000Z",
"ended_at": "2026-10-19T09:41:27.402000Z"
}Authorizations
Your Chariot API key, generated from the dashboard. Send it in the chariotai-api-key header on every request.
Path Parameters
The session_id from session.started.
Response
The session.
One streaming session.
The session_id from session.started.
When the session was saved to history.
"chariot-1-asr-realtime"
balanced, high_accuracy codemix, native The language hint, or null for automatic language detection.
"en"
"pcm_16000"
Sample rate of the audio sent, in Hz.
16000
Seconds of audio sent.
Credits charged for the session.
The final transcript, or the text recognized before the session ended. Can be empty or null if no text was recognized.
The WebSocket close code the session ended with, for example 1000 for a normal finish.
When the session started.
When the session ended.