Get software offering for all CDN-connected 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.
Request
Query Parameters
Repeated device ID filter: ?device_id=id1&device_id=id2.
Omit to return offerings for all CDN-connected devices.
Skip policy enforcement; availability will be null on all releases.
Include releases already in the delivery/deploy pipeline.
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.
Display name of the project
Label of the project
Identifier of the project
Name of the project
All releases offered for this project
Device identifier — matches the deviceId in CDN discovery.
true when this entry represents the local CDN master agent itself.
[
{
"data": [
{
"displayName": "string",
"label": "string",
"projectId": 0,
"projectName": "string",
"releases": [
{
"createdAt": "2026-04-22T16:58:12.458Z",
"dependencies": [
null
],
"displayName": "string",
"id": "string",
"label": "string",
"latest": true,
"metadata": {},
"policies": [
null
],
"projectId": 0,
"projectName": "string",
"releaseNotes": "string",
"releasedAt": "2026-04-22T16:58:12.458Z",
"size": 0,
"status": "draft",
"type": "product",
"updatedAt": "2026-04-22T16:58:12.458Z",
"version": "string",
"availability": {
"notOfferedReason": "string",
"offered": true,
"unavailable": true,
"unavailableReason": "string"
},
"deviceRelease": {
"artsDirPath": "string",
"deliveryState": "prepare",
"downloadDuration": 0,
"errMsg": "string",
"eta": 0,
"progress": 0,
"state": "offering",
"status": "Start"
}
}
]
}
],
"deviceId": "string",
"isMaster": true
}
]
- application/json
- Schema
- Example (from schema)
Schema
{
"message": "string",
"name": "string",
"statusCode": 0
}