Discover Device Context
POST/api/v1/device/discover/deviceContext
This service message allows a device to post the discovery context.
Request
- application/json
Body
required
Array [
]
Array [
]
Timestamp when the discovery snapshot was taken
Name or ID (as string) of the deviceType (e.g., router, switch, server, etc.), used for discovery of devices of type "device"
platform
object
Name or ID (as string) of the platform type being discovered.
ID (as string) of system or machine being discovered.
Array of devices discovered within this platform. Each device contains detailed discovery information of type "DiscoveryMessageV2Dto".
deviceData
object
Timestamp of the last metadata snapshot
Device identifier
Device type tokens
Platform identifier
Platform name
Available GetApp server URLs
Delivery source mode
When true, requests that a master agent orchestrate this device
When true, the device subscribes to the master SSE command channel
Master device-id that is currently orchestrating this device
Orchestrator identifier
metadata
object
Device metadata. Known fields are listed above. Any additional key-value pairs reported by the agent are flattened into this object (mirrors the Rust serde flatten pattern).
MAC address
IP address
Device name
location
object
Operating system
OS release version
Available storage in bytes
battery
object
Battery level as a percentage (0–100)
Battery health as a percentage (0–100)
Estimated time remaining in minutes
Battery state: Charging | Discharging | Full | Empty | Unknown
Whether this is a virtual/emulated battery
Currently active GetApp server URL
Device metadata. Known fields are listed above. Any additional key-value pairs reported by the agent are flattened into this object (mirrors the Rust serde flatten pattern).
general
object
personalDevice
object
situationalDevice
object
location
object
physicalDevice
object
Possible values: [android, windows, linux, macos]
Possible values: [get-app, get-map, mTls]
softwareData
object
components
object[]
Possible values: [offering, push, delivery, downloaded, deleted, deploy, installed, uninstalled]
supportedFields
object[]
List of fields that the device supports for evaluation, including their types (e.g., number, string, boolean)
Field name in JSONPath format (e.g., $.battery.level)
Field data type (number, string, boolean)
Human-readable label for the field
Field description
Responses
- 200
- application/json
- Schema
- Example (from schema)
Schema
Array [
]
Array [
]
Timestamp when the discovery snapshot was taken
Name or ID (as string) of the deviceType (e.g., router, switch, server, etc.), used for discovery of devices of type "device"
platform
object
Name or ID (as string) of the platform type being discovered.
ID (as string) of system or machine being discovered.
Array of devices discovered within this platform. Each device contains detailed discovery information of type "DiscoveryMessageV2Dto".
deviceData
object
Timestamp of the last metadata snapshot
Device identifier
Device type tokens
Platform identifier
Platform name
Available GetApp server URLs
Delivery source mode
When true, requests that a master agent orchestrate this device
When true, the device subscribes to the master SSE command channel
Master device-id that is currently orchestrating this device
Orchestrator identifier
metadata
object
Device metadata. Known fields are listed above. Any additional key-value pairs reported by the agent are flattened into this object (mirrors the Rust serde flatten pattern).
MAC address
IP address
Device name
location
object
Operating system
OS release version
Available storage in bytes
battery
object
Battery level as a percentage (0–100)
Battery health as a percentage (0–100)
Estimated time remaining in minutes
Battery state: Charging | Discharging | Full | Empty | Unknown
Whether this is a virtual/emulated battery
Currently active GetApp server URL
Device metadata. Known fields are listed above. Any additional key-value pairs reported by the agent are flattened into this object (mirrors the Rust serde flatten pattern).
general
object
personalDevice
object
situationalDevice
object
location
object
physicalDevice
object
Possible values: [android, windows, linux, macos]
Possible values: [get-app, get-map, mTls]
softwareData
object
components
object[]
Possible values: [offering, push, delivery, downloaded, deleted, deploy, installed, uninstalled]
supportedFields
object[]
List of fields that the device supports for evaluation, including their types (e.g., number, string, boolean)
Field name in JSONPath format (e.g., $.battery.level)
Field data type (number, string, boolean)
Human-readable label for the field
Field description
{
"id": "string",
"snapshotDate": "string",
"deviceTypeToken": "string",
"platform": {
"token": "string",
"platformId": "string",
"devices": [
null
]
},
"deviceData": {
"snapshotDate": "2026-06-22T12:47:52.426Z",
"deviceId": "string",
"deviceType": [
"string"
],
"platformId": "string",
"platform": "string",
"urlGetAppServerAvailable": [
"string"
],
"deliverySource": "string",
"orchestrateMe": true,
"reactiveMode": true,
"orchestratedBy": "string",
"orchestratorId": "string",
"metadata": {
"macAddress": "string",
"ipAddress": "string",
"name": "string",
"location": {
"lat": "string",
"long": "string",
"alt": "string"
},
"os": "string",
"osRelease": "string",
"storageAvailable": 0,
"battery": {
"level": 0,
"isPluggedIn": true,
"health": 0,
"timeRemainingMinutes": 0,
"state": "string",
"isVirtual": true
},
"urlGetAppServerActive": "string"
}
},
"general": {
"personalDevice": {
"name": "string",
"idNumber": "string",
"personalNumber": "string"
},
"situationalDevice": {
"weather": 0,
"bandwidth": 0,
"time": "2026-06-22T12:47:52.427Z",
"operativeState": true,
"power": 0,
"availableStorage": "string",
"location": {
"lat": "string",
"long": "string",
"alt": "string"
}
},
"physicalDevice": {
"MAC": "string",
"IP": "string",
"OS": "android",
"serialNumber": "string",
"possibleBandwidth": "string"
},
"metaData": {}
},
"discoveryType": "get-app",
"softwareData": {
"components": [
{
"catalogId": "string",
"state": "offering",
"error": "string"
}
]
},
"supportedFields": [
{
"name": "string",
"type": "string",
"label": "string",
"description": "string"
}
]
}