Skip to main content
POST
/
v2
/
admin
/
devices
Create Device
curl --request POST \
  --url https://api.voxo.co/v2/admin/devices/ \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "tenantId": 123,
  "name": "<string>",
  "mac": "<string>",
  "deviceModelId": 123,
  "phonebookIds": [
    123
  ]
}
'
{
  "id": 123,
  "name": "<string>",
  "mac": "<string>",
  "tenant": {
    "id": 123,
    "name": "<string>"
  },
  "deviceModel": {
    "id": 123,
    "name": "<string>"
  },
  "extensions": [
    {
      "lineNumber": 123,
      "id": 123,
      "name": "<string>",
      "number": "<string>",
      "peerName": "<string>"
    }
  ],
  "buttonLayouts": [
    {
      "id": 123,
      "type": "<string>",
      "name": "<string>",
      "startKey": 123,
      "endKey": 123
    }
  ],
  "phonebooks": [
    {
      "id": 123,
      "name": "<string>"
    }
  ],
  "config": [
    {
      "name": "<string>",
      "label": "<string>",
      "value": "<string>",
      "displayValue": "<string>"
    }
  ],
  "userAgent": "<string>"
}

Documentation Index

Fetch the complete documentation index at: https://docs.voxo.co/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
tenantId
integer
required

Tenant ID

Required range: x <= 9007199254740991
name
string
required

Device name

Maximum string length: 255
mac
string
required

MAC address

Maximum string length: 17
Pattern: ^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$
deviceModelId
integer
required

Device model ID

Required range: x <= 9007199254740991
phonebookIds
integer[]
required

Phonebook IDs to assign to the device

Required range: x <= 9007199254740991
phoneButtonLayoutIds
integer[]

Button layout IDs to assign as phone layouts. Omit or send an empty array for devices with no phone-side button layouts.

Required range: x <= 9007199254740991
sidecarButtonLayoutIds
integer[]

Button layout IDs to assign as sidecar layouts (Yealink only). Omit or send an empty array for non-Yealink devices.

Required range: x <= 9007199254740991

Response

Newly created device with full settings profile

id
number
required

Device ID

name
string
required

Device name

mac
string
required

MAC address

tenant
object
required

Owning tenant

deviceModel
object
required

Phone model

extensions
object[]
required

Assigned line extensions

buttonLayouts
object[]
required

Assigned button layouts

phonebooks
object[]
required

Assigned phonebooks

config
object[]
required

Device-level configurable fields. One entry per av_autoprovisionvalues row of av_type = 'PHONE' for this device, joined to its al_autoprovisionlabels row for the human-readable label. displayValue is the mapped label for select/bool/checkbox/radio fields (per the template's options); equals value otherwise.

userAgent
string
required

SIP user agent of the device's primary line (phLine1ExId). Empty string when no primary line is set or the phone is not currently registered.