Skip to main content
PATCH
/
v2
/
admin
/
devices
/
{id}
Update Device
curl --request PATCH \
  --url https://api.voxo.co/v2/admin/devices/{id} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "<string>"
}
'
{
  "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.

Path Parameters

id
string
required

Device ID

Pattern: ^[1-9]\d*$

Body

application/json
name
string

Device name

Maximum string length: 255
extensions
object[]

Full replacement of the device's line extensions. When present, all 26 line slots are rewritten from this list (omitted slots are cleared). Also rewrites the device's LINE-type autoprovision values (peername + sip_password).

phonebookIds
integer[]

Full replacement of the device's phonebook associations. Order in the array is preserved.

Required range: x <= 9007199254740991
phoneButtonLayoutIds
integer[]

Full replacement of the device's PHONE button layout assignments. If either this or sidecarButtonLayoutIds is present, BOTH sets are rewritten from whatever is sent (omit = clear).

Required range: x <= 9007199254740991
sidecarButtonLayoutIds
integer[]

Full replacement of the device's SIDECAR button layout assignments (Yealink only).

Required range: x <= 9007199254740991
config
object[]

Partial upsert of the device's outside-loop autoprovision overrides (av_type = 'PHONE'). Each entry overwrites the value for that field; fields not included are left untouched. Names must match outside-loop fields in the phone-model template. Send an empty array to reset every outside-loop override back to the phone-model template defaults.

Response

Updated 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.