Get software offering for acted devices
GET/api/cdn/device/offering
Returns one ProjectOfferingDto list per CDN-connected device, grouped by project.
Each release includes availability based on that device's own platform, device-type,
and runtime metadata (battery, OS, storage) stored in the discovery table.
By default returns only active devices (?device_status=active).
Use ?device_mode=orchestrated, ?device_mode=reactive, or ?device_mode=both to filter by device flags.
When ?device_mode= is set, add ?device_connectivity=online or ?device_connectivity=offline to further filter by heartbeat TTL.
Request
Query Parameters
download(default): returns all offerings available across all platforms and device types recorded in the DB — the full downloadable catalog.install: returns only offerings applicable to this device's own platform and device types.
Repeated device ID filter: ?device_id=id1&device_id=id2. Omit to return all.
Device status filter: active (default), inactive, or all.
Device mode filter: orchestrated (ORCHESTRATE_ME flag), reactive (REACTIVE_MODE flag), or both. Omit for no mode filter.
Device connectivity filter (only applied when ?device_mode= is set): online (active SSE subscription on ManagedCommand channel), offline (not subscribed), or both.
Skip policy enforcement; availability will be null on all releases.
Include releases already in the delivery/deploy pipeline.
Offering scope for devices configured with the universal platform token.
Responses
- 200
- 500
Per-device project-grouped offerings. Policy and restriction evaluation uses each device's own metadata from the discovery table. Pass device_id to limit to specific devices.
- application/json
- Schema
- Example (from schema)
Schema
Array [
Array [
]
]
data
object[]
required
v2-typed payload for this device.
Application category (user or technician)
Display name of the project
Label of the project
Identifier of the project
Name of the project
All releases offered for this project
Short one-line summary of the project
Tags of the project
Warning message indicating the data field may be incomplete or unreliable.
When present, surface it visibly to the user.
Device identifier — matches the deviceId in CDN discovery.
true when this entry represents the local CDN master agent itself.
true when the device has an active SSE subscription on the ManagedCommand channel.
[
{
"data": [
{
"applicationCategory": "string",
"displayName": "string",
"label": "string",
"projectId": 0,
"projectName": "string",
"releases": [
{
"applicationCategory": "string",
"createdAt": "2026-11-08T13:48:42.248Z",
"dependencies": [
null
],
"displayName": "string",
"id": "string",
"label": "string",
"latest": true,
"metadata": {},
"policies": [
null
],
"projectId": 0,
"projectName": "string",
"projectTypeV2": "string",
"releaseNotes": "string",
"releasedAt": "2026-11-08T13:48:42.248Z",
"size": 0,
"status": "draft",
"tagline": "string",
"tags": [
"string"
],
"type": "product",
"updatedAt": "2026-11-08T13:48:42.248Z",
"version": "string",
"availability": {
"downloadable": true,
"healthOnline": true,
"hideIfNotHealthy": true,
"notOfferedReason": "string",
"offered": true,
"unavailable": true,
"unavailableReason": "string"
},
"deviceRelease": {
"artsDirPath": "string",
"deliveryState": "prepare",
"downloadDuration": 0,
"errMsg": "string",
"eta": 0,
"hideIfNotHealthy": true,
"progress": 0,
"state": "offering",
"status": "Start"
},
"healthOnline": true
}
],
"tagline": "string",
"tags": [
"string"
]
}
],
"dataWarning": "string",
"deviceId": "string",
"isMaster": true,
"isOnline": true
}
]
- application/json
- Schema
- Example (from schema)
Schema
{
"message": "string",
"name": "string",
"statusCode": 0
}