Edgehog GraphQL API Reference

Welcome to the Edgehog GraphQL API reference! This reference includes the complete set of GraphQL types, queries, mutations, and their parameters for managing devices.

API Endpoints
http://localhost:4000/api

Queries

application

Description

Returns the desired application.

Response

Returns an Application

Arguments
Name Description
id - ID! The id of the record

Example

Query
query application($id: ID!) {
  application(id: $id) {
    id
    name
    description
    releases {
      ...ReleaseConnectionFragment
    }
  }
}
Variables
{"id": 4}
Response
{
  "data": {
    "application": {
      "id": 4,
      "name": "xyz789",
      "description": "xyz789",
      "releases": ReleaseConnection
    }
  }
}

applications

Description

Returns all the available applications.

Response

Returns an ApplicationConnection

Arguments
Name Description
sort - [ApplicationSortInput] How to sort the records in the response
filter - ApplicationFilterInput A filter to limit the results
first - Int The number of records to return from the beginning. Maximum 250
before - String Show records before the specified keyset.
after - String Show records after the specified keyset.
last - Int The number of records to return to the end. Maximum 250

Example

Query
query applications(
  $sort: [ApplicationSortInput],
  $filter: ApplicationFilterInput,
  $first: Int,
  $before: String,
  $after: String,
  $last: Int
) {
  applications(
    sort: $sort,
    filter: $filter,
    first: $first,
    before: $before,
    after: $after,
    last: $last
  ) {
    count
    pageInfo {
      ...PageInfoFragment
    }
    edges {
      ...ApplicationEdgeFragment
    }
  }
}
Variables
{
  "sort": [ApplicationSortInput],
  "filter": ApplicationFilterInput,
  "first": 123,
  "before": "abc123",
  "after": "xyz789",
  "last": 987
}
Response
{
  "data": {
    "applications": {
      "count": 987,
      "pageInfo": PageInfo,
      "edges": [ApplicationEdge]
    }
  }
}

baseImage

Description

Returns a single base image.

Response

Returns a BaseImage

Arguments
Name Description
id - ID! The id of the record

Example

Query
query baseImage($id: ID!) {
  baseImage(id: $id) {
    id
    version
    startingVersionRequirement
    url
    baseImageCollection {
      ...BaseImageCollectionFragment
    }
    localizedDescriptions {
      ...LocalizedAttributeFragment
    }
    localizedReleaseDisplayNames {
      ...LocalizedAttributeFragment
    }
  }
}
Variables
{"id": "4"}
Response
{
  "data": {
    "baseImage": {
      "id": "4",
      "version": "abc123",
      "startingVersionRequirement": "abc123",
      "url": "abc123",
      "baseImageCollection": BaseImageCollection,
      "localizedDescriptions": [LocalizedAttribute],
      "localizedReleaseDisplayNames": [LocalizedAttribute]
    }
  }
}

baseImageCollection

Description

Returns a single base image collection.

Response

Returns a BaseImageCollection

Arguments
Name Description
id - ID! The id of the record

Example

Query
query baseImageCollection($id: ID!) {
  baseImageCollection(id: $id) {
    id
    name
    handle
    systemModel {
      ...SystemModelFragment
    }
    baseImages {
      ...BaseImageConnectionFragment
    }
  }
}
Variables
{"id": 4}
Response
{
  "data": {
    "baseImageCollection": {
      "id": "4",
      "name": "xyz789",
      "handle": "abc123",
      "systemModel": SystemModel,
      "baseImages": BaseImageConnection
    }
  }
}

baseImageCollections

Description

Returns a list of base image collections.

Response

Returns a BaseImageCollectionConnection

Arguments
Name Description
sort - [BaseImageCollectionSortInput] How to sort the records in the response
filter - BaseImageCollectionFilterInput A filter to limit the results
first - Int The number of records to return from the beginning. Maximum 250
before - String Show records before the specified keyset.
after - String Show records after the specified keyset.
last - Int The number of records to return to the end. Maximum 250

Example

Query
query baseImageCollections(
  $sort: [BaseImageCollectionSortInput],
  $filter: BaseImageCollectionFilterInput,
  $first: Int,
  $before: String,
  $after: String,
  $last: Int
) {
  baseImageCollections(
    sort: $sort,
    filter: $filter,
    first: $first,
    before: $before,
    after: $after,
    last: $last
  ) {
    count
    pageInfo {
      ...PageInfoFragment
    }
    edges {
      ...BaseImageCollectionEdgeFragment
    }
  }
}
Variables
{
  "sort": [BaseImageCollectionSortInput],
  "filter": BaseImageCollectionFilterInput,
  "first": 123,
  "before": "abc123",
  "after": "abc123",
  "last": 987
}
Response
{
  "data": {
    "baseImageCollections": {
      "count": 123,
      "pageInfo": PageInfo,
      "edges": [BaseImageCollectionEdge]
    }
  }
}

channel

Description

Returns a single channel.

Response

Returns a Channel

Arguments
Name Description
id - ID! The id of the record

Example

Query
query channel($id: ID!) {
  channel(id: $id) {
    id
    handle
    name
    targetGroups {
      ...DeviceGroupConnectionFragment
    }
    deploymentCampaigns {
      ...DeploymentCampaignFragment
    }
  }
}
Variables
{"id": 4}
Response
{
  "data": {
    "channel": {
      "id": 4,
      "handle": "xyz789",
      "name": "xyz789",
      "targetGroups": DeviceGroupConnection,
      "deploymentCampaigns": [DeploymentCampaign]
    }
  }
}

channels

Description

Returns a list of channels.

Response

Returns a ChannelConnection

Arguments
Name Description
sort - [ChannelSortInput] How to sort the records in the response
filter - ChannelFilterInput A filter to limit the results
first - Int The number of records to return from the beginning. Maximum 250
before - String Show records before the specified keyset.
after - String Show records after the specified keyset.
last - Int The number of records to return to the end. Maximum 250

Example

Query
query channels(
  $sort: [ChannelSortInput],
  $filter: ChannelFilterInput,
  $first: Int,
  $before: String,
  $after: String,
  $last: Int
) {
  channels(
    sort: $sort,
    filter: $filter,
    first: $first,
    before: $before,
    after: $after,
    last: $last
  ) {
    count
    pageInfo {
      ...PageInfoFragment
    }
    edges {
      ...ChannelEdgeFragment
    }
  }
}
Variables
{
  "sort": [ChannelSortInput],
  "filter": ChannelFilterInput,
  "first": 123,
  "before": "xyz789",
  "after": "abc123",
  "last": 123
}
Response
{
  "data": {
    "channels": {
      "count": 987,
      "pageInfo": PageInfo,
      "edges": [ChannelEdge]
    }
  }
}

deployment

Description

Returns the desired deployment.

Response

Returns a Deployment

Arguments
Name Description
id - ID! The id of the record

Example

Query
query deployment($id: ID!) {
  deployment(id: $id) {
    id
    state
    lastErrorMessage
    deviceId
    releaseId
    device {
      ...DeviceFragment
    }
    release {
      ...ReleaseFragment
    }
    containerDeployments {
      ...ContainerDeploymentConnectionFragment
    }
  }
}
Variables
{"id": 4}
Response
{
  "data": {
    "deployment": {
      "id": "4",
      "state": "PENDING",
      "lastErrorMessage": "xyz789",
      "deviceId": 123,
      "releaseId": 4,
      "device": Device,
      "release": Release,
      "containerDeployments": ContainerDeploymentConnection
    }
  }
}

deploymentCampaign

Description

Returns the desired deployment campaign.

Response

Returns a DeploymentCampaign

Arguments
Name Description
id - ID! The id of the record

Example

Query
query deploymentCampaign($id: ID!) {
  deploymentCampaign(id: $id) {
    id
    name
    status
    outcome
    deploymentMechanism {
      ... on Lazy {
        ...LazyFragment
      }
    }
    release {
      ...ReleaseFragment
    }
    channel {
      ...ChannelFragment
    }
    deploymentTargets {
      ...DeploymentTargetConnectionFragment
    }
    totalTargetCount
    idleTargetCount
    inProgressTargetCount
    failedTargetCount
    successfulTargetCount
  }
}
Variables
{"id": "4"}
Response
{
  "data": {
    "deploymentCampaign": {
      "id": "4",
      "name": "xyz789",
      "status": "IDLE",
      "outcome": "SUCCESS",
      "deploymentMechanism": Lazy,
      "release": Release,
      "channel": Channel,
      "deploymentTargets": DeploymentTargetConnection,
      "totalTargetCount": 987,
      "idleTargetCount": 123,
      "inProgressTargetCount": 123,
      "failedTargetCount": 987,
      "successfulTargetCount": 123
    }
  }
}

deploymentCampaigns

Description

Returns all available deployment campaigns.

Response

Returns a DeploymentCampaignConnection

Arguments
Name Description
sort - [DeploymentCampaignSortInput] How to sort the records in the response
filter - DeploymentCampaignFilterInput A filter to limit the results
first - Int The number of records to return from the beginning. Maximum 250
before - String Show records before the specified keyset.
after - String Show records after the specified keyset.
last - Int The number of records to return to the end. Maximum 250

Example

Query
query deploymentCampaigns(
  $sort: [DeploymentCampaignSortInput],
  $filter: DeploymentCampaignFilterInput,
  $first: Int,
  $before: String,
  $after: String,
  $last: Int
) {
  deploymentCampaigns(
    sort: $sort,
    filter: $filter,
    first: $first,
    before: $before,
    after: $after,
    last: $last
  ) {
    count
    pageInfo {
      ...PageInfoFragment
    }
    edges {
      ...DeploymentCampaignEdgeFragment
    }
  }
}
Variables
{
  "sort": [DeploymentCampaignSortInput],
  "filter": DeploymentCampaignFilterInput,
  "first": 987,
  "before": "xyz789",
  "after": "abc123",
  "last": 987
}
Response
{
  "data": {
    "deploymentCampaigns": {
      "count": 987,
      "pageInfo": PageInfo,
      "edges": [DeploymentCampaignEdge]
    }
  }
}

deployments

Description

Returns all available dpeloyments.

Response

Returns a DeploymentConnection

Arguments
Name Description
sort - [DeploymentSortInput] How to sort the records in the response
filter - DeploymentFilterInput A filter to limit the results
first - Int The number of records to return from the beginning. Maximum 250
before - String Show records before the specified keyset.
after - String Show records after the specified keyset.
last - Int The number of records to return to the end. Maximum 250

Example

Query
query deployments(
  $sort: [DeploymentSortInput],
  $filter: DeploymentFilterInput,
  $first: Int,
  $before: String,
  $after: String,
  $last: Int
) {
  deployments(
    sort: $sort,
    filter: $filter,
    first: $first,
    before: $before,
    after: $after,
    last: $last
  ) {
    count
    pageInfo {
      ...PageInfoFragment
    }
    edges {
      ...DeploymentEdgeFragment
    }
  }
}
Variables
{
  "sort": [DeploymentSortInput],
  "filter": DeploymentFilterInput,
  "first": 987,
  "before": "abc123",
  "after": "xyz789",
  "last": 987
}
Response
{
  "data": {
    "deployments": {
      "count": 123,
      "pageInfo": PageInfo,
      "edges": [DeploymentEdge]
    }
  }
}

device

Description

Returns a single device.

Response

Returns a Device

Arguments
Name Description
id - ID! The id of the record

Example

Query
query device($id: ID!) {
  device(id: $id) {
    id
    deviceId
    name
    online
    lastConnection
    lastDisconnection
    serialNumber
    systemModel {
      ...SystemModelFragment
    }
    tags {
      ...TagConnectionFragment
    }
    deviceGroups {
      ...DeviceGroupFragment
    }
    otaOperations {
      ...OtaOperationConnectionFragment
    }
    applicationDeployments {
      ...DeploymentConnectionFragment
    }
    availableImages {
      ...ImageStatusFragment
    }
    availableVolumes {
      ...VolumeStatusFragment
    }
    availableNetworks {
      ...NetworkStatusFragment
    }
    capabilities
    cellularConnection {
      ...ModemFragment
    }
    availableDeployments {
      ...DeploymentStatusFragment
    }
    baseImage {
      ...BaseImageInfoFragment
    }
    availableContainers {
      ...ContainerStatusFragment
    }
    batteryStatus {
      ...BatterySlotFragment
    }
    hardwareInfo {
      ...HardwareInfoFragment
    }
    location {
      ...LocationFragment
    }
    networkInterfaces {
      ...NetworkInterfaceFragment
    }
    osInfo {
      ...OsInfoFragment
    }
    position {
      ...PositionFragment
    }
    runtimeInfo {
      ...RuntimeInfoFragment
    }
    storageUsage {
      ...StorageUnitFragment
    }
    systemStatus {
      ...SystemStatusFragment
    }
    wifiScanResults {
      ...WifiScanResultFragment
    }
  }
}
Variables
{"id": 4}
Response
{
  "data": {
    "device": {
      "id": 4,
      "deviceId": "xyz789",
      "name": "xyz789",
      "online": true,
      "lastConnection": "2007-12-03T10:15:30Z",
      "lastDisconnection": "2007-12-03T10:15:30Z",
      "serialNumber": "xyz789",
      "systemModel": SystemModel,
      "tags": TagConnection,
      "deviceGroups": [DeviceGroup],
      "otaOperations": OtaOperationConnection,
      "applicationDeployments": DeploymentConnection,
      "availableImages": [ImageStatus],
      "availableVolumes": [VolumeStatus],
      "availableNetworks": [NetworkStatus],
      "capabilities": ["BASE_IMAGE"],
      "cellularConnection": [Modem],
      "availableDeployments": [DeploymentStatus],
      "baseImage": BaseImageInfo,
      "availableContainers": [ContainerStatus],
      "batteryStatus": [BatterySlot],
      "hardwareInfo": HardwareInfo,
      "location": Location,
      "networkInterfaces": [NetworkInterface],
      "osInfo": OsInfo,
      "position": Position,
      "runtimeInfo": RuntimeInfo,
      "storageUsage": [StorageUnit],
      "systemStatus": SystemStatus,
      "wifiScanResults": [WifiScanResult]
    }
  }
}

deviceGroup

Description

Returns a single device group.

Response

Returns a DeviceGroup

Arguments
Name Description
id - ID! The id of the record

Example

Query
query deviceGroup($id: ID!) {
  deviceGroup(id: $id) {
    id
    name
    handle
    selector
    devices {
      ...DeviceFragment
    }
    channel {
      ...ChannelFragment
    }
  }
}
Variables
{"id": 4}
Response
{
  "data": {
    "deviceGroup": {
      "id": "4",
      "name": "xyz789",
      "handle": "abc123",
      "selector": "xyz789",
      "devices": [Device],
      "channel": Channel
    }
  }
}

deviceGroups

Description

Returns a list of device groups.

Response

Returns a DeviceGroupConnection

Arguments
Name Description
sort - [DeviceGroupSortInput] How to sort the records in the response
filter - DeviceGroupFilterInput A filter to limit the results
first - Int The number of records to return from the beginning. Maximum 250
before - String Show records before the specified keyset.
after - String Show records after the specified keyset.
last - Int The number of records to return to the end. Maximum 250

Example

Query
query deviceGroups(
  $sort: [DeviceGroupSortInput],
  $filter: DeviceGroupFilterInput,
  $first: Int,
  $before: String,
  $after: String,
  $last: Int
) {
  deviceGroups(
    sort: $sort,
    filter: $filter,
    first: $first,
    before: $before,
    after: $after,
    last: $last
  ) {
    count
    pageInfo {
      ...PageInfoFragment
    }
    edges {
      ...DeviceGroupEdgeFragment
    }
  }
}
Variables
{
  "sort": [DeviceGroupSortInput],
  "filter": DeviceGroupFilterInput,
  "first": 987,
  "before": "xyz789",
  "after": "abc123",
  "last": 987
}
Response
{
  "data": {
    "deviceGroups": {
      "count": 987,
      "pageInfo": PageInfo,
      "edges": [DeviceGroupEdge]
    }
  }
}

devices

Description

Returns a list of devices.

Response

Returns a DeviceConnection

Arguments
Name Description
sort - [DeviceSortInput] How to sort the records in the response
filter - DeviceFilterInput A filter to limit the results
first - Int The number of records to return from the beginning. Maximum 250
before - String Show records before the specified keyset.
after - String Show records after the specified keyset.
last - Int The number of records to return to the end. Maximum 250

Example

Query
query devices(
  $sort: [DeviceSortInput],
  $filter: DeviceFilterInput,
  $first: Int,
  $before: String,
  $after: String,
  $last: Int
) {
  devices(
    sort: $sort,
    filter: $filter,
    first: $first,
    before: $before,
    after: $after,
    last: $last
  ) {
    count
    pageInfo {
      ...PageInfoFragment
    }
    edges {
      ...DeviceEdgeFragment
    }
  }
}
Variables
{
  "sort": [DeviceSortInput],
  "filter": DeviceFilterInput,
  "first": 987,
  "before": "xyz789",
  "after": "xyz789",
  "last": 123
}
Response
{
  "data": {
    "devices": {
      "count": 987,
      "pageInfo": PageInfo,
      "edges": [DeviceEdge]
    }
  }
}

existingDeviceTags

Description

Returns the list of device tags associated to some device group.

Response

Returns a TagConnection

Arguments
Name Description
sort - [TagSortInput] How to sort the records in the response
filter - TagFilterInput A filter to limit the results
first - Int The number of records to return from the beginning. Maximum 250
before - String Show records before the specified keyset.
after - String Show records after the specified keyset.
last - Int The number of records to return to the end. Maximum 250

Example

Query
query existingDeviceTags(
  $sort: [TagSortInput],
  $filter: TagFilterInput,
  $first: Int,
  $before: String,
  $after: String,
  $last: Int
) {
  existingDeviceTags(
    sort: $sort,
    filter: $filter,
    first: $first,
    before: $before,
    after: $after,
    last: $last
  ) {
    count
    pageInfo {
      ...PageInfoFragment
    }
    edges {
      ...TagEdgeFragment
    }
  }
}
Variables
{
  "sort": [TagSortInput],
  "filter": TagFilterInput,
  "first": 987,
  "before": "abc123",
  "after": "abc123",
  "last": 123
}
Response
{
  "data": {
    "existingDeviceTags": {
      "count": 123,
      "pageInfo": PageInfo,
      "edges": [TagEdge]
    }
  }
}

forwarderConfig

Description

Fetches the forwarder config, if available. Without a configuration, forwarding functionalities are not available.

Response

Returns a ForwarderConfig

Example

Query
query forwarderConfig {
  forwarderConfig {
    id
    hostname
    port
    secureSessions
  }
}
Response
{
  "data": {
    "forwarderConfig": {
      "id": "4",
      "hostname": "xyz789",
      "port": 987,
      "secureSessions": true
    }
  }
}

forwarderSession

Description

Fetches a forwarder session by its token and the device ID.

Response

Returns a ForwarderSession

Arguments
Name Description
token - String!
deviceId - ID!

Example

Query
query forwarderSession(
  $token: String!,
  $deviceId: ID!
) {
  forwarderSession(
    token: $token,
    deviceId: $deviceId
  ) {
    id
    token
    status
    forwarderHostname
    forwarderPort
    secure
  }
}
Variables
{"token": "xyz789", "deviceId": 4}
Response
{
  "data": {
    "forwarderSession": {
      "id": 4,
      "token": "xyz789",
      "status": "CONNECTED",
      "forwarderHostname": "xyz789",
      "forwarderPort": 123,
      "secure": false
    }
  }
}

hardwareType

Description

Returns a single hardware type.

Response

Returns a HardwareType

Arguments
Name Description
id - ID! The id of the record

Example

Query
query hardwareType($id: ID!) {
  hardwareType(id: $id) {
    id
    handle
    name
    partNumbers {
      ...HardwareTypePartNumberConnectionFragment
    }
  }
}
Variables
{"id": 4}
Response
{
  "data": {
    "hardwareType": {
      "id": "4",
      "handle": "abc123",
      "name": "xyz789",
      "partNumbers": HardwareTypePartNumberConnection
    }
  }
}

hardwareTypes

Description

Returns a list of hardware types.

Response

Returns a HardwareTypeConnection

Arguments
Name Description
sort - [HardwareTypeSortInput] How to sort the records in the response
filter - HardwareTypeFilterInput A filter to limit the results
first - Int The number of records to return from the beginning. Maximum 250
before - String Show records before the specified keyset.
after - String Show records after the specified keyset.
last - Int The number of records to return to the end. Maximum 250

Example

Query
query hardwareTypes(
  $sort: [HardwareTypeSortInput],
  $filter: HardwareTypeFilterInput,
  $first: Int,
  $before: String,
  $after: String,
  $last: Int
) {
  hardwareTypes(
    sort: $sort,
    filter: $filter,
    first: $first,
    before: $before,
    after: $after,
    last: $last
  ) {
    count
    pageInfo {
      ...PageInfoFragment
    }
    edges {
      ...HardwareTypeEdgeFragment
    }
  }
}
Variables
{
  "sort": [HardwareTypeSortInput],
  "filter": HardwareTypeFilterInput,
  "first": 123,
  "before": "xyz789",
  "after": "xyz789",
  "last": 987
}
Response
{
  "data": {
    "hardwareTypes": {
      "count": 987,
      "pageInfo": PageInfo,
      "edges": [HardwareTypeEdge]
    }
  }
}

imageCredentials

Description

Returns the desired image credentials.

Response

Returns an ImageCredentials

Arguments
Name Description
id - ID! The id of the record

Example

Query
query imageCredentials($id: ID!) {
  imageCredentials(id: $id) {
    id
    label
    username
  }
}
Variables
{"id": 4}
Response
{
  "data": {
    "imageCredentials": {
      "id": "4",
      "label": "xyz789",
      "username": "abc123"
    }
  }
}

listImageCredentials

Description

Returns all available image credentials.

Response

Returns an ImageCredentialsConnection

Arguments
Name Description
sort - [ImageCredentialsSortInput] How to sort the records in the response
filter - ImageCredentialsFilterInput A filter to limit the results
first - Int The number of records to return from the beginning. Maximum 250
before - String Show records before the specified keyset.
after - String Show records after the specified keyset.
last - Int The number of records to return to the end. Maximum 250

Example

Query
query listImageCredentials(
  $sort: [ImageCredentialsSortInput],
  $filter: ImageCredentialsFilterInput,
  $first: Int,
  $before: String,
  $after: String,
  $last: Int
) {
  listImageCredentials(
    sort: $sort,
    filter: $filter,
    first: $first,
    before: $before,
    after: $after,
    last: $last
  ) {
    count
    pageInfo {
      ...PageInfoFragment
    }
    edges {
      ...ImageCredentialsEdgeFragment
    }
  }
}
Variables
{
  "sort": [ImageCredentialsSortInput],
  "filter": ImageCredentialsFilterInput,
  "first": 123,
  "before": "abc123",
  "after": "abc123",
  "last": 123
}
Response
{
  "data": {
    "listImageCredentials": {
      "count": 987,
      "pageInfo": PageInfo,
      "edges": [ImageCredentialsEdge]
    }
  }
}

network

Description

Returns the desired network.

Response

Returns a Network

Arguments
Name Description
id - ID! The id of the record

Example

Query
query network($id: ID!) {
  network(id: $id) {
    id
    label
    driver
    internal
    enableIpv6
    options
    containers {
      ...ContainerConnectionFragment
    }
    devices {
      ...DeviceConnectionFragment
    }
  }
}
Variables
{"id": "4"}
Response
{
  "data": {
    "network": {
      "id": 4,
      "label": "xyz789",
      "driver": "abc123",
      "internal": true,
      "enableIpv6": false,
      "options": JsonString,
      "containers": ContainerConnection,
      "devices": DeviceConnection
    }
  }
}

networks

Description

Returns all available networks.

Response

Returns a NetworkConnection

Arguments
Name Description
sort - [NetworkSortInput] How to sort the records in the response
filter - NetworkFilterInput A filter to limit the results
first - Int The number of records to return from the beginning. Maximum 250
before - String Show records before the specified keyset.
after - String Show records after the specified keyset.
last - Int The number of records to return to the end. Maximum 250

Example

Query
query networks(
  $sort: [NetworkSortInput],
  $filter: NetworkFilterInput,
  $first: Int,
  $before: String,
  $after: String,
  $last: Int
) {
  networks(
    sort: $sort,
    filter: $filter,
    first: $first,
    before: $before,
    after: $after,
    last: $last
  ) {
    count
    pageInfo {
      ...PageInfoFragment
    }
    edges {
      ...NetworkEdgeFragment
    }
  }
}
Variables
{
  "sort": [NetworkSortInput],
  "filter": NetworkFilterInput,
  "first": 987,
  "before": "xyz789",
  "after": "xyz789",
  "last": 987
}
Response
{
  "data": {
    "networks": {
      "count": 987,
      "pageInfo": PageInfo,
      "edges": [NetworkEdge]
    }
  }
}

node

Description

Retrieves a Node from its global id

Response

Returns a Node!

Arguments
Name Description
id - ID! The Node unique identifier

Example

Query
query node($id: ID!) {
  node(id: $id) {
    id
  }
}
Variables
{"id": 4}
Response
{"data": {"node": {"id": 4}}}

release

Description

Returns the desired release.

Response

Returns a Release

Arguments
Name Description
id - ID! The id of the record

Example

Query
query release($id: ID!) {
  release(id: $id) {
    id
    version
    applicationId
    application {
      ...ApplicationFragment
    }
    deployments {
      ...DeploymentConnectionFragment
    }
    containers {
      ...ContainerConnectionFragment
    }
    systemModels {
      ...SystemModelFragment
    }
  }
}
Variables
{"id": 4}
Response
{
  "data": {
    "release": {
      "id": 4,
      "version": "abc123",
      "applicationId": "4",
      "application": Application,
      "deployments": DeploymentConnection,
      "containers": ContainerConnection,
      "systemModels": [SystemModel]
    }
  }
}

systemModel

Description

Returns a single system model.

Response

Returns a SystemModel

Arguments
Name Description
id - ID! The id of the record

Example

Query
query systemModel($id: ID!) {
  systemModel(id: $id) {
    id
    handle
    name
    pictureUrl
    partNumbers {
      ...SystemModelPartNumberConnectionFragment
    }
    hardwareType {
      ...HardwareTypeFragment
    }
    releases {
      ...ReleaseFragment
    }
    localizedDescriptions {
      ...LocalizedAttributeFragment
    }
  }
}
Variables
{"id": "4"}
Response
{
  "data": {
    "systemModel": {
      "id": "4",
      "handle": "abc123",
      "name": "abc123",
      "pictureUrl": "abc123",
      "partNumbers": SystemModelPartNumberConnection,
      "hardwareType": HardwareType,
      "releases": [Release],
      "localizedDescriptions": [LocalizedAttribute]
    }
  }
}

systemModels

Description

Returns a list of system models.

Response

Returns a SystemModelConnection

Arguments
Name Description
sort - [SystemModelSortInput] How to sort the records in the response
filter - SystemModelFilterInput A filter to limit the results
first - Int The number of records to return from the beginning. Maximum 250
before - String Show records before the specified keyset.
after - String Show records after the specified keyset.
last - Int The number of records to return to the end. Maximum 250

Example

Query
query systemModels(
  $sort: [SystemModelSortInput],
  $filter: SystemModelFilterInput,
  $first: Int,
  $before: String,
  $after: String,
  $last: Int
) {
  systemModels(
    sort: $sort,
    filter: $filter,
    first: $first,
    before: $before,
    after: $after,
    last: $last
  ) {
    count
    pageInfo {
      ...PageInfoFragment
    }
    edges {
      ...SystemModelEdgeFragment
    }
  }
}
Variables
{
  "sort": [SystemModelSortInput],
  "filter": SystemModelFilterInput,
  "first": 987,
  "before": "xyz789",
  "after": "xyz789",
  "last": 987
}
Response
{
  "data": {
    "systemModels": {
      "count": 123,
      "pageInfo": PageInfo,
      "edges": [SystemModelEdge]
    }
  }
}

tenantInfo

Description

Retrieves the current tenant.

Response

Returns a TenantInfo!

Example

Query
query tenantInfo {
  tenantInfo {
    id
    name
    slug
    defaultLocale
  }
}
Response
{
  "data": {
    "tenantInfo": {
      "id": "4",
      "name": "abc123",
      "slug": "xyz789",
      "defaultLocale": "abc123"
    }
  }
}

updateCampaign

Description

Returns a single update campaign.

Response

Returns an UpdateCampaign

Arguments
Name Description
id - ID! The id of the record

Example

Query
query updateCampaign($id: ID!) {
  updateCampaign(id: $id) {
    id
    name
    status
    outcome
    rolloutMechanism {
      ... on PushRollout {
        ...PushRolloutFragment
      }
    }
    baseImage {
      ...BaseImageFragment
    }
    channel {
      ...ChannelFragment
    }
    updateTargets {
      ...UpdateTargetConnectionFragment
    }
    totalTargetCount
    idleTargetCount
    inProgressTargetCount
    failedTargetCount
    successfulTargetCount
  }
}
Variables
{"id": 4}
Response
{
  "data": {
    "updateCampaign": {
      "id": 4,
      "name": "xyz789",
      "status": "IDLE",
      "outcome": "SUCCESS",
      "rolloutMechanism": PushRollout,
      "baseImage": BaseImage,
      "channel": Channel,
      "updateTargets": UpdateTargetConnection,
      "totalTargetCount": 123,
      "idleTargetCount": 987,
      "inProgressTargetCount": 123,
      "failedTargetCount": 123,
      "successfulTargetCount": 987
    }
  }
}

updateCampaigns

Description

Returns a list of update campaigns.

Response

Returns an UpdateCampaignConnection

Arguments
Name Description
sort - [UpdateCampaignSortInput] How to sort the records in the response
filter - UpdateCampaignFilterInput A filter to limit the results
first - Int The number of records to return from the beginning. Maximum 250
before - String Show records before the specified keyset.
after - String Show records after the specified keyset.
last - Int The number of records to return to the end. Maximum 250

Example

Query
query updateCampaigns(
  $sort: [UpdateCampaignSortInput],
  $filter: UpdateCampaignFilterInput,
  $first: Int,
  $before: String,
  $after: String,
  $last: Int
) {
  updateCampaigns(
    sort: $sort,
    filter: $filter,
    first: $first,
    before: $before,
    after: $after,
    last: $last
  ) {
    count
    pageInfo {
      ...PageInfoFragment
    }
    edges {
      ...UpdateCampaignEdgeFragment
    }
  }
}
Variables
{
  "sort": [UpdateCampaignSortInput],
  "filter": UpdateCampaignFilterInput,
  "first": 987,
  "before": "abc123",
  "after": "xyz789",
  "last": 987
}
Response
{
  "data": {
    "updateCampaigns": {
      "count": 123,
      "pageInfo": PageInfo,
      "edges": [UpdateCampaignEdge]
    }
  }
}

volume

Description

Returns the desired volume.

Response

Returns a Volume

Arguments
Name Description
id - ID! The id of the record

Example

Query
query volume($id: ID!) {
  volume(id: $id) {
    id
    label
    driver
    options
    devices {
      ...DeviceConnectionFragment
    }
  }
}
Variables
{"id": 4}
Response
{
  "data": {
    "volume": {
      "id": 4,
      "label": "xyz789",
      "driver": "abc123",
      "options": JsonString,
      "devices": DeviceConnection
    }
  }
}

volumes

Description

Returns all available volumes.

Response

Returns a VolumeConnection

Arguments
Name Description
sort - [VolumeSortInput] How to sort the records in the response
filter - VolumeFilterInput A filter to limit the results
first - Int The number of records to return from the beginning. Maximum 250
before - String Show records before the specified keyset.
after - String Show records after the specified keyset.
last - Int The number of records to return to the end. Maximum 250

Example

