Skip to main content
TypeScript

Authorizations

Authorization
string
header
required

Your Periskope API token, sent as Authorization: Bearer <token>. Generate one from the Periskope dashboard under Settings → API & Webhooks. API access requires an active Pro or Enterprise plan.

Response

The newly created phone. org_phone and wa_state stay null until a WhatsApp account is connected via the QR.

A phone — a slot in the workspace that a WhatsApp account connects to by scanning a QR code. All phone-scoped endpoints act through one phone, selected with the x-phone header (org phone number or phone_id).

phone_id
string

Unique id of the phone (phone-xxxxxxxxxxxxxxxx). Accepted as the x-phone header value on phone-scoped endpoints.

Example:

"phone-aaaaaaaaaaaa"

org_id
string<uuid>

Id of the organization the phone belongs to

Example:

"00000000-0000-0000-0000-000000000000"

org_phone
string

WhatsApp number connected to the phone, as country code + number suffixed with @c.us. null until a WhatsApp account has been connected by scanning the QR.

Example:

"911111111111@c.us"

phone_name
string

Display name of the phone

Example:

"Support"

phone_image
string

URL of the profile image of the phone

Example:

"https://example.com/files/image.png"

wa_state
string

WhatsApp connection state — 'CONNECTED' when the session is live, 'UNPAIRED'/'UNPAIRED_IDLE' while awaiting a QR scan, other transient states include 'OPENING', 'PAIRING', 'TIMEOUT' and 'CONFLICT'. null before the phone has ever connected.

Example:

"CONNECTED"

is_ready
boolean

Whether the phone instance is booted and ready to send and receive messages

Example:

true

qr_code
string

Raw QR payload while the phone is awaiting a QR scan; null once connected. Use GET /phones/qr to render it as a scannable image.

label_ids
object

Labels assigned to the phone, keyed by label_id (true = assigned)

Example:
labels
string[]

Names of the labels assigned to the phone, resolved from label_ids

Example:
is_browser_open
boolean

Whether the phone's WhatsApp Web browser session is currently open

Example:

true

last_disconnect
any

Details of the most recent disconnect event, if any. null when the phone has never disconnected.

queue_status
any

Status of the phone's outgoing message queue, if any messages are queued

first_connected_at
string

When a WhatsApp account was first connected to the phone, as an ISO 8601 timestamp. null if never connected.

Example:

"2026-01-15T09:30:00.000Z"

created_at
string

When the phone was created, as an ISO 8601 timestamp

Example:

"2026-01-10T12:00:00.000Z"

updated_at
string

When the phone was last updated, as an ISO 8601 timestamp

Example:

"2026-01-15T09:30:00.000Z"