List phones
Returns a deterministic page of phones in the phone system, with exact status and extension filters.
GET
/customer/phone-systems/{phoneSystemId}/phonesAuthorization
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.
Query parameters
pageinteger1-indexed page number.
min 1 · default: 1
pageSizeintegerRows per page; at most 100.
min 1 · max 100 · default: 25
statusstringExact lifecycle status.
Allowed:
activeinactiveextensionIdstring<uuid>Exact assigned extension identifier.
Responses
200A deterministic page of customer-safe phone inventory.
dataobject[]requiredShow propertiesHide properties
Array of
objectcreatedAtstring<date-time>requiredWhen the phone was created.
extensionobject | anyrequiredShow propertiesHide properties
Any of:
object
idstring<uuid>requiredphoneSystemIdstring<uuid>requiredtypestringrequiredany
anyidstring<uuid>requirednamestringrequiredphoneSystemIdstring<uuid>requiredstatusstringrequiredAllowed:
activeinactiveupdatedAtstring<date-time>requiredWhen the phone record was last updated.
pageintegerrequiredmin 1
pageSizeintegerrequiredmin 1 · max 100
totalintegerrequiredmin 0
totalPagesintegerrequiredmin 0
400The query or phone-system identifier is invalid.
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 phones: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.
404The phone system does not exist or is outside the key grant.
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.
501Phone inventory is unavailable because encryption is not configured.
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/phones" \
-H "X-API-Key: YOUR_API_KEY"Response
{
"data": [
{
"createdAt": "2024-01-01T00:00:00Z",
"extension": {
"id": "<uuid>",
"phoneSystemId": "<uuid>",
"type": "extension"
},
"id": "<uuid>",
"name": "string",
"phoneSystemId": "<uuid>",
"status": "active",
"updatedAt": "2024-01-01T00:00:00Z"
}
],
"page": 0,
"pageSize": 0,
"total": 0,
"totalPages": 0
}{
"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"
}{
"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"
}