Query
query volumes(
  $sort: [VolumeSortInput],
  $filter: VolumeFilterInput,
  $first: Int,
  $before: String,
  $after: String,
  $last: Int
) {
  volumes(
    sort: $sort,
    filter: $filter,
    first: $first,
    before: $before,
    after: $after,
    last: $last
  ) {
    count
    pageInfo {
      ...PageInfoFragment
    }
    edges {
      ...VolumeEdgeFragment
    }
  }
}
Variables
{
  "sort": [VolumeSortInput],
  "filter": VolumeFilterInput,
  "first": 123,
  "before": "abc123",
  "after": "abc123",
  "last": 123
}
Response
{
  "data": {
    "volumes": {
      "count": 987,
      "pageInfo": PageInfo,
      "edges": [VolumeEdge]
    }
  }
}

Mutations

addDeviceTags

Description

Add tags to a device.

Response

Returns an AddDeviceTagsResult

Arguments
Name Description
id - ID!
input - AddDeviceTagsInput!

Example

Query
mutation addDeviceTags(
  $id: ID!,
  $input: AddDeviceTagsInput!
) {
  addDeviceTags(
    id: $id,
    input: $input
  ) {
    result {
      ...DeviceFragment
    }
    errors {
      ...MutationErrorFragment
    }
  }
}
Variables
{
  "id": "4",
  "input": AddDeviceTagsInput
}
Response
{
  "data": {
    "addDeviceTags": {
      "result": Device,
      "errors": [MutationError]
    }
  }
}

createApplication

Description

Create a new application.

Response

Returns a CreateApplicationResult

Arguments
Name Description
input - CreateApplicationInput!

Example

Query
mutation createApplication($input: CreateApplicationInput!) {
  createApplication(input: $input) {
    result {
      ...ApplicationFragment
    }
    errors {
      ...MutationErrorFragment
    }
  }
}
Variables
{"input": CreateApplicationInput}
Response
{
  "data": {
    "createApplication": {
      "result": Application,
      "errors": [MutationError]
    }
  }
}

createBaseImage

Description

Create a new base image in a base image collection.

Response

Returns a CreateBaseImageResult

Arguments
Name Description
input - CreateBaseImageInput!

Example

Query
mutation createBaseImage($input: CreateBaseImageInput!) {
  createBaseImage(input: $input) {
    result {
      ...BaseImageFragment
    }
    errors {
      ...MutationErrorFragment
    }
  }
}
Variables
{"input": CreateBaseImageInput}
Response
{
  "data": {
    "createBaseImage": {
      "result": BaseImage,
      "errors": [MutationError]
    }
  }
}

createBaseImageCollection

Description

Creates a new base image collection.

Response

Returns a CreateBaseImageCollectionResult

Arguments
Name Description
input - CreateBaseImageCollectionInput!

Example

Query
mutation createBaseImageCollection($input: CreateBaseImageCollectionInput!) {
  createBaseImageCollection(input: $input) {
    result {
      ...BaseImageCollectionFragment
    }
    errors {
      ...MutationErrorFragment
    }
  }
}
Variables
{"input": CreateBaseImageCollectionInput}
Response
{
  "data": {
    "createBaseImageCollection": {
      "result": BaseImageCollection,
      "errors": [MutationError]
    }
  }
}

createChannel

Description

Creates a new channel.

Response

Returns a CreateChannelResult

Arguments
Name Description
input - CreateChannelInput!

Example

Query
mutation createChannel($input: CreateChannelInput!) {
  createChannel(input: $input) {
    result {
      ...ChannelFragment
    }
    errors {
      ...MutationErrorFragment
    }
  }
}
Variables
{"input": CreateChannelInput}
Response
{
  "data": {
    "createChannel": {
      "result": Channel,
      "errors": [MutationError]
    }
  }
}

createDeploymentCampaign

Description

Creates a new deployment campaign.

Response

Returns a CreateDeploymentCampaignResult

Arguments
Name Description
input - CreateDeploymentCampaignInput!

Example

Query
mutation createDeploymentCampaign($input: CreateDeploymentCampaignInput!) {
  createDeploymentCampaign(input: $input) {
    result {
      ...DeploymentCampaignFragment
    }
    errors {
      ...MutationErrorFragment
    }
  }
}
Variables
{"input": CreateDeploymentCampaignInput}
Response
{
  "data": {
    "createDeploymentCampaign": {
      "result": DeploymentCampaign,
      "errors": [MutationError]
    }
  }
}

createDeviceGroup

Description

Creates a new device group.

Response

Returns a CreateDeviceGroupResult

Arguments
Name Description
input - CreateDeviceGroupInput!

Example

Query
mutation createDeviceGroup($input: CreateDeviceGroupInput!) {
  createDeviceGroup(input: $input) {
    result {
      ...DeviceGroupFragment
    }
    errors {
      ...MutationErrorFragment
    }
  }
}
Variables
{"input": CreateDeviceGroupInput}
Response
{
  "data": {
    "createDeviceGroup": {
      "result": DeviceGroup,
      "errors": [MutationError]
    }
  }
}

createHardwareType

Description

Creates a hardware type.

Response

Returns a CreateHardwareTypeResult

Arguments
Name Description
input - CreateHardwareTypeInput!

Example

Query
mutation createHardwareType($input: CreateHardwareTypeInput!) {
  createHardwareType(input: $input) {
    result {
      ...HardwareTypeFragment
    }
    errors {
      ...MutationErrorFragment
    }
  }
}
Variables
{"input": CreateHardwareTypeInput}
Response
{
  "data": {
    "createHardwareType": {
      "result": HardwareType,
      "errors": [MutationError]
    }
  }
}

createImageCredentials

Description

Create image credentials.

Response

Returns a CreateImageCredentialsResult

Arguments
Name Description
input - CreateImageCredentialsInput!

Example

Query
mutation createImageCredentials($input: CreateImageCredentialsInput!) {
  createImageCredentials(input: $input) {
    result {
      ...ImageCredentialsFragment
    }
    errors {
      ...MutationErrorFragment
    }
  }
}
Variables
{"input": CreateImageCredentialsInput}
Response
{
  "data": {
    "createImageCredentials": {
      "result": ImageCredentials,
      "errors": [MutationError]
    }
  }
}

createManualOtaOperation

Description

Initiates an OTA update with a user provided OS image

Response

Returns a CreateManualOtaOperationResult

Arguments
Name Description
input - CreateManualOtaOperationInput!

Example

Query
mutation createManualOtaOperation($input: CreateManualOtaOperationInput!) {
  createManualOtaOperation(input: $input) {
    result {
      ...OtaOperationFragment
    }
    errors {
      ...MutationErrorFragment
    }
  }
}
Variables
{"input": CreateManualOtaOperationInput}
Response
{
  "data": {
    "createManualOtaOperation": {
      "result": OtaOperation,
      "errors": [MutationError]
    }
  }
}

createNetwork

Description

Create a new network.

Response

Returns a CreateNetworkResult

Arguments
Name Description
input - CreateNetworkInput

Example

Query
mutation createNetwork($input: CreateNetworkInput) {
  createNetwork(input: $input) {
    result {
      ...NetworkFragment
    }
    errors {
      ...MutationErrorFragment
    }
  }
}
Variables
{"input": CreateNetworkInput}
Response
{
  "data": {
    "createNetwork": {
      "result": Network,
      "errors": [MutationError]
    }
  }
}

createRelease

Description

Create a new release.

Response

Returns a CreateReleaseResult

Arguments
Name Description
input - CreateReleaseInput!

Example

Query
mutation createRelease($input: CreateReleaseInput!) {
  createRelease(input: $input) {
    result {
      ...ReleaseFragment
    }
    errors {
      ...MutationErrorFragment
    }
  }
}
Variables
{"input": CreateReleaseInput}
Response
{
  "data": {
    "createRelease": {
      "result": Release,
      "errors": [MutationError]
    }
  }
}

createSystemModel

Description

Creates a system model.

Response

Returns a CreateSystemModelResult

Arguments
Name Description
input - CreateSystemModelInput!

Example

Query
mutation createSystemModel($input: CreateSystemModelInput!) {
  createSystemModel(input: $input) {
    result {
      ...SystemModelFragment
    }
    errors {
      ...MutationErrorFragment
    }
  }
}
Variables
{"input": CreateSystemModelInput}
Response
{
  "data": {
    "createSystemModel": {
      "result": SystemModel,
      "errors": [MutationError]
    }
  }
}

createUpdateCampaign

Description

Creates a new update campaign.

Response

Returns a CreateUpdateCampaignResult

Arguments
Name Description
input - CreateUpdateCampaignInput!

Example

Query
mutation createUpdateCampaign($input: CreateUpdateCampaignInput!) {
  createUpdateCampaign(input: $input) {
    result {
      ...UpdateCampaignFragment
    }
    errors {
      ...MutationErrorFragment
    }
  }
}
Variables
{"input": CreateUpdateCampaignInput}
Response
{
  "data": {
    "createUpdateCampaign": {
      "result": UpdateCampaign,
      "errors": [MutationError]
    }
  }
}

createVolume

Description

Create a new volume.

Response

Returns a CreateVolumeResult

Arguments
Name Description
input - CreateVolumeInput!

Example

Query
mutation createVolume($input: CreateVolumeInput!) {
  createVolume(input: $input) {
    result {
      ...VolumeFragment
    }
    errors {
      ...MutationErrorFragment
    }
  }
}
Variables
{"input": CreateVolumeInput}
Response
{
  "data": {
    "createVolume": {
      "result": Volume,
      "errors": [MutationError]
    }
  }
}

deleteApplication

Response

Returns a DeleteApplicationResult

Arguments
Name Description
id - ID!

Example

Query
mutation deleteApplication($id: ID!) {
  deleteApplication(id: $id) {
    result {
      ...ApplicationFragment
    }
    errors {
      ...MutationErrorFragment
    }
  }
}
Variables
{"id": "4"}
Response
{
  "data": {
    "deleteApplication": {
      "result": Application,
      "errors": [MutationError]
    }
  }
}

deleteBaseImage

Description

Deletes a base image.

Response

Returns a DeleteBaseImageResult

Arguments
Name Description
id - ID!

Example

Query
mutation deleteBaseImage($id: ID!) {
  deleteBaseImage(id: $id) {
    result {
      ...BaseImageFragment
    }
    errors {
      ...MutationErrorFragment
    }
  }
}
Variables
{"id": "4"}
Response
{
  "data": {
    "deleteBaseImage": {
      "result": BaseImage,
      "errors": [MutationError]
    }
  }
}

deleteBaseImageCollection

Description

Deletes a base image collection.

Response

Returns a DeleteBaseImageCollectionResult

Arguments
Name Description
id - ID!

Example

Query
mutation deleteBaseImageCollection($id: ID!) {
  deleteBaseImageCollection(id: $id) {
    result {
      ...BaseImageCollectionFragment
    }
    errors {
      ...MutationErrorFragment
    }
  }
}
Variables
{"id": "4"}
Response
{
  "data": {
    "deleteBaseImageCollection": {
      "result": BaseImageCollection,
      "errors": [MutationError]
    }
  }
}

deleteChannel

Description

Deletes an channel.

Response

Returns a DeleteChannelResult

Arguments
Name Description
id - ID!

Example

Query
mutation deleteChannel($id: ID!) {
  deleteChannel(id: $id) {
    result {
      ...ChannelFragment
    }
    errors {
      ...MutationErrorFragment
    }
  }
}
Variables
{"id": "4"}
Response
{
  "data": {
    "deleteChannel": {
      "result": Channel,
      "errors": [MutationError]
    }
  }
}

deleteDeployment

Description

Sends a :delete command to the release on the device.

Response

Returns a DeleteDeploymentResult

Arguments
Name Description
id - ID!

Example

Query
mutation deleteDeployment($id: ID!) {
  deleteDeployment(id: $id) {
    result {
      ...DeploymentFragment
    }
    errors {
      ...MutationErrorFragment
    }
  }
}
Variables
{"id": 4}
Response
{
  "data": {
    "deleteDeployment": {
      "result": Deployment,
      "errors": [MutationError]
    }
  }
}

deleteDeviceGroup

Description

Deletes a device group.

Response

Returns a DeleteDeviceGroupResult

Arguments
Name Description
id - ID!

Example

Query
mutation deleteDeviceGroup($id: ID!) {
  deleteDeviceGroup(id: $id) {
    result {
      ...DeviceGroupFragment
    }
    errors {
      ...MutationErrorFragment
    }
  }
}
Variables
{"id": 4}
Response
{
  "data": {
    "deleteDeviceGroup": {
      "result": DeviceGroup,
      "errors": [MutationError]
    }
  }
}

deleteHardwareType

Description

Deletes a hardware type.

Response

Returns a DeleteHardwareTypeResult

Arguments
Name Description
id - ID!

Example

Query
mutation deleteHardwareType($id: ID!) {
  deleteHardwareType(id: $id) {
    result {
      ...HardwareTypeFragment
    }
    errors {
      ...MutationErrorFragment
    }
  }
}
Variables
{"id": 4}
Response
{
  "data": {
    "deleteHardwareType": {
      "result": HardwareType,
      "errors": [MutationError]
    }
  }
}

deleteImageCredentials

Response

Returns a DeleteImageCredentialsResult

Arguments
Name Description
id - ID!

Example

Query
mutation deleteImageCredentials($id: ID!) {
  deleteImageCredentials(id: $id) {
    result {
      ...ImageCredentialsFragment
    }
    errors {
      ...MutationErrorFragment
    }
  }
}
Variables
{"id": 4}
Response
{
  "data": {
    "deleteImageCredentials": {
      "result": ImageCredentials,
      "errors": [MutationError]
    }
  }
}

deleteNetwork

Description

Delete a network if not used by any container.

Response

Returns a DeleteNetworkResult

Arguments
Name Description
id - ID!

Example

Query
mutation deleteNetwork($id: ID!) {
  deleteNetwork(id: $id) {
    result {
      ...NetworkFragment
    }
    errors {
      ...MutationErrorFragment
    }
  }
}
Variables
{"id": "4"}
Response
{
  "data": {
    "deleteNetwork": {
      "result": Network,
      "errors": [MutationError]
    }
  }
}

deleteRelease

Description

Delete a release and cleanup dangling resources

Response

Returns a DeleteReleaseResult

Arguments
Name Description
id - ID!

Example

Query
mutation deleteRelease($id: ID!) {
  deleteRelease(id: $id) {
    result {
      ...ReleaseFragment
    }
    errors {
      ...MutationErrorFragment
    }
  }
}
Variables
{"id": "4"}
Response
{
  "data": {
    "deleteRelease": {
      "result": Release,
      "errors": [MutationError]
    }
  }
}

deleteSystemModel

Description

Deletes a system model.

Response

Returns a DeleteSystemModelResult

Arguments
Name Description
id - ID!

Example

Query
mutation deleteSystemModel($id: ID!) {
  deleteSystemModel(id: $id) {
    result {
      ...SystemModelFragment
    }
    errors {
      ...MutationErrorFragment
    }
  }
}
Variables
{"id": "4"}
Response
{
  "data": {
    "deleteSystemModel": {
      "result": SystemModel,
      "errors": [MutationError]
    }
  }
}

deleteVolume

Description

Delete a volume if not used by any container.

Response

Returns a DeleteVolumeResult

Arguments
Name Description
id - ID!

Example

Query
mutation deleteVolume($id: ID!) {
  deleteVolume(id: $id) {
    result {
      ...VolumeFragment
    }
    errors {
      ...MutationErrorFragment
    }
  }
}
Variables
{"id": "4"}
Response
{
  "data": {
    "deleteVolume": {
      "result": Volume,
      "errors": [MutationError]
    }
  }
}

deployRelease

Description

Deploy the application on a device

Response

Returns a DeployReleaseResult

Arguments
Name Description
input - DeployReleaseInput!

Example

Query
mutation deployRelease($input: DeployReleaseInput!) {
  deployRelease(input: $input) {
    result {
      ...DeploymentFragment
    }
    errors {
      ...MutationErrorFragment
    }
  }
}
Variables
{"input": DeployReleaseInput}
Response
{
  "data": {
    "deployRelease": {
      "result": Deployment,
      "errors": [MutationError]
    }
  }
}

removeDeviceTags

Description

Remove tags from a device.

Response

Returns a RemoveDeviceTagsResult

Arguments
Name Description
id - ID!
input - RemoveDeviceTagsInput!

Example

Query
mutation removeDeviceTags(
  $id: ID!,
  $input: RemoveDeviceTagsInput!
) {
  removeDeviceTags(
    id: $id,
    input: $input
  ) {
    result {
      ...DeviceFragment
    }
    errors {
      ...MutationErrorFragment
    }
  }
}
Variables
{
  "id": "4",
  "input": RemoveDeviceTagsInput
}
Response
{
  "data": {
    "removeDeviceTags": {
      "result": Device,
      "errors": [MutationError]
    }
  }
}

requestForwarderSession

Description

Requests a forwarder session for the specified device. Returns the session token.

Response

Returns a String!

Arguments
Name Description
input - RequestForwarderSessionInput

Example

Query
mutation requestForwarderSession($input: RequestForwarderSessionInput) {
  requestForwarderSession(input: $input)
}
Variables
{"input": RequestForwarderSessionInput}
Response
{
  "data": {
    "requestForwarderSession": "xyz789"
  }
}

setDeviceLedBehavior

Description

Sets led behavior.

Response

Returns a SetDeviceLedBehaviorResult

Arguments
Name Description
id - ID!
input - SetDeviceLedBehaviorInput!

Example

Query
mutation setDeviceLedBehavior(
  $id: ID!,
  $input: SetDeviceLedBehaviorInput!
) {
  setDeviceLedBehavior(
    id: $id,
    input: $input
  ) {
    result {
      ...DeviceFragment
    }
    errors {
      ...MutationErrorFragment
    }
  }
}
Variables
{"id": 4, "input": SetDeviceLedBehaviorInput}
Response
{
  "data": {
    "setDeviceLedBehavior": {
      "result": Device,
      "errors": [MutationError]
    }
  }
}

startDeployment

Description

Sends a :start command to the release on the device.

Response

Returns a StartDeploymentResult

Arguments
Name Description
id - ID!

Example

Query
mutation startDeployment($id: ID!) {
  startDeployment(id: $id) {
    result {
      ...DeploymentFragment
    }
    errors {
      ...MutationErrorFragment
    }
  }
}
Variables
{"id": "4"}
Response
{
  "data": {
    "startDeployment": {
      "result": Deployment,
      "errors": [MutationError]
    }
  }
}

stopDeployment

Description

Sends a :stop command to the release on the device.

Response

Returns a StopDeploymentResult

Arguments
Name Description
id - ID!

Example

Query
mutation stopDeployment($id: ID!) {
  stopDeployment(id: $id) {
    result {
      ...DeploymentFragment
    }
    errors {
      ...MutationErrorFragment
    }
  }
}
Variables
{"id": "4"}
Response
{
  "data": {
    "stopDeployment": {
      "result": Deployment,
      "errors": [MutationError]
    }
  }
}

updateBaseImage

Description

Updates a base image.

Response

Returns an UpdateBaseImageResult

Arguments
Name Description
id - ID!
input - UpdateBaseImageInput

Example

Query
mutation updateBaseImage(
  $id: ID!,
  $input: UpdateBaseImageInput
) {
  updateBaseImage(
    id: $id,
    input: $input
  ) {
    result {
      ...BaseImageFragment
    }
    errors {
      ...MutationErrorFragment
    }
  }
}
Variables
{"id": 4, "input": UpdateBaseImageInput}
Response
{
  "data": {
    "updateBaseImage": {
      "result": BaseImage,
      "errors": [MutationError]
    }
  }
}

updateBaseImageCollection

Description

Updates a base image collection.

Response

Returns an UpdateBaseImageCollectionResult

Arguments
Name Description
id - ID!
input - UpdateBaseImageCollectionInput

Example

Query
mutation updateBaseImageCollection(
  $id: ID!,
  $input: UpdateBaseImageCollectionInput
) {
  updateBaseImageCollection(
    id: $id,
    input: $input
  ) {
    result {
      ...BaseImageCollectionFragment
    }
    errors {
      ...MutationErrorFragment
    }
  }
}
Variables
{"id": 4, "input": UpdateBaseImageCollectionInput}
Response
{
  "data": {
    "updateBaseImageCollection": {
      "result": BaseImageCollection,
      "errors": [MutationError]
    }
  }
}

updateChannel

Description

Updates an channel.

Response

Returns an UpdateChannelResult

Arguments
Name Description
id - ID!
input - UpdateChannelInput

Example

Query
mutation updateChannel(
  $id: ID!,
  $input: UpdateChannelInput
) {
  updateChannel(
    id: $id,
    input: $input
  ) {
    result {
      ...ChannelFragment
    }
    errors {
      ...MutationErrorFragment
    }
  }
}
Variables
{
  "id": "4",
  "input": UpdateChannelInput
}
Response
{
  "data": {
    "updateChannel": {
      "result": Channel,
      "errors": [MutationError]
    }
  }
}

updateDevice

Description

Updates a device.

Response

Returns an UpdateDeviceResult

Arguments
Name Description
id - ID!
input - UpdateDeviceInput

Example

Query
mutation updateDevice(
  $id: ID!,
  $input: UpdateDeviceInput
) {
  updateDevice(
    id: $id,
    input: $input
  ) {
    result {
      ...DeviceFragment
    }
    errors {
      ...MutationErrorFragment
    }
  }
}
Variables
{"id": 4, "input": UpdateDeviceInput}
Response
{
  "data": {
    "updateDevice": {
      "result": Device,
      "errors": [MutationError]
    }
  }
}

updateDeviceGroup

Description

Updates a device group.

Response

Returns an UpdateDeviceGroupResult

Arguments
Name Description
id - ID!
input - UpdateDeviceGroupInput

Example

Query
mutation updateDeviceGroup(
  $id: ID!,
  $input: UpdateDeviceGroupInput
) {
  updateDeviceGroup(
    id: $id,
    input: $input
  ) {
    result {
      ...DeviceGroupFragment
    }
    errors {
      ...MutationErrorFragment
    }
  }
}
Variables
{
  "id": "4",
  "input": UpdateDeviceGroupInput
}
Response
{
  "data": {
    "updateDeviceGroup": {
      "result": DeviceGroup,
      "errors": [MutationError]
    }
  }
}

updateHardwareType

Description

Updates a hardware type.

Response

Returns an UpdateHardwareTypeResult

Arguments
Name Description
id - ID!
input - UpdateHardwareTypeInput

Example

Query
mutation updateHardwareType(
  $id: ID!,
  $input: UpdateHardwareTypeInput
) {
  updateHardwareType(
    id: $id,
    input: $input
  ) {
    result {
      ...HardwareTypeFragment
    }
    errors {
      ...MutationErrorFragment
    }
  }
}
Variables
{"id": 4, "input": UpdateHardwareTypeInput}
Response
{
  "data": {
    "updateHardwareType": {
      "result": HardwareType,
      "errors": [MutationError]
    }
  }
}

updateSystemModel

Description

Updates an system model.

Response

Returns an UpdateSystemModelResult

Arguments
Name Description
id - ID!
input - UpdateSystemModelInput

Example

Query
mutation updateSystemModel(
  $id: ID!,
  $input: UpdateSystemModelInput
) {
  updateSystemModel(
    id: $id,
    input: $input
  ) {
    result {
      ...SystemModelFragment
    }
    errors {
      ...MutationErrorFragment
    }
  }
}
Variables
{
  "id": "4",
  "input": UpdateSystemModelInput
}
Response
{
  "data": {
    "updateSystemModel": {
      "result": SystemModel,
      "errors": [MutationError]
    }
  }
}

upgradeDeployment

Response

Returns an UpgradeDeploymentResult

Arguments
Name Description
id - ID!
input - UpgradeDeploymentInput!

Example

Query
mutation upgradeDeployment(
  $id: ID!,
  $input: UpgradeDeploymentInput!
) {
  upgradeDeployment(
    id: $id,
    input: $input
  ) {
    result {
      ...DeploymentFragment
    }
    errors {
      ...MutationErrorFragment
    }
  }
}
Variables
{"id": 4, "input": UpgradeDeploymentInput}
Response
{
  "data": {
    "upgradeDeployment": {
      "result": Deployment,
      "errors": [MutationError]
    }
  }
}

Types

AddDeviceTagsInput

Fields
Input Field Description
tags - [String!]!
Example
{"tags": ["abc123"]}

AddDeviceTagsResult

Description

The result of the :add_device_tags mutation

Fields
Field Name Description
result - Device The successful result of the mutation
errors - [MutationError!]! Any errors generated, if the mutation failed
Example
{
  "result": Device,
  "errors": [MutationError]
}

Application

Fields
Field Name Description
id - ID!
name - String!
description - String
releases - ReleaseConnection!
Arguments
sort - [ReleaseSortInput]

How to sort the records in the response

filter - ReleaseFilterInput

A filter to limit the results

first - Int

The number of records to return from the beginning. Maximum 250

before - String

Show records before the specified keyset.

after - String

Show records after the specified keyset.

last - Int

The number of records to return to the end. Maximum 250

Example
{
  "id": "4",
  "name": "abc123",
  "description": "abc123",
  "releases": ReleaseConnection
}

ApplicationConnection

Description

:application connection

Fields
Field Name Description
count - Int Total count on all pages
pageInfo - PageInfo! Page information
edges - [ApplicationEdge!] :application edges
Example
{
  "count": 987,
  "pageInfo": PageInfo,
  "edges": [ApplicationEdge]
}

ApplicationCreateInitialReleaseInput

Fields
Input Field Description
version - String!
containers - [ReleaseCreateContainersInput!]
requiredSystemModels - [ReleaseCreateRequiredSystemModelsInput!]
Example
{
  "version": "xyz789",
  "containers": [ReleaseCreateContainersInput],
  "requiredSystemModels": [
    ReleaseCreateRequiredSystemModelsInput
  ]
}

ApplicationDeploymentState

Values
Enum Value Description

PENDING

The deployment has been created in the database layer, the device yet has to receive it.

SENT

The deployment description has been sent to the device.

DELETING

The device is deleting the deployment.

ERROR

The device reported an error. Check last_error_message for the error message.

STARTED

The deployment is started on the device.

STARTING

The device is starting the deployment.

STOPPED

The deployment is stopped on the device.

STOPPING

The device is stopping the deployment.
Example
"PENDING"

ApplicationEdge

Description

:application edge

Fields
Field Name Description
cursor - String! Cursor
node - Application! :application node
Example
{
  "cursor": "xyz789",
  "node": Application
}

ApplicationFilterDescription

Fields
Input Field Description
isNil - Boolean
eq - String
notEq - String
in - [String]
lessThan - String
greaterThan - String
lessThanOrEqual - String
greaterThanOrEqual - String
like - String
ilike - String
Example
{
  "isNil": true,
  "eq": "abc123",
  "notEq": "xyz789",
  "in": ["xyz789"],
  "lessThan": "abc123",
  "greaterThan": "xyz789",
  "lessThanOrEqual": "abc123",
  "greaterThanOrEqual": "xyz789",
  "like": "abc123",
  "ilike": "xyz789"
}

ApplicationFilterId

Fields
Input Field Description
isNil - Boolean
eq - ID
notEq - ID
in - [ID!]
lessThan - ID
greaterThan - ID
lessThanOrEqual - ID
greaterThanOrEqual - ID
Example
{
  "isNil": false,
  "eq": 4,
  "notEq": "4",
  "in": ["4"],
  "lessThan": 4,
  "greaterThan": 4,
  "lessThanOrEqual": "4",
  "greaterThanOrEqual": "4"
}

ApplicationFilterInput

Example
{
  "and": [ApplicationFilterInput],
  "or": [ApplicationFilterInput],
  "not": [ApplicationFilterInput],
  "id": ApplicationFilterId,
  "name": ApplicationFilterName,
  "description": ApplicationFilterDescription,
  "releases": ReleaseFilterInput
}

ApplicationFilterName

Fields
Input Field Description
isNil - Boolean
eq - String
notEq - String
in - [String!]
lessThan - String
greaterThan - String
lessThanOrEqual - String
greaterThanOrEqual - String
like - String
ilike - String
Example
{
  "isNil": false,
  "eq": "abc123",
  "notEq": "xyz789",
  "in": ["xyz789"],
  "lessThan": "abc123",
  "greaterThan": "abc123",
  "lessThanOrEqual": "xyz789",
  "greaterThanOrEqual": "xyz789",
  "like": "xyz789",
  "ilike": "abc123"
}

ApplicationSortField

Values
Enum Value Description

ID

NAME

DESCRIPTION

Example
"ID"

ApplicationSortInput

Fields
Input Field Description
order - SortOrder
field - ApplicationSortField!
Example
{"order": "DESC", "field": "ID"}

BaseImage

Description

Represents an uploaded Base Image.

A base image represents a downloadable base image that can be installed on a device

Fields
Field Name Description
id - ID!
version - String! The base image version.
startingVersionRequirement - String The starting version requirement for the base image.
url - String! The url where the base image can be downloaded.
baseImageCollection - BaseImageCollection! The base image collection that this base image belongs to.
localizedDescriptions - [LocalizedAttribute!] A list of descriptions in different languages.
Arguments
preferredLanguageTags - [String!]
localizedReleaseDisplayNames - [LocalizedAttribute!] A list of release display names in different languages.
Arguments
preferredLanguageTags - [String!]
Example
{
  "id": "4",
  "version": "xyz789",
  "startingVersionRequirement": "abc123",
  "url": "abc123",
  "baseImageCollection": BaseImageCollection,
  "localizedDescriptions": [LocalizedAttribute],
  "localizedReleaseDisplayNames": [LocalizedAttribute]
}

BaseImageCollection

Description

Represents a collection of Base Images.

A base image collection represents the collection of all Base Images that can run on a specific System Model.

Fields
Field Name Description
id - ID!
name - String! The display name of the base image collection.
handle - String!

The identifier of the base image collection.

It should start with a lower case ASCII letter and only contain lower case ASCII letters, digits and the hyphen - symbol.

systemModel - SystemModel! The system model associated with the base image collection.
baseImages - BaseImageConnection! The base images associated with the base image collection.
Arguments
sort - [BaseImageSortInput]

How to sort the records in the response

filter - BaseImageFilterInput

A filter to limit the results

first - Int

The number of records to return from the beginning. Maximum 250

before - String

Show records before the specified keyset.

after - String

Show records after the specified keyset.

last - Int

The number of records to return to the end. Maximum 250

Example
{
  "id": "4",
  "name": "abc123",
  "handle": "xyz789",
  "systemModel": SystemModel,
  "baseImages": BaseImageConnection
}

BaseImageCollectionConnection

Description

:base_image_collection connection

Fields
Field Name Description
count - Int Total count on all pages
pageInfo - PageInfo! Page information
edges - [BaseImageCollectionEdge!] :base_image_collection edges
Example
{
  "count": 987,
  "pageInfo": PageInfo,
  "edges": [BaseImageCollectionEdge]
}

BaseImageCollectionEdge

Description

:base_image_collection edge

Fields
Field Name Description
cursor - String! Cursor
node - BaseImageCollection! :base_image_collection node
Example
{
  "cursor": "xyz789",
  "node": BaseImageCollection
}

BaseImageCollectionFilterHandle

Fields
Input Field Description
isNil - Boolean
eq - String
notEq - String
in - [String!]
lessThan - String
greaterThan - String
lessThanOrEqual - String
greaterThanOrEqual - String
like - String
ilike - String
Example
{
  "isNil": false,
  "eq": "abc123",
  "notEq": "abc123",
  "in": ["abc123"],
  "lessThan": "xyz789",
  "greaterThan": "xyz789",
  "lessThanOrEqual": "xyz789",
  "greaterThanOrEqual": "abc123",
  "like": "abc123",
  "ilike": "xyz789"
}

BaseImageCollectionFilterId

Fields
Input Field Description
isNil - Boolean
eq - Int
notEq - Int
in - [Int!]
lessThan - Int
greaterThan - Int
lessThanOrEqual - Int
greaterThanOrEqual - Int
Example
{
  "isNil": true,
  "eq": 987,
  "notEq": 987,
  "in": [987],
  "lessThan": 123,
  "greaterThan": 123,
  "lessThanOrEqual": 987,
  "greaterThanOrEqual": 123
}

