Get a voicemail
Returns one voicemail by the voicemailId carried in webhook payloads and list responses, including the transcript when one is currently stored. transcriptionStatus reports whether transcript text is retrievable right now: a transcript removed by retention or explicit deletion reads unavailable even though the transcription itself once finished. The voicemail audio itself is fetched through the recording signed-URL operation using this row’s recordingSid (requires the recordings scope). Requires the voicemails scope.
GET
/customer/phone-systems/{phoneSystemId}/voicemails/{voicemailId}Authorization
X-API-KeyAPI key · headerrequiredAPI key (sk_phones_* prefix) for programmatic access
Path parameters
phoneSystemIdstring<uuid>requiredPhone system identifier, discoverable via the accessible phone systems operation.
voicemailIdstring<uuid>requiredVoicemail identifier from a webhook payload or a list response.
Responses
200The voicemail, with its transcript when one is currently stored.
archivedbooleanrequiredWhether the voicemail has been archived.
callGroupIdstring<uuid> | anyrequiredCall group mailbox that received the voicemail, when group-addressed.
Show propertiesHide properties
Any of:
string<uuid>
string<uuid>any
anycallSidstringrequiredCall identifier of the call that left the voicemail, as delivered in webhook payloads.
createdAtstring<date-time>requiredWhen the voicemail was left; lists are ordered by this, descending.
durationintegerrequiredVoicemail duration in seconds.
extensionIdstring<uuid> | anyrequiredExtension mailbox that received the voicemail, when extension-addressed.
Show propertiesHide properties
Any of:
string<uuid>
string<uuid>any
anyfromstringrequiredCalling party.
fromNamestring | anyrequiredCaller name, when known.
Show propertiesHide properties
Any of:
string
stringany
anyidstring<uuid>requiredVoicemail identifier — the voicemailId carried by webhook payloads.
listenedbooleanrequiredWhether the voicemail has been listened to.
phoneSystemIdstring<uuid>requiredPhone system this voicemail belongs to.
recordingSidstringrequiredRecording identifier of the voicemail audio — fetch via the signed-URL operation.
transcribedTextstring | anyrequiredVoicemail transcript text, or null when no transcript is currently stored.
Show propertiesHide properties
Any of:
string
stringany
anytranscriptionStatusstringrequiredWhether transcript text is retrievable right now: completed, processing (keep polling), failed, or unavailable. A transcript removed by retention or explicit deletion reads unavailable even though the transcription itself once finished.
Allowed:
completedprocessingfailedunavailable400Validation failure: voicemailId is not a UUID.
codestringrequiredStable machine identifier to branch on.
correlationIdstringrequiredRequest identifier to quote to support.
detailstringrequiredUser-safe explanation. Display it if you must; never match on it.
errorsobject[]Field-level validation problems. Present on validation failures.
Show propertiesHide properties
Array of
objectcodestringrequiredPer-field machine code (REQUIRED, TOO_SMALL, …).
detailstringrequiredHuman-readable description of the field problem.
pointerstringrequiredJSON Pointer to the offending request field.
paramsobjectExtra primitive detail about the condition, such as a limit that was hit.
retry_afterintegerSeconds to wait before retrying, when a meaningful delay exists.
retryablebooleanrequiredWhether this condition is transient. Derived from code.
statusintegerrequiredMirrors the HTTP status code.
titlestringrequiredShort human summary of the problem type.
typestringrequiredURL identifying the problem type. An identifier to match, not a link.
401The API key is missing, malformed, expired, or revoked.
codestringrequiredStable machine identifier to branch on.
correlationIdstringrequiredRequest identifier to quote to support.
detailstringrequiredUser-safe explanation. Display it if you must; never match on it.
errorsobject[]Field-level validation problems. Present on validation failures.
Show propertiesHide properties
Array of
objectcodestringrequiredPer-field machine code (REQUIRED, TOO_SMALL, …).
detailstringrequiredHuman-readable description of the field problem.
pointerstringrequiredJSON Pointer to the offending request field.
paramsobjectExtra primitive detail about the condition, such as a limit that was hit.
retry_afterintegerSeconds to wait before retrying, when a meaningful delay exists.
retryablebooleanrequiredWhether this condition is transient. Derived from code.
statusintegerrequiredMirrors the HTTP status code.
titlestringrequiredShort human summary of the problem type.
typestringrequiredURL identifying the problem type. An identifier to match, not a link.
403The key lacks the voicemails:read scope, or is not a tenant API key.
codestringrequiredStable machine identifier to branch on.
correlationIdstringrequiredRequest identifier to quote to support.
detailstringrequiredUser-safe explanation. Display it if you must; never match on it.
errorsobject[]Field-level validation problems. Present on validation failures.
Show propertiesHide properties
Array of
objectcodestringrequiredPer-field machine code (REQUIRED, TOO_SMALL, …).
detailstringrequiredHuman-readable description of the field problem.
pointerstringrequiredJSON Pointer to the offending request field.
paramsobjectExtra primitive detail about the condition, such as a limit that was hit.
retry_afterintegerSeconds to wait before retrying, when a meaningful delay exists.
retryablebooleanrequiredWhether this condition is transient. Derived from code.
statusintegerrequiredMirrors the HTTP status code.
titlestringrequiredShort human summary of the problem type.
typestringrequiredURL identifying the problem type. An identifier to match, not a link.
404No such voicemail in this phone system — a nonexistent id, a deleted voicemail, and an id belonging to another phone system are indistinguishable — or the phone system itself is not covered by the key.
codestringrequiredStable machine identifier to branch on.
correlationIdstringrequiredRequest identifier to quote to support.
detailstringrequiredUser-safe explanation. Display it if you must; never match on it.
errorsobject[]Field-level validation problems. Present on validation failures.
Show propertiesHide properties
Array of
objectcodestringrequiredPer-field machine code (REQUIRED, TOO_SMALL, …).
detailstringrequiredHuman-readable description of the field problem.
pointerstringrequiredJSON Pointer to the offending request field.
paramsobjectExtra primitive detail about the condition, such as a limit that was hit.
retry_afterintegerSeconds to wait before retrying, when a meaningful delay exists.
retryablebooleanrequiredWhether this condition is transient. Derived from code.
statusintegerrequiredMirrors the HTTP status code.
titlestringrequiredShort human summary of the problem type.
typestringrequiredURL identifying the problem type. An identifier to match, not a link.
Request
curl -X GET "https://api.steerphones.com/v1/customer/phone-systems/%3Cuuid%3E/voicemails/%3Cuuid%3E" \
-H "X-API-Key: YOUR_API_KEY"Response
{
"archived": true,
"callGroupId": "<uuid>",
"callSid": "string",
"createdAt": "2024-01-01T00:00:00Z",
"duration": 0,
"extensionId": "<uuid>",
"from": "string",
"fromName": "string",
"id": "<uuid>",
"listened": true,
"phoneSystemId": "<uuid>",
"recordingSid": "string",
"transcribedText": "string",
"transcriptionStatus": "completed"
}{
"code": "string",
"correlationId": "string",
"detail": "string",
"errors": [
{
"code": "string",
"detail": "string",
"pointer": "string"
}
],
"params": {},
"retry_after": 0,
"retryable": true,
"status": 0,
"title": "string",
"type": "string"
}{
"code": "string",
"correlationId": "string",
"detail": "string",
"errors": [
{
"code": "string",
"detail": "string",
"pointer": "string"
}
],
"params": {},
"retry_after": 0,
"retryable": true,
"status": 0,
"title": "string",
"type": "string"
}{
"code": "string",
"correlationId": "string",
"detail": "string",
"errors": [
{
"code": "string",
"detail": "string",
"pointer": "string"
}
],
"params": {},
"retry_after": 0,
"retryable": true,
"status": 0,
"title": "string",
"type": "string"
}{
"code": "string",
"correlationId": "string",
"detail": "string",
"errors": [
{
"code": "string",
"detail": "string",
"pointer": "string"
}
],
"params": {},
"retry_after": 0,
"retryable": true,
"status": 0,
"title": "string",
"type": "string"
}