Skip to content
Esc
↑↓navigate↵open⌘Jpreview

List call recordings

Returns the phone system’s call recordings, newest first (ordered by createdAt descending with id as the tiebreak, so paging is deterministic), optionally bounded by an inclusive createdAt window (dateFrom/dateTo). Each row carries status: ready means the audio is fetchable through the signed-URL operation now; processing means it is still landing after the call — retry shortly. Voicemail audio is not listed here; follow a voicemail’s recordingSid to the signed-URL operation instead. Requires the recordings scope.

GET/customer/phone-systems/{phoneSystemId}/recordings
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.
Query parameters
pageinteger
1-indexed page number.
min 1 · default: 1
pageSizeinteger
Rows per page; at most 100.
min 1 · max 100 · default: 25
dateFromstring<date-time>
Inclusive lower bound (ISO 8601 UTC) on the row creation time.
dateTostring<date-time>
Inclusive upper bound (ISO 8601 UTC) on the row creation time.
Responses
200One page of call recordings with the total row count for the filter.
dataobject[]required
Show properties
Array of object
callSidstringrequired
Call identifier of the recorded call, as delivered in webhook payloads.
createdAtstring<date-time>required
When the recording was created; lists are ordered by this, descending.
durationinteger | anyrequired
Recording duration in seconds, or null while the recording is still processing and its length is not yet known.
Show properties
Any of:
integer
integer
any
any
fromstringrequired
Calling party.
phoneSystemIdstring<uuid>required
Phone system this recording belongs to.
recordingSidstringrequired
Recording identifier, as delivered in webhook payloads.
statusstringrequired
Whether the audio is fetchable yet via the signed-URL operation.
Allowed:readyprocessing
tostringrequired
Called party.
pageintegerrequired
min 1
pageSizeintegerrequired
min 1 · max 100
totalintegerrequired
min 0
totalPagesintegerrequired
min 0
400Validation failure: an unknown query parameter, a malformed date, or a pageSize above 100. Field problems are itemized in errors[].
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 recordings: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.
404The phone system does not exist or 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/recordings" \
  -H "X-API-Key: YOUR_API_KEY"
Response
{
  "data": [
    {
      "callSid": "string",
      "createdAt": "2024-01-01T00:00:00Z",
      "duration": 0,
      "from": "string",
      "phoneSystemId": "<uuid>",
      "recordingSid": "string",
      "status": "ready",
      "to": "string"
    }
  ],
  "page": 0,
  "pageSize": 0,
  "total": 0,
  "totalPages": 0
}