BaseImageCollectionFilterInput

Fields
Input Field Description
and - [BaseImageCollectionFilterInput!]
or - [BaseImageCollectionFilterInput!]
not - [BaseImageCollectionFilterInput!]
id - BaseImageCollectionFilterId
name - BaseImageCollectionFilterName The display name of the base image collection.
handle - BaseImageCollectionFilterHandle

The identifier of the base image collection.

It should start with a lower case ASCII letter and only contain lower case ASCII letters, digits and the hyphen - symbol.

systemModel - SystemModelFilterInput The system model associated with the base image collection.
baseImages - BaseImageFilterInput The base images associated with the base image collection.
Example
{
  "and": [BaseImageCollectionFilterInput],
  "or": [BaseImageCollectionFilterInput],
  "not": [BaseImageCollectionFilterInput],
  "id": BaseImageCollectionFilterId,
  "name": BaseImageCollectionFilterName,
  "handle": BaseImageCollectionFilterHandle,
  "systemModel": SystemModelFilterInput,
  "baseImages": BaseImageFilterInput
}

BaseImageCollectionFilterName

Fields
Input Field Description
isNil - Boolean
eq - String
notEq - String
in - [String!]
lessThan - String
greaterThan - String
lessThanOrEqual - String
greaterThanOrEqual - String
like - String
ilike - String
Example
{
  "isNil": false,
  "eq": "abc123",
  "notEq": "xyz789",
  "in": ["abc123"],
  "lessThan": "xyz789",
  "greaterThan": "abc123",
  "lessThanOrEqual": "xyz789",
  "greaterThanOrEqual": "xyz789",
  "like": "abc123",
  "ilike": "xyz789"
}

BaseImageCollectionSortField

Values
Enum Value Description

ID

NAME

HANDLE

Example
"ID"

BaseImageCollectionSortInput

Fields
Input Field Description
order - SortOrder
field - BaseImageCollectionSortField!
Example
{"order": "DESC", "field": "ID"}

BaseImageConnection

Description

:base_image connection

Fields
Field Name Description
count - Int Total count on all pages
pageInfo - PageInfo! Page information
edges - [BaseImageEdge!] :base_image edges
Example
{
  "count": 987,
  "pageInfo": PageInfo,
  "edges": [BaseImageEdge]
}

BaseImageEdge

Description

:base_image edge

Fields
Field Name Description
cursor - String! Cursor
node - BaseImage! :base_image node
Example
{
  "cursor": "xyz789",
  "node": BaseImage
}

BaseImageFilterId

Fields
Input Field Description
isNil - Boolean
eq - Int
notEq - Int
in - [Int!]
lessThan - Int
greaterThan - Int
lessThanOrEqual - Int
greaterThanOrEqual - Int
Example
{
  "isNil": false,
  "eq": 987,
  "notEq": 123,
  "in": [123],
  "lessThan": 123,
  "greaterThan": 123,
  "lessThanOrEqual": 987,
  "greaterThanOrEqual": 987
}

BaseImageFilterInput

Fields
Input Field Description
and - [BaseImageFilterInput!]
or - [BaseImageFilterInput!]
not - [BaseImageFilterInput!]
id - BaseImageFilterId
version - BaseImageFilterVersion The base image version.
startingVersionRequirement - BaseImageFilterStartingVersionRequirement The starting version requirement for the base image.
url - BaseImageFilterUrl The url where the base image can be downloaded.
baseImageCollection - BaseImageCollectionFilterInput The base image collection that this base image belongs to.
Example
{
  "and": [BaseImageFilterInput],
  "or": [BaseImageFilterInput],
  "not": [BaseImageFilterInput],
  "id": BaseImageFilterId,
  "version": BaseImageFilterVersion,
  "startingVersionRequirement": BaseImageFilterStartingVersionRequirement,
  "url": BaseImageFilterUrl,
  "baseImageCollection": BaseImageCollectionFilterInput
}

BaseImageFilterStartingVersionRequirement

Fields
Input Field Description
isNil - Boolean
eq - String
notEq - String
in - [String]
lessThan - String
greaterThan - String
lessThanOrEqual - String
greaterThanOrEqual - String
like - String
ilike - String
Example
{
  "isNil": true,
  "eq": "xyz789",
  "notEq": "xyz789",
  "in": ["xyz789"],
  "lessThan": "xyz789",
  "greaterThan": "xyz789",
  "lessThanOrEqual": "xyz789",
  "greaterThanOrEqual": "xyz789",
  "like": "xyz789",
  "ilike": "abc123"
}

BaseImageFilterUrl

Fields
Input Field Description
isNil - Boolean
eq - String
notEq - String
in - [String!]
lessThan - String
greaterThan - String
lessThanOrEqual - String
greaterThanOrEqual - String
like - String
ilike - String
Example
{
  "isNil": true,
  "eq": "abc123",
  "notEq": "xyz789",
  "in": ["xyz789"],
  "lessThan": "xyz789",
  "greaterThan": "abc123",
  "lessThanOrEqual": "abc123",
  "greaterThanOrEqual": "xyz789",
  "like": "xyz789",
  "ilike": "abc123"
}

BaseImageFilterVersion

Fields
Input Field Description
isNil - Boolean
eq - String
notEq - String
in - [String!]
lessThan - String
greaterThan - String
lessThanOrEqual - String
greaterThanOrEqual - String
like - String
ilike - String
Example
{
  "isNil": false,
  "eq": "xyz789",
  "notEq": "xyz789",
  "in": ["abc123"],
  "lessThan": "xyz789",
  "greaterThan": "abc123",
  "lessThanOrEqual": "xyz789",
  "greaterThanOrEqual": "xyz789",
  "like": "abc123",
  "ilike": "abc123"
}

BaseImageInfo

Description

Describes the information on the system's base image for a device.

Fields
Field Name Description
name - String The name of the image.
version - String The version of the image.
buildId - String Human readable build identifier of the image.
fingerprint - String A unique string that identifies the release, usually the image hash.
Example
{
  "name": "xyz789",
  "version": "abc123",
  "buildId": "abc123",
  "fingerprint": "abc123"
}

BaseImageSortField

Values
Enum Value Description

ID

VERSION

STARTING_VERSION_REQUIREMENT

URL

Example
"ID"

BaseImageSortInput

Fields
Input Field Description
order - SortOrder
field - BaseImageSortField!
Example
{"order": "DESC", "field": "ID"}

BatterySlot

Description

Describes a battery slot of a device.

Fields
Field Name Description
levelAbsoluteError - Float Battery level measurement absolute error [0.0-100.0].
levelPercentage - Float Battery level estimated percentage [0.0%-100.0%].
slot - String! The identifier of the battery slot.
status - BatterySlotStatus The current status of the battery.
Example
{
  "levelAbsoluteError": 123.45,
  "levelPercentage": 987.65,
  "slot": "xyz789",
  "status": "CHARGING"
}

BatterySlotStatus

Values
Enum Value Description

CHARGING

The battery is charging.

DISCHARGING

The battery is discharging.

IDLE

The battery is idle.

EITHER_IDLE_OR_CHARGING

The battery is either in a charging or in an idle state, since the hardware doesn't allow to distinguish between them.

FAILURE

The battery is in a failed state.

REMOVED

The battery is removed.

UNKNOWN

The battery status cannot be determined.
Example
"CHARGING"

Boolean

Description

The Boolean scalar type represents true or false.

CampaignOutcome

Values
Enum Value Description

SUCCESS

The campaign has finished succesfully.

FAILURE

The campaign has finished with a failure.
Example
"SUCCESS"

CampaignStatus

Values
Enum Value Description

IDLE

The campaign has been created but is not being rolled-out yet.

IN_PROGRESS

The campaign is being rolled-out.

FINISHED

The campaign has finished.
Example
"IDLE"

Channel

Description

Represents an Channel.

An Channel represents a set of device groups that can be targeted in an Campaign.

Fields
Field Name Description
id - ID!
handle - String!

The identifier of the channel.

It should start with a lower case ASCII letter and only contain lower case ASCII letters, digits and the hyphen - symbol.

name - String! The display name of the channel.
targetGroups - DeviceGroupConnection! The device groups targeted by the channel.
Arguments
sort - [DeviceGroupSortInput]

How to sort the records in the response

filter - DeviceGroupFilterInput

A filter to limit the results

first - Int

The number of records to return from the beginning. Maximum 250

before - String

Show records before the specified keyset.

after - String

Show records after the specified keyset.

last - Int

The number of records to return to the end. Maximum 250

deploymentCampaigns - [DeploymentCampaign!]!
Arguments
sort - [DeploymentCampaignSortInput]

How to sort the records in the response

filter - DeploymentCampaignFilterInput

A filter to limit the results

limit - Int

The number of records to return.

offset - Int

The number of records to skip.

Example
{
  "id": "4",
  "handle": "abc123",
  "name": "xyz789",
  "targetGroups": DeviceGroupConnection,
  "deploymentCampaigns": [DeploymentCampaign]
}

ChannelConnection

Description

:channel connection

Fields
Field Name Description
count - Int Total count on all pages
pageInfo - PageInfo! Page information
edges - [ChannelEdge!] :channel edges
Example
{
  "count": 123,
  "pageInfo": PageInfo,
  "edges": [ChannelEdge]
}

ChannelEdge

Description

:channel edge

Fields
Field Name Description
cursor - String! Cursor
node - Channel! :channel node
Example
{
  "cursor": "abc123",
  "node": Channel
}

ChannelFilterHandle

Fields
Input Field Description
isNil - Boolean
eq - String
notEq - String
in - [String!]
lessThan - String
greaterThan - String
lessThanOrEqual - String
greaterThanOrEqual - String
like - String
ilike - String
Example
{
  "isNil": true,
  "eq": "abc123",
  "notEq": "xyz789",
  "in": ["abc123"],
  "lessThan": "abc123",
  "greaterThan": "xyz789",
  "lessThanOrEqual": "xyz789",
  "greaterThanOrEqual": "xyz789",
  "like": "xyz789",
  "ilike": "xyz789"
}

ChannelFilterId

Fields
Input Field Description
isNil - Boolean
eq - Int
notEq - Int
in - [Int!]
lessThan - Int
greaterThan - Int
lessThanOrEqual - Int
greaterThanOrEqual - Int
Example
{
  "isNil": true,
  "eq": 987,
  "notEq": 987,
  "in": [987],
  "lessThan": 987,
  "greaterThan": 987,
  "lessThanOrEqual": 987,
  "greaterThanOrEqual": 987
}

ChannelFilterInput

Fields
Input Field Description
and - [ChannelFilterInput!]
or - [ChannelFilterInput!]
not - [ChannelFilterInput!]
id - ChannelFilterId
handle - ChannelFilterHandle

The identifier of the channel.

It should start with a lower case ASCII letter and only contain lower case ASCII letters, digits and the hyphen - symbol.

name - ChannelFilterName The display name of the channel.
targetGroups - DeviceGroupFilterInput The device groups targeted by the channel.
deploymentCampaigns - DeploymentCampaignFilterInput
Example
{
  "and": [ChannelFilterInput],
  "or": [ChannelFilterInput],
  "not": [ChannelFilterInput],
  "id": ChannelFilterId,
  "handle": ChannelFilterHandle,
  "name": ChannelFilterName,
  "targetGroups": DeviceGroupFilterInput,
  "deploymentCampaigns": DeploymentCampaignFilterInput
}

ChannelFilterName

Fields
Input Field Description
isNil - Boolean
eq - String
notEq - String
in - [String!]
lessThan - String
greaterThan - String
lessThanOrEqual - String
greaterThanOrEqual - String
like - String
ilike - String
Example
{
  "isNil": false,
  "eq": "abc123",
  "notEq": "xyz789",
  "in": ["xyz789"],
  "lessThan": "abc123",
  "greaterThan": "xyz789",
  "lessThanOrEqual": "xyz789",
  "greaterThanOrEqual": "abc123",
  "like": "xyz789",
  "ilike": "xyz789"
}

ChannelSortField

Values
Enum Value Description

ID

HANDLE

NAME

Example
"ID"

ChannelSortInput

Fields
Input Field Description
order - SortOrder
field - ChannelSortField!
Example
{"order": "DESC", "field": "ID"}

Container

Fields
Field Name Description
id - ID!
restartPolicy - String
portBindings - [String!]!
hostname - String!
env - JsonString
privileged - Boolean
networkMode - String!
extraHosts - [String!]!
capAdd - [String!]!
capDrop - [String!]!
cpuPeriod - Int!
cpuQuota - Int!
cpuRealtimePeriod - Int!
cpuRealtimeRuntime - Int!
memory - Int!
memoryReservation - Int!
memorySwap - Int!
memorySwappiness - Int!
volumeDriver - String!
storageOpt - [String!]!
readOnlyRootfs - Boolean!
tmpfs - [String!]!
imageId - ID!
image - Image!
releases - ReleaseConnection!
Arguments
sort - [ReleaseSortInput]

How to sort the records in the response

filter - ReleaseFilterInput

A filter to limit the results

first - Int

The number of records to return from the beginning. Maximum 250

before - String

Show records before the specified keyset.

after - String

Show records after the specified keyset.

last - Int

The number of records to return to the end. Maximum 250

networks - NetworkConnection!
Arguments
sort - [NetworkSortInput]

How to sort the records in the response

filter - NetworkFilterInput

A filter to limit the results

first - Int

The number of records to return from the beginning. Maximum 250

before - String

Show records before the specified keyset.

after - String

Show records after the specified keyset.

last - Int

The number of records to return to the end. Maximum 250

devices - DeviceConnection!
Arguments
sort - [DeviceSortInput]

How to sort the records in the response

filter - DeviceFilterInput

A filter to limit the results

first - Int

The number of records to return from the beginning. Maximum 250

before - String

Show records before the specified keyset.

after - String

Show records after the specified keyset.

last - Int

The number of records to return to the end. Maximum 250

containerVolumes - ContainerVolumeConnection!
Arguments
sort - [ContainerVolumeSortInput]

How to sort the records in the response

filter - ContainerVolumeFilterInput

A filter to limit the results

first - Int

The number of records to return from the beginning. Maximum 250

before - String

Show records before the specified keyset.

after - String

Show records after the specified keyset.

last - Int

The number of records to return to the end. Maximum 250

deviceMappings - DeviceMappingConnection!
Arguments
sort - [DeviceMappingSortInput]

How to sort the records in the response

filter - DeviceMappingFilterInput

A filter to limit the results

first - Int

The number of records to return from the beginning. Maximum 250

before - String

Show records before the specified keyset.

after - String

Show records after the specified keyset.

last - Int

The number of records to return to the end. Maximum 250

Example
{
  "id": "4",
  "restartPolicy": "xyz789",
  "portBindings": ["abc123"],
  "hostname": "xyz789",
  "env": JsonString,
  "privileged": true,
  "networkMode": "abc123",
  "extraHosts": ["abc123"],
  "capAdd": ["xyz789"],
  "capDrop": ["abc123"],
  "cpuPeriod": 987,
  "cpuQuota": 123,
  "cpuRealtimePeriod": 123,
  "cpuRealtimeRuntime": 987,
  "memory": 987,
  "memoryReservation": 123,
  "memorySwap": 987,
  "memorySwappiness": 123,
  "volumeDriver": "xyz789",
  "storageOpt": ["abc123"],
  "readOnlyRootfs": true,
  "tmpfs": ["abc123"],
  "imageId": "4",
  "image": Image,
  "releases": ReleaseConnection,
  "networks": NetworkConnection,
  "devices": DeviceConnection,
  "containerVolumes": ContainerVolumeConnection,
  "deviceMappings": DeviceMappingConnection
}

ContainerConnection

Description

:container connection

Fields
Field Name Description
count - Int Total count on all pages
pageInfo - PageInfo! Page information
edges - [ContainerEdge!] :container edges
Example
{
  "count": 123,
  "pageInfo": PageInfo,
  "edges": [ContainerEdge]
}

ContainerCreateWithNestedDeviceMappingsInput

Fields
Input Field Description
pathOnHost - String!
pathInContainer - String!
cgroupPermissions - String!
Example
{
  "pathOnHost": "xyz789",
  "pathInContainer": "xyz789",
  "cgroupPermissions": "xyz789"
}

ContainerCreateWithNestedImageInput

Fields
Input Field Description
id - ID
reference - String!
imageCredentialsId - ID
Example
{
  "id": 4,
  "reference": "xyz789",
  "imageCredentialsId": "4"
}

ContainerCreateWithNestedNetworksInput

Fields
Input Field Description
id - ID
Example
{"id": "4"}

ContainerCreateWithNestedVolumesInput

Fields
Input Field Description
id - ID
target - String!
Example
{"id": 4, "target": "abc123"}

ContainerDeployment

Fields
Field Name Description
id - ID!
state - String
containerId - ID
deviceId - Int
imageDeploymentId - ID
container - Container
device - Device
imageDeployment - ImageDeployment
networkDeployments - NetworkDeploymentConnection!
Arguments
sort - [NetworkDeploymentSortInput]

How to sort the records in the response

filter - NetworkDeploymentFilterInput

A filter to limit the results

first - Int

The number of records to return from the beginning. Maximum 250

before - String

Show records before the specified keyset.

after - String

Show records after the specified keyset.

last - Int

The number of records to return to the end. Maximum 250

volumeDeployments - VolumeDeploymentConnection!
Arguments
sort - [VolumeDeploymentSortInput]

How to sort the records in the response

filter - VolumeDeploymentFilterInput

A filter to limit the results

first - Int

The number of records to return from the beginning. Maximum 250

before - String

Show records before the specified keyset.

after - String

Show records after the specified keyset.

last - Int

The number of records to return to the end. Maximum 250

deviceMappingDeployments - DeviceMappingDeploymentConnection!
Arguments
sort - [DeviceMappingDeploymentSortInput]

How to sort the records in the response

filter - DeviceMappingDeploymentFilterInput

A filter to limit the results

first - Int

The number of records to return from the beginning. Maximum 250

before - String

Show records before the specified keyset.

after - String

Show records after the specified keyset.

last - Int

The number of records to return to the end. Maximum 250

Example
{
  "id": "4",
  "state": "abc123",
  "containerId": 4,
  "deviceId": 123,
  "imageDeploymentId": 4,
  "container": Container,
  "device": Device,
  "imageDeployment": ImageDeployment,
  "networkDeployments": NetworkDeploymentConnection,
  "volumeDeployments": VolumeDeploymentConnection,
  "deviceMappingDeployments": DeviceMappingDeploymentConnection
}

ContainerDeploymentConnection

Description

:container_deployment connection

Fields
Field Name Description
count - Int Total count on all pages
pageInfo - PageInfo! Page information
edges - [ContainerDeploymentEdge!] :container_deployment edges
Example
{
  "count": 123,
  "pageInfo": PageInfo,
  "edges": [ContainerDeploymentEdge]
}

ContainerDeploymentEdge

Description

:container_deployment edge

Fields
Field Name Description
cursor - String! Cursor
node - ContainerDeployment! :container_deployment node
Example
{
  "cursor": "xyz789",
  "node": ContainerDeployment
}

ContainerDeploymentFilterContainerId

Fields
Input Field Description
isNil - Boolean
eq - ID
notEq - ID
in - [ID]
lessThan - ID
greaterThan - ID
lessThanOrEqual - ID
greaterThanOrEqual - ID
Example
{
  "isNil": false,
  "eq": "4",
  "notEq": "4",
  "in": [4],
  "lessThan": "4",
  "greaterThan": "4",
  "lessThanOrEqual": 4,
  "greaterThanOrEqual": "4"
}

ContainerDeploymentFilterDeviceId

Fields
Input Field Description
isNil - Boolean
eq - Int
notEq - Int
in - [Int]
lessThan - Int
greaterThan - Int
lessThanOrEqual - Int
greaterThanOrEqual - Int
Example
{
  "isNil": true,
  "eq": 123,
  "notEq": 987,
  "in": [123],
  "lessThan": 987,
  "greaterThan": 123,
  "lessThanOrEqual": 987,
  "greaterThanOrEqual": 987
}

ContainerDeploymentFilterId

Fields
Input Field Description
isNil - Boolean
eq - ID
notEq - ID
in - [ID!]
lessThan - ID
greaterThan - ID
lessThanOrEqual - ID
greaterThanOrEqual - ID
Example
{
  "isNil": false,
  "eq": "4",
  "notEq": 4,
  "in": ["4"],
  "lessThan": 4,
  "greaterThan": "4",
  "lessThanOrEqual": "4",
  "greaterThanOrEqual": 4
}

ContainerDeploymentFilterImageDeploymentId

Fields
Input Field Description
isNil - Boolean
eq - ID
notEq - ID
in - [ID]
lessThan - ID
greaterThan - ID
lessThanOrEqual - ID
greaterThanOrEqual - ID
Example
{
  "isNil": false,
  "eq": "4",
  "notEq": 4,
  "in": ["4"],
  "lessThan": 4,
  "greaterThan": "4",
  "lessThanOrEqual": 4,
  "greaterThanOrEqual": "4"
}

ContainerDeploymentFilterInput

Example
{
  "and": [ContainerDeploymentFilterInput],
  "or": [ContainerDeploymentFilterInput],
  "not": [ContainerDeploymentFilterInput],
  "id": ContainerDeploymentFilterId,
  "state": ContainerDeploymentFilterState,
  "containerId": ContainerDeploymentFilterContainerId,
  "deviceId": ContainerDeploymentFilterDeviceId,
  "imageDeploymentId": ContainerDeploymentFilterImageDeploymentId,
  "container": ContainerFilterInput,
  "device": DeviceFilterInput,
  "imageDeployment": ImageDeploymentFilterInput,
  "networkDeployments": NetworkDeploymentFilterInput,
  "volumeDeployments": VolumeDeploymentFilterInput,
  "deviceMappingDeployments": DeviceMappingDeploymentFilterInput
}

ContainerDeploymentFilterState

Fields
Input Field Description
isNil - Boolean
eq - String
notEq - String
in - [String]
lessThan - String
greaterThan - String
lessThanOrEqual - String
greaterThanOrEqual - String
Example
{
  "isNil": false,
  "eq": "xyz789",
  "notEq": "abc123",
  "in": ["xyz789"],
  "lessThan": "xyz789",
  "greaterThan": "xyz789",
  "lessThanOrEqual": "xyz789",
  "greaterThanOrEqual": "xyz789"
}

ContainerDeploymentSortField

Values
Enum Value Description

ID

STATE

CONTAINER_ID

DEVICE_ID

IMAGE_DEPLOYMENT_ID

Example
"ID"

ContainerDeploymentSortInput

Fields
Input Field Description
order - SortOrder
field - ContainerDeploymentSortField!
Example
{"order": "DESC", "field": "ID"}

ContainerEdge

Description

:container edge

Fields
Field Name Description
cursor - String! Cursor
node - Container! :container node
Example
{
  "cursor": "xyz789",
  "node": Container
}

ContainerFilterCpuPeriod

Fields
Input Field Description
isNil - Boolean
eq - Int
notEq - Int
in - [Int!]
lessThan - Int
greaterThan - Int
lessThanOrEqual - Int
greaterThanOrEqual - Int
Example
{
  "isNil": true,
  "eq": 987,
  "notEq": 987,
  "in": [987],
  "lessThan": 987,
  "greaterThan": 987,
  "lessThanOrEqual": 123,
  "greaterThanOrEqual": 987
}

ContainerFilterCpuQuota

Fields
Input Field Description
isNil - Boolean
eq - Int
notEq - Int
in - [Int!]
lessThan - Int
greaterThan - Int
lessThanOrEqual - Int
greaterThanOrEqual - Int
Example
{
  "isNil": false,
  "eq": 123,
  "notEq": 123,
  "in": [987],
  "lessThan": 123,
  "greaterThan": 987,
  "lessThanOrEqual": 987,
  "greaterThanOrEqual": 987
}

ContainerFilterCpuRealtimePeriod

Fields
Input Field Description
isNil - Boolean
eq - Int
notEq - Int
in - [Int!]
lessThan - Int
greaterThan - Int
lessThanOrEqual - Int
greaterThanOrEqual - Int
Example
{
  "isNil": true,
  "eq": 987,
  "notEq": 123,
  "in": [123],
  "lessThan": 987,
  "greaterThan": 123,
  "lessThanOrEqual": 987,
  "greaterThanOrEqual": 987
}

ContainerFilterCpuRealtimeRuntime

Fields
Input Field Description
isNil - Boolean
eq - Int
notEq - Int
in - [Int!]
lessThan - Int
greaterThan - Int
lessThanOrEqual - Int
greaterThanOrEqual - Int
Example
{
  "isNil": false,
  "eq": 123,
  "notEq": 123,
  "in": [987],
  "lessThan": 987,
  "greaterThan": 987,
  "lessThanOrEqual": 987,
  "greaterThanOrEqual": 123
}

ContainerFilterEnv

Fields
Input Field Description
isNil - Boolean
eq - JsonString
notEq - JsonString
in - [JsonString]
lessThan - JsonString
greaterThan - JsonString
lessThanOrEqual - JsonString
greaterThanOrEqual - JsonString
Example
{
  "isNil": true,
  "eq": JsonString,
  "notEq": JsonString,
  "in": [JsonString],
  "lessThan": JsonString,
  "greaterThan": JsonString,
  "lessThanOrEqual": JsonString,
  "greaterThanOrEqual": JsonString
}

ContainerFilterHostname

Fields
Input Field Description
isNil - Boolean
eq - String
notEq - String
in - [String!]
lessThan - String
greaterThan - String
lessThanOrEqual - String
greaterThanOrEqual - String
like - String
ilike - String
Example
{
  "isNil": false,
  "eq": "xyz789",
  "notEq": "xyz789",
  "in": ["abc123"],
  "lessThan": "abc123",
  "greaterThan": "xyz789",
  "lessThanOrEqual": "abc123",
  "greaterThanOrEqual": "abc123",
  "like": "xyz789",
  "ilike": "xyz789"
}

ContainerFilterId

Fields
Input Field Description
isNil - Boolean
eq - ID
notEq - ID
in - [ID!]
lessThan - ID
greaterThan - ID
lessThanOrEqual - ID
greaterThanOrEqual - ID
Example
{
  "isNil": true,
  "eq": 4,
  "notEq": 4,
  "in": ["4"],
  "lessThan": 4,
  "greaterThan": "4",
  "lessThanOrEqual": "4",
  "greaterThanOrEqual": 4
}

ContainerFilterImageId

Fields
Input Field Description
isNil - Boolean
eq - ID
notEq - ID
in - [ID!]
lessThan - ID
greaterThan - ID
lessThanOrEqual - ID
greaterThanOrEqual - ID
Example
{
  "isNil": true,
  "eq": "4",
  "notEq": 4,
  "in": [4],
  "lessThan": "4",
  "greaterThan": "4",
  "lessThanOrEqual": 4,
  "greaterThanOrEqual": "4"
}

ContainerFilterInput

Example
{
  "and": [ContainerFilterInput],
  "or": [ContainerFilterInput],
  "not": [ContainerFilterInput],
  "id": ContainerFilterId,
  "restartPolicy": ContainerFilterRestartPolicy,
  "hostname": ContainerFilterHostname,
  "env": ContainerFilterEnv,
  "privileged": ContainerFilterPrivileged,
  "networkMode": ContainerFilterNetworkMode,
  "cpuPeriod": ContainerFilterCpuPeriod,
  "cpuQuota": ContainerFilterCpuQuota,
  "cpuRealtimePeriod": ContainerFilterCpuRealtimePeriod,
  "cpuRealtimeRuntime": ContainerFilterCpuRealtimeRuntime,
  "memory": ContainerFilterMemory,
  "memoryReservation": ContainerFilterMemoryReservation,
  "memorySwap": ContainerFilterMemorySwap,
  "memorySwappiness": ContainerFilterMemorySwappiness,
  "volumeDriver": ContainerFilterVolumeDriver,
  "readOnlyRootfs": ContainerFilterReadOnlyRootfs,
  "imageId": ContainerFilterImageId,
  "image": ImageFilterInput,
  "releases": ReleaseFilterInput,
  "networks": NetworkFilterInput,
  "devices": DeviceFilterInput,
  "containerVolumes": ContainerVolumeFilterInput,
  "deviceMappings": DeviceMappingFilterInput
}

ContainerFilterMemory

Fields
Input Field Description
isNil - Boolean
eq - Int
notEq - Int
in - [Int!]
lessThan - Int
greaterThan - Int
lessThanOrEqual - Int
greaterThanOrEqual - Int
Example
{
  "isNil": true,
  "eq": 123,
  "notEq": 987,
  "in": [123],
  "lessThan": 987,
  "greaterThan": 987,
  "lessThanOrEqual": 987,
  "greaterThanOrEqual": 123
}

ContainerFilterMemoryReservation

Fields
Input Field Description
isNil - Boolean
eq - Int
notEq - Int
in - [Int!]
lessThan - Int
greaterThan - Int
lessThanOrEqual - Int
greaterThanOrEqual - Int
Example
{
  "isNil": false,
  "eq": 987,
  "notEq": 987,
  "in": [123],
  "lessThan": 123,
  "greaterThan": 987,
  "lessThanOrEqual": 123,
  "greaterThanOrEqual": 123
}

ContainerFilterMemorySwap

Fields
Input Field Description
isNil - Boolean
eq - Int
notEq - Int
in - [Int!]
lessThan - Int
greaterThan - Int
lessThanOrEqual - Int
greaterThanOrEqual - Int
Example
{
  "isNil": true,
  "eq": 123,
  "notEq": 987,
  "in": [987],
  "lessThan": 123,
  "greaterThan": 123,
  "lessThanOrEqual": 123,
  "greaterThanOrEqual": 123
}

ContainerFilterMemorySwappiness

Fields
Input Field Description
isNil - Boolean
eq - Int
notEq - Int
in - [Int!]
lessThan - Int
greaterThan - Int
lessThanOrEqual - Int
greaterThanOrEqual - Int
Example
{
  "isNil": true,
  "eq": 123,
  "notEq": 987,
  "in": [987],
  "lessThan": 987,
  "greaterThan": 987,
  "lessThanOrEqual": 123,
  "greaterThanOrEqual": 123
}

ContainerFilterNetworkMode

Fields
Input Field Description
isNil - Boolean
eq - String
notEq - String
in - [String!]
lessThan - String
greaterThan - String
lessThanOrEqual - String
greaterThanOrEqual - String
like - String
ilike - String
Example
{
  "isNil": false,
  "eq": "abc123",
  "notEq": "abc123",
  "in": ["xyz789"],
  "lessThan": "xyz789",
  "greaterThan": "xyz789",
  "lessThanOrEqual": "xyz789",
  "greaterThanOrEqual": "xyz789",
  "like": "abc123",
  "ilike": "abc123"
}

ContainerFilterPrivileged

Fields
Input Field Description
isNil - Boolean
eq - Boolean
notEq - Boolean
in - [Boolean]
lessThan - Boolean
greaterThan - Boolean
lessThanOrEqual - Boolean
greaterThanOrEqual - Boolean
Example
{
  "isNil": false,
  "eq": true,
  "notEq": true,
  "in": [true],
  "lessThan": true,
  "greaterThan": false,
  "lessThanOrEqual": true,
  "greaterThanOrEqual": false
}

ContainerFilterReadOnlyRootfs

Fields
Input Field Description
isNil - Boolean
eq - Boolean
notEq - Boolean
in - [Boolean!]
lessThan - Boolean
greaterThan - Boolean
lessThanOrEqual - Boolean
greaterThanOrEqual - Boolean
Example
{
  "isNil": true,
  "eq": true,
  "notEq": false,
  "in": [true],
  "lessThan": true,
  "greaterThan": true,
  "lessThanOrEqual": true,
  "greaterThanOrEqual": true
}

ContainerFilterRestartPolicy

Fields
Input Field Description
isNil - Boolean
eq - String
notEq - String
in - [String]
lessThan - String
greaterThan - String
lessThanOrEqual - String
greaterThanOrEqual - String
Example
{
  "isNil": false,
  "eq": "abc123",
  "notEq": "abc123",
  "in": ["abc123"],
  "lessThan": "abc123",
  "greaterThan": "abc123",
  "lessThanOrEqual": "abc123",
  "greaterThanOrEqual": "xyz789"
}

