Skip to content
Esc
↑↓navigate↵open⌘Jpreview

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 · headerrequired
API key (sk_phones_* prefix) for programmatic access
Path parameters
phoneSystemIdstring<uuid>required
Phone system identifier, discoverable via the accessible phone systems operation.
voicemailIdstring<uuid>required
Voicemail identifier from a webhook payload or a list response.
Responses
200The voicemail, with its transcript when one is currently stored.
archivedbooleanrequired
Whether the voicemail has been archived.
callGroupIdstring<uuid> | anyrequired
Call group mailbox that received the voicemail, when group-addressed.
Show properties
Any of:
string<uuid>
string<uuid>
any
any
callSidstringrequired
Call identifier of the call that left the voicemail, as delivered in webhook payloads.
createdAtstring<date-time>required
When the voicemail was left; lists are ordered by this, descending.
durationintegerrequired
Voicemail duration in seconds.
extensionIdstring<uuid> | anyrequired
Extension mailbox that received the voicemail, when extension-addressed.
Show properties
Any of:
string<uuid>
string<uuid>
any
any
fromstringrequired
Calling party.
fromNamestring | anyrequired
Caller name, when known.
Show properties
Any of:
string
string
any
any
idstring<uuid>required
Voicemail identifier — the voicemailId carried by webhook payloads.
listenedbooleanrequired
Whether the voicemail has been listened to.
phoneSystemIdstring<uuid>required
Phone system this voicemail belongs to.
recordingSidstringrequired
Recording identifier of the voicemail audio — fetch via the signed-URL operation.
transcribedTextstring | anyrequired
Voicemail transcript text, or null when no transcript is currently stored.
Show properties
Any of:
string
string
any
any
transcriptionStatusstringrequired
Whether 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:completedprocessingfailedunavailable
400Validation failure: voicemailId is not a UUID.
codestringrequired
Stable machine identifier to branch on.
correlationIdstringrequired
Request identifier to quote to support.
detailstringrequired
User-safe explanation. Display it if you must; never match on it.
errorsobject[]
Field-level validation problems. Present on validation failures.
Show properties
Array of object
codestringrequired
Per-field machine code (REQUIRED, TOO_SMALL, …).
detailstringrequired
Human-readable description of the field problem.
pointerstringrequired
JSON Pointer to the offending request field.
paramsobject
Extra primitive detail about the condition, such as a limit that was hit.
retry_afterinteger
Seconds to wait before retrying, when a meaningful delay exists.
retryablebooleanrequired
Whether this condition is transient. Derived from code.
statusintegerrequired
Mirrors the HTTP status code.
titlestringrequired
Short human summary of the problem type.
typestringrequired
URL identifying the problem type. An identifier to match, not a link.
401The API key is missing, malformed, expired, or revoked.
codestringrequired
Stable machine identifier to branch on.
correlationIdstringrequired
Request identifier to quote to support.
detailstringrequired
User-safe explanation. Display it if you must; never match on it.
errorsobject[]
Field-level validation problems. Present on validation failures.
Show properties
Array of object
codestringrequired
Per-field machine code (REQUIRED, TOO_SMALL, …).
detailstringrequired
Human-readable description of the field problem.
pointerstringrequired
JSON Pointer to the offending request field.
paramsobject
Extra primitive detail about the condition, such as a limit that was hit.
retry_afterinteger
Seconds to wait before retrying, when a meaningful delay exists.
retryablebooleanrequired
Whether this condition is transient. Derived from code.
statusintegerrequired
Mirrors the HTTP status code.
titlestringrequired
Short human summary of the problem type.
typestringrequired
URL 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.
codestringrequired
Stable machine identifier to branch on.
correlationIdstringrequired
Request identifier to quote to support.
detailstringrequired
User-safe explanation. Display it if you must; never match on it.
errorsobject[]
Field-level validation problems. Present on validation failures.
Show properties
Array of object
codestringrequired
Per-field machine code (REQUIRED, TOO_SMALL, …).
detailstringrequired
Human-readable description of the field problem.
pointerstringrequired
JSON Pointer to the offending request field.
paramsobject
Extra primitive detail about the condition, such as a limit that was hit.
retry_afterinteger
Seconds to wait before retrying, when a meaningful delay exists.
retryablebooleanrequired
Whether this condition is transient. Derived from code.
statusintegerrequired
Mirrors the HTTP status code.
titlestringrequired
Short human summary of the problem type.
typestringrequired
URL 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.
codestringrequired
Stable machine identifier to branch on.
correlationIdstringrequired
Request identifier to quote to support.
detailstringrequired
User-safe explanation. Display it if you must; never match on it.
errorsobject[]
Field-level validation problems. Present on validation failures.
Show properties
Array of object
codestringrequired
Per-field machine code (REQUIRED, TOO_SMALL, …).
detailstringrequired
Human-readable description of the field problem.
pointerstringrequired
JSON Pointer to the offending request field.
paramsobject
Extra primitive detail about the condition, such as a limit that was hit.
retry_afterinteger
Seconds to wait before retrying, when a meaningful delay exists.
retryablebooleanrequired
Whether this condition is transient. Derived from code.
statusintegerrequired
Mirrors the HTTP status code.
titlestringrequired
Short human summary of the problem type.
typestringrequired
URL 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"
}