@dialstack/sdk / index / Device
Interface: Device
Defined in: sdk/src/types/device.ts:31
A device returned by GET /v1/devices or GET /v1/devices/:id.
The type field discriminates between deskphones and DECT bases.
Type-specific fields are present only for the corresponding type.
Use the isDeskphone() and isDECTBase() type guards for safe narrowing.
Properties
assignments?
optional assignments?: DeviceUserAssignment[];
Defined in: sdk/src/types/device.ts:93
User assignments (deskphones and DECT handsets). Only hydrated when the
device is fetched with expand[]=users; absent otherwise. DECT bases
always carry an empty array — handsets, not bases, are user-assigned.
button_template_id?
optional button_template_id?: string | null;
Defined in: sdk/src/types/device.ts:57
Reusable programmable-key template bound to this device.
compatibility?
optional compatibility?: ButtonCompatibilitySummary;
Defined in: sdk/src/types/device.ts:112
Programmable-key compatibility for the current effective button set.
created_at
created_at: string;
Defined in: sdk/src/types/device.ts:84
ISO 8601 timestamp
current_ip_address?
optional current_ip_address?: string;
Defined in: sdk/src/types/device.ts:63
Last known IP address from provisioning request
firmware_version?
optional firmware_version?: string;
Defined in: sdk/src/types/device.ts:107
Current firmware version
handsets?
optional handsets?: DECTHandset[];
Defined in: sdk/src/types/device.ts:109
Associated handsets (when eager-loaded)
id
id: string;
Defined in: sdk/src/types/device.ts:33
TypeID with dev_ or dectb_ prefix
last_call_at
last_call_at: string | null;
Defined in: sdk/src/types/device.ts:82
ISO 8601 timestamp of the latest call attempt involving the device (any
outcome), or null until its first call. Presence means the device has
carried a call; recency indicates whether it is still in use.
last_provisioned_at?
optional last_provisioned_at?: string;
Defined in: sdk/src/types/device.ts:65
ISO 8601 timestamp of last successful config fetch
last_registered_at
last_registered_at: string | null;
Defined in: sdk/src/types/device.ts:76
ISO 8601 timestamp of when reachability was last confirmed; null when
the device is not currently reachable.
lines?
optional lines?: DeviceLine[];
Defined in: sdk/src/types/device.ts:99
Configured lines on this device
location_id?
optional location_id?: string | null;
Defined in: sdk/src/types/device.ts:55
Physical E911 location for this device. Set on deskphones and DECT
bases; null when unassigned. DECT handsets have no location_id of
their own — they inherit from the paired base and the handset
response carries null here.
mac_address
mac_address: string;
Defined in: sdk/src/types/device.ts:37
Hardware MAC address (e.g., "00:04:13:aa:bb:cc")
max_handsets?
optional max_handsets?: number;
Defined in: sdk/src/types/device.ts:105
Maximum number of handsets this base supports
model?
optional model?: string;
Defined in: sdk/src/types/device.ts:41
Device model (e.g., "D785", "M700")
multicell_role?
optional multicell_role?: MulticellRole;
Defined in: sdk/src/types/device.ts:103
Role in multicell deployment
name?
optional name?: string | null;
Defined in: sdk/src/types/device.ts:48
Human-friendly label for the device. Set by admins on deskphones,
DECT bases, and DECT handsets; null when unassigned. (Handset
responses also expose this value as display_name for backwards
compatibility with the legacy DECT API.)
overrides?
optional overrides?: DeviceSettings;
Defined in: sdk/src/types/device.ts:61
Device-specific settings overrides
primary_line_id?
optional primary_line_id?: string;
Defined in: sdk/src/types/device.ts:97
TypeID of the primary line
registration_status
registration_status: RegistrationStatus;
Defined in: sdk/src/types/device.ts:71
Whether the device is currently reachable (online). Live-derived from the
device's assigned lines; distinct from status, which only reflects
whether the device has fetched its config. Always present.
status
status: DeviceStatus;
Defined in: sdk/src/types/device.ts:59
Current provisioning status
type
type: DeviceType;
Defined in: sdk/src/types/device.ts:35
Device type discriminator
updated_at
updated_at: string;
Defined in: sdk/src/types/device.ts:86
ISO 8601 timestamp
vendor
vendor: string;
Defined in: sdk/src/types/device.ts:39
Detected vendor (e.g., "snom", "yealink")