ContainerFilterVolumeDriver

Fields
Input Field Description
isNil - Boolean
eq - String
notEq - String
in - [String!]
lessThan - String
greaterThan - String
lessThanOrEqual - String
greaterThanOrEqual - String
like - String
ilike - String
Example
{
  "isNil": true,
  "eq": "xyz789",
  "notEq": "xyz789",
  "in": ["abc123"],
  "lessThan": "abc123",
  "greaterThan": "xyz789",
  "lessThanOrEqual": "abc123",
  "greaterThanOrEqual": "xyz789",
  "like": "xyz789",
  "ilike": "abc123"
}

ContainerSortField

Values
Enum Value Description

ID

RESTART_POLICY

HOSTNAME

ENV

PRIVILEGED

NETWORK_MODE

CPU_PERIOD

CPU_QUOTA

CPU_REALTIME_PERIOD

CPU_REALTIME_RUNTIME

MEMORY

MEMORY_RESERVATION

MEMORY_SWAP

MEMORY_SWAPPINESS

VOLUME_DRIVER

READ_ONLY_ROOTFS

IMAGE_ID

Example
"ID"

ContainerSortInput

Fields
Input Field Description
order - SortOrder
field - ContainerSortField!
Example
{"order": "DESC", "field": "ID"}

ContainerStatus

Description

Describes the status of a container on a device.

Fields
Field Name Description
id - String The identifier of the container.
status - String The status of the container.
Example
{
  "id": "xyz789",
  "status": "xyz789"
}

ContainerVolume

Fields
Field Name Description
id - ID! A unique identifier
target - String!
volumeId - ID!
volume - Volume!
Example
{
  "id": 4,
  "target": "xyz789",
  "volumeId": "4",
  "volume": Volume
}

ContainerVolumeConnection

Description

:container_volume connection

Fields
Field Name Description
count - Int Total count on all pages
pageInfo - PageInfo! Page information
edges - [ContainerVolumeEdge!] :container_volume edges
Example
{
  "count": 123,
  "pageInfo": PageInfo,
  "edges": [ContainerVolumeEdge]
}

ContainerVolumeEdge

Description

:container_volume edge

Fields
Field Name Description
cursor - String! Cursor
node - ContainerVolume! :container_volume node
Example
{
  "cursor": "abc123",
  "node": ContainerVolume
}

ContainerVolumeFilterInput

Example
{
  "and": [ContainerVolumeFilterInput],
  "or": [ContainerVolumeFilterInput],
  "not": [ContainerVolumeFilterInput],
  "target": ContainerVolumeFilterTarget,
  "volumeId": ContainerVolumeFilterVolumeId,
  "volume": VolumeFilterInput
}

ContainerVolumeFilterTarget

Fields
Input Field Description
isNil - Boolean
eq - String
notEq - String
in - [String!]
lessThan - String
greaterThan - String
lessThanOrEqual - String
greaterThanOrEqual - String
like - String
ilike - String
Example
{
  "isNil": true,
  "eq": "xyz789",
  "notEq": "xyz789",
  "in": ["xyz789"],
  "lessThan": "xyz789",
  "greaterThan": "abc123",
  "lessThanOrEqual": "xyz789",
  "greaterThanOrEqual": "abc123",
  "like": "abc123",
  "ilike": "abc123"
}

ContainerVolumeFilterVolumeId

Fields
Input Field Description
isNil - Boolean
eq - ID
notEq - ID
in - [ID!]
lessThan - ID
greaterThan - ID
lessThanOrEqual - ID
greaterThanOrEqual - ID
Example
{
  "isNil": false,
  "eq": "4",
  "notEq": 4,
  "in": [4],
  "lessThan": "4",
  "greaterThan": "4",
  "lessThanOrEqual": 4,
  "greaterThanOrEqual": 4
}

ContainerVolumeSortField

Values
Enum Value Description

TARGET

VOLUME_ID

Example
"TARGET"

ContainerVolumeSortInput

Fields
Input Field Description
order - SortOrder
field - ContainerVolumeSortField!
Example
{"order": "DESC", "field": "TARGET"}

CreateApplicationInput

Fields
Input Field Description
name - String!
description - String
initialRelease - ApplicationCreateInitialReleaseInput
systemModelId - ID
Example
{
  "name": "xyz789",
  "description": "abc123",
  "initialRelease": ApplicationCreateInitialReleaseInput,
  "systemModelId": "4"
}

CreateApplicationResult

Description

The result of the :create_application mutation

Fields
Field Name Description
result - Application The successful result of the mutation
errors - [MutationError!]! Any errors generated, if the mutation failed
Example
{
  "result": Application,
  "errors": [MutationError]
}

CreateBaseImageCollectionInput

Fields
Input Field Description
name - String! The display name of the base image collection.
handle - String!

The identifier of the base image collection.

It should start with a lower case ASCII letter and only contain lower case ASCII letters, digits and the hyphen - symbol.

systemModelId - ID! The ID of the system model that is targeted by the base image collection
Example
{
  "name": "abc123",
  "handle": "xyz789",
  "systemModelId": "4"
}

CreateBaseImageCollectionResult

Description

The result of the :create_base_image_collection mutation

Fields
Field Name Description
result - BaseImageCollection The successful result of the mutation
errors - [MutationError!]! Any errors generated, if the mutation failed
Example
{
  "result": BaseImageCollection,
  "errors": [MutationError]
}

CreateBaseImageInput

Fields
Input Field Description
version - String! The base image version.
startingVersionRequirement - String The starting version requirement for the base image.
baseImageCollectionId - ID! The ID of the base image collection this base image will belong to.
file - Upload! The base image file, which will be uploaded to the storage.
localizedDescriptions - [LocalizedAttributeInput!] A list of descriptions in different languages.
localizedReleaseDisplayNames - [LocalizedAttributeInput!] A list of release display names in different languages.
Example
{
  "version": "abc123",
  "startingVersionRequirement": "abc123",
  "baseImageCollectionId": 4,
  "file": Upload,
  "localizedDescriptions": [LocalizedAttributeInput],
  "localizedReleaseDisplayNames": [
    LocalizedAttributeInput
  ]
}

CreateBaseImageResult

Description

The result of the :create_base_image mutation

Fields
Field Name Description
result - BaseImage The successful result of the mutation
errors - [MutationError!]! Any errors generated, if the mutation failed
Example
{
  "result": BaseImage,
  "errors": [MutationError]
}

CreateChannelInput

Fields
Input Field Description
handle - String!

The identifier of the channel.

It should start with a lower case ASCII letter and only contain lower case ASCII letters, digits and the hyphen - symbol.

name - String! The display name of the channel.
targetGroupIds - [ID!] The IDs of the target groups that are targeted by this channel.
Example
{
  "handle": "abc123",
  "name": "xyz789",
  "targetGroupIds": [4]
}

CreateChannelResult

Description

The result of the :create_channel mutation

Fields
Field Name Description
result - Channel The successful result of the mutation
errors - [MutationError!]! Any errors generated, if the mutation failed
Example
{
  "result": Channel,
  "errors": [MutationError]
}

CreateDeploymentCampaignInput

Fields
Input Field Description
name - String!
deploymentMechanism - DeploymentMechanismInput! The deployment mechanism to carry the campaign.
releaseId - ID! The ID of the release that will be distributed in the deployment campaign.
channelId - ID! The ID of the channel that will be targeted by the deployment campaign.
Example
{
  "name": "xyz789",
  "deploymentMechanism": DeploymentMechanismInput,
  "releaseId": 4,
  "channelId": 4
}

CreateDeploymentCampaignResult

Description

The result of the :create_deployment_campaign mutation

Fields
Field Name Description
result - DeploymentCampaign The successful result of the mutation
errors - [MutationError!]! Any errors generated, if the mutation failed
Example
{
  "result": DeploymentCampaign,
  "errors": [MutationError]
}

CreateDeviceGroupInput

Fields
Input Field Description
name - String! The display name of the device group.
handle - String!

The identifier of the device group.

It should start with a lower case ASCII letter and only contain lower case ASCII letters, digits and the hyphen - symbol.

selector - String!

The Selector that will determine which devices belong to the device group.

This must be a valid selector expression, consult the Selector section of the Edgehog documentation for more information about Selectors.

Example
{
  "name": "abc123",
  "handle": "xyz789",
  "selector": "abc123"
}

CreateDeviceGroupResult

Description

The result of the :create_device_group mutation

Fields
Field Name Description
result - DeviceGroup The successful result of the mutation
errors - [MutationError!]! Any errors generated, if the mutation failed
Example
{
  "result": DeviceGroup,
  "errors": [MutationError]
}

CreateHardwareTypeInput

Fields
Input Field Description
handle - String!

The identifier of the hardware type.

It should start with a lower case ASCII letter and only contain lower case ASCII letters, digits and the hyphen - symbol.

name - String! The display name of the hardware type.
partNumbers - [String!]!
Example
{
  "handle": "xyz789",
  "name": "abc123",
  "partNumbers": ["xyz789"]
}

CreateHardwareTypeResult

Description

The result of the :create_hardware_type mutation

Fields
Field Name Description
result - HardwareType The successful result of the mutation
errors - [MutationError!]! Any errors generated, if the mutation failed
Example
{
  "result": HardwareType,
  "errors": [MutationError]
}

CreateImageCredentialsInput

Fields
Input Field Description
label - String!
username - String!
password - String!
Example
{
  "label": "abc123",
  "username": "xyz789",
  "password": "xyz789"
}

CreateImageCredentialsResult

Description

The result of the :create_image_credentials mutation

Fields
Field Name Description
result - ImageCredentials The successful result of the mutation
errors - [MutationError!]! Any errors generated, if the mutation failed
Example
{
  "result": ImageCredentials,
  "errors": [MutationError]
}

CreateManualOtaOperationInput

Fields
Input Field Description
deviceId - ID! The ID identifying the Device the OTA Operation will be sent to
baseImageFile - Upload! The base image file, which will be uploaded to the storage.
Example
{
  "deviceId": "4",
  "baseImageFile": Upload
}

CreateManualOtaOperationResult

Description

The result of the :create_manual_ota_operation mutation

Fields
Field Name Description
result - OtaOperation The successful result of the mutation
errors - [MutationError!]! Any errors generated, if the mutation failed
Example
{
  "result": OtaOperation,
  "errors": [MutationError]
}

CreateNetworkInput

Fields
Input Field Description
label - String
driver - String
internal - Boolean
enableIpv6 - Boolean
options - JsonString
Example
{
  "label": "xyz789",
  "driver": "abc123",
  "internal": false,
  "enableIpv6": false,
  "options": JsonString
}

CreateNetworkResult

Description

The result of the :create_network mutation

Fields
Field Name Description
result - Network The successful result of the mutation
errors - [MutationError!]! Any errors generated, if the mutation failed
Example
{
  "result": Network,
  "errors": [MutationError]
}

CreateReleaseInput

Fields
Input Field Description
version - String!
applicationId - ID
containers - [ReleaseCreateContainersInput!]
requiredSystemModels - [ReleaseCreateRequiredSystemModelsInput!]
Example
{
  "version": "xyz789",
  "applicationId": 4,
  "containers": [ReleaseCreateContainersInput],
  "requiredSystemModels": [
    ReleaseCreateRequiredSystemModelsInput
  ]
}

CreateReleaseResult

Description

The result of the :create_release mutation

Fields
Field Name Description
result - Release The successful result of the mutation
errors - [MutationError!]! Any errors generated, if the mutation failed
Example
{
  "result": Release,
  "errors": [MutationError]
}

CreateSystemModelInput

Fields
Input Field Description
handle - String!

The identifier of the system model.

It should start with a lower case ASCII letter and only contain lower case ASCII letters, digits and the hyphen - symbol.

name - String! The display name of the system model.
pictureUrl - String A URL to a picture representing the system model.
hardwareTypeId - ID! The ID of the hardware type that can be used by devices of this model
partNumbers - [String!]! The list of part numbers associated with the system model.
pictureFile - Upload A picture representing the system model that will be uploaded to a bucket.
localizedDescriptions - [LocalizedAttributeInput!] A list of descriptions in different languages.
Example
{
  "handle": "xyz789",
  "name": "abc123",
  "pictureUrl": "abc123",
  "hardwareTypeId": 4,
  "partNumbers": ["xyz789"],
  "pictureFile": Upload,
  "localizedDescriptions": [LocalizedAttributeInput]
}

CreateSystemModelResult

Description

The result of the :create_system_model mutation

Fields
Field Name Description
result - SystemModel The successful result of the mutation
errors - [MutationError!]! Any errors generated, if the mutation failed
Example
{
  "result": SystemModel,
  "errors": [MutationError]
}

CreateUpdateCampaignInput

Fields
Input Field Description
name - String! The name of the update campaign.
rolloutMechanism - RolloutMechanismInput! The rollout mechanism used in the update campaign.
baseImageId - ID! The ID of the base image that will be distributed in the update campaign.
channelId - ID! The ID of the channel that will be targeted by the update campaign.
Example
{
  "name": "abc123",
  "rolloutMechanism": RolloutMechanismInput,
  "baseImageId": 4,
  "channelId": 4
}

CreateUpdateCampaignResult

Description

The result of the :create_update_campaign mutation

Fields
Field Name Description
result - UpdateCampaign The successful result of the mutation
errors - [MutationError!]! Any errors generated, if the mutation failed
Example
{
  "result": UpdateCampaign,
  "errors": [MutationError]
}

CreateVolumeInput

Fields
Input Field Description
label - String!
driver - String
options - JsonString
Example
{
  "label": "abc123",
  "driver": "xyz789",
  "options": JsonString
}

CreateVolumeResult

Description

The result of the :create_volume mutation

Fields
Field Name Description
result - Volume The successful result of the mutation
errors - [MutationError!]! Any errors generated, if the mutation failed
Example
{
  "result": Volume,
  "errors": [MutationError]
}

DateTime

Description

The DateTime scalar type represents a date and time in the UTC timezone. The DateTime appears in a JSON response as an ISO8601 formatted string, including UTC timezone ("Z"). The parsed date and time string will be converted to UTC if there is an offset.

Example
"2007-12-03T10:15:30Z"

DeleteApplicationResult

Description

The result of the :delete_application mutation

Fields
Field Name Description
result - Application The record that was successfully deleted
errors - [MutationError!]! Any errors generated, if the mutation failed
Example
{
  "result": Application,
  "errors": [MutationError]
}

DeleteBaseImageCollectionResult

Description

The result of the :delete_base_image_collection mutation

Fields
Field Name Description
result - BaseImageCollection The record that was successfully deleted
errors - [MutationError!]! Any errors generated, if the mutation failed
Example
{
  "result": BaseImageCollection,
  "errors": [MutationError]
}

DeleteBaseImageResult

Description

The result of the :delete_base_image mutation

Fields
Field Name Description
result - BaseImage The record that was successfully deleted
errors - [MutationError!]! Any errors generated, if the mutation failed
Example
{
  "result": BaseImage,
  "errors": [MutationError]
}

DeleteChannelResult

Description

The result of the :delete_channel mutation

Fields
Field Name Description
result - Channel The record that was successfully deleted
errors - [MutationError!]! Any errors generated, if the mutation failed
Example
{
  "result": Channel,
  "errors": [MutationError]
}

DeleteDeploymentResult

Description

The result of the :delete_deployment mutation

Fields
Field Name Description
result - Deployment The successful result of the mutation
errors - [MutationError!]! Any errors generated, if the mutation failed
Example
{
  "result": Deployment,
  "errors": [MutationError]
}

DeleteDeviceGroupResult

Description

The result of the :delete_device_group mutation

Fields
Field Name Description
result - DeviceGroup The record that was successfully deleted
errors - [MutationError!]! Any errors generated, if the mutation failed
Example
{
  "result": DeviceGroup,
  "errors": [MutationError]
}

DeleteHardwareTypeResult

Description

The result of the :delete_hardware_type mutation

Fields
Field Name Description
result - HardwareType The record that was successfully deleted
errors - [MutationError!]! Any errors generated, if the mutation failed
Example
{
  "result": HardwareType,
  "errors": [MutationError]
}

DeleteImageCredentialsResult

Description

The result of the :delete_image_credentials mutation

Fields
Field Name Description
result - ImageCredentials The record that was successfully deleted
errors - [MutationError!]! Any errors generated, if the mutation failed
Example
{
  "result": ImageCredentials,
  "errors": [MutationError]
}

DeleteNetworkResult

Description

The result of the :delete_network mutation

Fields
Field Name Description
result - Network The record that was successfully deleted
errors - [MutationError!]! Any errors generated, if the mutation failed
Example
{
  "result": Network,
  "errors": [MutationError]
}

DeleteReleaseResult

Description

The result of the :delete_release mutation

Fields
Field Name Description
result - Release The record that was successfully deleted
errors - [MutationError!]! Any errors generated, if the mutation failed
Example
{
  "result": Release,
  "errors": [MutationError]
}

DeleteSystemModelResult

Description

The result of the :delete_system_model mutation

Fields
Field Name Description
result - SystemModel The record that was successfully deleted
errors - [MutationError!]! Any errors generated, if the mutation failed
Example
{
  "result": SystemModel,
  "errors": [MutationError]
}

DeleteVolumeResult

Description

The result of the :delete_volume mutation

Fields
Field Name Description
result - Volume The record that was successfully deleted
errors - [MutationError!]! Any errors generated, if the mutation failed
Example
{
  "result": Volume,
  "errors": [MutationError]
}

DeployReleaseInput

Fields
Input Field Description
releaseId - ID
deviceId - ID!
Example
{"releaseId": 4, "deviceId": "4"}

DeployReleaseResult

Description

The result of the :deploy_release mutation

Fields
Field Name Description
result - Deployment The successful result of the mutation
errors - [MutationError!]! Any errors generated, if the mutation failed
Example
{
  "result": Deployment,
  "errors": [MutationError]
}

Deployment

Fields
Field Name Description
id - ID!
state - ApplicationDeploymentState
lastErrorMessage - String
deviceId - Int
releaseId - ID
device - Device
release - Release
containerDeployments - ContainerDeploymentConnection!
Arguments
sort - [ContainerDeploymentSortInput]

How to sort the records in the response

filter - ContainerDeploymentFilterInput

A filter to limit the results

first - Int

The number of records to return from the beginning. Maximum 250

before - String

Show records before the specified keyset.

after - String

Show records after the specified keyset.

last - Int

The number of records to return to the end. Maximum 250

Example
{
  "id": 4,
  "state": "PENDING",
  "lastErrorMessage": "xyz789",
  "deviceId": 987,
  "releaseId": 4,
  "device": Device,
  "release": Release,
  "containerDeployments": ContainerDeploymentConnection
}

DeploymentCampaign

Fields
Field Name Description
id - ID!
name - String!
status - CampaignStatus! The status of the deployment campaign.
outcome - CampaignOutcome The outcome of the deployment campaign.
deploymentMechanism - DeploymentMechanism! The deployment mechanism to carry the campaign.
release - Release! The release distributed by the deployment campaign.
channel - Channel! The channel associated with the campaign.
deploymentTargets - DeploymentTargetConnection! The depployment targets belonging to the deployment campaign.
Arguments
sort - [DeploymentTargetSortInput]

How to sort the records in the response

filter - DeploymentTargetFilterInput

A filter to limit the results

first - Int

The number of records to return from the beginning. Maximum 250

before - String

Show records before the specified keyset.

after - String

Show records after the specified keyset.

last - Int

The number of records to return to the end. Maximum 250

totalTargetCount - Int! The total number of deployment targets.
idleTargetCount - Int! The number of deployment targets with an idle status.
inProgressTargetCount - Int! The number of deployment targets with an in-progress status.
failedTargetCount - Int! The number of deployment targets with a failed status.
successfulTargetCount - Int! The number of deployment targets with a successful status.
Example
{
  "id": 4,
  "name": "abc123",
  "status": "IDLE",
  "outcome": "SUCCESS",
  "deploymentMechanism": Lazy,
  "release": Release,
  "channel": Channel,
  "deploymentTargets": DeploymentTargetConnection,
  "totalTargetCount": 123,
  "idleTargetCount": 123,
  "inProgressTargetCount": 987,
  "failedTargetCount": 123,
  "successfulTargetCount": 123
}

DeploymentCampaignConnection

Description

:deployment_campaign connection

Fields
Field Name Description
count - Int Total count on all pages
pageInfo - PageInfo! Page information
edges - [DeploymentCampaignEdge!] :deployment_campaign edges
Example
{
  "count": 987,
  "pageInfo": PageInfo,
  "edges": [DeploymentCampaignEdge]
}

DeploymentCampaignDeploymentMechanismLazyInput

Fields
Input Field Description
maxFailurePercentage - Float The maximum percentage of failures allowed over the number of total targets. If the failures exceed this threshold, the Deployment Campaign terminates with a failure.
maxInProgressDeployments - Int The maximum number of in progress deployments. The Update Campaign will have at most this number of Deployments that are started but not yet finished (either successfully or not).
createRequestRetries - Int The number of attempts that have to be tried before giving up on the deploy of a specific target (and considering it an error). Note that the deployment is retried only if the Deployment doesn't get acknowledged from the device.
requestTimeoutSeconds - Int The timeout (in seconds) Edgehog has to wait before considering a Deployment lost (and possibly retry). It must be at least 30 seconds.
Example
{
  "maxFailurePercentage": 123.45,
  "maxInProgressDeployments": 123,
  "createRequestRetries": 123,
  "requestTimeoutSeconds": 123
}

DeploymentCampaignEdge

Description

:deployment_campaign edge

Fields
Field Name Description
cursor - String! Cursor
node - DeploymentCampaign! :deployment_campaign node
Example
{
  "cursor": "xyz789",
  "node": DeploymentCampaign
}

DeploymentCampaignFilterFailedTargetCount

Fields
Input Field Description
isNil - Boolean
eq - Int
notEq - Int
in - [Int]
lessThan - Int
greaterThan - Int
lessThanOrEqual - Int
greaterThanOrEqual - Int
Example
{
  "isNil": false,
  "eq": 987,
  "notEq": 987,
  "in": [123],
  "lessThan": 987,
  "greaterThan": 987,
  "lessThanOrEqual": 987,
  "greaterThanOrEqual": 987
}

DeploymentCampaignFilterId

Fields
Input Field Description
isNil - Boolean
eq - ID
notEq - ID
in - [ID!]
lessThan - ID
greaterThan - ID
lessThanOrEqual - ID
greaterThanOrEqual - ID
Example
{
  "isNil": true,
  "eq": 4,
  "notEq": "4",
  "in": ["4"],
  "lessThan": 4,
  "greaterThan": 4,
  "lessThanOrEqual": "4",
  "greaterThanOrEqual": "4"
}

DeploymentCampaignFilterIdleTargetCount

Fields
Input Field Description
isNil - Boolean
eq - Int
notEq - Int
in - [Int]
lessThan - Int
greaterThan - Int
lessThanOrEqual - Int
greaterThanOrEqual - Int
Example
{
  "isNil": true,
  "eq": 123,
  "notEq": 123,
  "in": [123],
  "lessThan": 123,
  "greaterThan": 123,
  "lessThanOrEqual": 123,
  "greaterThanOrEqual": 987
}

DeploymentCampaignFilterInProgressTargetCount

Fields
Input Field Description
isNil - Boolean
eq - Int
notEq - Int
in - [Int]
lessThan - Int
greaterThan - Int
lessThanOrEqual - Int
greaterThanOrEqual - Int
Example
{
  "isNil": true,
  "eq": 987,
  "notEq": 123,
  "in": [987],
  "lessThan": 987,
  "greaterThan": 123,
  "lessThanOrEqual": 123,
  "greaterThanOrEqual": 987
}

DeploymentCampaignFilterInput

Fields
Input Field Description
and - [DeploymentCampaignFilterInput!]
or - [DeploymentCampaignFilterInput!]
not - [DeploymentCampaignFilterInput!]
id - DeploymentCampaignFilterId
name - DeploymentCampaignFilterName
status - DeploymentCampaignFilterStatus The status of the deployment campaign.
outcome - DeploymentCampaignFilterOutcome The outcome of the deployment campaign.
release - ReleaseFilterInput The release distributed by the deployment campaign.
channel - ChannelFilterInput The channel associated with the campaign.
deploymentTargets - DeploymentTargetFilterInput The depployment targets belonging to the deployment campaign.
totalTargetCount - DeploymentCampaignFilterTotalTargetCount The total number of deployment targets.
idleTargetCount - DeploymentCampaignFilterIdleTargetCount The number of deployment targets with an idle status.
inProgressTargetCount - DeploymentCampaignFilterInProgressTargetCount The number of deployment targets with an in-progress status.
failedTargetCount - DeploymentCampaignFilterFailedTargetCount The number of deployment targets with a failed status.
successfulTargetCount - DeploymentCampaignFilterSuccessfulTargetCount The number of deployment targets with a successful status.
Example
{
  "and": [DeploymentCampaignFilterInput],
  "or": [DeploymentCampaignFilterInput],
  "not": [DeploymentCampaignFilterInput],
  "id": DeploymentCampaignFilterId,
  "name": DeploymentCampaignFilterName,
  "status": DeploymentCampaignFilterStatus,
  "outcome": DeploymentCampaignFilterOutcome,
  "release": ReleaseFilterInput,
  "channel": ChannelFilterInput,
  "deploymentTargets": DeploymentTargetFilterInput,
  "totalTargetCount": DeploymentCampaignFilterTotalTargetCount,
  "idleTargetCount": DeploymentCampaignFilterIdleTargetCount,
  "inProgressTargetCount": DeploymentCampaignFilterInProgressTargetCount,
  "failedTargetCount": DeploymentCampaignFilterFailedTargetCount,
  "successfulTargetCount": DeploymentCampaignFilterSuccessfulTargetCount
}

DeploymentCampaignFilterName

Fields
Input Field Description
isNil - Boolean
eq - String
notEq - String
in - [String!]
lessThan - String
greaterThan - String
lessThanOrEqual - String
greaterThanOrEqual - String
like - String
ilike - String
Example
{
  "isNil": false,
  "eq": "xyz789",
  "notEq": "abc123",
  "in": ["abc123"],
  "lessThan": "abc123",
  "greaterThan": "xyz789",
  "lessThanOrEqual": "abc123",
  "greaterThanOrEqual": "xyz789",
  "like": "abc123",
  "ilike": "abc123"
}

DeploymentCampaignFilterOutcome

Fields
Input Field Description
isNil - Boolean
eq - CampaignOutcome
notEq - CampaignOutcome
in - [CampaignOutcome]
lessThan - CampaignOutcome
greaterThan - CampaignOutcome
lessThanOrEqual - CampaignOutcome
greaterThanOrEqual - CampaignOutcome
Example
{
  "isNil": false,
  "eq": "SUCCESS",
  "notEq": "SUCCESS",
  "in": ["SUCCESS"],
  "lessThan": "SUCCESS",
  "greaterThan": "SUCCESS",
  "lessThanOrEqual": "SUCCESS",
  "greaterThanOrEqual": "SUCCESS"
}

DeploymentCampaignFilterStatus

Fields
Input Field Description
isNil - Boolean
eq - CampaignStatus
notEq - CampaignStatus
in - [CampaignStatus!]
lessThan - CampaignStatus
greaterThan - CampaignStatus
lessThanOrEqual - CampaignStatus
greaterThanOrEqual - CampaignStatus
Example
{
  "isNil": true,
  "eq": "IDLE",
  "notEq": "IDLE",
  "in": ["IDLE"],
  "lessThan": "IDLE",
  "greaterThan": "IDLE",
  "lessThanOrEqual": "IDLE",
  "greaterThanOrEqual": "IDLE"
}

DeploymentCampaignFilterSuccessfulTargetCount

Fields
Input Field Description
isNil - Boolean
eq - Int
notEq - Int
in - [Int]
lessThan - Int
greaterThan - Int
lessThanOrEqual - Int
greaterThanOrEqual - Int
Example
{
  "isNil": true,
  "eq": 987,
  "notEq": 987,
  "in": [123],
  "lessThan": 123,
  "greaterThan": 987,
  "lessThanOrEqual": 123,
  "greaterThanOrEqual": 987
}

DeploymentCampaignFilterTotalTargetCount

Fields
Input Field Description
isNil - Boolean
eq - Int
notEq - Int
in - [Int]
lessThan - Int
greaterThan - Int
lessThanOrEqual - Int
greaterThanOrEqual - Int
Example
{
  "isNil": true,
  "eq": 987,
  "notEq": 123,
  "in": [123],
  "lessThan": 987,
  "greaterThan": 987,
  "lessThanOrEqual": 123,
  "greaterThanOrEqual": 123
}

DeploymentCampaignSortField

Values
Enum Value Description

ID

NAME

STATUS

OUTCOME

TOTAL_TARGET_COUNT

IDLE_TARGET_COUNT

IN_PROGRESS_TARGET_COUNT

FAILED_TARGET_COUNT

SUCCESSFUL_TARGET_COUNT

Example
"ID"

DeploymentCampaignSortInput

Fields
Input Field Description
order - SortOrder
field - DeploymentCampaignSortField!
Example
{"order": "DESC", "field": "ID"}

DeploymentConnection

Description

:deployment connection

Fields
Field Name Description
count - Int Total count on all pages
pageInfo - PageInfo! Page information
edges - [DeploymentEdge!] :deployment edges
Example
{
  "count": 987,
  "pageInfo": PageInfo,
  "edges": [DeploymentEdge]
}

DeploymentEdge

Description

:deployment edge

Fields
Field Name Description
cursor - String! Cursor
node - Deployment! :deployment node
Example
{
  "cursor": "abc123",
  "node": Deployment
}

DeploymentFilterDeviceId

Fields
Input Field Description
isNil - Boolean
eq - Int
notEq - Int
in - [Int]
lessThan - Int
greaterThan - Int
lessThanOrEqual - Int
greaterThanOrEqual - Int
Example
{
  "isNil": true,
  "eq": 123,
  "notEq": 987,
  "in": [987],
  "lessThan": 123,
  "greaterThan": 987,
  "lessThanOrEqual": 123,
  "greaterThanOrEqual": 123
}

DeploymentFilterId

Fields
Input Field Description
isNil - Boolean
eq - ID
notEq - ID
in - [ID!]
lessThan - ID
greaterThan - ID
lessThanOrEqual - ID
greaterThanOrEqual - ID
Example
{
  "isNil": true,
  "eq": "4",
  "notEq": "4",
  "in": ["4"],
  "lessThan": "4",
  "greaterThan": "4",
  "lessThanOrEqual": 4,
  "greaterThanOrEqual": 4
}

DeploymentFilterInput

Example
{
  "and": [DeploymentFilterInput],
  "or": [DeploymentFilterInput],
  "not": [DeploymentFilterInput],
  "id": DeploymentFilterId,
  "state": DeploymentFilterState,
  "lastErrorMessage": DeploymentFilterLastErrorMessage,
  "deviceId": DeploymentFilterDeviceId,
  "releaseId": DeploymentFilterReleaseId,
  "device": DeviceFilterInput,
  "release": ReleaseFilterInput,
  "containerDeployments": ContainerDeploymentFilterInput
}

DeploymentFilterLastErrorMessage

Fields
Input Field Description
isNil - Boolean
eq - String
notEq - String
in - [String]
lessThan - String
greaterThan - String
lessThanOrEqual - String
greaterThanOrEqual - String
like - String
ilike - String
Example
{
  "isNil": true,
  "eq": "xyz789",
  "notEq": "xyz789",
  "in": ["abc123"],
  "lessThan": "xyz789",
  "greaterThan": "xyz789",
  "lessThanOrEqual": "abc123",
  "greaterThanOrEqual": "xyz789",
  "like": "xyz789",
  "ilike": "abc123"
}

DeploymentFilterReleaseId

