Skip to content

Preview deployment targets

POST
/api/v1/deployments/preview-targets
curl --request POST \
--url http://localhost:3000/api/v1/deployments/preview-targets \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <X-API-Key>' \
--data '{ "deviceIds": [ "example" ], "deviceGroupIds": [ "example" ], "deviceSelector": {}, "limit": 500 }'

Returns the unique device set, with provenance, that a create with the same target inputs would materialize. Reads live group membership.

x-organization-id
string format: uuid

UUID of the organization (tenant) the request acts in. It selects the tenant and grants nothing: the server checks membership or an open tenant switch. Not needed for global operations. A malformed value returns 400. API keys are fixed to their own organization; another organization returns 403. The x-organization-source header grants nothing.

Media typeapplication/json
object
deviceIds

Devices selected directly

Array<string>
deviceGroupIds

Device groups to target

Array<string>
deviceSelector

Label selector (matchLabels / matchExpressions)

object
key
additional properties
any
limit

Maximum number of devices listed

number
default: 500

Resolved targets

Media typeapplication/json
object
devices
required

The deduplicated devices, ordered by id, at most limit of them

Array<object>
object
deviceId
required
string format: uuid
clientId
required

Margo clientId the device authenticates with

string
name

Device display name

string
status
required

Device status

string
viaGroups
required

The targeted groups that contain the device

Array<object>
object
id
required
string format: uuid
name
required
string
direct
required

Selected directly (device list or label selector)

boolean
totalCount
required

The number of unique devices the create would target

number
groups
required

The targeted groups

Array<object>
object
id
required
string format: uuid
name
required
string
Examplegenerated
{
"devices": [
{
"deviceId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"clientId": "example",
"name": "example",
"status": "example",
"viaGroups": [
{
"id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"name": "example"
}
],
"direct": true
}
],
"totalCount": 1,
"groups": [
{
"id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"name": "example"
}
]
}

Invalid body or unknown device group

Forbidden — caller lacks required permission