Skip to content

Devices

Device endpoints are served from the API root with no /api prefix.

MethodPathDescription
GET/devicesList devices visible to the caller
POST/devicesCreate a device
GET/devices/:idGet a device
PATCH/devices/:idUpdate a device
POST/devices/:id/transferMove a device to another organization
DELETE/devices/:idDelete a device
GET /devices?orgId=<uuid>&status=online&q=site-alpha
ParameterTypeDescription
orgIduuidLimit to one organization
statusstringFilter by status (online, offline, provisioning, error, disabled)
qstringSearch by name, serial, model, or organization
tagstringFilter by tag
cursorstringPagination cursor for the next page

The response includes items and a nextCursor for paging.

POST /devices
Content-Type: application/json
{
"organizationId": "<uuid>",
"serial": "AABBCCDDEEFF",
"name": "Site Alpha RC500",
"model": "RC500",
"tags": ["site-alpha"]
}

Requires the device:create scope. Creation is subject to your organization’s subscription status and device quota.

PATCH /devices/:id
Content-Type: application/json
{
"name": "Updated name",
"tags": ["site-alpha", "priority"],
"status": "disabled"
}

The serial is permanent and cannot be changed after creation.

POST /devices/:id/transfer
Content-Type: application/json
{
"toOrgId": "<uuid>",
"reason": "handed to customer site"
}

Requires the device:transfer scope on both the source and destination organizations.

DELETE /devices/:id

Removes the device record and its history.

StatusMeaning
400Invalid request
401Not authenticated
403Insufficient permissions
404Device not found
429Rate limit exceeded