Fields
Input Field Description
isNil - Boolean
eq - ID
notEq - ID
in - [ID]
lessThan - ID
greaterThan - ID
lessThanOrEqual - ID
greaterThanOrEqual - ID
Example
{
  "isNil": true,
  "eq": 4,
  "notEq": "4",
  "in": ["4"],
  "lessThan": "4",
  "greaterThan": 4,
  "lessThanOrEqual": 4,
  "greaterThanOrEqual": 4
}

DeploymentFilterState

Fields
Input Field Description
isNil - Boolean
eq - ApplicationDeploymentState
notEq - ApplicationDeploymentState
in - [ApplicationDeploymentState]
lessThan - ApplicationDeploymentState
greaterThan - ApplicationDeploymentState
lessThanOrEqual - ApplicationDeploymentState
greaterThanOrEqual - ApplicationDeploymentState
Example
{
  "isNil": false,
  "eq": "PENDING",
  "notEq": "PENDING",
  "in": ["PENDING"],
  "lessThan": "PENDING",
  "greaterThan": "PENDING",
  "lessThanOrEqual": "PENDING",
  "greaterThanOrEqual": "PENDING"
}

DeploymentMechanism

Types
Union Types

Lazy

Example
Lazy

DeploymentMechanismInput

Fields
Input Field Description
lazy - DeploymentCampaignDeploymentMechanismLazyInput
Example
{"lazy": DeploymentCampaignDeploymentMechanismLazyInput}

DeploymentSortField

Values
Enum Value Description

ID

STATE

LAST_ERROR_MESSAGE

DEVICE_ID

RELEASE_ID

Example
"ID"

DeploymentSortInput

Fields
Input Field Description
order - SortOrder
field - DeploymentSortField!
Example
{"order": "DESC", "field": "ID"}

DeploymentStatus

Description

Describes the status of a deployment on a device.

Fields
Field Name Description
id - String The deployment id.
status - String The deployment status, can be :stopped or :started
Example
{
  "id": "xyz789",
  "status": "abc123"
}

DeploymentTarget

Description

Represents a DeploymentTarget.

Deployment targets are the targets of a Deployment Campaign, which is composed by the target device and the state of the target in the linked Deployment Campaign.

Fields
Field Name Description
id - ID!
status - DeploymentTargetStatus! The status of the update target.
retryCount - Int! The number of retries of the deployment target. This indicated how many times Edgehog retried to send all the necessary information about a deployment towards the device without receiving acks.
latestAttempt - DateTime The timestamp of the latest attempt to deploy to the update target.
completionTimestamp - DateTime The timestamp when the update target completed its update, either with a success or a failure.
deploymentCampaign - DeploymentCampaign!
device - Device!
deployment - Deployment
Example
{
  "id": 4,
  "status": "IDLE",
  "retryCount": 987,
  "latestAttempt": "2007-12-03T10:15:30Z",
  "completionTimestamp": "2007-12-03T10:15:30Z",
  "deploymentCampaign": DeploymentCampaign,
  "device": Device,
  "deployment": Deployment
}

DeploymentTargetConnection

Description

:deployment_target connection

Fields
Field Name Description
count - Int Total count on all pages
pageInfo - PageInfo! Page information
edges - [DeploymentTargetEdge!] :deployment_target edges
Example
{
  "count": 123,
  "pageInfo": PageInfo,
  "edges": [DeploymentTargetEdge]
}

DeploymentTargetEdge

Description

:deployment_target edge

Fields
Field Name Description
cursor - String! Cursor
node - DeploymentTarget! :deployment_target node
Example
{
  "cursor": "abc123",
  "node": DeploymentTarget
}

DeploymentTargetFilterCompletionTimestamp

Fields
Input Field Description
isNil - Boolean
eq - DateTime
notEq - DateTime
in - [DateTime]
lessThan - DateTime
greaterThan - DateTime
lessThanOrEqual - DateTime
greaterThanOrEqual - DateTime
Example
{
  "isNil": false,
  "eq": "2007-12-03T10:15:30Z",
  "notEq": "2007-12-03T10:15:30Z",
  "in": ["2007-12-03T10:15:30Z"],
  "lessThan": "2007-12-03T10:15:30Z",
  "greaterThan": "2007-12-03T10:15:30Z",
  "lessThanOrEqual": "2007-12-03T10:15:30Z",
  "greaterThanOrEqual": "2007-12-03T10:15:30Z"
}

DeploymentTargetFilterId

Fields
Input Field Description
isNil - Boolean
eq - ID
notEq - ID
in - [ID!]
lessThan - ID
greaterThan - ID
lessThanOrEqual - ID
greaterThanOrEqual - ID
Example
{
  "isNil": true,
  "eq": "4",
  "notEq": 4,
  "in": ["4"],
  "lessThan": "4",
  "greaterThan": "4",
  "lessThanOrEqual": 4,
  "greaterThanOrEqual": 4
}

DeploymentTargetFilterInput

Fields
Input Field Description
and - [DeploymentTargetFilterInput!]
or - [DeploymentTargetFilterInput!]
not - [DeploymentTargetFilterInput!]
id - DeploymentTargetFilterId
status - DeploymentTargetFilterStatus The status of the update target.
retryCount - DeploymentTargetFilterRetryCount The number of retries of the deployment target. This indicated how many times Edgehog retried to send all the necessary information about a deployment towards the device without receiving acks.
latestAttempt - DeploymentTargetFilterLatestAttempt The timestamp of the latest attempt to deploy to the update target.
completionTimestamp - DeploymentTargetFilterCompletionTimestamp The timestamp when the update target completed its update, either with a success or a failure.
deploymentCampaign - DeploymentCampaignFilterInput
device - DeviceFilterInput
deployment - DeploymentFilterInput
Example
{
  "and": [DeploymentTargetFilterInput],
  "or": [DeploymentTargetFilterInput],
  "not": [DeploymentTargetFilterInput],
  "id": DeploymentTargetFilterId,
  "status": DeploymentTargetFilterStatus,
  "retryCount": DeploymentTargetFilterRetryCount,
  "latestAttempt": DeploymentTargetFilterLatestAttempt,
  "completionTimestamp": DeploymentTargetFilterCompletionTimestamp,
  "deploymentCampaign": DeploymentCampaignFilterInput,
  "device": DeviceFilterInput,
  "deployment": DeploymentFilterInput
}

DeploymentTargetFilterLatestAttempt

Fields
Input Field Description
isNil - Boolean
eq - DateTime
notEq - DateTime
in - [DateTime]
lessThan - DateTime
greaterThan - DateTime
lessThanOrEqual - DateTime
greaterThanOrEqual - DateTime
Example
{
  "isNil": false,
  "eq": "2007-12-03T10:15:30Z",
  "notEq": "2007-12-03T10:15:30Z",
  "in": ["2007-12-03T10:15:30Z"],
  "lessThan": "2007-12-03T10:15:30Z",
  "greaterThan": "2007-12-03T10:15:30Z",
  "lessThanOrEqual": "2007-12-03T10:15:30Z",
  "greaterThanOrEqual": "2007-12-03T10:15:30Z"
}

DeploymentTargetFilterRetryCount

Fields
Input Field Description
isNil - Boolean
eq - Int
notEq - Int
in - [Int!]
lessThan - Int
greaterThan - Int
lessThanOrEqual - Int
greaterThanOrEqual - Int
Example
{
  "isNil": false,
  "eq": 987,
  "notEq": 987,
  "in": [987],
  "lessThan": 123,
  "greaterThan": 123,
  "lessThanOrEqual": 987,
  "greaterThanOrEqual": 987
}

DeploymentTargetFilterStatus

Fields
Input Field Description
isNil - Boolean
eq - DeploymentTargetStatus
notEq - DeploymentTargetStatus
in - [DeploymentTargetStatus!]
lessThan - DeploymentTargetStatus
greaterThan - DeploymentTargetStatus
lessThanOrEqual - DeploymentTargetStatus
greaterThanOrEqual - DeploymentTargetStatus
Example
{
  "isNil": false,
  "eq": "IDLE",
  "notEq": "IDLE",
  "in": ["IDLE"],
  "lessThan": "IDLE",
  "greaterThan": "IDLE",
  "lessThanOrEqual": "IDLE",
  "greaterThanOrEqual": "IDLE"
}

DeploymentTargetSortField

Values
Enum Value Description

ID

STATUS

RETRY_COUNT

LATEST_ATTEMPT

COMPLETION_TIMESTAMP

Example
"ID"

DeploymentTargetSortInput

Fields
Input Field Description
order - SortOrder
field - DeploymentTargetSortField!
Example
{"order": "DESC", "field": "ID"}

DeploymentTargetStatus

Values
Enum Value Description

IDLE

The deployment target is waiting for the deployment to start.

IN_PROGRESS

The deployment is in progress.

FAILED

Something went wrong while deploying the target.

SUCCESSFUL

The release has been successfully deployed to the target.
Example
"IDLE"

Device

Description

Denotes a device instance that connects and exchanges data.

Each Device is associated to a specific SystemModel, which in turn is associated to a specific HardwareType. A Device also exposes info about its connection status and some sets of data read by its operating system.

Fields
Field Name Description
id - ID!
deviceId - String! The Astarte device ID of the device.
name - String! The display name of the device.
online - Boolean! Whether the device is connected or not to Astarte
lastConnection - DateTime The date at which the device last connected to Astarte.
lastDisconnection - DateTime The date at which the device last disconnected from Astarte.
serialNumber - String The serial number of the device.
systemModel - SystemModel The system model of the device
tags - TagConnection! The tags of the device
Arguments
sort - [TagSortInput]

How to sort the records in the response

filter - TagFilterInput

A filter to limit the results

first - Int

The number of records to return from the beginning. Maximum 250

before - String

Show records before the specified keyset.

after - String

Show records after the specified keyset.

last - Int

The number of records to return to the end. Maximum 250

deviceGroups - [DeviceGroup!]! The groups the device belongs to.
Arguments
sort - [DeviceGroupSortInput]

How to sort the records in the response

filter - DeviceGroupFilterInput

A filter to limit the results

limit - Int

The number of records to return.

offset - Int

The number of records to skip.

otaOperations - OtaOperationConnection! The existing OTA operations for this device
Arguments
sort - [OtaOperationSortInput]

How to sort the records in the response

filter - OtaOperationFilterInput

A filter to limit the results

first - Int

The number of records to return from the beginning. Maximum 250

before - String

Show records before the specified keyset.

after - String

Show records after the specified keyset.

last - Int

The number of records to return to the end. Maximum 250

applicationDeployments - DeploymentConnection!
Arguments
sort - [DeploymentSortInput]

How to sort the records in the response

filter - DeploymentFilterInput

A filter to limit the results

first - Int

The number of records to return from the beginning. Maximum 250

before - String

Show records before the specified keyset.

after - String

Show records after the specified keyset.

last - Int

The number of records to return to the end. Maximum 250

availableImages - [ImageStatus!]
availableVolumes - [VolumeStatus!]
availableNetworks - [NetworkStatus!]
capabilities - [DeviceCapability!]! The capabilities that the device can support.
cellularConnection - [Modem!]
availableDeployments - [DeploymentStatus!]
baseImage - BaseImageInfo
availableContainers - [ContainerStatus!]
batteryStatus - [BatterySlot!]
hardwareInfo - HardwareInfo
location - Location

Describes the place where the device is located.

The field holds information about the device's address, which is estimated by means of Edgehog's geolocation modules and the data published by the device.

networkInterfaces - [NetworkInterface!]
osInfo - OsInfo
position - Position

Describes the position of a device.

The field holds information about the GPS coordinates of the device, which are estimated by means of Edgehog's geolocation modules and the data published by the device.

runtimeInfo - RuntimeInfo
storageUsage - [StorageUnit!]
systemStatus - SystemStatus
wifiScanResults - [WifiScanResult!]
Example
{
  "id": 4,
  "deviceId": "xyz789",
  "name": "xyz789",
  "online": false,
  "lastConnection": "2007-12-03T10:15:30Z",
  "lastDisconnection": "2007-12-03T10:15:30Z",
  "serialNumber": "xyz789",
  "systemModel": SystemModel,
  "tags": TagConnection,
  "deviceGroups": [DeviceGroup],
  "otaOperations": OtaOperationConnection,
  "applicationDeployments": DeploymentConnection,
  "availableImages": [ImageStatus],
  "availableVolumes": [VolumeStatus],
  "availableNetworks": [NetworkStatus],
  "capabilities": ["BASE_IMAGE"],
  "cellularConnection": [Modem],
  "availableDeployments": [DeploymentStatus],
  "baseImage": BaseImageInfo,
  "availableContainers": [ContainerStatus],
  "batteryStatus": [BatterySlot],
  "hardwareInfo": HardwareInfo,
  "location": Location,
  "networkInterfaces": [NetworkInterface],
  "osInfo": OsInfo,
  "position": Position,
  "runtimeInfo": RuntimeInfo,
  "storageUsage": [StorageUnit],
  "systemStatus": SystemStatus,
  "wifiScanResults": [WifiScanResult]
}

DeviceCapability

Values
Enum Value Description

BASE_IMAGE

The device provides information about its base image.

BATTERY_STATUS

The device provides information about its battery status.

CELLULAR_CONNECTION

The device provides information about its cellular connection.

COMMANDS

The device supports commands, for example the rebooting command.

CONTAINER_MANAGEMENT

The device supports running applications using containers.

GEOLOCATION

The device can be geolocated.

HARDWARE_INFO

The device provides information about its hardware.

LED_BEHAVIORS

The device can be asked to blink its LED in a specific pattern.

NETWORK_INTERFACE_INFO

The device can provide information about its network interfaces.

OPERATING_SYSTEM

The device provides information about its operating system.

REMOTE_TERMINAL

The device supports remote terminal sessions.

RUNTIME_INFO

The device provides information about its runtime.

SOFTWARE_UPDATES

The device can be updated remotely.

STORAGE

The device provides information about its storage units.

SYSTEM_INFO

The device provides information about its system.

SYSTEM_STATUS

The device provides information about its system status.

TELEMETRY_CONFIG

The device telemetry can be configured.

WIFI

The device provides information about surrounding WiFi APs.
Example
"BASE_IMAGE"

DeviceConnection

Description

:device connection

Fields
Field Name Description
count - Int Total count on all pages
pageInfo - PageInfo! Page information
edges - [DeviceEdge!] :device edges
Example
{
  "count": 123,
  "pageInfo": PageInfo,
  "edges": [DeviceEdge]
}

DeviceEdge

Description

:device edge

Fields
Field Name Description
cursor - String! Cursor
node - Device! :device node
Example
{
  "cursor": "abc123",
  "node": Device
}

DeviceFilterDeviceId

Fields
Input Field Description
isNil - Boolean
eq - String
notEq - String
in - [String!]
lessThan - String
greaterThan - String
lessThanOrEqual - String
greaterThanOrEqual - String
like - String
ilike - String
Example
{
  "isNil": false,
  "eq": "abc123",
  "notEq": "xyz789",
  "in": ["abc123"],
  "lessThan": "xyz789",
  "greaterThan": "abc123",
  "lessThanOrEqual": "xyz789",
  "greaterThanOrEqual": "abc123",
  "like": "xyz789",
  "ilike": "xyz789"
}

DeviceFilterId

Fields
Input Field Description
isNil - Boolean
eq - Int
notEq - Int
in - [Int!]
lessThan - Int
greaterThan - Int
lessThanOrEqual - Int
greaterThanOrEqual - Int
Example
{
  "isNil": false,
  "eq": 987,
  "notEq": 987,
  "in": [987],
  "lessThan": 123,
  "greaterThan": 123,
  "lessThanOrEqual": 987,
  "greaterThanOrEqual": 123
}

DeviceFilterInput

Fields
Input Field Description
and - [DeviceFilterInput!]
or - [DeviceFilterInput!]
not - [DeviceFilterInput!]
id - DeviceFilterId
deviceId - DeviceFilterDeviceId The Astarte device ID of the device.
name - DeviceFilterName The display name of the device.
online - DeviceFilterOnline Whether the device is connected or not to Astarte
lastConnection - DeviceFilterLastConnection The date at which the device last connected to Astarte.
lastDisconnection - DeviceFilterLastDisconnection The date at which the device last disconnected from Astarte.
serialNumber - DeviceFilterSerialNumber The serial number of the device.
systemModel - SystemModelFilterInput The system model of the device
tags - TagFilterInput The tags of the device
deviceGroups - DeviceGroupFilterInput The groups the device belongs to.
otaOperations - OtaOperationFilterInput The existing OTA operations for this device
applicationDeployments - DeploymentFilterInput
Example
{
  "and": [DeviceFilterInput],
  "or": [DeviceFilterInput],
  "not": [DeviceFilterInput],
  "id": DeviceFilterId,
  "deviceId": DeviceFilterDeviceId,
  "name": DeviceFilterName,
  "online": DeviceFilterOnline,
  "lastConnection": DeviceFilterLastConnection,
  "lastDisconnection": DeviceFilterLastDisconnection,
  "serialNumber": DeviceFilterSerialNumber,
  "systemModel": SystemModelFilterInput,
  "tags": TagFilterInput,
  "deviceGroups": DeviceGroupFilterInput,
  "otaOperations": OtaOperationFilterInput,
  "applicationDeployments": DeploymentFilterInput
}

DeviceFilterLastConnection

Fields
Input Field Description
isNil - Boolean
eq - DateTime
notEq - DateTime
in - [DateTime]
lessThan - DateTime
greaterThan - DateTime
lessThanOrEqual - DateTime
greaterThanOrEqual - DateTime
Example
{
  "isNil": true,
  "eq": "2007-12-03T10:15:30Z",
  "notEq": "2007-12-03T10:15:30Z",
  "in": ["2007-12-03T10:15:30Z"],
  "lessThan": "2007-12-03T10:15:30Z",
  "greaterThan": "2007-12-03T10:15:30Z",
  "lessThanOrEqual": "2007-12-03T10:15:30Z",
  "greaterThanOrEqual": "2007-12-03T10:15:30Z"
}

DeviceFilterLastDisconnection

Fields
Input Field Description
isNil - Boolean
eq - DateTime
notEq - DateTime
in - [DateTime]
lessThan - DateTime
greaterThan - DateTime
lessThanOrEqual - DateTime
greaterThanOrEqual - DateTime
Example
{
  "isNil": true,
  "eq": "2007-12-03T10:15:30Z",
  "notEq": "2007-12-03T10:15:30Z",
  "in": ["2007-12-03T10:15:30Z"],
  "lessThan": "2007-12-03T10:15:30Z",
  "greaterThan": "2007-12-03T10:15:30Z",
  "lessThanOrEqual": "2007-12-03T10:15:30Z",
  "greaterThanOrEqual": "2007-12-03T10:15:30Z"
}

DeviceFilterName

Fields
Input Field Description
isNil - Boolean
eq - String
notEq - String
in - [String!]
lessThan - String
greaterThan - String
lessThanOrEqual - String
greaterThanOrEqual - String
like - String
ilike - String
Example
{
  "isNil": true,
  "eq": "abc123",
  "notEq": "xyz789",
  "in": ["abc123"],
  "lessThan": "xyz789",
  "greaterThan": "xyz789",
  "lessThanOrEqual": "abc123",
  "greaterThanOrEqual": "abc123",
  "like": "abc123",
  "ilike": "abc123"
}

DeviceFilterOnline

Fields
Input Field Description
isNil - Boolean
eq - Boolean
notEq - Boolean
in - [Boolean!]
lessThan - Boolean
greaterThan - Boolean
lessThanOrEqual - Boolean
greaterThanOrEqual - Boolean
Example
{
  "isNil": true,
  "eq": true,
  "notEq": false,
  "in": [false],
  "lessThan": false,
  "greaterThan": false,
  "lessThanOrEqual": false,
  "greaterThanOrEqual": true
}

DeviceFilterSerialNumber

Fields
Input Field Description
isNil - Boolean
eq - String
notEq - String
in - [String]
lessThan - String
greaterThan - String
lessThanOrEqual - String
greaterThanOrEqual - String
like - String
ilike - String
Example
{
  "isNil": false,
  "eq": "xyz789",
  "notEq": "abc123",
  "in": ["xyz789"],
  "lessThan": "xyz789",
  "greaterThan": "abc123",
  "lessThanOrEqual": "xyz789",
  "greaterThanOrEqual": "xyz789",
  "like": "abc123",
  "ilike": "abc123"
}

DeviceGroup

Fields
Field Name Description
id - ID!
name - String! The display name of the device group.
handle - String!

The identifier of the device group.

It should start with a lower case ASCII letter and only contain lower case ASCII letters, digits and the hyphen - symbol.

selector - String!

The Selector that will determine which devices belong to the device group.

This must be a valid selector expression, consult the Selector section of the Edgehog documentation for more information about Selectors.

devices - [Device!]! The devices belonging to the group.
Arguments
sort - [DeviceSortInput]

How to sort the records in the response

filter - DeviceFilterInput

A filter to limit the results

limit - Int

The number of records to return.

offset - Int

The number of records to skip.

channel - Channel The channel associated with the group, if present.
Example
{
  "id": "4",
  "name": "xyz789",
  "handle": "abc123",
  "selector": "abc123",
  "devices": [Device],
  "channel": Channel
}

DeviceGroupConnection

Description

:device_group connection

Fields
Field Name Description
count - Int Total count on all pages
pageInfo - PageInfo! Page information
edges - [DeviceGroupEdge!] :device_group edges
Example
{
  "count": 987,
  "pageInfo": PageInfo,
  "edges": [DeviceGroupEdge]
}

DeviceGroupEdge

Description

:device_group edge

Fields
Field Name Description
cursor - String! Cursor
node - DeviceGroup! :device_group node
Example
{
  "cursor": "abc123",
  "node": DeviceGroup
}

DeviceGroupFilterHandle

Fields
Input Field Description
isNil - Boolean
eq - String
notEq - String
in - [String!]
lessThan - String
greaterThan - String
lessThanOrEqual - String
greaterThanOrEqual - String
like - String
ilike - String
Example
{
  "isNil": false,
  "eq": "xyz789",
  "notEq": "abc123",
  "in": ["xyz789"],
  "lessThan": "abc123",
  "greaterThan": "abc123",
  "lessThanOrEqual": "xyz789",
  "greaterThanOrEqual": "abc123",
  "like": "xyz789",
  "ilike": "abc123"
}

DeviceGroupFilterId

Fields
Input Field Description
isNil - Boolean
eq - Int
notEq - Int
in - [Int!]
lessThan - Int
greaterThan - Int
lessThanOrEqual - Int
greaterThanOrEqual - Int
Example
{
  "isNil": false,
  "eq": 987,
  "notEq": 987,
  "in": [123],
  "lessThan": 987,
  "greaterThan": 987,
  "lessThanOrEqual": 987,
  "greaterThanOrEqual": 123
}

DeviceGroupFilterInput

Fields
Input Field Description
and - [DeviceGroupFilterInput!]
or - [DeviceGroupFilterInput!]
not - [DeviceGroupFilterInput!]
id - DeviceGroupFilterId
name - DeviceGroupFilterName The display name of the device group.
handle - DeviceGroupFilterHandle

The identifier of the device group.

It should start with a lower case ASCII letter and only contain lower case ASCII letters, digits and the hyphen - symbol.

selector - DeviceGroupFilterSelector

The Selector that will determine which devices belong to the device group.

This must be a valid selector expression, consult the Selector section of the Edgehog documentation for more information about Selectors.

devices - DeviceFilterInput The devices belonging to the group.
channel - ChannelFilterInput The channel associated with the group, if present.
Example
{
  "and": [DeviceGroupFilterInput],
  "or": [DeviceGroupFilterInput],
  "not": [DeviceGroupFilterInput],
  "id": DeviceGroupFilterId,
  "name": DeviceGroupFilterName,
  "handle": DeviceGroupFilterHandle,
  "selector": DeviceGroupFilterSelector,
  "devices": DeviceFilterInput,
  "channel": ChannelFilterInput
}

DeviceGroupFilterName

Fields
Input Field Description
isNil - Boolean
eq - String
notEq - String
in - [String!]
lessThan - String
greaterThan - String
lessThanOrEqual - String
greaterThanOrEqual - String
like - String
ilike - String
Example
{
  "isNil": false,
  "eq": "abc123",
  "notEq": "xyz789",
  "in": ["xyz789"],
  "lessThan": "xyz789",
  "greaterThan": "xyz789",
  "lessThanOrEqual": "abc123",
  "greaterThanOrEqual": "xyz789",
  "like": "xyz789",
  "ilike": "xyz789"
}

DeviceGroupFilterSelector

Fields
Input Field Description
isNil - Boolean
eq - String
notEq - String
in - [String!]
lessThan - String
greaterThan - String
lessThanOrEqual - String
greaterThanOrEqual - String
like - String
ilike - String
Example
{
  "isNil": true,
  "eq": "xyz789",
  "notEq": "abc123",
  "in": ["abc123"],
  "lessThan": "abc123",
  "greaterThan": "abc123",
  "lessThanOrEqual": "abc123",
  "greaterThanOrEqual": "abc123",
  "like": "xyz789",
  "ilike": "xyz789"
}

DeviceGroupSortField

Values
Enum Value Description

ID

NAME

HANDLE

SELECTOR

Example
"ID"

DeviceGroupSortInput

Fields
Input Field Description
order - SortOrder
field - DeviceGroupSortField!
Example
{"order": "DESC", "field": "ID"}

DeviceLedBehavior

Values
Enum Value Description

BLINK

Blink for 60 seconds.

DOUBLE_BLINK

Double blink for 60 seconds.

SLOW_BLINK

Slow blink for 60 seconds.
Example
"BLINK"

DeviceMapping

Fields
Field Name Description
id - ID!
pathOnHost - String!
pathInContainer - String!
cgroupPermissions - String!
containerId - ID
container - Container
Example
{
  "id": "4",
  "pathOnHost": "abc123",
  "pathInContainer": "xyz789",
  "cgroupPermissions": "abc123",
  "containerId": 4,
  "container": Container
}

DeviceMappingConnection

Description

:device_mapping connection

Fields
Field Name Description
count - Int Total count on all pages
pageInfo - PageInfo! Page information
edges - [DeviceMappingEdge!] :device_mapping edges
Example
{
  "count": 123,
  "pageInfo": PageInfo,
  "edges": [DeviceMappingEdge]
}

DeviceMappingDeployment

Fields
Field Name Description
id - ID!
state - String
containerDeployments - [ContainerDeployment!]!
Arguments
sort - [ContainerDeploymentSortInput]

How to sort the records in the response

filter - ContainerDeploymentFilterInput

A filter to limit the results

limit - Int

The number of records to return.

offset - Int

The number of records to skip.

Example
{
  "id": 4,
  "state": "xyz789",
  "containerDeployments": [ContainerDeployment]
}

DeviceMappingDeploymentConnection

Description

:device_mapping_deployment connection

Fields
Field Name Description
count - Int Total count on all pages
pageInfo - PageInfo! Page information
edges - [DeviceMappingDeploymentEdge!] :device_mapping_deployment edges
Example
{
  "count": 987,
  "pageInfo": PageInfo,
  "edges": [DeviceMappingDeploymentEdge]
}

DeviceMappingDeploymentEdge

Description

:device_mapping_deployment edge

Fields
Field Name Description
cursor - String! Cursor
node - DeviceMappingDeployment! :device_mapping_deployment node
Example
{
  "cursor": "abc123",
  "node": DeviceMappingDeployment
}

DeviceMappingDeploymentFilterId

Fields
Input Field Description
isNil - Boolean
eq - ID
notEq - ID
in - [ID!]
lessThan - ID
greaterThan - ID
lessThanOrEqual - ID
greaterThanOrEqual - ID
Example
{
  "isNil": true,
  "eq": "4",
  "notEq": 4,
  "in": [4],
  "lessThan": "4",
  "greaterThan": 4,
  "lessThanOrEqual": "4",
  "greaterThanOrEqual": "4"
}

DeviceMappingDeploymentFilterInput

Example
{
  "and": [DeviceMappingDeploymentFilterInput],
  "or": [DeviceMappingDeploymentFilterInput],
  "not": [DeviceMappingDeploymentFilterInput],
  "id": DeviceMappingDeploymentFilterId,
  "state": DeviceMappingDeploymentFilterState,
  "containerDeployments": ContainerDeploymentFilterInput
}

DeviceMappingDeploymentFilterState

Fields
Input Field Description
isNil - Boolean
eq - String
notEq - String
in - [String]
lessThan - String
greaterThan - String
lessThanOrEqual - String
greaterThanOrEqual - String
Example
{
  "isNil": false,
  "eq": "xyz789",
  "notEq": "xyz789",
  "in": ["abc123"],
  "lessThan": "abc123",
  "greaterThan": "abc123",
  "lessThanOrEqual": "abc123",
  "greaterThanOrEqual": "xyz789"
}

DeviceMappingDeploymentSortField

Values
Enum Value Description

ID

STATE

Example
"ID"

DeviceMappingDeploymentSortInput

Fields
Input Field Description
order - SortOrder
field - DeviceMappingDeploymentSortField!
Example
{"order": "DESC", "field": "ID"}

DeviceMappingEdge

Description

:device_mapping edge

Fields
Field Name Description
cursor - String! Cursor
node - DeviceMapping! :device_mapping node
Example
{
  "cursor": "abc123",
  "node": DeviceMapping
}

DeviceMappingFilterCgroupPermissions

Fields
Input Field Description
isNil - Boolean
eq - String
notEq - String
in - [String!]
lessThan - String
greaterThan - String
lessThanOrEqual - String
greaterThanOrEqual - String
like - String
ilike - String
Example
{
  "isNil": true,
  "eq": "xyz789",
  "notEq": "abc123",
  "in": ["abc123"],
  "lessThan": "abc123",
  "greaterThan": "xyz789",
  "lessThanOrEqual": "abc123",
  "greaterThanOrEqual": "xyz789",
  "like": "abc123",
  "ilike": "xyz789"
}

DeviceMappingFilterContainerId

Fields
Input Field Description
isNil - Boolean
eq - ID
notEq - ID
in - [ID]
lessThan - ID
greaterThan - ID
lessThanOrEqual - ID
greaterThanOrEqual - ID
Example
{
  "isNil": true,
  "eq": "4",
  "notEq": "4",
  "in": [4],
  "lessThan": "4",
  "greaterThan": "4",
  "lessThanOrEqual": 4,
  "greaterThanOrEqual": "4"
}

DeviceMappingFilterId

Fields
Input Field Description
isNil - Boolean
eq - ID
notEq - ID
in - [ID!]
lessThan - ID
greaterThan - ID
lessThanOrEqual - ID
greaterThanOrEqual - ID
Example
{
  "isNil": false,
  "eq": "4",
  "notEq": "4",
  "in": ["4"],
  "lessThan": 4,
  "greaterThan": 4,
  "lessThanOrEqual": "4",
  "greaterThanOrEqual": "4"
}

DeviceMappingFilterInput

Example
{
  "and": [DeviceMappingFilterInput],
  "or": [DeviceMappingFilterInput],
  "not": [DeviceMappingFilterInput],
  "id": DeviceMappingFilterId,
  "pathOnHost": DeviceMappingFilterPathOnHost,
  "pathInContainer": DeviceMappingFilterPathInContainer,
  "cgroupPermissions": DeviceMappingFilterCgroupPermissions,
  "containerId": DeviceMappingFilterContainerId,
  "container": ContainerFilterInput
}

DeviceMappingFilterPathInContainer

Fields
Input Field Description
isNil - Boolean
eq - String
notEq - String
in - [String!]
lessThan - String
greaterThan - String
lessThanOrEqual - String
greaterThanOrEqual - String
like - String
ilike - String
Example
{
  "isNil": false,
  "eq": "abc123",
  "notEq": "xyz789",
  "in": ["abc123"],
  "lessThan": "abc123",
  "greaterThan": "xyz789",
  "lessThanOrEqual": "xyz789",
  "greaterThanOrEqual": "xyz789",
  "like": "abc123",
  "ilike": "xyz789"
}

DeviceMappingFilterPathOnHost

