Skip to content

List simulator phones

GET
/v2/simulator/phones
curl --request GET \
--url https://api.connect.ms/v2/simulator/phones \
--header 'Authorization: Bearer <token>'

The simulated handsets you can send to while testing, each with your recent messages to and from it. The set is fixed, so there is only one page.

Connect-Version
string

The API version to use, for example 2026-10-01. Defaults to the version set on your API key.

The simulated handsets.

Media typeapplication/json

A page of results.

object
data
required

The items on this page.

Array<object>

A simulated handset, with your recent messages to and from it.

object
number
required

The handset’s number (E.164 format). Send to it to exercise the outcome without reaching a real phone.

string
name
required

A short name for the handset.

string
behaviour
required

What the handset does with messages, in plain words.

string
outcome
required
One of:

What a simulated handset does with every message: delivered, failed (returned undelivered) or replies (delivered, then it texts back).

string
Allowed values: delivered failed replies
messages
required

Your most recent messages to and from the handset in the last 30 days, newest first; at most 30 are shown.

Array<object>

A message on a simulated handset’s screen.

object
id
required

The id of the message.

string
direction
required
One of:

Which way the message travelled: outbound (sent by you) or inbound (received on one of your numbers, or as a reply through a message link).

string
Allowed values: outbound inbound
sender
required

The sender of the message.

string
recipient
required

The recipient of the message.

string
content
required

The message text.

string
status
required
One of:

The message status: queued (accepted, scheduled, paced or held and not yet handed to the network), sent (handed to the network, awaiting a delivery receipt), delivered, failed (see reason), cancelled, or received for an inbound message.

string
Allowed values: queued sent delivered failed cancelled received
createdAt
required

When (UTC) the message was created or received.

string format: date-time
nextCursor

Pass as cursor to fetch the next page. Null when there are no more results, except on the events feed, which always returns one.

string
nullable

Example

{
"data": [
{
"outcome": "delivered",
"messages": [
{
"direction": "outbound",
"status": "queued"
}
]
}
]
}

The request is not valid. The detail field says why, and errors lists any problems by field name.

Media typeapplication/problem+json

Why a request failed, in the RFC 9457 problem details format.

object
type
required

A URI identifying the kind of problem, ending in a code such as validation_failed, not_found, sending_blocked or rate_limited.

string
title
required

A short, fixed summary of the kind of problem.

string
status
required

The HTTP status code of the response.

integer format: int32
detail

What went wrong with this particular request, when there is more to say than the title.

string
nullable
errors

For validation failures, the problems found, keyed by field name (nested fields as template.name, list items as messages[3]).

object
key
additional properties
Array<string>
requestId
required

The id recorded for this error, matching the Request-Id header when one is sent. Quote it when contacting support.

string

Example generated

{
"type": "example",
"title": "example",
"status": 1,
"detail": "example",
"errors": {
"additionalProperty": [
"example"
]
},
"requestId": "example"
}

The API key or bearer token is missing or not valid, or the request signature could not be verified.

Media typeapplication/problem+json

Why a request failed, in the RFC 9457 problem details format.

object
type
required

A URI identifying the kind of problem, ending in a code such as validation_failed, not_found, sending_blocked or rate_limited.

string
title
required

A short, fixed summary of the kind of problem.

string
status
required

The HTTP status code of the response.

integer format: int32
detail

What went wrong with this particular request, when there is more to say than the title.

string
nullable
errors

For validation failures, the problems found, keyed by field name (nested fields as template.name, list items as messages[3]).

object
key
additional properties
Array<string>
requestId
required

The id recorded for this error, matching the Request-Id header when one is sent. Quote it when contacting support.

string

Example generated

{
"type": "example",
"title": "example",
"status": 1,
"detail": "example",
"errors": {
"additionalProperty": [
"example"
]
},
"requestId": "example"
}

The caller is not allowed to do this.

Media typeapplication/problem+json

Why a request failed, in the RFC 9457 problem details format.

object
type
required

A URI identifying the kind of problem, ending in a code such as validation_failed, not_found, sending_blocked or rate_limited.

string
title
required

A short, fixed summary of the kind of problem.

string
status
required

The HTTP status code of the response.

integer format: int32
detail

What went wrong with this particular request, when there is more to say than the title.

string
nullable
errors

For validation failures, the problems found, keyed by field name (nested fields as template.name, list items as messages[3]).

object
key
additional properties
Array<string>
requestId
required

The id recorded for this error, matching the Request-Id header when one is sent. Quote it when contacting support.

string

Example generated

{
"type": "example",
"title": "example",
"status": 1,
"detail": "example",
"errors": {
"additionalProperty": [
"example"
]
},
"requestId": "example"
}

The service is temporarily unavailable. Retry after the Retry-After header.

Media typeapplication/problem+json

Why a request failed, in the RFC 9457 problem details format.

object
type
required

A URI identifying the kind of problem, ending in a code such as validation_failed, not_found, sending_blocked or rate_limited.

string
title
required

A short, fixed summary of the kind of problem.

string
status
required

The HTTP status code of the response.

integer format: int32
detail

What went wrong with this particular request, when there is more to say than the title.

string
nullable
errors

For validation failures, the problems found, keyed by field name (nested fields as template.name, list items as messages[3]).

object
key
additional properties
Array<string>
requestId
required

The id recorded for this error, matching the Request-Id header when one is sent. Quote it when contacting support.

string

Example generated

{
"type": "example",
"title": "example",
"status": 1,
"detail": "example",
"errors": {
"additionalProperty": [
"example"
]
},
"requestId": "example"
}