Skip to main content
GET
List devices

Authorizations

Authorization
string
header
required

JWT access token. Paste the token only; the Bearer prefix is added automatically.

Query Parameters

status
string

Filter by device status

device_type
string

Filter by device type ('physical' or 'virtual')

target_model_version_id
string

Filter by deployed model version ID (use 'null' for devices without models)

limit
integer

Number of results to return (default 50, max 500)

offset
integer

Number of results to skip (default 0)

order
string

Sort order: 'asc' or 'desc' (default 'desc')

Response

List of devices with metadata

auto_assign_to
integer

Auto-assign to ProjectID

compose_file_path
string

Path to docker-compose.yml on device

config_last_sync
string

When config was last extracted

created_at
string
device_id
string
device_type
string

"physical" | "virtual"

edge_key
string

Temporary storage for Portainer edge key (cleared after deployment)

hls_port
integer

Edge service configuration (auto-discovered or manual override)

id
integer
ip_address
string

Network configuration for live streaming (WebRTC)

last_seen
string

Heartbeat and model tracking

last_snapshot_at
string

Timestamp of most recent snapshot upload

name
string
organization_id
string

Multi-tenant fields

pipelines
object[]
portainer_endpoint_id
integer

Links to Portainer endpoint

provisioned_at
string

When device was provisioned via token

provisioned_by
string

Token ID that provisioned this device

running_model
object
running_model_version_id
integer

Actual state — reported by agent

status
string

pending, approved, deployed, rejected

stream_path
string

Stream path on MediaMTX (default: "sp")

target_model
object
target_model_version_id
integer

Desired state — set on deploy

updated_at
string
virtual_device_config
object

Relationships

webrtc_port
integer

MediaMTX WebRTC port (default: 8889)