Fields
Input Field Description
isNil - Boolean
eq - String
notEq - String
in - [String!]
lessThan - String
greaterThan - String
lessThanOrEqual - String
greaterThanOrEqual - String
like - String
ilike - String
Example
{
  "isNil": false,
  "eq": "abc123",
  "notEq": "xyz789",
  "in": ["abc123"],
  "lessThan": "abc123",
  "greaterThan": "xyz789",
  "lessThanOrEqual": "abc123",
  "greaterThanOrEqual": "xyz789",
  "like": "abc123",
  "ilike": "abc123"
}

DeviceMappingSortField

Values
Enum Value Description

ID

PATH_ON_HOST

PATH_IN_CONTAINER

CGROUP_PERMISSIONS

CONTAINER_ID

Example
"ID"

DeviceMappingSortInput

Fields
Input Field Description
order - SortOrder
field - DeviceMappingSortField!
Example
{"order": "DESC", "field": "ID"}

DeviceSortField

Values
Enum Value Description

ID

DEVICE_ID

NAME

ONLINE

LAST_CONNECTION

LAST_DISCONNECTION

SERIAL_NUMBER

Example
"ID"

DeviceSortInput

Fields
Input Field Description
order - SortOrder
field - DeviceSortField!
Example
{"order": "DESC", "field": "ID"}

Float

Description

The Float scalar type represents signed double-precision fractional values as specified by IEEE 754.

Example
987.65

ForwarderConfig

Description

The details of a forwarder instance.

Fields
Field Name Description
id - ID! A unique identifier
hostname - String! The hostname of the forwarder instance.
port - Int! The port of the forwarder instance.
secureSessions - Boolean! Indicates if TLS should used when connecting to the forwarder.
Example
{
  "id": 4,
  "hostname": "xyz789",
  "port": 123,
  "secureSessions": false
}

ForwarderSession

Description

The details of a forwarder session.

Fields
Field Name Description
id - ID! The token that identifies the session.
token - String! The token that identifies the session.
status - ForwarderSessionStatus! The status of the session.
forwarderHostname - String! The hostname of the forwarder instance.
forwarderPort - Int! The port of the forwarder instance.
secure - Boolean! Indicates if TLS is used when the device connects to the forwarder.
Example
{
  "id": "4",
  "token": "abc123",
  "status": "CONNECTED",
  "forwarderHostname": "abc123",
  "forwarderPort": 987,
  "secure": true
}

ForwarderSessionStatus

Values
Enum Value Description

CONNECTED

The device is connected to the forwarder.

CONNECTING

The device is connecting to the forwarder.
Example
"CONNECTED"

HardwareInfo

Description

Describes hardware-related info of a device.

It exposes data read by a device's operating system about the underlying hardware.

Fields
Field Name Description
cpuArchitecture - String The architecture of the CPU.
cpuModel - String The reference code of the CPU model.
cpuModelName - String The display name of the CPU model.
cpuVendor - String The vendor's name.
memoryTotalBytes - Int The Bytes count of memory.
Example
{
  "cpuArchitecture": "xyz789",
  "cpuModel": "xyz789",
  "cpuModelName": "abc123",
  "cpuVendor": "abc123",
  "memoryTotalBytes": 123
}

HardwareType

Description

Denotes a type of hardware that devices can have.

It refers to the physical components embedded in a device. This can represent, e.g., multiple revisions of a PCB (each with a different part number) which are functionally equivalent from the device point of view.

Fields
Field Name Description
id - ID!
handle - String!

The identifier of the hardware type.

It should start with a lower case ASCII letter and only contain lower case ASCII letters, digits and the hyphen - symbol.

name - String! The display name of the hardware type.
partNumbers - HardwareTypePartNumberConnection! The list of part numbers associated with the hardware type.
Arguments
sort - [HardwareTypePartNumberSortInput]

How to sort the records in the response

filter - HardwareTypePartNumberFilterInput

A filter to limit the results

first - Int

The number of records to return from the beginning. Maximum 250

before - String

Show records before the specified keyset.

after - String

Show records after the specified keyset.

last - Int

The number of records to return to the end. Maximum 250

Example
{
  "id": 4,
  "handle": "abc123",
  "name": "abc123",
  "partNumbers": HardwareTypePartNumberConnection
}

HardwareTypeConnection

Description

:hardware_type connection

Fields
Field Name Description
count - Int Total count on all pages
pageInfo - PageInfo! Page information
edges - [HardwareTypeEdge!] :hardware_type edges
Example
{
  "count": 123,
  "pageInfo": PageInfo,
  "edges": [HardwareTypeEdge]
}

HardwareTypeEdge

Description

:hardware_type edge

Fields
Field Name Description
cursor - String! Cursor
node - HardwareType! :hardware_type node
Example
{
  "cursor": "xyz789",
  "node": HardwareType
}

HardwareTypeFilterHandle

Fields
Input Field Description
isNil - Boolean
eq - String
notEq - String
in - [String!]
lessThan - String
greaterThan - String
lessThanOrEqual - String
greaterThanOrEqual - String
like - String
ilike - String
Example
{
  "isNil": false,
  "eq": "abc123",
  "notEq": "abc123",
  "in": ["abc123"],
  "lessThan": "abc123",
  "greaterThan": "abc123",
  "lessThanOrEqual": "xyz789",
  "greaterThanOrEqual": "abc123",
  "like": "abc123",
  "ilike": "abc123"
}

HardwareTypeFilterId

Fields
Input Field Description
isNil - Boolean
eq - Int
notEq - Int
in - [Int!]
lessThan - Int
greaterThan - Int
lessThanOrEqual - Int
greaterThanOrEqual - Int
Example
{
  "isNil": false,
  "eq": 987,
  "notEq": 987,
  "in": [123],
  "lessThan": 987,
  "greaterThan": 987,
  "lessThanOrEqual": 123,
  "greaterThanOrEqual": 123
}

HardwareTypeFilterInput

Fields
Input Field Description
and - [HardwareTypeFilterInput!]
or - [HardwareTypeFilterInput!]
not - [HardwareTypeFilterInput!]
id - HardwareTypeFilterId
handle - HardwareTypeFilterHandle

The identifier of the hardware type.

It should start with a lower case ASCII letter and only contain lower case ASCII letters, digits and the hyphen - symbol.

name - HardwareTypeFilterName The display name of the hardware type.
partNumbers - HardwareTypePartNumberFilterInput The list of part numbers associated with the hardware type.
Example
{
  "and": [HardwareTypeFilterInput],
  "or": [HardwareTypeFilterInput],
  "not": [HardwareTypeFilterInput],
  "id": HardwareTypeFilterId,
  "handle": HardwareTypeFilterHandle,
  "name": HardwareTypeFilterName,
  "partNumbers": HardwareTypePartNumberFilterInput
}

HardwareTypeFilterName

Fields
Input Field Description
isNil - Boolean
eq - String
notEq - String
in - [String!]
lessThan - String
greaterThan - String
lessThanOrEqual - String
greaterThanOrEqual - String
like - String
ilike - String
Example
{
  "isNil": false,
  "eq": "abc123",
  "notEq": "abc123",
  "in": ["xyz789"],
  "lessThan": "abc123",
  "greaterThan": "abc123",
  "lessThanOrEqual": "abc123",
  "greaterThanOrEqual": "abc123",
  "like": "abc123",
  "ilike": "xyz789"
}

HardwareTypePartNumber

Fields
Field Name Description
id - ID!
partNumber - String! The part number identifier.
hardwareType - HardwareType
Example
{
  "id": "4",
  "partNumber": "abc123",
  "hardwareType": HardwareType
}

HardwareTypePartNumberConnection

Description

:hardware_type_part_number connection

Fields
Field Name Description
count - Int Total count on all pages
pageInfo - PageInfo! Page information
edges - [HardwareTypePartNumberEdge!] :hardware_type_part_number edges
Example
{
  "count": 987,
  "pageInfo": PageInfo,
  "edges": [HardwareTypePartNumberEdge]
}

HardwareTypePartNumberEdge

Description

:hardware_type_part_number edge

Fields
Field Name Description
cursor - String! Cursor
node - HardwareTypePartNumber! :hardware_type_part_number node
Example
{
  "cursor": "abc123",
  "node": HardwareTypePartNumber
}

HardwareTypePartNumberFilterId

Fields
Input Field Description
isNil - Boolean
eq - Int
notEq - Int
in - [Int!]
lessThan - Int
greaterThan - Int
lessThanOrEqual - Int
greaterThanOrEqual - Int
Example
{
  "isNil": true,
  "eq": 987,
  "notEq": 123,
  "in": [987],
  "lessThan": 987,
  "greaterThan": 123,
  "lessThanOrEqual": 987,
  "greaterThanOrEqual": 987
}

HardwareTypePartNumberFilterInput

Example
{
  "and": [HardwareTypePartNumberFilterInput],
  "or": [HardwareTypePartNumberFilterInput],
  "not": [HardwareTypePartNumberFilterInput],
  "id": HardwareTypePartNumberFilterId,
  "partNumber": HardwareTypePartNumberFilterPartNumber,
  "hardwareType": HardwareTypeFilterInput
}

HardwareTypePartNumberFilterPartNumber

Fields
Input Field Description
isNil - Boolean
eq - String
notEq - String
in - [String!]
lessThan - String
greaterThan - String
lessThanOrEqual - String
greaterThanOrEqual - String
like - String
ilike - String
Example
{
  "isNil": true,
  "eq": "xyz789",
  "notEq": "xyz789",
  "in": ["xyz789"],
  "lessThan": "abc123",
  "greaterThan": "xyz789",
  "lessThanOrEqual": "abc123",
  "greaterThanOrEqual": "xyz789",
  "like": "abc123",
  "ilike": "xyz789"
}

HardwareTypePartNumberSortField

Values
Enum Value Description

ID

PART_NUMBER

Example
"ID"

HardwareTypePartNumberSortInput

Fields
Input Field Description
order - SortOrder
field - HardwareTypePartNumberSortField!
Example
{"order": "DESC", "field": "ID"}

HardwareTypeSortField

Values
Enum Value Description

ID

HANDLE

NAME

Example
"ID"

HardwareTypeSortInput

Fields
Input Field Description
order - SortOrder
field - HardwareTypeSortField!
Example
{"order": "DESC", "field": "ID"}

ID

Description

The ID scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as "4") or integer (such as 4) input value will be accepted as an ID.

Example
4

Image

Fields
Field Name Description
id - ID!
reference - String!
imageCredentialsId - ID
credentials - ImageCredentials
devices - DeviceConnection!
Arguments
sort - [DeviceSortInput]

How to sort the records in the response

filter - DeviceFilterInput

A filter to limit the results

first - Int

The number of records to return from the beginning. Maximum 250

before - String

Show records before the specified keyset.

after - String

Show records after the specified keyset.

last - Int

The number of records to return to the end. Maximum 250

containers - [Container!]!
Arguments
sort - [ContainerSortInput]

How to sort the records in the response

filter - ContainerFilterInput

A filter to limit the results

limit - Int

The number of records to return.

offset - Int

The number of records to skip.

Example
{
  "id": "4",
  "reference": "abc123",
  "imageCredentialsId": 4,
  "credentials": ImageCredentials,
  "devices": DeviceConnection,
  "containers": [Container]
}

ImageCredentials

Description

Contains the credentials used to pull an image from a device.

Credentials are uniquely identified trough their :id, a unique name field is also provided. The module stores username and password

Fields
Field Name Description
id - ID!
label - String!
username - String!
Example
{
  "id": "4",
  "label": "abc123",
  "username": "xyz789"
}

ImageCredentialsConnection

Description

:image_credentials connection

Fields
Field Name Description
count - Int Total count on all pages
pageInfo - PageInfo! Page information
edges - [ImageCredentialsEdge!] :image_credentials edges
Example
{
  "count": 987,
  "pageInfo": PageInfo,
  "edges": [ImageCredentialsEdge]
}

ImageCredentialsEdge

Description

:image_credentials edge

Fields
Field Name Description
cursor - String! Cursor
node - ImageCredentials! :image_credentials node
Example
{
  "cursor": "xyz789",
  "node": ImageCredentials
}

ImageCredentialsFilterId

Fields
Input Field Description
isNil - Boolean
eq - ID
notEq - ID
in - [ID!]
lessThan - ID
greaterThan - ID
lessThanOrEqual - ID
greaterThanOrEqual - ID
Example
{
  "isNil": false,
  "eq": "4",
  "notEq": "4",
  "in": ["4"],
  "lessThan": 4,
  "greaterThan": 4,
  "lessThanOrEqual": "4",
  "greaterThanOrEqual": 4
}

ImageCredentialsFilterInput

Example
{
  "and": [ImageCredentialsFilterInput],
  "or": [ImageCredentialsFilterInput],
  "not": [ImageCredentialsFilterInput],
  "id": ImageCredentialsFilterId,
  "label": ImageCredentialsFilterLabel,
  "username": ImageCredentialsFilterUsername
}

ImageCredentialsFilterLabel

Fields
Input Field Description
isNil - Boolean
eq - String
notEq - String
in - [String!]
lessThan - String
greaterThan - String
lessThanOrEqual - String
greaterThanOrEqual - String
like - String
ilike - String
Example
{
  "isNil": false,
  "eq": "xyz789",
  "notEq": "abc123",
  "in": ["abc123"],
  "lessThan": "xyz789",
  "greaterThan": "xyz789",
  "lessThanOrEqual": "xyz789",
  "greaterThanOrEqual": "xyz789",
  "like": "xyz789",
  "ilike": "abc123"
}

ImageCredentialsFilterUsername

Fields
Input Field Description
isNil - Boolean
eq - String
notEq - String
in - [String!]
lessThan - String
greaterThan - String
lessThanOrEqual - String
greaterThanOrEqual - String
like - String
ilike - String
Example
{
  "isNil": true,
  "eq": "xyz789",
  "notEq": "abc123",
  "in": ["abc123"],
  "lessThan": "xyz789",
  "greaterThan": "abc123",
  "lessThanOrEqual": "abc123",
  "greaterThanOrEqual": "xyz789",
  "like": "xyz789",
  "ilike": "xyz789"
}

ImageCredentialsSortField

Values
Enum Value Description

ID

LABEL

USERNAME

Example
"ID"

ImageCredentialsSortInput

Fields
Input Field Description
order - SortOrder
field - ImageCredentialsSortField!
Example
{"order": "DESC", "field": "ID"}

ImageDeployment

Fields
Field Name Description
id - ID!
state - String
Example
{
  "id": "4",
  "state": "xyz789"
}

ImageDeploymentFilterId

Fields
Input Field Description
isNil - Boolean
eq - ID
notEq - ID
in - [ID!]
lessThan - ID
greaterThan - ID
lessThanOrEqual - ID
greaterThanOrEqual - ID
Example
{
  "isNil": true,
  "eq": 4,
  "notEq": 4,
  "in": [4],
  "lessThan": 4,
  "greaterThan": "4",
  "lessThanOrEqual": "4",
  "greaterThanOrEqual": "4"
}

ImageDeploymentFilterInput

Example
{
  "and": [ImageDeploymentFilterInput],
  "or": [ImageDeploymentFilterInput],
  "not": [ImageDeploymentFilterInput],
  "id": ImageDeploymentFilterId,
  "state": ImageDeploymentFilterState
}

ImageDeploymentFilterState

Fields
Input Field Description
isNil - Boolean
eq - String
notEq - String
in - [String]
lessThan - String
greaterThan - String
lessThanOrEqual - String
greaterThanOrEqual - String
Example
{
  "isNil": true,
  "eq": "abc123",
  "notEq": "xyz789",
  "in": ["abc123"],
  "lessThan": "abc123",
  "greaterThan": "abc123",
  "lessThanOrEqual": "abc123",
  "greaterThanOrEqual": "abc123"
}

ImageFilterId

Fields
Input Field Description
isNil - Boolean
eq - ID
notEq - ID
in - [ID!]
lessThan - ID
greaterThan - ID
lessThanOrEqual - ID
greaterThanOrEqual - ID
Example
{
  "isNil": true,
  "eq": 4,
  "notEq": 4,
  "in": [4],
  "lessThan": 4,
  "greaterThan": 4,
  "lessThanOrEqual": 4,
  "greaterThanOrEqual": "4"
}

ImageFilterImageCredentialsId

Fields
Input Field Description
isNil - Boolean
eq - ID
notEq - ID
in - [ID]
lessThan - ID
greaterThan - ID
lessThanOrEqual - ID
greaterThanOrEqual - ID
Example
{
  "isNil": true,
  "eq": 4,
  "notEq": "4",
  "in": ["4"],
  "lessThan": 4,
  "greaterThan": 4,
  "lessThanOrEqual": "4",
  "greaterThanOrEqual": "4"
}

ImageFilterInput

Fields
Input Field Description
and - [ImageFilterInput!]
or - [ImageFilterInput!]
not - [ImageFilterInput!]
id - ImageFilterId
reference - ImageFilterReference
imageCredentialsId - ImageFilterImageCredentialsId
credentials - ImageCredentialsFilterInput
devices - DeviceFilterInput
containers - ContainerFilterInput
Example
{
  "and": [ImageFilterInput],
  "or": [ImageFilterInput],
  "not": [ImageFilterInput],
  "id": ImageFilterId,
  "reference": ImageFilterReference,
  "imageCredentialsId": ImageFilterImageCredentialsId,
  "credentials": ImageCredentialsFilterInput,
  "devices": DeviceFilterInput,
  "containers": ContainerFilterInput
}

ImageFilterReference

Fields
Input Field Description
isNil - Boolean
eq - String
notEq - String
in - [String!]
lessThan - String
greaterThan - String
lessThanOrEqual - String
greaterThanOrEqual - String
like - String
ilike - String
Example
{
  "isNil": true,
  "eq": "xyz789",
  "notEq": "abc123",
  "in": ["xyz789"],
  "lessThan": "xyz789",
  "greaterThan": "abc123",
  "lessThanOrEqual": "abc123",
  "greaterThanOrEqual": "xyz789",
  "like": "abc123",
  "ilike": "abc123"
}

ImageStatus

Description

Describe the available images on the device.

Fields
Field Name Description
id - String The image id.
pulled - Boolean Whether the image is pulled or not.
Example
{"id": "abc123", "pulled": true}

Int

Description

The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.

Example
987

Json

Description

The Json scalar type represents arbitrary json string data, represented as UTF-8 character sequences. The Json type is most often used to represent a free-form human-readable json string.

Example
Json

JsonString

Description

The Json scalar type represents arbitrary json string data, represented as UTF-8 character sequences. The Json type is most often used to represent a free-form human-readable json string.

Example
JsonString

Lazy

Description

An object representing the properties of a Lazy Deployment Mechanism.

Fields
Field Name Description
maxFailurePercentage - Float! The maximum percentage of failures allowed over the number of total targets. If the failures exceed this threshold, the Deployment Campaign terminates with a failure.
maxInProgressDeployments - Int! The maximum number of in progress deployments. The Update Campaign will have at most this number of Deployments that are started but not yet finished (either successfully or not).
createRequestRetries - Int! The number of attempts that have to be tried before giving up on the deploy of a specific target (and considering it an error). Note that the deployment is retried only if the Deployment doesn't get acknowledged from the device.
requestTimeoutSeconds - Int! The timeout (in seconds) Edgehog has to wait before considering a Deployment lost (and possibly retry). It must be at least 30 seconds.
Example
{
  "maxFailurePercentage": 987.65,
  "maxInProgressDeployments": 987,
  "createRequestRetries": 123,
  "requestTimeoutSeconds": 123
}

LocalizedAttribute

Fields
Field Name Description
value - String!
languageTag - String!
Example
{
  "value": "xyz789",
  "languageTag": "xyz789"
}

LocalizedAttributeInput

Fields
Input Field Description
value - String!
languageTag - String!
Example
{
  "value": "xyz789",
  "languageTag": "xyz789"
}

LocalizedAttributeUpdateInput

Fields
Input Field Description
value - String
languageTag - String!
Example
{
  "value": "xyz789",
  "languageTag": "xyz789"
}

Location

Description

Describes the place where a device is located.

The field holds information about the device's address, which is estimated by means of Edgehog's geolocation modules and the data published by the device.

Fields
Field Name Description
formattedAddress - String! The formatted address associated with the location.
timestamp - DateTime! The date and time at which the location was measured.
source - String Describes how the location was calculated.
Example
{
  "formattedAddress": "xyz789",
  "timestamp": "2007-12-03T10:15:30Z",
  "source": "xyz789"
}

Modem

Description

Describes a modem of a device.

Fields
Field Name Description
apn - String The operator apn address.
carrier - String Carrier operator name.
cellId - Int Unique identifier of the cell.
imei - String The modem IMEI code.
imsi - String The SIM IMSI code.
localAreaCode - Int The Local Area Code.
mobileCountryCode - Int The cell tower's Mobile Country Code (MCC).
mobileNetworkCode - Int The cell tower's Mobile Network Code.
registrationStatus - ModemRegistrationStatus The GSM/LTE registration status of the modem.
rssi - Float Signal strength in dBm.
slot - String! The identifier of the modem.
technology - ModemTechnology The access technology of the serving cell.
Example
{
  "apn": "xyz789",
  "carrier": "xyz789",
  "cellId": 123,
  "imei": "abc123",
  "imsi": "abc123",
  "localAreaCode": 987,
  "mobileCountryCode": 987,
  "mobileNetworkCode": 123,
  "registrationStatus": "NOT_REGISTERED",
  "rssi": 987.65,
  "slot": "abc123",
  "technology": "GSM"
}

ModemRegistrationStatus

Values
Enum Value Description

NOT_REGISTERED

Not registered, modem is not currently searching a new operator to register to.

REGISTERED

Registered, home network.

SEARCHING_OPERATOR

Not registered, but modem is currently searching a new operator to register to.

REGISTRATION_DENIED

Registration denied.

UNKNOWN

Unknown (e.g. out of GERAN/UTRAN/E-UTRAN coverage).

REGISTERED_ROAMING

Registered, roaming.
Example
"NOT_REGISTERED"

ModemTechnology

Values
Enum Value Description

GSM

GSM.

GSM_COMPACT

GSM Compact.

UTRAN

UTRAN.

GSM_EGPRS

GSM with EGPRS.

UTRAN_HSDPA

UTRAN with HSDPA.

UTRAN_HSUPA

UTRAN with HSUPA.

UTRAN_HSDPA_HSUPA

UTRAN with HSDPA and HSUPA.

EUTRAN

E-UTRAN.
Example
"GSM"

MutationError

Description

An error generated by a failed mutation

Fields
Field Name Description
message - String The human readable error message
shortMessage - String A shorter error message, with vars not replaced
vars - Json Replacements for the short message
code - String An error code for the given error
fields - [String!] The field or fields that produced the error
Example
{
  "message": "abc123",
  "shortMessage": "xyz789",
  "vars": Json,
  "code": "xyz789",
  "fields": ["abc123"]
}

Network

Fields
Field Name Description
id - ID!
label - String
driver - String!
internal - Boolean!
enableIpv6 - Boolean!
options - JsonString!
containers - ContainerConnection!
Arguments
sort - [ContainerSortInput]

How to sort the records in the response

filter - ContainerFilterInput

A filter to limit the results

first - Int

The number of records to return from the beginning. Maximum 250

before - String

Show records before the specified keyset.

after - String

Show records after the specified keyset.

last - Int

The number of records to return to the end. Maximum 250

devices - DeviceConnection!
Arguments
sort - [DeviceSortInput]

How to sort the records in the response

filter - DeviceFilterInput

A filter to limit the results

first - Int

The number of records to return from the beginning. Maximum 250

before - String

Show records before the specified keyset.

after - String

Show records after the specified keyset.

last - Int

The number of records to return to the end. Maximum 250

Example
{
  "id": 4,
  "label": "xyz789",
  "driver": "abc123",
  "internal": false,
  "enableIpv6": false,
  "options": JsonString,
  "containers": ContainerConnection,
  "devices": DeviceConnection
}

NetworkConnection

Description

:network connection

Fields
Field Name Description
count - Int Total count on all pages
pageInfo - PageInfo! Page information
edges - [NetworkEdge!] :network edges
Example
{
  "count": 123,
  "pageInfo": PageInfo,
  "edges": [NetworkEdge]
}

NetworkDeployment

Fields
Field Name Description
id - ID!
state - String
containerDeployments - [ContainerDeployment!]!
Arguments
sort - [ContainerDeploymentSortInput]

How to sort the records in the response

filter - ContainerDeploymentFilterInput

A filter to limit the results

limit - Int

The number of records to return.

offset - Int

The number of records to skip.

Example
{
  "id": "4",
  "state": "xyz789",
  "containerDeployments": [ContainerDeployment]
}

NetworkDeploymentConnection

Description

:network_deployment connection

Fields
Field Name Description
count - Int Total count on all pages
pageInfo - PageInfo! Page information
edges - [NetworkDeploymentEdge!] :network_deployment edges
Example
{
  "count": 123,
  "pageInfo": PageInfo,
  "edges": [NetworkDeploymentEdge]
}

NetworkDeploymentEdge

Description

:network_deployment edge

Fields
Field Name Description
cursor - String! Cursor
node - NetworkDeployment! :network_deployment node
Example
{
  "cursor": "abc123",
  "node": NetworkDeployment
}

NetworkDeploymentFilterId

Fields
Input Field Description
isNil - Boolean
eq - ID
notEq - ID
in - [ID!]
lessThan - ID
greaterThan - ID
lessThanOrEqual - ID
greaterThanOrEqual - ID
Example
{
  "isNil": true,
  "eq": 4,
  "notEq": 4,
  "in": [4],
  "lessThan": "4",
  "greaterThan": 4,
  "lessThanOrEqual": 4,
  "greaterThanOrEqual": "4"
}

NetworkDeploymentFilterInput

Example
{
  "and": [NetworkDeploymentFilterInput],
  "or": [NetworkDeploymentFilterInput],
  "not": [NetworkDeploymentFilterInput],
  "id": NetworkDeploymentFilterId,
  "state": NetworkDeploymentFilterState,
  "containerDeployments": ContainerDeploymentFilterInput
}

NetworkDeploymentFilterState

Fields
Input Field Description
isNil - Boolean
eq - String
notEq - String
in - [String]
lessThan - String
greaterThan - String
lessThanOrEqual - String
greaterThanOrEqual - String
Example
{
  "isNil": false,
  "eq": "xyz789",
  "notEq": "abc123",
  "in": ["xyz789"],
  "lessThan": "xyz789",
  "greaterThan": "xyz789",
  "lessThanOrEqual": "abc123",
  "greaterThanOrEqual": "xyz789"
}

NetworkDeploymentSortField

Values
Enum Value Description

ID

STATE

Example
"ID"

NetworkDeploymentSortInput

Fields
Input Field Description
order - SortOrder
field - NetworkDeploymentSortField!
Example
{"order": "DESC", "field": "ID"}

NetworkEdge

Description

:network edge

Fields
Field Name Description
cursor - String! Cursor
node - Network! :network node
Example
{
  "cursor": "abc123",
  "node": Network
}

NetworkFilterDriver

Fields
Input Field Description
isNil - Boolean
eq - String
notEq - String
in - [String!]
lessThan - String
greaterThan - String
lessThanOrEqual - String
greaterThanOrEqual - String
like - String
ilike - String
Example
{
  "isNil": false,
  "eq": "xyz789",
  "notEq": "abc123",
  "in": ["abc123"],
  "lessThan": "abc123",
  "greaterThan": "xyz789",
  "lessThanOrEqual": "xyz789",
  "greaterThanOrEqual": "abc123",
  "like": "abc123",
  "ilike": "xyz789"
}

NetworkFilterEnableIpv6

Fields
Input Field Description
isNil - Boolean
eq - Boolean
notEq - Boolean
in - [Boolean!]
lessThan - Boolean
greaterThan - Boolean
lessThanOrEqual - Boolean
greaterThanOrEqual - Boolean
Example
{
  "isNil": true,
  "eq": true,
  "notEq": false,
  "in": [false],
  "lessThan": false,
  "greaterThan": true,
  "lessThanOrEqual": false,
  "greaterThanOrEqual": true
}

NetworkFilterId

Fields
Input Field Description
isNil - Boolean
eq - ID
notEq - ID
in - [ID!]
lessThan - ID
greaterThan - ID
lessThanOrEqual - ID
greaterThanOrEqual - ID
Example
{
  "isNil": false,
  "eq": "4",
  "notEq": 4,
  "in": [4],
  "lessThan": 4,
  "greaterThan": "4",
  "lessThanOrEqual": 4,
  "greaterThanOrEqual": "4"
}

NetworkFilterInput

Example
{
  "and": [NetworkFilterInput],
  "or": [NetworkFilterInput],
  "not": [NetworkFilterInput],
  "id": NetworkFilterId,
  "label": NetworkFilterLabel,
  "driver": NetworkFilterDriver,
  "internal": NetworkFilterInternal,
  "enableIpv6": NetworkFilterEnableIpv6,
  "options": NetworkFilterOptions,
  "containers": ContainerFilterInput,
  "devices": DeviceFilterInput
}

NetworkFilterInternal

Fields
Input Field Description
isNil - Boolean
eq - Boolean
notEq - Boolean
in - [Boolean!]
lessThan - Boolean
greaterThan - Boolean
lessThanOrEqual - Boolean
greaterThanOrEqual - Boolean
Example
{
  "isNil": false,
  "eq": false,
  "notEq": false,
  "in": [true],
  "lessThan": false,
  "greaterThan": false,
  "lessThanOrEqual": false,
  "greaterThanOrEqual": false
}

NetworkFilterLabel

Fields
Input Field Description
isNil - Boolean
eq - String
notEq - String
in - [String]
lessThan - String
greaterThan - String
lessThanOrEqual - String
greaterThanOrEqual - String
like - String
ilike - String
Example
{
  "isNil": true,
  "eq": "xyz789",
  "notEq": "xyz789",
  "in": ["xyz789"],
  "lessThan": "xyz789",
  "greaterThan": "abc123",
  "lessThanOrEqual": "abc123",
  "greaterThanOrEqual": "abc123",
  "like": "xyz789",
  "ilike": "xyz789"
}

NetworkFilterOptions

Fields
Input Field Description
isNil - Boolean
eq - JsonString
notEq - JsonString
in - [JsonString!]
lessThan - JsonString
greaterThan - JsonString
lessThanOrEqual - JsonString
greaterThanOrEqual - JsonString
Example
{
  "isNil": true,
  "eq": JsonString,
  "notEq": JsonString,
  "in": [JsonString],
  "lessThan": JsonString,
  "greaterThan": JsonString,
  "lessThanOrEqual": JsonString,
  "greaterThanOrEqual": JsonString
}

NetworkInterface

Description

Describes a network interface of a device.

Fields
Field Name Description
name - String! The identifier of the network interface.
macAddress - String The normalized physical address.
technology - NetworkInterfaceTechnology The connection technology.
Example
{
  "name": "abc123",
  "macAddress": "xyz789",
  "technology": "ETHERNET"
}

NetworkInterfaceTechnology

Values
Enum Value Description

ETHERNET

Ethernet.

BLUETOOTH

Bluetooth.

CELLULAR

Cellular.

WIFI

WiFi.
Example
"ETHERNET"

NetworkSortField

Values
Enum Value Description

ID

LABEL

DRIVER

INTERNAL

ENABLE_IPV6

OPTIONS

Example
"ID"

NetworkSortInput

Fields
Input Field Description
order - SortOrder
field - NetworkSortField!
Example
{"order": "DESC", "field": "ID"}

NetworkStatus

Description

Describe the available networks on the device.

Fields
Field Name Description
id - String The network id.
created - Boolean Whether the network has been created.
Example
{"id": "xyz789", "created": true}

Node

Description

A relay node

Fields
Field Name Description
id - ID! A unique identifier
Example
{"id": 4}

OsInfo

Description

Describes an operating system of a device.

Fields
Field Name Description
name - String The name of the operating system.
version - String The version of the operating system.
Example
{
  "name": "xyz789",
  "version": "abc123"
}

OtaOperation

Description

An OTA update operation

