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
string
required
Your API key for authentication
Path Parameters
string
required
The session UUID returned by
POST /v1/translation/sessionsResponse
object
Show data properties
Show data properties
string
Unique identifier for the session
string
One of
PENDING (created, WebSocket not yet connected), ACTIVE (audio flowing), ENDED, FAILED, EXPIRED (hit max duration), ABANDONED (never connected before token expiry)string
Source language code
string
Target language code
string
Voice used for translated speech, or
null for the defaultstring
pcm16 or twilio_ulawinteger
Inbound sample rate for
pcm16 sessions; null for twilio_ulawinteger
Configured maximum session length
string
Why the session ended:
client_disconnect, max_duration, error, or api_terminated. null while the session is pending or active.number
Connected duration in seconds.
null until the session ends.integer
Billed minutes (
session_seconds rounded up to the next minute). null until the session ends.string
ISO timestamp of session creation
string
ISO timestamp of the WebSocket connection, or
null if it never connectedstring
ISO timestamp of session end, or
null while pending or activearray
default:"null"
Array 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