Skip to main content

Discover Device Component

POST 

/api/v2/device/discover/component

This service message allows a device to post the discovery context for getting device software offers.

Request

Body

required

    id stringrequired
    snapshotDate string

    Timestamp when the discovery snapshot was taken

    deviceTypeToken string

    Name or ID (as string) of the deviceType (e.g., router, switch, server, etc.), used for discovery of devices of type "device"

    platform

    object

    token stringrequired

    Name or ID (as string) of the platform type being discovered.

    platformId string

    ID (as string) of system or machine being discovered.

    devices array

    Array of devices discovered within this platform. Each device contains detailed discovery information of type "DiscoveryMessageV2Dto".

    deviceData

    object

    snapshotDate date-time

    Timestamp of the last metadata snapshot

    deviceId string

    Device identifier

    deviceType string[]

    Device type tokens

    platformId string

    Platform identifier

    platform string

    Platform name

    urlGetAppServerAvailable string[]

    Available GetApp server URLs

    deliverySource string

    Delivery source mode

    orchestrateMe boolean

    When true, requests that a master agent orchestrate this device

    reactiveMode boolean

    When true, the device subscribes to the master SSE command channel

    orchestratedBy string

    Master device-id that is currently orchestrating this device

    orchestratorId string

    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).

    macAddress string

    MAC address

    ipAddress string

    IP address

    name string

    Device name

    location

    object

    lat stringrequired
    long stringrequired
    alt string
    os string

    Operating system

    osRelease string

    OS release version

    storageAvailable number

    Available storage in bytes

    battery

    object

    level uint16required

    Battery level as a percentage (0–100)

    isPluggedIn boolean
    health uint16

    Battery health as a percentage (0–100)

    timeRemainingMinutes uint32

    Estimated time remaining in minutes

    state stringrequired

    Battery state: Charging | Discharging | Full | Empty | Unknown

    isVirtual boolean

    Whether this is a virtual/emulated battery

    urlGetAppServerActive string

    Currently active GetApp server URL

    property name* any

    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

    name string
    idNumber string
    personalNumber string

    situationalDevice

    object

    weather number
    bandwidth number
    time date-time
    operativeState boolean
    power number
    availableStorage string

    location

    object

    lat stringrequired
    long stringrequired
    alt string

    physicalDevice

    object

    MAC string
    IP string
    ID stringdeprecated
    OS string

    Possible values: [android, windows, linux, macos]

    serialNumber string
    possibleBandwidth string
    availableStorage stringdeprecated
    metaData object
    discoveryType stringrequired

    Possible values: [get-app, get-map, mTls]

    softwareData

    object

    formations string[]deprecated
    platforms string[]deprecated

    components

    object[]

  • Array [

  • catalogId stringrequired
    state stringrequired

    Possible values: [offering, push, delivery, downloaded, deleted, deploy, installed, uninstalled]

    error string
  • ]

  • supportedFields

    object[]

    List of fields that the device supports for evaluation, including their types (e.g., number, string, boolean)

  • Array [

  • name stringrequired

    Field name in JSONPath format (e.g., $.battery.level)

    type stringrequired

    Field data type (number, string, boolean)

    label string

    Human-readable label for the field

    description string

    Field description

  • ]

Responses