Fields
Field Name Description
id - ID!
baseImageUrl - String! The URL of the base image being installed on the device
status - OtaOperationStatus! The current status of the operation
statusProgress - Int! The percentage progress [0-100] for the current status
statusCode - OtaOperationStatusCode The current status code of the operation
message - String A message with additional details about the current status
createdAt - DateTime! The creation timestamp of the operation
updatedAt - DateTime! The timestamp of the last update to the operation
device - Device! The device targeted from the operation
updateTarget - UpdateTarget The update target of an update campaing that created the managed ota operation, if any.
Example
{
  "id": "4",
  "baseImageUrl": "abc123",
  "status": "PENDING",
  "statusProgress": 987,
  "statusCode": "REQUEST_TIMEOUT",
  "message": "abc123",
  "createdAt": "2007-12-03T10:15:30Z",
  "updatedAt": "2007-12-03T10:15:30Z",
  "device": Device,
  "updateTarget": UpdateTarget
}

OtaOperationConnection

Description

:ota_operation connection

Fields
Field Name Description
count - Int Total count on all pages
pageInfo - PageInfo! Page information
edges - [OtaOperationEdge!] :ota_operation edges
Example
{
  "count": 123,
  "pageInfo": PageInfo,
  "edges": [OtaOperationEdge]
}

OtaOperationEdge

Description

:ota_operation edge

Fields
Field Name Description
cursor - String! Cursor
node - OtaOperation! :ota_operation node
Example
{
  "cursor": "abc123",
  "node": OtaOperation
}

OtaOperationFilterBaseImageUrl

Fields
Input Field Description
isNil - Boolean
eq - String
notEq - String
in - [String!]
lessThan - String
greaterThan - String
lessThanOrEqual - String
greaterThanOrEqual - String
like - String
ilike - String
Example
{
  "isNil": true,
  "eq": "abc123",
  "notEq": "xyz789",
  "in": ["abc123"],
  "lessThan": "xyz789",
  "greaterThan": "abc123",
  "lessThanOrEqual": "xyz789",
  "greaterThanOrEqual": "abc123",
  "like": "xyz789",
  "ilike": "xyz789"
}

OtaOperationFilterCreatedAt

Fields
Input Field Description
isNil - Boolean
eq - DateTime
notEq - DateTime
in - [DateTime!]
lessThan - DateTime
greaterThan - DateTime
lessThanOrEqual - DateTime
greaterThanOrEqual - DateTime
Example
{
  "isNil": true,
  "eq": "2007-12-03T10:15:30Z",
  "notEq": "2007-12-03T10:15:30Z",
  "in": ["2007-12-03T10:15:30Z"],
  "lessThan": "2007-12-03T10:15:30Z",
  "greaterThan": "2007-12-03T10:15:30Z",
  "lessThanOrEqual": "2007-12-03T10:15:30Z",
  "greaterThanOrEqual": "2007-12-03T10:15:30Z"
}

OtaOperationFilterId

Fields
Input Field Description
isNil - Boolean
eq - ID
notEq - ID
in - [ID!]
lessThan - ID
greaterThan - ID
lessThanOrEqual - ID
greaterThanOrEqual - ID
Example
{
  "isNil": false,
  "eq": 4,
  "notEq": "4",
  "in": ["4"],
  "lessThan": "4",
  "greaterThan": 4,
  "lessThanOrEqual": "4",
  "greaterThanOrEqual": "4"
}

OtaOperationFilterInput

Fields
Input Field Description
and - [OtaOperationFilterInput!]
or - [OtaOperationFilterInput!]
not - [OtaOperationFilterInput!]
id - OtaOperationFilterId
baseImageUrl - OtaOperationFilterBaseImageUrl The URL of the base image being installed on the device
status - OtaOperationFilterStatus The current status of the operation
statusProgress - OtaOperationFilterStatusProgress The percentage progress [0-100] for the current status
statusCode - OtaOperationFilterStatusCode The current status code of the operation
message - OtaOperationFilterMessage A message with additional details about the current status
createdAt - OtaOperationFilterCreatedAt The creation timestamp of the operation
updatedAt - OtaOperationFilterUpdatedAt The timestamp of the last update to the operation
device - DeviceFilterInput The device targeted from the operation
updateTarget - UpdateTargetFilterInput The update target of an update campaing that created the managed ota operation, if any.
Example
{
  "and": [OtaOperationFilterInput],
  "or": [OtaOperationFilterInput],
  "not": [OtaOperationFilterInput],
  "id": OtaOperationFilterId,
  "baseImageUrl": OtaOperationFilterBaseImageUrl,
  "status": OtaOperationFilterStatus,
  "statusProgress": OtaOperationFilterStatusProgress,
  "statusCode": OtaOperationFilterStatusCode,
  "message": OtaOperationFilterMessage,
  "createdAt": OtaOperationFilterCreatedAt,
  "updatedAt": OtaOperationFilterUpdatedAt,
  "device": DeviceFilterInput,
  "updateTarget": UpdateTargetFilterInput
}

OtaOperationFilterMessage

Fields
Input Field Description
isNil - Boolean
eq - String
notEq - String
in - [String]
lessThan - String
greaterThan - String
lessThanOrEqual - String
greaterThanOrEqual - String
like - String
ilike - String
Example
{
  "isNil": false,
  "eq": "xyz789",
  "notEq": "xyz789",
  "in": ["xyz789"],
  "lessThan": "xyz789",
  "greaterThan": "xyz789",
  "lessThanOrEqual": "abc123",
  "greaterThanOrEqual": "abc123",
  "like": "abc123",
  "ilike": "xyz789"
}

OtaOperationFilterStatus

Fields
Input Field Description
isNil - Boolean
eq - OtaOperationStatus
notEq - OtaOperationStatus
in - [OtaOperationStatus!]
lessThan - OtaOperationStatus
greaterThan - OtaOperationStatus
lessThanOrEqual - OtaOperationStatus
greaterThanOrEqual - OtaOperationStatus
Example
{
  "isNil": true,
  "eq": "PENDING",
  "notEq": "PENDING",
  "in": ["PENDING"],
  "lessThan": "PENDING",
  "greaterThan": "PENDING",
  "lessThanOrEqual": "PENDING",
  "greaterThanOrEqual": "PENDING"
}

OtaOperationFilterStatusCode

Fields
Input Field Description
isNil - Boolean
eq - OtaOperationStatusCode
notEq - OtaOperationStatusCode
in - [OtaOperationStatusCode]
lessThan - OtaOperationStatusCode
greaterThan - OtaOperationStatusCode
lessThanOrEqual - OtaOperationStatusCode
greaterThanOrEqual - OtaOperationStatusCode
Example
{
  "isNil": false,
  "eq": "REQUEST_TIMEOUT",
  "notEq": "REQUEST_TIMEOUT",
  "in": ["REQUEST_TIMEOUT"],
  "lessThan": "REQUEST_TIMEOUT",
  "greaterThan": "REQUEST_TIMEOUT",
  "lessThanOrEqual": "REQUEST_TIMEOUT",
  "greaterThanOrEqual": "REQUEST_TIMEOUT"
}

OtaOperationFilterStatusProgress

Fields
Input Field Description
isNil - Boolean
eq - Int
notEq - Int
in - [Int!]
lessThan - Int
greaterThan - Int
lessThanOrEqual - Int
greaterThanOrEqual - Int
Example
{
  "isNil": false,
  "eq": 123,
  "notEq": 987,
  "in": [987],
  "lessThan": 123,
  "greaterThan": 123,
  "lessThanOrEqual": 987,
  "greaterThanOrEqual": 987
}

OtaOperationFilterUpdatedAt

Fields
Input Field Description
isNil - Boolean
eq - DateTime
notEq - DateTime
in - [DateTime!]
lessThan - DateTime
greaterThan - DateTime
lessThanOrEqual - DateTime
greaterThanOrEqual - DateTime
Example
{
  "isNil": false,
  "eq": "2007-12-03T10:15:30Z",
  "notEq": "2007-12-03T10:15:30Z",
  "in": ["2007-12-03T10:15:30Z"],
  "lessThan": "2007-12-03T10:15:30Z",
  "greaterThan": "2007-12-03T10:15:30Z",
  "lessThanOrEqual": "2007-12-03T10:15:30Z",
  "greaterThanOrEqual": "2007-12-03T10:15:30Z"
}

OtaOperationSortField

Values
Enum Value Description

ID

BASE_IMAGE_URL

STATUS

STATUS_PROGRESS

STATUS_CODE

MESSAGE

CREATED_AT

UPDATED_AT

Example
"ID"

OtaOperationSortInput

Fields
Input Field Description
order - SortOrder
field - OtaOperationSortField!
Example
{"order": "DESC", "field": "ID"}

OtaOperationStatus

Values
Enum Value Description

PENDING

The OTA operation was created and is waiting an acknowledgment from the device

ACKNOWLEDGED

The OTA operation was acknowledged from the device

DOWNLOADING

The device is downloading the update

DEPLOYING

The device is deploying the update

DEPLOYED

The device deployed the update

REBOOTING

The device is in the process of rebooting

ERROR

A recoverable error happened during the OTA operation

FAILURE

The OTA operation ended with a failure. This is a final state of the OTA Operation

SUCCESS

The OTA operation ended successfully. This is a final state of the OTA Operation
Example
"PENDING"

OtaOperationStatusCode

Values
Enum Value Description

REQUEST_TIMEOUT

The OTA Operation timed out while sending the request to the device

INVALID_REQUEST

The OTA Operation contained invalid data

UPDATE_ALREADY_IN_PROGRESS

An OTA Operation is already in progress on the device

NETWORK_ERROR

A network error was encountered

IO_ERROR

An IO error was encountered

INTERNAL_ERROR

An internal error was encountered

INVALID_BASE_IMAGE

The OTA Operation failed due to an invalid base image

SYSTEM_ROLLBACK

A system rollback has occurred

CANCELED

The OTA Operation was canceled
Example
"REQUEST_TIMEOUT"

PageInfo

Description

A relay page info

Fields
Field Name Description
hasPreviousPage - Boolean! When paginating backwards, are there more items?
hasNextPage - Boolean! When paginating forwards, are there more items?
startCursor - String When paginating backwards, the cursor to continue
endCursor - String When paginating forwards, the cursor to continue
Example
{
  "hasPreviousPage": true,
  "hasNextPage": true,
  "startCursor": "xyz789",
  "endCursor": "abc123"
}

Position

Description

Describes the position of a device.

The field holds information about the GPS coordinates of the device, which are estimated by means of Edgehog's geolocation modules and the data published by the device.

Fields
Field Name Description
latitude - Float! The latitude coordinate.
longitude - Float! The longitude coordinate.
accuracy - Float The accuracy of the measurement, in meters.
altitude - Float The altitude coordinate.
altitudeAccuracy - Float The accuracy of the altitude measurement, in meters.
heading - Float The measured heading.
speed - Float The measured speed.
timestamp - DateTime! The date and time at which the measurement was made.
source - String Describes how the position was calculated.
Example
{
  "latitude": 123.45,
  "longitude": 123.45,
  "accuracy": 987.65,
  "altitude": 987.65,
  "altitudeAccuracy": 987.65,
  "heading": 123.45,
  "speed": 987.65,
  "timestamp": "2007-12-03T10:15:30Z",
  "source": "xyz789"
}

PushRollout

Description

An object representing the properties of a Push Rollout Mechanism.

Fields
Field Name Description
forceDowngrade - Boolean! This boolean flag determines if the Base Image will be pushed to the Device even if it already has a greater version of the Base Image.
maxFailurePercentage - Float! The maximum percentage of failures allowed over the number of total targets. If the failures exceed this threshold, the Update Campaign terminates with a failure.
maxInProgressUpdates - Int! The maximum number of in progress updates. The Update Campaign will have at most this number of OTA Operations that are started but not yet finished (either successfully or not).
otaRequestRetries - Int! The number of attempts that have to be tried before giving up on the update of a specific target (and considering it an error). Note that the update is retried only if the OTA Request doesn't get acknowledged from the device.
otaRequestTimeoutSeconds - Int! The timeout (in seconds) Edgehog has to wait before considering an OTA Request lost (and possibly retry). It must be at least 30 seconds.
Example
{
  "forceDowngrade": false,
  "maxFailurePercentage": 123.45,
  "maxInProgressUpdates": 987,
  "otaRequestRetries": 987,
  "otaRequestTimeoutSeconds": 987
}

Release

Fields
Field Name Description
id - ID!
version - String!
applicationId - ID
application - Application
deployments - DeploymentConnection!
Arguments
sort - [DeploymentSortInput]

How to sort the records in the response

filter - DeploymentFilterInput

A filter to limit the results

first - Int

The number of records to return from the beginning. Maximum 250

before - String

Show records before the specified keyset.

after - String

Show records after the specified keyset.

last - Int

The number of records to return to the end. Maximum 250

containers - ContainerConnection!
Arguments
sort - [ContainerSortInput]

How to sort the records in the response

filter - ContainerFilterInput

A filter to limit the results

first - Int

The number of records to return from the beginning. Maximum 250

before - String

Show records before the specified keyset.

after - String

Show records after the specified keyset.

last - Int

The number of records to return to the end. Maximum 250

systemModels - [SystemModel!]!
Arguments
sort - [SystemModelSortInput]

How to sort the records in the response

filter - SystemModelFilterInput

A filter to limit the results

limit - Int

The number of records to return.

offset - Int

The number of records to skip.

Example
{
  "id": 4,
  "version": "xyz789",
  "applicationId": 4,
  "application": Application,
  "deployments": DeploymentConnection,
  "containers": ContainerConnection,
  "systemModels": [SystemModel]
}

ReleaseConnection

Description

:release connection

Fields
Field Name Description
count - Int Total count on all pages
pageInfo - PageInfo! Page information
edges - [ReleaseEdge!] :release edges
Example
{
  "count": 987,
  "pageInfo": PageInfo,
  "edges": [ReleaseEdge]
}

ReleaseCreateContainersInput

Fields
Input Field Description
env - JsonString
id - ID
memory - Int
image - ContainerCreateWithNestedImageInput
hostname - String
networks - [ContainerCreateWithNestedNetworksInput!]
volumes - [ContainerCreateWithNestedVolumesInput!]
tmpfs - [String!]
privileged - Boolean
deviceMappings - [ContainerCreateWithNestedDeviceMappingsInput!]
portBindings - [String!]
restartPolicy - String
networkMode - String
extraHosts - [String!]
capAdd - [String!]
capDrop - [String!]
cpuPeriod - Int
cpuQuota - Int
cpuRealtimePeriod - Int
cpuRealtimeRuntime - Int
memoryReservation - Int
memorySwap - Int
memorySwappiness - Int
volumeDriver - String
storageOpt - [String!]
readOnlyRootfs - Boolean
Example
{
  "env": JsonString,
  "id": 4,
  "memory": 123,
  "image": ContainerCreateWithNestedImageInput,
  "hostname": "abc123",
  "networks": [ContainerCreateWithNestedNetworksInput],
  "volumes": [ContainerCreateWithNestedVolumesInput],
  "tmpfs": ["abc123"],
  "privileged": false,
  "deviceMappings": [
    ContainerCreateWithNestedDeviceMappingsInput
  ],
  "portBindings": ["xyz789"],
  "restartPolicy": "xyz789",
  "networkMode": "xyz789",
  "extraHosts": ["abc123"],
  "capAdd": ["abc123"],
  "capDrop": ["xyz789"],
  "cpuPeriod": 123,
  "cpuQuota": 987,
  "cpuRealtimePeriod": 123,
  "cpuRealtimeRuntime": 123,
  "memoryReservation": 123,
  "memorySwap": 987,
  "memorySwappiness": 123,
  "volumeDriver": "abc123",
  "storageOpt": ["abc123"],
  "readOnlyRootfs": false
}

ReleaseCreateRequiredSystemModelsInput

Fields
Input Field Description
id - ID
Example
{"id": 4}

ReleaseEdge

Description

:release edge

Fields
Field Name Description
cursor - String! Cursor
node - Release! :release node
Example
{
  "cursor": "abc123",
  "node": Release
}

ReleaseFilterApplicationId

Fields
Input Field Description
isNil - Boolean
eq - ID
notEq - ID
in - [ID]
lessThan - ID
greaterThan - ID
lessThanOrEqual - ID
greaterThanOrEqual - ID
Example
{
  "isNil": false,
  "eq": 4,
  "notEq": 4,
  "in": ["4"],
  "lessThan": "4",
  "greaterThan": "4",
  "lessThanOrEqual": "4",
  "greaterThanOrEqual": "4"
}

ReleaseFilterId

Fields
Input Field Description
isNil - Boolean
eq - ID
notEq - ID
in - [ID!]
lessThan - ID
greaterThan - ID
lessThanOrEqual - ID
greaterThanOrEqual - ID
Example
{
  "isNil": false,
  "eq": 4,
  "notEq": "4",
  "in": [4],
  "lessThan": "4",
  "greaterThan": 4,
  "lessThanOrEqual": "4",
  "greaterThanOrEqual": "4"
}

ReleaseFilterInput

Fields
Input Field Description
and - [ReleaseFilterInput!]
or - [ReleaseFilterInput!]
not - [ReleaseFilterInput!]
id - ReleaseFilterId
version - ReleaseFilterVersion
applicationId - ReleaseFilterApplicationId
application - ApplicationFilterInput
deployments - DeploymentFilterInput
containers - ContainerFilterInput
systemModels - SystemModelFilterInput
Example
{
  "and": [ReleaseFilterInput],
  "or": [ReleaseFilterInput],
  "not": [ReleaseFilterInput],
  "id": ReleaseFilterId,
  "version": ReleaseFilterVersion,
  "applicationId": ReleaseFilterApplicationId,
  "application": ApplicationFilterInput,
  "deployments": DeploymentFilterInput,
  "containers": ContainerFilterInput,
  "systemModels": SystemModelFilterInput
}

ReleaseFilterVersion

Fields
Input Field Description
isNil - Boolean
eq - String
notEq - String
in - [String!]
lessThan - String
greaterThan - String
lessThanOrEqual - String
greaterThanOrEqual - String
like - String
ilike - String
Example
{
  "isNil": true,
  "eq": "abc123",
  "notEq": "abc123",
  "in": ["abc123"],
  "lessThan": "xyz789",
  "greaterThan": "xyz789",
  "lessThanOrEqual": "abc123",
  "greaterThanOrEqual": "xyz789",
  "like": "abc123",
  "ilike": "abc123"
}

ReleaseSortField

Values
Enum Value Description

ID

VERSION

APPLICATION_ID

Example
"ID"

ReleaseSortInput

Fields
Input Field Description
order - SortOrder
field - ReleaseSortField!
Example
{"order": "DESC", "field": "ID"}

RemoveDeviceTagsInput

Fields
Input Field Description
tags - [String!]!
Example
{"tags": ["abc123"]}

RemoveDeviceTagsResult

Description

The result of the :remove_device_tags mutation

Fields
Field Name Description
result - Device The successful result of the mutation
errors - [MutationError!]! Any errors generated, if the mutation failed
Example
{
  "result": Device,
  "errors": [MutationError]
}

RequestForwarderSessionInput

Fields
Input Field Description
deviceId - ID!
Example
{"deviceId": "4"}

RolloutMechanism

Types
Union Types

PushRollout

Example
PushRollout

RolloutMechanismInput

Fields
Input Field Description
push - UpdateCampaignRolloutMechanismPushInput
Example
{"push": UpdateCampaignRolloutMechanismPushInput}

RuntimeInfo

Description

Describes an Edgehog runtime.

Fields
Field Name Description
name - String The name of the Edgehog runtime.
version - String The version of the Edgehog runtime.
environment - String The environment of the Edgehog runtime.
url - String The URL that uniquely identifies the Edgehog runtime implementation.
Example
{
  "name": "abc123",
  "version": "xyz789",
  "environment": "abc123",
  "url": "abc123"
}

SetDeviceLedBehaviorInput

Fields
Input Field Description
behavior - DeviceLedBehavior! The led behavior.
Example
{"behavior": "BLINK"}

SetDeviceLedBehaviorResult

Description

The result of the :set_device_led_behavior mutation

Fields
Field Name Description
result - Device The successful result of the mutation
errors - [MutationError!]! Any errors generated, if the mutation failed
Example
{
  "result": Device,
  "errors": [MutationError]
}

SortOrder

Values
Enum Value Description

DESC

DESC_NULLS_FIRST

DESC_NULLS_LAST

ASC

ASC_NULLS_FIRST

ASC_NULLS_LAST

Example
"DESC"

StartDeploymentResult

Description

The result of the :start_deployment mutation

Fields
Field Name Description
result - Deployment The successful result of the mutation
errors - [MutationError!]! Any errors generated, if the mutation failed
Example
{
  "result": Deployment,
  "errors": [MutationError]
}

StopDeploymentResult

Description

The result of the :stop_deployment mutation

Fields
Field Name Description
result - Deployment The successful result of the mutation
errors - [MutationError!]! Any errors generated, if the mutation failed
Example
{
  "result": Deployment,
  "errors": [MutationError]
}

StorageUnit

Description

Describes the current usage of a storage unit on a device.

Fields
Field Name Description
label - String! The label of the storage unit.
totalBytes - Int The total number of bytes of the storage unit.
freeBytes - Int The number of free bytes of the storage unit.
Example
{
  "label": "abc123",
  "totalBytes": 987,
  "freeBytes": 123
}

String

Description

The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.

Example
"abc123"

SystemModel

Description

A system model corresponds to what the users thinks as functionally equivalent devices (e.g. two revisions of a device containing two different embedded chips but having the same enclosure and the same functionality). Each SystemModel must be associated to a specific HardwareType.

Fields
Field Name Description
id - ID!
handle - String!

The identifier of the system model.

It should start with a lower case ASCII letter and only contain lower case ASCII letters, digits and the hyphen - symbol.

name - String! The display name of the system model.
pictureUrl - String A URL to a picture representing the system model.
partNumbers - SystemModelPartNumberConnection! The list of part numbers associated with the system model.
Arguments
sort - [SystemModelPartNumberSortInput]

How to sort the records in the response

filter - SystemModelPartNumberFilterInput

A filter to limit the results

first - Int

The number of records to return from the beginning. Maximum 250

before - String

Show records before the specified keyset.

after - String

Show records after the specified keyset.

last - Int

The number of records to return to the end. Maximum 250

hardwareType - HardwareType The Hardware type associated with the System Model
releases - [Release!]! The various application releases that require the system model to be deployed.
Arguments
sort - [ReleaseSortInput]

How to sort the records in the response

filter - ReleaseFilterInput

A filter to limit the results

limit - Int

The number of records to return.

offset - Int

The number of records to skip.

localizedDescriptions - [LocalizedAttribute!] A list of descriptions in different languages.
Arguments
preferredLanguageTags - [String!]
Example
{
  "id": "4",
  "handle": "abc123",
  "name": "xyz789",
  "pictureUrl": "abc123",
  "partNumbers": SystemModelPartNumberConnection,
  "hardwareType": HardwareType,
  "releases": [Release],
  "localizedDescriptions": [LocalizedAttribute]
}

SystemModelConnection

Description

:system_model connection

Fields
Field Name Description
count - Int Total count on all pages
pageInfo - PageInfo! Page information
edges - [SystemModelEdge!] :system_model edges
Example
{
  "count": 987,
  "pageInfo": PageInfo,
  "edges": [SystemModelEdge]
}

SystemModelEdge

Description

:system_model edge

Fields
Field Name Description
cursor - String! Cursor
node - SystemModel! :system_model node
Example
{
  "cursor": "xyz789",
  "node": SystemModel
}

SystemModelFilterHandle

Fields
Input Field Description
isNil - Boolean
eq - String
notEq - String
in - [String!]
lessThan - String
greaterThan - String
lessThanOrEqual - String
greaterThanOrEqual - String
like - String
ilike - String
Example
{
  "isNil": false,
  "eq": "abc123",
  "notEq": "abc123",
  "in": ["xyz789"],
  "lessThan": "xyz789",
  "greaterThan": "abc123",
  "lessThanOrEqual": "xyz789",
  "greaterThanOrEqual": "xyz789",
  "like": "xyz789",
  "ilike": "abc123"
}

SystemModelFilterId

Fields
Input Field Description
isNil - Boolean
eq - Int
notEq - Int
in - [Int!]
lessThan - Int
greaterThan - Int
lessThanOrEqual - Int
greaterThanOrEqual - Int
Example
{
  "isNil": true,
  "eq": 123,
  "notEq": 123,
  "in": [123],
  "lessThan": 987,
  "greaterThan": 987,
  "lessThanOrEqual": 123,
  "greaterThanOrEqual": 123
}

SystemModelFilterInput

Fields
Input Field Description
and - [SystemModelFilterInput!]
or - [SystemModelFilterInput!]
not - [SystemModelFilterInput!]
id - SystemModelFilterId
handle - SystemModelFilterHandle

The identifier of the system model.

It should start with a lower case ASCII letter and only contain lower case ASCII letters, digits and the hyphen - symbol.

name - SystemModelFilterName The display name of the system model.
pictureUrl - SystemModelFilterPictureUrl A URL to a picture representing the system model.
partNumbers - SystemModelPartNumberFilterInput The list of part numbers associated with the system model.
hardwareType - HardwareTypeFilterInput The Hardware type associated with the System Model
releases - ReleaseFilterInput The various application releases that require the system model to be deployed.
Example
{
  "and": [SystemModelFilterInput],
  "or": [SystemModelFilterInput],
  "not": [SystemModelFilterInput],
  "id": SystemModelFilterId,
  "handle": SystemModelFilterHandle,
  "name": SystemModelFilterName,
  "pictureUrl": SystemModelFilterPictureUrl,
  "partNumbers": SystemModelPartNumberFilterInput,
  "hardwareType": HardwareTypeFilterInput,
  "releases": ReleaseFilterInput
}

SystemModelFilterName

Fields
Input Field Description
isNil - Boolean
eq - String
notEq - String
in - [String!]
lessThan - String
greaterThan - String
lessThanOrEqual - String
greaterThanOrEqual - String
like - String
ilike - String
Example
{
  "isNil": false,
  "eq": "abc123",
  "notEq": "xyz789",
  "in": ["xyz789"],
  "lessThan": "abc123",
  "greaterThan": "abc123",
  "lessThanOrEqual": "abc123",
  "greaterThanOrEqual": "abc123",
  "like": "xyz789",
  "ilike": "abc123"
}

SystemModelFilterPictureUrl

Fields
Input Field Description
isNil - Boolean
eq - String
notEq - String
in - [String]
lessThan - String
greaterThan - String
lessThanOrEqual - String
greaterThanOrEqual - String
like - String
ilike - String
Example
{
  "isNil": true,
  "eq": "xyz789",
  "notEq": "abc123",
  "in": ["abc123"],
  "lessThan": "abc123",
  "greaterThan": "abc123",
  "lessThanOrEqual": "abc123",
  "greaterThanOrEqual": "abc123",
  "like": "abc123",
  "ilike": "abc123"
}

SystemModelPartNumber

Fields
Field Name Description
id - ID!
partNumber - String! The part number identifier.
systemModel - SystemModel
Example
{
  "id": "4",
  "partNumber": "abc123",
  "systemModel": SystemModel
}

SystemModelPartNumberConnection

Description

:system_model_part_number connection

Fields
Field Name Description
count - Int Total count on all pages
pageInfo - PageInfo! Page information
edges - [SystemModelPartNumberEdge!] :system_model_part_number edges
Example
{
  "count": 987,
  "pageInfo": PageInfo,
  "edges": [SystemModelPartNumberEdge]
}

SystemModelPartNumberEdge

Description

:system_model_part_number edge

Fields
Field Name Description
cursor - String! Cursor
node - SystemModelPartNumber! :system_model_part_number node
Example
{
  "cursor": "abc123",
  "node": SystemModelPartNumber
}

SystemModelPartNumberFilterId

Fields
Input Field Description
isNil - Boolean
eq - Int
notEq - Int
in - [Int!]
lessThan - Int
greaterThan - Int
lessThanOrEqual - Int
greaterThanOrEqual - Int
Example
{
  "isNil": true,
  "eq": 987,
  "notEq": 123,
  "in": [987],
  "lessThan": 123,
  "greaterThan": 987,
  "lessThanOrEqual": 123,
  "greaterThanOrEqual": 123
}

SystemModelPartNumberFilterInput

Example
{
  "and": [SystemModelPartNumberFilterInput],
  "or": [SystemModelPartNumberFilterInput],
  "not": [SystemModelPartNumberFilterInput],
  "id": SystemModelPartNumberFilterId,
  "partNumber": SystemModelPartNumberFilterPartNumber,
  "systemModel": SystemModelFilterInput
}

SystemModelPartNumberFilterPartNumber

Fields
Input Field Description
isNil - Boolean
eq - String
notEq - String
in - [String!]
lessThan - String
greaterThan - String
lessThanOrEqual - String
greaterThanOrEqual - String
like - String
ilike - String
Example
{
  "isNil": false,
  "eq": "abc123",
  "notEq": "xyz789",
  "in": ["abc123"],
  "lessThan": "abc123",
  "greaterThan": "abc123",
  "lessThanOrEqual": "xyz789",
  "greaterThanOrEqual": "xyz789",
  "like": "abc123",
  "ilike": "xyz789"
}

SystemModelPartNumberSortField

Values
Enum Value Description

ID

PART_NUMBER

Example
"ID"

SystemModelPartNumberSortInput

Fields
Input Field Description
order - SortOrder
field - SystemModelPartNumberSortField!
Example
{"order": "DESC", "field": "ID"}

SystemModelSortField

Values
Enum Value Description

ID

HANDLE

NAME

PICTURE_URL

Example
"ID"

SystemModelSortInput

Fields
Input Field Description
order - SortOrder
field - SystemModelSortField!
Example
{"order": "DESC", "field": "ID"}

SystemStatus

Description

Describes the current status of the operating system of a device.

Fields
Field Name Description
bootId - String The identifier of the performed boot sequence.
memoryFreeBytes - Int The number of free bytes of memory.
taskCount - Int The number of running tasks on the system.
uptimeMilliseconds - Int The number of milliseconds since the last system boot.
timestamp - DateTime! The date at which the system status was read.
Example
{
  "bootId": "xyz789",
  "memoryFreeBytes": 123,
  "taskCount": 987,
  "uptimeMilliseconds": 123,
  "timestamp": "2007-12-03T10:15:30Z"
}

Tag

Description

A Tag that can be applied to a resource.

Fields
Field Name Description
id - ID!
name - String!
Example
{"id": 4, "name": "abc123"}

TagConnection

Description

:tag connection

Fields
Field Name Description
count - Int Total count on all pages
pageInfo - PageInfo! Page information
edges - [TagEdge!] :tag edges
Example
{
  "count": 123,
  "pageInfo": PageInfo,
  "edges": [TagEdge]
}

TagEdge

Description

:tag edge

Fields
Field Name Description
cursor - String! Cursor
node - Tag! :tag node
Example
{
  "cursor": "xyz789",
  "node": Tag
}

TagFilterId

Fields
Input Field Description
isNil - Boolean
eq - Int
notEq - Int
in - [Int!]
lessThan - Int
greaterThan - Int
lessThanOrEqual - Int
greaterThanOrEqual - Int
Example
{
  "isNil": false,
  "eq": 987,
  "notEq": 987,
  "in": [123],
  "lessThan": 987,
  "greaterThan": 123,
  "lessThanOrEqual": 123,
  "greaterThanOrEqual": 123
}

TagFilterInput

Fields
Input Field Description
and - [TagFilterInput!]
or - [TagFilterInput!]
not - [TagFilterInput!]
id - TagFilterId
name - TagFilterName
Example
{
  "and": [TagFilterInput],
  "or": [TagFilterInput],
  "not": [TagFilterInput],
  "id": TagFilterId,
  "name": TagFilterName
}

TagFilterName

