Skip to main content
GET
/
v1
/
phones
/
{phone_id}
/
status
Get Phone Status
curl --request GET \
  --url https://api.example.com/v1/phones/{phone_id}/status
Get the real-time connection and control status for a specific phone. Unlike Get Info which returns device metadata, this endpoint returns live operational state.

Request

curl https://api.tapkit.ai/v1/phones/{phone_id}/status \
  -H "X-API-Key: joot_your_api_key"

Path Parameters

ParameterTypeDescription
phone_idstringThe phone identifier

Response

Status: 200 OK
{
  "phone_id": "abc123-def456",
  "phone_name": "iPhone 15 Pro",
  "connection_status": "online",
  "switch_control_enabled": true,
  "screen_locked": false,
  "streaming": false,
  "width": 1179,
  "height": 2556
}

Response Fields

FieldTypeDescription
phone_idstringPhone identifier
phone_namestring | nullPhone display name
connection_statusstringonline, available, or offline
switch_control_enabledbooleanWhether Switch Control is active
screen_lockedbooleanWhether the screen is locked
streamingbooleanWhether the phone is currently streaming its screen
widthinteger | nullScreen width in pixels
heightinteger | nullScreen height in pixels

Examples

Python

import requests

response = requests.get(
    f"https://api.tapkit.ai/v1/phones/{phone_id}/status",
    headers={"X-API-Key": "joot_..."}
)

status = response.json()
print(f"Connection: {status['connection_status']}")
print(f"Switch Control: {status['switch_control_enabled']}")
print(f"Screen locked: {status['screen_locked']}")

Check Before Running a Session

status = requests.get(
    f"https://api.tapkit.ai/v1/phones/{phone_id}/status",
    headers={"X-API-Key": "joot_..."}
).json()

if status["connection_status"] != "online":
    print("Phone is not online")
elif not status["switch_control_enabled"]:
    print("Switch Control is not enabled")
elif status["screen_locked"]:
    print("Screen is locked — unlock first")
else:
    print("Ready to go!")