Schema

    offer

    object[]

    required

    deprecated

    Use 'releases' field instead

  • Array [

  • id stringrequired
    version stringrequired
    projectId integerrequired
    projectName stringrequired
    displayName string

    Human-readable display name of the project

    label string

    Label associated with the project

    applicationCategory string

    Application category (user or technician)

    releaseNotes string

    metadata

    object

    autoDeploy boolean

    Enable automatic deployment of this release

    postInstallAction

    object

    Post-installation action configuration

    type stringrequired

    Possible values: [NONE, WEB, EXE]

    Action type: NONE (no action), WEB (open URL), or EXE (run executable)

    url string

    URL to open (required when type is WEB)

    exePath string

    Executable path to run (required when type is EXE)

    installationSize int64

    Installation size in bytes - disk space required after installation (user-specified)

    totalSize int64

    Total size in bytes - automatically calculated as installationSize + artifactsSize

    hideIfNotHealthy boolean

    Hide this release from agents if the health check URL is not healthy

    healthCheckUrl string

    URL to check for health status. Required when hideIfNotHealthy is true.

    healthCheckIntervalSeconds integer

    Interval in seconds between health check requests. Required when healthCheckUrl is set.

    status stringrequired

    Possible values: [draft, in_review, approved, released, archived, error]

    type stringdeprecated

    Possible values: [product, application, lib, bundle, infra, config, config_map]

    projectTypeV2 string

    Possible values: [product, application, lib, bundle, infra, config, config_map]

    The actual project type, regardless of agent compatibility

    size int64
    createdAt date-timerequired
    updatedAt date-timerequired
    latest boolean
    releasedAt date-time
    dependencies undefined[]

    policies

    object[]

    Policies associated with this release

  • Array [

  • id stringrequired

    Policy rule ID

    name stringrequired

    Policy name

    description string

    Policy description

    type stringrequired

    Possible values: [policy, restriction]

    Policy type

    association

    object

    releases

    object[]

    required

    Releases for this policy

  • Array [

  • projectId string

    Project ID

    projectName stringrequired

    Project name

    version stringrequired

    Release version

  • ]

  • version numberrequired

    Policy version number

    createdAt stringrequired

    Policy creation timestamp

    updatedAt stringrequired

    Policy last update timestamp

    isActive booleanrequired

    Whether the policy is active

    isPush boolean

    Default value: false

    Whether this policy should be pushed to agents

    rule objectrequired

    The policy rule definition conforming to rule engine schema

  • ]

  • ]

  • push

    object[]

    required

    deprecated

    Use 'releases' field instead

  • Array [

  • id stringrequired
    version stringrequired
    projectId integerrequired
    projectName stringrequired
    displayName string

    Human-readable display name of the project

    label string

    Label associated with the project

    applicationCategory string

    Application category (user or technician)

    releaseNotes string

    metadata

    object

    autoDeploy boolean

    Enable automatic deployment of this release

    postInstallAction

    object

    Post-installation action configuration

    type stringrequired

    Possible values: [NONE, WEB, EXE]

    Action type: NONE (no action), WEB (open URL), or EXE (run executable)

    url string

    URL to open (required when type is WEB)

    exePath string

    Executable path to run (required when type is EXE)

    installationSize int64

    Installation size in bytes - disk space required after installation (user-specified)

    totalSize int64

    Total size in bytes - automatically calculated as installationSize + artifactsSize

    hideIfNotHealthy boolean

    Hide this release from agents if the health check URL is not healthy

    healthCheckUrl string

    URL to check for health status. Required when hideIfNotHealthy is true.

    healthCheckIntervalSeconds integer

    Interval in seconds between health check requests. Required when healthCheckUrl is set.

    status stringrequired

    Possible values: [draft, in_review, approved, released, archived, error]

    type stringdeprecated

    Possible values: [product, application, lib, bundle, infra, config, config_map]

    projectTypeV2 string

    Possible values: [product, application, lib, bundle, infra, config, config_map]

    The actual project type, regardless of agent compatibility

    size int64
    createdAt date-timerequired
    updatedAt date-timerequired
    latest boolean
    releasedAt date-time
    dependencies undefined[]

    policies

    object[]

    Policies associated with this release

  • Array [

  • id stringrequired

    Policy rule ID

    name stringrequired

    Policy name

    description string

    Policy description

    type stringrequired

    Possible values: [policy, restriction]

    Policy type

    association

    object

    releases

    object[]

    required

    Releases for this policy

  • Array [

  • projectId string

    Project ID

    projectName stringrequired

    Project name

    version stringrequired

    Release version

  • ]

  • version numberrequired

    Policy version number

    createdAt stringrequired

    Policy creation timestamp

    updatedAt stringrequired

    Policy last update timestamp

    isActive booleanrequired

    Whether the policy is active

    isPush boolean

    Default value: false

    Whether this policy should be pushed to agents

    rule objectrequired

    The policy rule definition conforming to rule engine schema

  • ]

  • ]

  • releases

    object[]

    required

    Components with all additional data of platform and device type hierarchy, project and actions

  • Array [

  • release

    object

    id stringrequired
    version stringrequired
    projectId integerrequired
    projectName stringrequired
    displayName string

    Human-readable display name of the project

    label string

    Label associated with the project

    applicationCategory string

    Application category (user or technician)

    releaseNotes string

    metadata

    object

    Component metadata including autoDeploy and postInstallAction configuration. Additional user-defined properties are supported.

    autoDeploy boolean

    Enable automatic deployment of this release

    postInstallAction

    object

    Post-installation action configuration

    type stringrequired

    Possible values: [NONE, WEB, EXE]

    Action type: NONE (no action), WEB (open URL), or EXE (run executable)

    url string

    URL to open (required when type is WEB)

    exePath string

    Executable path to run (required when type is EXE)

    installationSize int64

    Installation size in bytes - disk space required after installation (user-specified)

    totalSize int64

    Total size in bytes - automatically calculated as installationSize + artifactsSize

    hideIfNotHealthy boolean

    Hide this release from agents if the health check URL is not healthy

    healthCheckUrl string

    URL to check for health status. Required when hideIfNotHealthy is true.

    healthCheckIntervalSeconds integer

    Interval in seconds between health check requests. Required when healthCheckUrl is set.

    status stringrequired

    Possible values: [draft, in_review, approved, released, archived, error]

    type stringdeprecated

    Possible values: [product, application, lib, bundle, infra, config, config_map]

    projectTypeV2 string

    Possible values: [product, application, lib, bundle, infra, config, config_map]

    The actual project type, regardless of agent compatibility

    size int64
    createdAt date-timerequired
    updatedAt date-timerequired
    latest boolean
    releasedAt date-time
    dependencies array

    policies

    object[]

    Policies associated with this release

  • Array [

  • id stringrequired

    Policy rule ID

    name stringrequired

    Policy name

    description string

    Policy description

    type stringrequired

    Possible values: [policy, restriction]

    Policy type

    association

    object

    required

    Policy associations (releases, device types, OS types, devices)

    releases

    object[]

    required

    Releases for this policy

  • Array [

  • projectId string

    Project ID

    projectName stringrequired

    Project name

    version stringrequired

    Release version

  • ]

  • version numberrequired

    Policy version number

    createdAt stringrequired

    Policy creation timestamp

    updatedAt stringrequired

    Policy last update timestamp

    isActive booleanrequired

    Whether the policy is active

    isPush boolean

    Default value: false

    Whether this policy should be pushed to agents

    rule objectrequired

    The policy rule definition conforming to rule engine schema

  • ]

  • isPush boolean

    Default value: false

    Flag indicating if this is a push action

    hierarchyTrees

    object[]

    required

    Platform and device type hierarchy where this release is offered

  • Array [

  • platformTypeId number

    Platform Type ID - present when device types are under a platform type

    platformTypeName string

    Platform Type name - present when device types are under a platform type

    deviceTypes

    object[]

    required

    Device types with projects (under platform if platform fields are present, or standalone)

  • Array [

  • deviceTypeId number

    ID of the device type

    deviceTypeName string

    Name of the device type

    projectId numberrequired

    ID of the project

    projectName stringrequired

    Name of the project

    projectDisplayName string

    Display name of the project

    projectLabel string

    Label of the project

    projectApplicationCategory string

    Application category (user or technician)

  • ]

  • ]

  • dependedOnBy string[]

    Array of catalog IDs of releases that directly depend on this release

    pushTo string[]

    Array of managed device IDs that this release is pushed to

    available booleanrequired

    Default value: true

    Indicates whether this release is available for delivery (true when release status is not error)

  • ]

  • restrictions

    object[]

    required

    List of applicable restrictions for the device based on device ID, device type, OS, and other metadata

  • Array [

  • id stringrequired
    name stringrequired
    description string
    type stringrequired

    Possible values: [policy, restriction]

    version numberrequired
    isActive booleanrequired
    rule objectrequired

    The restriction rule object

    createdAt stringrequired
    updatedAt stringrequired
  • ]

  • latestConfigSemVer string

    The semVer of the latest ACTIVE config revision for this device. The device should compare this with its locally cached version and fetch from GET /v2/device/device-config/:deviceId if they differ.

    configDeviceIds string[]

    List of device IDs whose CONFIG projects this agent should also download and cache locally. For each deviceId in this list, call GET /v2/device/device-config/:deviceId.

Loading...