Subscribe to real-time offering change events.
GET/api/v2/events/offering
Opens an SSE stream that fires whenever the device offering catalog is updated.
The payload is a Vec<ProjectOfferingDto> — identical in shape to the
GET /device/offering REST response — requiring no follow-up HTTP fetch
by the consumer.
Use bypass_policy and include_updates query parameters to control the
subscription filter. Each SSE event will be computed according to the
parameters provided at subscription time.
Request
Query Parameters
install(default): returns only offerings defined for this device's own platform and device types.download: returns all offerings across all platforms and device types in the DB.
Skip policy enforcement; availability will be null on all releases
Include releases currently being delivered, deployed, or already installed
Possible values: [download, install]
Offering scope when this device is configured with the universal platform token.
Responses
- 200
SSE stream — fires Vec<ProjectOfferingDto> on offering change
- text/event-stream
- Schema
- Example (from schema)
Schema
Array [
]
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
[
{
"applicationCategory": "string",
"displayName": "string",
"label": "string",
"projectId": 0,
"projectName": "string",
"releases": [
{
"applicationCategory": "string",
"createdAt": "2026-11-08T13:48:42.681Z",
"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.681Z",
"size": 0,
"status": "draft",
"tagline": "string",
"tags": [
"string"
],
"type": "product",
"updatedAt": "2026-11-08T13:48:42.681Z",
"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"
]
}
]