curl "https://api.bland.ai/v1/translation/sessions/9592342c-0ed2-4c5e-8ceb-16aa55c804a7" \
-H "Authorization: YOUR_API_KEY"
import requests
response = requests.get(
"https://api.bland.ai/v1/translation/sessions/9592342c-0ed2-4c5e-8ceb-16aa55c804a7",
headers={"Authorization": "YOUR_API_KEY"},
)
print(response.json()["data"]["status"])
{
"data": {
"session_id": "9592342c-0ed2-4c5e-8ceb-16aa55c804a7",
"status": "ENDED",
"source_language": "en",
"target_language": "es",
"voice_id": null,
"audio_protocol": "pcm16",
"sample_rate": 16000,
"max_duration_seconds": 1800,
"end_reason": "client_disconnect",
"session_seconds": 19.712,
"billable_minutes": 1,
"created_at": "2026-06-04T18:05:07.885Z",
"started_at": "2026-06-04T18:05:08.861Z",
"ended_at": "2026-06-04T18:05:28.573Z"
},
"errors": null
}
Live Translation
Get Translation Session
Retrieve the status, duration, and billing details of a translation session
GET
/
v1
/
translation
/
sessions
/
{session_id}
curl "https://api.bland.ai/v1/translation/sessions/9592342c-0ed2-4c5e-8ceb-16aa55c804a7" \
-H "Authorization: YOUR_API_KEY"
import requests
response = requests.get(
"https://api.bland.ai/v1/translation/sessions/9592342c-0ed2-4c5e-8ceb-16aa55c804a7",
headers={"Authorization": "YOUR_API_KEY"},
)
print(response.json()["data"]["status"])
{
"data": {
"session_id": "9592342c-0ed2-4c5e-8ceb-16aa55c804a7",
"status": "ENDED",
"source_language": "en",
"target_language": "es",
"voice_id": null,
"audio_protocol": "pcm16",
"sample_rate": 16000,
"max_duration_seconds": 1800,
"end_reason": "client_disconnect",
"session_seconds": 19.712,
"billable_minutes": 1,
"created_at": "2026-06-04T18:05:07.885Z",
"started_at": "2026-06-04T18:05:08.861Z",
"ended_at": "2026-06-04T18:05:28.573Z"
},
"errors": null
}
Returns the current state of a translation session — useful for checking whether a session connected, how long it ran, and how many minutes were billed.
Authentication
Your API key for authentication
Path Parameters
The session UUID returned by
POST /v1/translation/sessionsResponse
Show data properties
Show data properties
Unique identifier for the session
One of
PENDING (created, WebSocket not yet connected), ACTIVE (audio flowing), ENDED, FAILED, EXPIRED (hit max duration), ABANDONED (never connected before token expiry)Source language code
Target language code
Voice used for translated speech, or
null for the defaultpcm16 or twilio_ulawInbound sample rate for
pcm16 sessions; null for twilio_ulawConfigured maximum session length
Why the session ended:
client_disconnect, max_duration, error, or api_terminated. null while the session is pending or active.Connected duration in seconds.
null until the session ends.Billed minutes (
session_seconds rounded up to the next minute). null until the session ends.ISO timestamp of session creation
ISO timestamp of the WebSocket connection, or
null if it never connectedISO timestamp of session end, or
null while pending or activeArray of error objects if the request failed
curl "https://api.bland.ai/v1/translation/sessions/9592342c-0ed2-4c5e-8ceb-16aa55c804a7" \
-H "Authorization: YOUR_API_KEY"
import requests
response = requests.get(
"https://api.bland.ai/v1/translation/sessions/9592342c-0ed2-4c5e-8ceb-16aa55c804a7",
headers={"Authorization": "YOUR_API_KEY"},
)
print(response.json()["data"]["status"])
{
"data": {
"session_id": "9592342c-0ed2-4c5e-8ceb-16aa55c804a7",
"status": "ENDED",
"source_language": "en",
"target_language": "es",
"voice_id": null,
"audio_protocol": "pcm16",
"sample_rate": 16000,
"max_duration_seconds": 1800,
"end_reason": "client_disconnect",
"session_seconds": 19.712,
"billable_minutes": 1,
"created_at": "2026-06-04T18:05:07.885Z",
"started_at": "2026-06-04T18:05:08.861Z",
"ended_at": "2026-06-04T18:05:28.573Z"
},
"errors": null
}
Was this page helpful?
⌘I