Fields
Input Field Description
isNil - Boolean
eq - String
notEq - String
in - [String!]
lessThan - String
greaterThan - String
lessThanOrEqual - String
greaterThanOrEqual - String
like - String
ilike - String
Example
{
  "isNil": true,
  "eq": "abc123",
  "notEq": "xyz789",
  "in": ["xyz789"],
  "lessThan": "xyz789",
  "greaterThan": "xyz789",
  "lessThanOrEqual": "abc123",
  "greaterThanOrEqual": "abc123",
  "like": "xyz789",
  "ilike": "abc123"
}

TagSortField

Values
Enum Value Description

ID

NAME

Example
"ID"

TagSortInput

Fields
Input Field Description
order - SortOrder
field - TagSortField!
Example
{"order": "DESC", "field": "ID"}

TenantInfo

Fields
Field Name Description
id - ID!
name - String! The tenant name.
slug - String! The tenant slug.
defaultLocale - String! The default locale supported by the tenant.
Example
{
  "id": "4",
  "name": "abc123",
  "slug": "xyz789",
  "defaultLocale": "xyz789"
}

UpdateBaseImageCollectionInput

Fields
Input Field Description
name - String The display name of the base image collection.
handle - String

The identifier of the base image collection.

It should start with a lower case ASCII letter and only contain lower case ASCII letters, digits and the hyphen - symbol.

Example
{
  "name": "xyz789",
  "handle": "xyz789"
}

UpdateBaseImageCollectionResult

Description

The result of the :update_base_image_collection mutation

Fields
Field Name Description
result - BaseImageCollection The successful result of the mutation
errors - [MutationError!]! Any errors generated, if the mutation failed
Example
{
  "result": BaseImageCollection,
  "errors": [MutationError]
}

UpdateBaseImageInput

Fields
Input Field Description
startingVersionRequirement - String The starting version requirement for the base image.
localizedDescriptions - [LocalizedAttributeUpdateInput!] A list of descriptions in different languages.
localizedReleaseDisplayNames - [LocalizedAttributeUpdateInput!] A list of release display names in different languages.
Example
{
  "startingVersionRequirement": "xyz789",
  "localizedDescriptions": [
    LocalizedAttributeUpdateInput
  ],
  "localizedReleaseDisplayNames": [
    LocalizedAttributeUpdateInput
  ]
}

UpdateBaseImageResult

Description

The result of the :update_base_image mutation

Fields
Field Name Description
result - BaseImage The successful result of the mutation
errors - [MutationError!]! Any errors generated, if the mutation failed
Example
{
  "result": BaseImage,
  "errors": [MutationError]
}

UpdateCampaign

Description

Represents an UpdateCampaign.

An Update Campaign is the operation that tracks the distribution of a specific Base Image to all devices belonging to a Channel.

Fields
Field Name Description
id - ID!
name - String! The name of the update campaign.
status - UpdateCampaignStatus! The status of the update campaign.
outcome - UpdateCampaignOutcome The outcome of the update campaign, present only when it's finished.
rolloutMechanism - RolloutMechanism! The rollout mechanism used in the update campaign.
baseImage - BaseImage! The base image distributed by the update campaign.
channel - Channel! The channel targeted by the update campaign.
updateTargets - UpdateTargetConnection! The update targets belonging to the update campaign.
Arguments
sort - [UpdateTargetSortInput]

How to sort the records in the response

filter - UpdateTargetFilterInput

A filter to limit the results

first - Int

The number of records to return from the beginning. Maximum 250

before - String

Show records before the specified keyset.

after - String

Show records after the specified keyset.

last - Int

The number of records to return to the end. Maximum 250

totalTargetCount - Int! The total number of update targets.
idleTargetCount - Int! The number of update targets with an idle status.
inProgressTargetCount - Int! The number of update targets with an in-progress status.
failedTargetCount - Int! The number of update targets with a failed status.
successfulTargetCount - Int! The number of update targets with a successful status.
Example
{
  "id": 4,
  "name": "abc123",
  "status": "IDLE",
  "outcome": "SUCCESS",
  "rolloutMechanism": PushRollout,
  "baseImage": BaseImage,
  "channel": Channel,
  "updateTargets": UpdateTargetConnection,
  "totalTargetCount": 123,
  "idleTargetCount": 987,
  "inProgressTargetCount": 123,
  "failedTargetCount": 123,
  "successfulTargetCount": 987
}

UpdateCampaignConnection

Description

:update_campaign connection

Fields
Field Name Description
count - Int Total count on all pages
pageInfo - PageInfo! Page information
edges - [UpdateCampaignEdge!] :update_campaign edges
Example
{
  "count": 987,
  "pageInfo": PageInfo,
  "edges": [UpdateCampaignEdge]
}

UpdateCampaignEdge

Description

:update_campaign edge

Fields
Field Name Description
cursor - String! Cursor
node - UpdateCampaign! :update_campaign node
Example
{
  "cursor": "xyz789",
  "node": UpdateCampaign
}

UpdateCampaignFilterFailedTargetCount

Fields
Input Field Description
isNil - Boolean
eq - Int
notEq - Int
in - [Int]
lessThan - Int
greaterThan - Int
lessThanOrEqual - Int
greaterThanOrEqual - Int
Example
{
  "isNil": false,
  "eq": 123,
  "notEq": 123,
  "in": [987],
  "lessThan": 987,
  "greaterThan": 123,
  "lessThanOrEqual": 123,
  "greaterThanOrEqual": 987
}

UpdateCampaignFilterId

Fields
Input Field Description
isNil - Boolean
eq - Int
notEq - Int
in - [Int!]
lessThan - Int
greaterThan - Int
lessThanOrEqual - Int
greaterThanOrEqual - Int
Example
{
  "isNil": false,
  "eq": 987,
  "notEq": 987,
  "in": [987],
  "lessThan": 987,
  "greaterThan": 987,
  "lessThanOrEqual": 123,
  "greaterThanOrEqual": 987
}

UpdateCampaignFilterIdleTargetCount

Fields
Input Field Description
isNil - Boolean
eq - Int
notEq - Int
in - [Int]
lessThan - Int
greaterThan - Int
lessThanOrEqual - Int
greaterThanOrEqual - Int
Example
{
  "isNil": true,
  "eq": 987,
  "notEq": 123,
  "in": [987],
  "lessThan": 987,
  "greaterThan": 987,
  "lessThanOrEqual": 123,
  "greaterThanOrEqual": 987
}

UpdateCampaignFilterInProgressTargetCount

Fields
Input Field Description
isNil - Boolean
eq - Int
notEq - Int
in - [Int]
lessThan - Int
greaterThan - Int
lessThanOrEqual - Int
greaterThanOrEqual - Int
Example
{
  "isNil": true,
  "eq": 987,
  "notEq": 987,
  "in": [987],
  "lessThan": 987,
  "greaterThan": 987,
  "lessThanOrEqual": 123,
  "greaterThanOrEqual": 987
}

UpdateCampaignFilterInput

Fields
Input Field Description
and - [UpdateCampaignFilterInput!]
or - [UpdateCampaignFilterInput!]
not - [UpdateCampaignFilterInput!]
id - UpdateCampaignFilterId
name - UpdateCampaignFilterName The name of the update campaign.
status - UpdateCampaignFilterStatus The status of the update campaign.
outcome - UpdateCampaignFilterOutcome The outcome of the update campaign, present only when it's finished.
baseImage - BaseImageFilterInput The base image distributed by the update campaign.
channel - ChannelFilterInput The channel targeted by the update campaign.
updateTargets - UpdateTargetFilterInput The update targets belonging to the update campaign.
totalTargetCount - UpdateCampaignFilterTotalTargetCount The total number of update targets.
idleTargetCount - UpdateCampaignFilterIdleTargetCount The number of update targets with an idle status.
inProgressTargetCount - UpdateCampaignFilterInProgressTargetCount The number of update targets with an in-progress status.
failedTargetCount - UpdateCampaignFilterFailedTargetCount The number of update targets with a failed status.
successfulTargetCount - UpdateCampaignFilterSuccessfulTargetCount The number of update targets with a successful status.
Example
{
  "and": [UpdateCampaignFilterInput],
  "or": [UpdateCampaignFilterInput],
  "not": [UpdateCampaignFilterInput],
  "id": UpdateCampaignFilterId,
  "name": UpdateCampaignFilterName,
  "status": UpdateCampaignFilterStatus,
  "outcome": UpdateCampaignFilterOutcome,
  "baseImage": BaseImageFilterInput,
  "channel": ChannelFilterInput,
  "updateTargets": UpdateTargetFilterInput,
  "totalTargetCount": UpdateCampaignFilterTotalTargetCount,
  "idleTargetCount": UpdateCampaignFilterIdleTargetCount,
  "inProgressTargetCount": UpdateCampaignFilterInProgressTargetCount,
  "failedTargetCount": UpdateCampaignFilterFailedTargetCount,
  "successfulTargetCount": UpdateCampaignFilterSuccessfulTargetCount
}

UpdateCampaignFilterName

Fields
Input Field Description
isNil - Boolean
eq - String
notEq - String
in - [String!]
lessThan - String
greaterThan - String
lessThanOrEqual - String
greaterThanOrEqual - String
like - String
ilike - String
Example
{
  "isNil": false,
  "eq": "xyz789",
  "notEq": "xyz789",
  "in": ["xyz789"],
  "lessThan": "xyz789",
  "greaterThan": "abc123",
  "lessThanOrEqual": "xyz789",
  "greaterThanOrEqual": "abc123",
  "like": "xyz789",
  "ilike": "xyz789"
}

UpdateCampaignFilterOutcome

Fields
Input Field Description
isNil - Boolean
eq - UpdateCampaignOutcome
notEq - UpdateCampaignOutcome
in - [UpdateCampaignOutcome]
lessThan - UpdateCampaignOutcome
greaterThan - UpdateCampaignOutcome
lessThanOrEqual - UpdateCampaignOutcome
greaterThanOrEqual - UpdateCampaignOutcome
Example
{
  "isNil": false,
  "eq": "SUCCESS",
  "notEq": "SUCCESS",
  "in": ["SUCCESS"],
  "lessThan": "SUCCESS",
  "greaterThan": "SUCCESS",
  "lessThanOrEqual": "SUCCESS",
  "greaterThanOrEqual": "SUCCESS"
}

UpdateCampaignFilterStatus

Fields
Input Field Description
isNil - Boolean
eq - UpdateCampaignStatus
notEq - UpdateCampaignStatus
in - [UpdateCampaignStatus!]
lessThan - UpdateCampaignStatus
greaterThan - UpdateCampaignStatus
lessThanOrEqual - UpdateCampaignStatus
greaterThanOrEqual - UpdateCampaignStatus
Example
{
  "isNil": false,
  "eq": "IDLE",
  "notEq": "IDLE",
  "in": ["IDLE"],
  "lessThan": "IDLE",
  "greaterThan": "IDLE",
  "lessThanOrEqual": "IDLE",
  "greaterThanOrEqual": "IDLE"
}

UpdateCampaignFilterSuccessfulTargetCount

Fields
Input Field Description
isNil - Boolean
eq - Int
notEq - Int
in - [Int]
lessThan - Int
greaterThan - Int
lessThanOrEqual - Int
greaterThanOrEqual - Int
Example
{
  "isNil": false,
  "eq": 123,
  "notEq": 987,
  "in": [123],
  "lessThan": 123,
  "greaterThan": 987,
  "lessThanOrEqual": 123,
  "greaterThanOrEqual": 123
}

UpdateCampaignFilterTotalTargetCount

Fields
Input Field Description
isNil - Boolean
eq - Int
notEq - Int
in - [Int]
lessThan - Int
greaterThan - Int
lessThanOrEqual - Int
greaterThanOrEqual - Int
Example
{
  "isNil": false,
  "eq": 123,
  "notEq": 123,
  "in": [123],
  "lessThan": 123,
  "greaterThan": 987,
  "lessThanOrEqual": 987,
  "greaterThanOrEqual": 123
}

UpdateCampaignOutcome

Values
Enum Value Description

SUCCESS

The update campaign has finished succesfully.

FAILURE

The update campaign has finished with a failure.
Example
"SUCCESS"

UpdateCampaignRolloutMechanismPushInput

Fields
Input Field Description
maxFailurePercentage - Float The maximum percentage of failures allowed over the number of total targets. If the failures exceed this threshold, the Update Campaign terminates with a failure.
otaRequestTimeoutSeconds - Int The timeout (in seconds) Edgehog has to wait before considering an OTA Request lost (and possibly retry). It must be at least 30 seconds.
otaRequestRetries - Int The number of attempts that have to be tried before giving up on the update of a specific target (and considering it an error). Note that the update is retried only if the OTA Request doesn't get acknowledged from the device.
maxInProgressUpdates - Int The maximum number of in progress updates. The Update Campaign will have at most this number of OTA Operations that are started but not yet finished (either successfully or not).
forceDowngrade - Boolean This boolean flag determines if the Base Image will be pushed to the Device even if it already has a greater version of the Base Image.
Example
{
  "maxFailurePercentage": 123.45,
  "otaRequestTimeoutSeconds": 123,
  "otaRequestRetries": 123,
  "maxInProgressUpdates": 123,
  "forceDowngrade": false
}

UpdateCampaignSortField

Values
Enum Value Description

ID

NAME

STATUS

OUTCOME

TOTAL_TARGET_COUNT

IDLE_TARGET_COUNT

IN_PROGRESS_TARGET_COUNT

FAILED_TARGET_COUNT

SUCCESSFUL_TARGET_COUNT

Example
"ID"

UpdateCampaignSortInput

Fields
Input Field Description
order - SortOrder
field - UpdateCampaignSortField!
Example
{"order": "DESC", "field": "ID"}

UpdateCampaignStatus

Values
Enum Value Description

IDLE

The update campaign has been created but is not being rolled-out yet.

IN_PROGRESS

The update campaign is being rolled-out.

FINISHED

The update campaign has finished.
Example
"IDLE"

UpdateChannelInput

Fields
Input Field Description
handle - String

The identifier of the channel.

It should start with a lower case ASCII letter and only contain lower case ASCII letters, digits and the hyphen - symbol.

name - String The display name of the channel.
targetGroupIds - [ID!] The IDs of the target groups that are targeted by this channel.
Example
{
  "handle": "abc123",
  "name": "abc123",
  "targetGroupIds": [4]
}

UpdateChannelResult

Description

The result of the :update_channel mutation

Fields
Field Name Description
result - Channel The successful result of the mutation
errors - [MutationError!]! Any errors generated, if the mutation failed
Example
{
  "result": Channel,
  "errors": [MutationError]
}

UpdateDeviceGroupInput

Fields
Input Field Description
name - String The display name of the device group.
handle - String

The identifier of the device group.

It should start with a lower case ASCII letter and only contain lower case ASCII letters, digits and the hyphen - symbol.

selector - String

The Selector that will determine which devices belong to the device group.

This must be a valid selector expression, consult the Selector section of the Edgehog documentation for more information about Selectors.

Example
{
  "name": "xyz789",
  "handle": "xyz789",
  "selector": "xyz789"
}

UpdateDeviceGroupResult

Description

The result of the :update_device_group mutation

Fields
Field Name Description
result - DeviceGroup The successful result of the mutation
errors - [MutationError!]! Any errors generated, if the mutation failed
Example
{
  "result": DeviceGroup,
  "errors": [MutationError]
}

UpdateDeviceInput

Fields
Input Field Description
name - String The display name of the device.
Example
{"name": "xyz789"}

UpdateDeviceResult

Description

The result of the :update_device mutation

Fields
Field Name Description
result - Device The successful result of the mutation
errors - [MutationError!]! Any errors generated, if the mutation failed
Example
{
  "result": Device,
  "errors": [MutationError]
}

UpdateHardwareTypeInput

Fields
Input Field Description
handle - String

The identifier of the hardware type.

It should start with a lower case ASCII letter and only contain lower case ASCII letters, digits and the hyphen - symbol.

name - String The display name of the hardware type.
partNumbers - [String!] The list of part numbers associated with the hardware type.
Example
{
  "handle": "abc123",
  "name": "xyz789",
  "partNumbers": ["xyz789"]
}

UpdateHardwareTypeResult

Description

The result of the :update_hardware_type mutation

Fields
Field Name Description
result - HardwareType The successful result of the mutation
errors - [MutationError!]! Any errors generated, if the mutation failed
Example
{
  "result": HardwareType,
  "errors": [MutationError]
}

UpdateSystemModelInput

Fields
Input Field Description
handle - String

The identifier of the system model.

It should start with a lower case ASCII letter and only contain lower case ASCII letters, digits and the hyphen - symbol.

name - String The display name of the system model.
pictureUrl - String A URL to a picture representing the system model.
partNumbers - [String!] The list of part numbers associated with the system model.
pictureFile - Upload A picture representing the system model that will be uploaded to a bucket.
localizedDescriptions - [LocalizedAttributeUpdateInput!]

A list of descriptions in different languages.

If a language already exists it is updated. If a null value is passed, the language is deleted.

Example
{
  "handle": "xyz789",
  "name": "xyz789",
  "pictureUrl": "xyz789",
  "partNumbers": ["xyz789"],
  "pictureFile": Upload,
  "localizedDescriptions": [LocalizedAttributeUpdateInput]
}

UpdateSystemModelResult

Description

The result of the :update_system_model mutation

Fields
Field Name Description
result - SystemModel The successful result of the mutation
errors - [MutationError!]! Any errors generated, if the mutation failed
Example
{
  "result": SystemModel,
  "errors": [MutationError]
}

UpdateTarget

Description

Represents an UpdateTarget.

An Update Target is the target of an Update Campaign, which is composed by the targeted device and the status of the target in the linked Update Campaign.

Fields
Field Name Description
id - ID!
status - UpdateTargetStatus! The status of the update target.
retryCount - Int! The retry count of the update target. This indicates how many times Edgehog has tried to send an OTA update towards the device without receiving an ack.
latestAttempt - DateTime The timestamp of the latest attempt to update the update target.
completionTimestamp - DateTime The timestamp when the update target completed its update, either with a success or a failure.
updateCampaign - UpdateCampaign! The update campaign that is targeting the update target.
device - Device! The target device.
otaOperation - OtaOperation The OTA operation that tracks the update target in-progress update.
Example
{
  "id": "4",
  "status": "IDLE",
  "retryCount": 123,
  "latestAttempt": "2007-12-03T10:15:30Z",
  "completionTimestamp": "2007-12-03T10:15:30Z",
  "updateCampaign": UpdateCampaign,
  "device": Device,
  "otaOperation": OtaOperation
}

UpdateTargetConnection

Description

:update_target connection

Fields
Field Name Description
count - Int Total count on all pages
pageInfo - PageInfo! Page information
edges - [UpdateTargetEdge!] :update_target edges
Example
{
  "count": 123,
  "pageInfo": PageInfo,
  "edges": [UpdateTargetEdge]
}

UpdateTargetEdge

Description

:update_target edge

Fields
Field Name Description
cursor - String! Cursor
node - UpdateTarget! :update_target node
Example
{
  "cursor": "xyz789",
  "node": UpdateTarget
}

UpdateTargetFilterCompletionTimestamp

Fields
Input Field Description
isNil - Boolean
eq - DateTime
notEq - DateTime
in - [DateTime]
lessThan - DateTime
greaterThan - DateTime
lessThanOrEqual - DateTime
greaterThanOrEqual - DateTime
Example
{
  "isNil": true,
  "eq": "2007-12-03T10:15:30Z",
  "notEq": "2007-12-03T10:15:30Z",
  "in": ["2007-12-03T10:15:30Z"],
  "lessThan": "2007-12-03T10:15:30Z",
  "greaterThan": "2007-12-03T10:15:30Z",
  "lessThanOrEqual": "2007-12-03T10:15:30Z",
  "greaterThanOrEqual": "2007-12-03T10:15:30Z"
}

UpdateTargetFilterId

Fields
Input Field Description
isNil - Boolean
eq - Int
notEq - Int
in - [Int!]
lessThan - Int
greaterThan - Int
lessThanOrEqual - Int
greaterThanOrEqual - Int
Example
{
  "isNil": false,
  "eq": 123,
  "notEq": 987,
  "in": [987],
  "lessThan": 987,
  "greaterThan": 987,
  "lessThanOrEqual": 123,
  "greaterThanOrEqual": 123
}

UpdateTargetFilterInput

Fields
Input Field Description
and - [UpdateTargetFilterInput!]
or - [UpdateTargetFilterInput!]
not - [UpdateTargetFilterInput!]
id - UpdateTargetFilterId
status - UpdateTargetFilterStatus The status of the update target.
retryCount - UpdateTargetFilterRetryCount The retry count of the update target. This indicates how many times Edgehog has tried to send an OTA update towards the device without receiving an ack.
latestAttempt - UpdateTargetFilterLatestAttempt The timestamp of the latest attempt to update the update target.
completionTimestamp - UpdateTargetFilterCompletionTimestamp The timestamp when the update target completed its update, either with a success or a failure.
updateCampaign - UpdateCampaignFilterInput The update campaign that is targeting the update target.
device - DeviceFilterInput The target device.
otaOperation - OtaOperationFilterInput The OTA operation that tracks the update target in-progress update.
Example
{
  "and": [UpdateTargetFilterInput],
  "or": [UpdateTargetFilterInput],
  "not": [UpdateTargetFilterInput],
  "id": UpdateTargetFilterId,
  "status": UpdateTargetFilterStatus,
  "retryCount": UpdateTargetFilterRetryCount,
  "latestAttempt": UpdateTargetFilterLatestAttempt,
  "completionTimestamp": UpdateTargetFilterCompletionTimestamp,
  "updateCampaign": UpdateCampaignFilterInput,
  "device": DeviceFilterInput,
  "otaOperation": OtaOperationFilterInput
}

UpdateTargetFilterLatestAttempt

Fields
Input Field Description
isNil - Boolean
eq - DateTime
notEq - DateTime
in - [DateTime]
lessThan - DateTime
greaterThan - DateTime
lessThanOrEqual - DateTime
greaterThanOrEqual - DateTime
Example
{
  "isNil": true,
  "eq": "2007-12-03T10:15:30Z",
  "notEq": "2007-12-03T10:15:30Z",
  "in": ["2007-12-03T10:15:30Z"],
  "lessThan": "2007-12-03T10:15:30Z",
  "greaterThan": "2007-12-03T10:15:30Z",
  "lessThanOrEqual": "2007-12-03T10:15:30Z",
  "greaterThanOrEqual": "2007-12-03T10:15:30Z"
}

UpdateTargetFilterRetryCount

Fields
Input Field Description
isNil - Boolean
eq - Int
notEq - Int
in - [Int!]
lessThan - Int
greaterThan - Int
lessThanOrEqual - Int
greaterThanOrEqual - Int
Example
{
  "isNil": false,
  "eq": 987,
  "notEq": 987,
  "in": [123],
  "lessThan": 123,
  "greaterThan": 987,
  "lessThanOrEqual": 987,
  "greaterThanOrEqual": 987
}

UpdateTargetFilterStatus

Fields
Input Field Description
isNil - Boolean
eq - UpdateTargetStatus
notEq - UpdateTargetStatus
in - [UpdateTargetStatus!]
lessThan - UpdateTargetStatus
greaterThan - UpdateTargetStatus
lessThanOrEqual - UpdateTargetStatus
greaterThanOrEqual - UpdateTargetStatus
Example
{
  "isNil": true,
  "eq": "IDLE",
  "notEq": "IDLE",
  "in": ["IDLE"],
  "lessThan": "IDLE",
  "greaterThan": "IDLE",
  "lessThanOrEqual": "IDLE",
  "greaterThanOrEqual": "IDLE"
}

UpdateTargetSortField

Values
Enum Value Description

ID

STATUS

RETRY_COUNT

LATEST_ATTEMPT

COMPLETION_TIMESTAMP

Example
"ID"

UpdateTargetSortInput

Fields
Input Field Description
order - SortOrder
field - UpdateTargetSortField!
Example
{"order": "DESC", "field": "ID"}

UpdateTargetStatus

Values
Enum Value Description

IDLE

The update campaign is waiting for the OTA Request to be sent.

IN_PROGRESS

The update target is in progress.

FAILED

The update target has failed to be updated.

SUCCESSFUL

The update target was successfully updated.
Example
"IDLE"

UpgradeDeploymentInput

Fields
Input Field Description
target - ID!
Example
{"target": 4}

UpgradeDeploymentResult

Description

The result of the :upgrade_deployment mutation

Fields
Field Name Description
result - Deployment The successful result of the mutation
errors - [MutationError!]! Any errors generated, if the mutation failed
Example
{
  "result": Deployment,
  "errors": [MutationError]
}

Upload

Description

Represents an uploaded file.

Example
Upload

Volume

Fields
Field Name Description
id - ID!
label - String!
driver - String!
options - JsonString!
devices - DeviceConnection!
Arguments
sort - [DeviceSortInput]

How to sort the records in the response

filter - DeviceFilterInput

A filter to limit the results

first - Int

The number of records to return from the beginning. Maximum 250

before - String

Show records before the specified keyset.

after - String

Show records after the specified keyset.

last - Int

The number of records to return to the end. Maximum 250

Example
{
  "id": "4",
  "label": "abc123",
  "driver": "xyz789",
  "options": JsonString,
  "devices": DeviceConnection
}

VolumeConnection

Description

:volume connection

Fields
Field Name Description
count - Int Total count on all pages
pageInfo - PageInfo! Page information
edges - [VolumeEdge!] :volume edges
Example
{
  "count": 987,
  "pageInfo": PageInfo,
  "edges": [VolumeEdge]
}

VolumeDeployment

Fields
Field Name Description
id - ID!
state - String
containerDeployments - [ContainerDeployment!]!
Arguments
sort - [ContainerDeploymentSortInput]

How to sort the records in the response

filter - ContainerDeploymentFilterInput

A filter to limit the results

limit - Int

The number of records to return.

offset - Int

The number of records to skip.

Example
{
  "id": "4",
  "state": "xyz789",
  "containerDeployments": [ContainerDeployment]
}

VolumeDeploymentConnection

Description

:volume_deployment connection

Fields
Field Name Description
count - Int Total count on all pages
pageInfo - PageInfo! Page information
edges - [VolumeDeploymentEdge!] :volume_deployment edges
Example
{
  "count": 987,
  "pageInfo": PageInfo,
  "edges": [VolumeDeploymentEdge]
}

VolumeDeploymentEdge

Description

:volume_deployment edge

Fields
Field Name Description
cursor - String! Cursor
node - VolumeDeployment! :volume_deployment node
Example
{
  "cursor": "xyz789",
  "node": VolumeDeployment
}

VolumeDeploymentFilterId

Fields
Input Field Description
isNil - Boolean
eq - ID
notEq - ID
in - [ID!]
lessThan - ID
greaterThan - ID
lessThanOrEqual - ID
greaterThanOrEqual - ID
Example
{
  "isNil": true,
  "eq": 4,
  "notEq": 4,
  "in": [4],
  "lessThan": 4,
  "greaterThan": 4,
  "lessThanOrEqual": "4",
  "greaterThanOrEqual": "4"
}

VolumeDeploymentFilterInput

Example
{
  "and": [VolumeDeploymentFilterInput],
  "or": [VolumeDeploymentFilterInput],
  "not": [VolumeDeploymentFilterInput],
  "id": VolumeDeploymentFilterId,
  "state": VolumeDeploymentFilterState,
  "containerDeployments": ContainerDeploymentFilterInput
}

VolumeDeploymentFilterState

Fields
Input Field Description
isNil - Boolean
eq - String
notEq - String
in - [String]
lessThan - String
greaterThan - String
lessThanOrEqual - String
greaterThanOrEqual - String
Example
{
  "isNil": false,
  "eq": "abc123",
  "notEq": "abc123",
  "in": ["xyz789"],
  "lessThan": "xyz789",
  "greaterThan": "xyz789",
  "lessThanOrEqual": "abc123",
  "greaterThanOrEqual": "xyz789"
}

VolumeDeploymentSortField

Values
Enum Value Description

ID

STATE

Example
"ID"

VolumeDeploymentSortInput

Fields
Input Field Description
order - SortOrder
field - VolumeDeploymentSortField!
Example
{"order": "DESC", "field": "ID"}

VolumeEdge

Description

:volume edge

Fields
Field Name Description
cursor - String! Cursor
node - Volume! :volume node
Example
{
  "cursor": "xyz789",
  "node": Volume
}

VolumeFilterDriver

Fields
Input Field Description
isNil - Boolean
eq - String
notEq - String
in - [String!]
lessThan - String
greaterThan - String
lessThanOrEqual - String
greaterThanOrEqual - String
like - String
ilike - String
Example
{
  "isNil": true,
  "eq": "xyz789",
  "notEq": "abc123",
  "in": ["xyz789"],
  "lessThan": "abc123",
  "greaterThan": "abc123",
  "lessThanOrEqual": "xyz789",
  "greaterThanOrEqual": "xyz789",
  "like": "abc123",
  "ilike": "xyz789"
}

VolumeFilterId

Fields
Input Field Description
isNil - Boolean
eq - ID
notEq - ID
in - [ID!]
lessThan - ID
greaterThan - ID
lessThanOrEqual - ID
greaterThanOrEqual - ID
Example
{
  "isNil": false,
  "eq": "4",
  "notEq": 4,
  "in": ["4"],
  "lessThan": "4",
  "greaterThan": 4,
  "lessThanOrEqual": 4,
  "greaterThanOrEqual": "4"
}

VolumeFilterInput

Fields
Input Field Description
and - [VolumeFilterInput!]
or - [VolumeFilterInput!]
not - [VolumeFilterInput!]
id - VolumeFilterId
label - VolumeFilterLabel
driver - VolumeFilterDriver
options - VolumeFilterOptions
devices - DeviceFilterInput
Example
{
  "and": [VolumeFilterInput],
  "or": [VolumeFilterInput],
  "not": [VolumeFilterInput],
  "id": VolumeFilterId,
  "label": VolumeFilterLabel,
  "driver": VolumeFilterDriver,
  "options": VolumeFilterOptions,
  "devices": DeviceFilterInput
}

VolumeFilterLabel

Fields
Input Field Description
isNil - Boolean
eq - String
notEq - String
in - [String!]
lessThan - String
greaterThan - String
lessThanOrEqual - String
greaterThanOrEqual - String
like - String
ilike - String
Example
{
  "isNil": false,
  "eq": "abc123",
  "notEq": "xyz789",
  "in": ["abc123"],
  "lessThan": "abc123",
  "greaterThan": "xyz789",
  "lessThanOrEqual": "xyz789",
  "greaterThanOrEqual": "xyz789",
  "like": "abc123",
  "ilike": "abc123"
}

VolumeFilterOptions

Fields
Input Field Description
isNil - Boolean
eq - JsonString
notEq - JsonString
in - [JsonString!]
lessThan - JsonString
greaterThan - JsonString
lessThanOrEqual - JsonString
greaterThanOrEqual - JsonString
Example
{
  "isNil": false,
  "eq": JsonString,
  "notEq": JsonString,
  "in": [JsonString],
  "lessThan": JsonString,
  "greaterThan": JsonString,
  "lessThanOrEqual": JsonString,
  "greaterThanOrEqual": JsonString
}

VolumeSortField

Values
Enum Value Description

ID

LABEL

DRIVER

OPTIONS

Example
"ID"

VolumeSortInput

Fields
Input Field Description
order - SortOrder
field - VolumeSortField!
Example
{"order": "DESC", "field": "ID"}

VolumeStatus

Description

Describes the status of a volume on a device.

Fields
Field Name Description
id - String The volume id.
created - Boolean The volume status, wheather it was created or not.
Example
{"id": "abc123", "created": true}

WifiScanResult

Description

Describes the list of WiFi Access Points found by the device.

Fields
Field Name Description
channel - Int The channel used by the Access Point.
connected - Boolean Indicates whether the device is connected to the Access Point.
essid - String The ESSID advertised by the Access Point.
macAddress - String The MAC address advertised by the Access Point.
rssi - Int The power of the radio signal, measured in dBm.
timestamp - DateTime! The date at which the device found the Access Point.
Example
{
  "channel": 123,
  "connected": false,
  "essid": "xyz789",
  "macAddress": "xyz789",
  "rssi": 123,
  "timestamp": "2007-12-03T10:15:30Z"
}