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
baseImage
Description
Returns a single base image.
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": "xyz789",
"startingVersionRequirement": "xyz789",
"url": "xyz789",
"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 {
...BaseImageFragment
}
}
}
Variables
{"id": "4"}
Response
{
"data": {
"baseImageCollection": {
"id": 4,
"name": "xyz789",
"handle": "xyz789",
"systemModel": SystemModel,
"baseImages": [BaseImage]
}
}
}
baseImageCollections
Description
Returns a list of base image collections.
Response
Returns [BaseImageCollection!]!
Arguments
Name | Description |
---|---|
sort - [BaseImageCollectionSortInput]
|
How to sort the records in the response |
filter - BaseImageCollectionFilterInput
|
A filter to limit the results |
Example
Query
query baseImageCollections(
$sort: [BaseImageCollectionSortInput],
$filter: BaseImageCollectionFilterInput
) {
baseImageCollections(
sort: $sort,
filter: $filter
) {
id
name
handle
systemModel {
...SystemModelFragment
}
baseImages {
...BaseImageFragment
}
}
}
Variables
{
"sort": [BaseImageCollectionSortInput],
"filter": BaseImageCollectionFilterInput
}
Response
{
"data": {
"baseImageCollections": [
{
"id": 4,
"name": "abc123",
"handle": "xyz789",
"systemModel": SystemModel,
"baseImages": [BaseImage]
}
]
}
}
device
Description
Returns a single device.
Example
Query
query device($id: ID!) {
device(id: $id) {
id
deviceId
name
online
lastConnection
lastDisconnection
serialNumber
systemModel {
...SystemModelFragment
}
tags {
...TagFragment
}
deviceGroups {
...DeviceGroupFragment
}
otaOperations {
...OtaOperationFragment
}
capabilities
cellularConnection {
...ModemFragment
}
baseImage {
...BaseImageInfoFragment
}
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": [Tag],
"deviceGroups": [DeviceGroup],
"otaOperations": [OtaOperation],
"capabilities": ["BASE_IMAGE"],
"cellularConnection": [Modem],
"baseImage": BaseImageInfo,
"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
}
updateChannel {
...UpdateChannelFragment
}
}
}
Variables
{"id": 4}
Response
{
"data": {
"deviceGroup": {
"id": "4",
"name": "abc123",
"handle": "xyz789",
"selector": "xyz789",
"devices": [Device],
"updateChannel": UpdateChannel
}
}
}
deviceGroups
Description
Returns a list of device groups.
Response
Returns [DeviceGroup!]!
Arguments
Name | Description |
---|---|
sort - [DeviceGroupSortInput]
|
How to sort the records in the response |
filter - DeviceGroupFilterInput
|
A filter to limit the results |
Example
Query
query deviceGroups(
$sort: [DeviceGroupSortInput],
$filter: DeviceGroupFilterInput
) {
deviceGroups(
sort: $sort,
filter: $filter
) {
id
name
handle
selector
devices {
...DeviceFragment
}
updateChannel {
...UpdateChannelFragment
}
}
}
Variables
{
"sort": [DeviceGroupSortInput],
"filter": DeviceGroupFilterInput
}
Response
{
"data": {
"deviceGroups": [
{
"id": "4",
"name": "abc123",
"handle": "xyz789",
"selector": "xyz789",
"devices": [Device],
"updateChannel": UpdateChannel
}
]
}
}
devices
Description
Returns a list of devices.
Response
Returns [Device!]!
Arguments
Name | Description |
---|---|
sort - [DeviceSortInput]
|
How to sort the records in the response |
filter - DeviceFilterInput
|
A filter to limit the results |
Example
Query
query devices(
$sort: [DeviceSortInput],
$filter: DeviceFilterInput
) {
devices(
sort: $sort,
filter: $filter
) {
id
deviceId
name
online
lastConnection
lastDisconnection
serialNumber
systemModel {
...SystemModelFragment
}
tags {
...TagFragment
}
deviceGroups {
...DeviceGroupFragment
}
otaOperations {
...OtaOperationFragment
}
capabilities
cellularConnection {
...ModemFragment
}
baseImage {
...BaseImageInfoFragment
}
batteryStatus {
...BatterySlotFragment
}
hardwareInfo {
...HardwareInfoFragment
}
location {
...LocationFragment
}
networkInterfaces {
...NetworkInterfaceFragment
}
osInfo {
...OsInfoFragment
}
position {
...PositionFragment
}
runtimeInfo {
...RuntimeInfoFragment
}
storageUsage {
...StorageUnitFragment
}
systemStatus {
...SystemStatusFragment
}
wifiScanResults {
...WifiScanResultFragment
}
}
}
Variables
{
"sort": [DeviceSortInput],
"filter": DeviceFilterInput
}
Response
{
"data": {
"devices": [
{
"id": "4",
"deviceId": "abc123",
"name": "xyz789",
"online": false,
"lastConnection": "2007-12-03T10:15:30Z",
"lastDisconnection": "2007-12-03T10:15:30Z",
"serialNumber": "xyz789",
"systemModel": SystemModel,
"tags": [Tag],
"deviceGroups": [DeviceGroup],
"otaOperations": [OtaOperation],
"capabilities": ["BASE_IMAGE"],
"cellularConnection": [Modem],
"baseImage": BaseImageInfo,
"batteryStatus": [BatterySlot],
"hardwareInfo": HardwareInfo,
"location": Location,
"networkInterfaces": [NetworkInterface],
"osInfo": OsInfo,
"position": Position,
"runtimeInfo": RuntimeInfo,
"storageUsage": [StorageUnit],
"systemStatus": SystemStatus,
"wifiScanResults": [WifiScanResult]
}
]
}
}
existingDeviceTags
Description
Returns Tags currently assigned to some device.
Response
Returns [Tag!]!
Arguments
Name | Description |
---|---|
sort - [TagSortInput]
|
How to sort the records in the response |
filter - TagFilterInput
|
A filter to limit the results |
Example
Query
query existingDeviceTags(
$sort: [TagSortInput],
$filter: TagFilterInput
) {
existingDeviceTags(
sort: $sort,
filter: $filter
) {
id
name
}
}
Variables
{
"sort": [TagSortInput],
"filter": TagFilterInput
}
Response
{
"data": {
"existingDeviceTags": [
{"id": 4, "name": "xyz789"}
]
}
}
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": 123,
"secureSessions": true
}
}
}
forwarderSession
Description
Fetches a forwarder session by its token and the device ID.
Response
Returns a ForwarderSession
Example
Query
query forwarderSession(
$token: String!,
$deviceId: ID!
) {
forwarderSession(
token: $token,
deviceId: $deviceId
) {
id
token
status
forwarderHostname
forwarderPort
secure
}
}
Variables
{
"token": "abc123",
"deviceId": "4"
}
Response
{
"data": {
"forwarderSession": {
"id": 4,
"token": "xyz789",
"status": "CONNECTED",
"forwarderHostname": "xyz789",
"forwarderPort": 987,
"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 {
...HardwareTypePartNumberFragment
}
}
}
Variables
{"id": "4"}
Response
{
"data": {
"hardwareType": {
"id": 4,
"handle": "abc123",
"name": "xyz789",
"partNumbers": [HardwareTypePartNumber]
}
}
}
hardwareTypes
Description
Returns a list of hardware types.
Response
Returns [HardwareType!]!
Arguments
Name | Description |
---|---|
sort - [HardwareTypeSortInput]
|
How to sort the records in the response |
filter - HardwareTypeFilterInput
|
A filter to limit the results |
Example
Query
query hardwareTypes(
$sort: [HardwareTypeSortInput],
$filter: HardwareTypeFilterInput
) {
hardwareTypes(
sort: $sort,
filter: $filter
) {
id
handle
name
partNumbers {
...HardwareTypePartNumberFragment
}
}
}
Variables
{
"sort": [HardwareTypeSortInput],
"filter": HardwareTypeFilterInput
}
Response
{
"data": {
"hardwareTypes": [
{
"id": 4,
"handle": "abc123",
"name": "xyz789",
"partNumbers": [HardwareTypePartNumber]
}
]
}
}
node
Description
Retrieves a Node from its global id
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 {
...SystemModelPartNumberFragment
}
hardwareType {
...HardwareTypeFragment
}
localizedDescriptions {
...LocalizedAttributeFragment
}
}
}
Variables
{"id": 4}
Response
{
"data": {
"systemModel": {
"id": "4",
"handle": "abc123",
"name": "xyz789",
"pictureUrl": "xyz789",
"partNumbers": [SystemModelPartNumber],
"hardwareType": HardwareType,
"localizedDescriptions": [LocalizedAttribute]
}
}
}
systemModels
Description
Returns a list of system models.
Response
Returns [SystemModel!]!
Arguments
Name | Description |
---|---|
sort - [SystemModelSortInput]
|
How to sort the records in the response |
filter - SystemModelFilterInput
|
A filter to limit the results |
Example
Query
query systemModels(
$sort: [SystemModelSortInput],
$filter: SystemModelFilterInput
) {
systemModels(
sort: $sort,
filter: $filter
) {
id
handle
name
pictureUrl
partNumbers {
...SystemModelPartNumberFragment
}
hardwareType {
...HardwareTypeFragment
}
localizedDescriptions {
...LocalizedAttributeFragment
}
}
}
Variables
{
"sort": [SystemModelSortInput],
"filter": SystemModelFilterInput
}
Response
{
"data": {
"systemModels": [
{
"id": 4,
"handle": "xyz789",
"name": "abc123",
"pictureUrl": "xyz789",
"partNumbers": [SystemModelPartNumber],
"hardwareType": HardwareType,
"localizedDescriptions": [LocalizedAttribute]
}
]
}
}
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
}
updateChannel {
...UpdateChannelFragment
}
updateTargets {
...UpdateTargetFragment
}
totalTargetCount
idleTargetCount
inProgressTargetCount
failedTargetCount
successfulTargetCount
}
}
Variables
{"id": 4}
Response
{
"data": {
"updateCampaign": {
"id": "4",
"name": "abc123",
"status": "IDLE",
"outcome": "SUCCESS",
"rolloutMechanism": PushRollout,
"baseImage": BaseImage,
"updateChannel": UpdateChannel,
"updateTargets": [UpdateTarget],
"totalTargetCount": 123,
"idleTargetCount": 987,
"inProgressTargetCount": 123,
"failedTargetCount": 987,
"successfulTargetCount": 987
}
}
}
updateCampaigns
Description
Returns a list of update campaigns.
Response
Returns [UpdateCampaign!]!
Arguments
Name | Description |
---|---|
sort - [UpdateCampaignSortInput]
|
How to sort the records in the response |
filter - UpdateCampaignFilterInput
|
A filter to limit the results |
Example
Query
query updateCampaigns(
$sort: [UpdateCampaignSortInput],
$filter: UpdateCampaignFilterInput
) {
updateCampaigns(
sort: $sort,
filter: $filter
) {
id
name
status
outcome
rolloutMechanism {
... on PushRollout {
...PushRolloutFragment
}
}
baseImage {
...BaseImageFragment
}
updateChannel {
...UpdateChannelFragment
}
updateTargets {
...UpdateTargetFragment
}
totalTargetCount
idleTargetCount
inProgressTargetCount
failedTargetCount
successfulTargetCount
}
}
Variables
{
"sort": [UpdateCampaignSortInput],
"filter": UpdateCampaignFilterInput
}
Response
{
"data": {
"updateCampaigns": [
{
"id": 4,
"name": "xyz789",
"status": "IDLE",
"outcome": "SUCCESS",
"rolloutMechanism": PushRollout,
"baseImage": BaseImage,
"updateChannel": UpdateChannel,
"updateTargets": [UpdateTarget],
"totalTargetCount": 123,
"idleTargetCount": 987,
"inProgressTargetCount": 987,
"failedTargetCount": 987,
"successfulTargetCount": 123
}
]
}
}
updateChannel
Description
Returns a single update channel.
Response
Returns an UpdateChannel
Arguments
Name | Description |
---|---|
id - ID!
|
The id of the record |
Example
Query
query updateChannel($id: ID!) {
updateChannel(id: $id) {
id
handle
name
targetGroups {
...DeviceGroupFragment
}
}
}
Variables
{"id": 4}
Response
{
"data": {
"updateChannel": {
"id": 4,
"handle": "abc123",
"name": "xyz789",
"targetGroups": [DeviceGroup]
}
}
}
updateChannels
Description
Returns a list of update channels.
Response
Returns [UpdateChannel!]!
Arguments
Name | Description |
---|---|
sort - [UpdateChannelSortInput]
|
How to sort the records in the response |
filter - UpdateChannelFilterInput
|
A filter to limit the results |
Example
Query
query updateChannels(
$sort: [UpdateChannelSortInput],
$filter: UpdateChannelFilterInput
) {
updateChannels(
sort: $sort,
filter: $filter
) {
id
handle
name
targetGroups {
...DeviceGroupFragment
}
}
}
Variables
{
"sort": [UpdateChannelSortInput],
"filter": UpdateChannelFilterInput
}
Response
{
"data": {
"updateChannels": [
{
"id": 4,
"handle": "abc123",
"name": "abc123",
"targetGroups": [DeviceGroup]
}
]
}
}
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]
}
}
}
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]
}
}
}
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]
}
}
}
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]
}
}
}
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]
}
}
}
createUpdateChannel
Description
Creates a new update channel.
Response
Returns a CreateUpdateChannelResult
Arguments
Name | Description |
---|---|
input - CreateUpdateChannelInput!
|
Example
Query
mutation createUpdateChannel($input: CreateUpdateChannelInput!) {
createUpdateChannel(input: $input) {
result {
...UpdateChannelFragment
}
errors {
...MutationErrorFragment
}
}
}
Variables
{"input": CreateUpdateChannelInput}
Response
{
"data": {
"createUpdateChannel": {
"result": UpdateChannel,
"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]
}
}
}
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]
}
}
}
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]
}
}
}
deleteUpdateChannel
Description
Deletes an update channel.
Response
Returns a DeleteUpdateChannelResult
Arguments
Name | Description |
---|---|
id - ID!
|
Example
Query
mutation deleteUpdateChannel($id: ID!) {
deleteUpdateChannel(id: $id) {
result {
...UpdateChannelFragment
}
errors {
...MutationErrorFragment
}
}
}
Variables
{"id": 4}
Response
{
"data": {
"deleteUpdateChannel": {
"result": UpdateChannel,
"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]
}
}
}
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]
}
}
}
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]
}
}
}
updateUpdateChannel
Description
Updates an update channel.
Response
Returns an UpdateUpdateChannelResult
Arguments
Name | Description |
---|---|
id - ID!
|
|
input - UpdateUpdateChannelInput
|
Example
Query
mutation updateUpdateChannel(
$id: ID!,
$input: UpdateUpdateChannelInput
) {
updateUpdateChannel(
id: $id,
input: $input
) {
result {
...UpdateChannelFragment
}
errors {
...MutationErrorFragment
}
}
}
Variables
{
"id": "4",
"input": UpdateUpdateChannelInput
}
Response
{
"data": {
"updateUpdateChannel": {
"result": UpdateChannel,
"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]
}
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
|
|
localizedReleaseDisplayNames - [LocalizedAttribute!]
|
A list of release display names in different languages. |
Arguments
|
Example
{
"id": 4,
"version": "xyz789",
"startingVersionRequirement": "xyz789",
"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 - [BaseImage!]!
|
The base images associated with the base image collection. |
Arguments
|
Example
{
"id": "4",
"name": "xyz789",
"handle": "xyz789",
"systemModel": SystemModel,
"baseImages": [BaseImage]
}
BaseImageCollectionFilterHandle
Example
{
"isNil": true,
"eq": "abc123",
"notEq": "abc123",
"in": ["abc123"],
"lessThan": "abc123",
"greaterThan": "abc123",
"lessThanOrEqual": "xyz789",
"greaterThanOrEqual": "xyz789",
"like": "xyz789",
"ilike": "xyz789"
}
BaseImageCollectionFilterId
Example
{
"isNil": false,
"eq": 123,
"notEq": 123,
"in": [987],
"lessThan": 987,
"greaterThan": 987,
"lessThanOrEqual": 987,
"greaterThanOrEqual": 987
}
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
Example
{
"isNil": false,
"eq": "xyz789",
"notEq": "abc123",
"in": ["abc123"],
"lessThan": "abc123",
"greaterThan": "xyz789",
"lessThanOrEqual": "abc123",
"greaterThanOrEqual": "xyz789",
"like": "xyz789",
"ilike": "xyz789"
}
BaseImageCollectionSortField
Values
Enum Value | Description |
---|---|
|
|
|
|
|
Example
"ID"
BaseImageCollectionSortInput
Fields
Input Field | Description |
---|---|
order - SortOrder
|
|
field - BaseImageCollectionSortField!
|
Example
{"order": "DESC", "field": "ID"}
BaseImageFilterId
Example
{
"isNil": true,
"eq": 123,
"notEq": 123,
"in": [987],
"lessThan": 123,
"greaterThan": 987,
"lessThanOrEqual": 123,
"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
Example
{
"isNil": false,
"eq": "abc123",
"notEq": "abc123",
"in": ["xyz789"],
"lessThan": "xyz789",
"greaterThan": "xyz789",
"lessThanOrEqual": "abc123",
"greaterThanOrEqual": "abc123",
"like": "xyz789",
"ilike": "xyz789"
}
BaseImageFilterUrl
Example
{
"isNil": true,
"eq": "abc123",
"notEq": "abc123",
"in": ["xyz789"],
"lessThan": "abc123",
"greaterThan": "abc123",
"lessThanOrEqual": "abc123",
"greaterThanOrEqual": "abc123",
"like": "abc123",
"ilike": "xyz789"
}
BaseImageFilterVersion
Example
{
"isNil": true,
"eq": "xyz789",
"notEq": "xyz789",
"in": ["xyz789"],
"lessThan": "abc123",
"greaterThan": "abc123",
"lessThanOrEqual": "abc123",
"greaterThanOrEqual": "abc123",
"like": "abc123",
"ilike": "xyz789"
}
BaseImageInfo
Description
Describes the information on the system's base image for a device.
Example
{
"name": "abc123",
"version": "abc123",
"buildId": "abc123",
"fingerprint": "abc123"
}
BaseImageSortField
Values
Enum Value | Description |
---|---|
|
|
|
|
|
|
|
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": 123.45,
"slot": "abc123",
"status": "CHARGING"
}
BatterySlotStatus
Values
Enum Value | Description |
---|---|
|
The battery is charging. |
|
The battery is discharging. |
|
The battery is idle. |
|
The battery is either in a charging or in an idle state, since the hardware doesn't allow to distinguish between them. |
|
The battery is in a failed state. |
|
The battery is removed. |
|
The battery status cannot be determined. |
Example
"CHARGING"
Boolean
Description
The Boolean
scalar type represents true
or false
.
Example
true
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": "xyz789",
"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": "xyz789",
"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]
}
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": "xyz789",
"handle": "xyz789",
"selector": "xyz789"
}
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": "abc123",
"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]
}
CreateManualOtaOperationInput
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]
}
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. |
updateChannelId - ID!
|
The ID of the update channel that will be targeted by the update campaign. |
Example
{
"name": "xyz789",
"rolloutMechanism": RolloutMechanismInput,
"baseImageId": 4,
"updateChannelId": "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]
}
CreateUpdateChannelInput
Fields
Input Field | Description |
---|---|
handle - String!
|
The identifier of the update 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 update channel. |
targetGroupIds - [ID!]!
|
The IDs of the target groups that are targeted by this update channel. |
Example
{
"handle": "xyz789",
"name": "abc123",
"targetGroupIds": [4]
}
CreateUpdateChannelResult
Description
The result of the :create_update_channel mutation
Fields
Field Name | Description |
---|---|
result - UpdateChannel
|
The successful result of the mutation |
errors - [MutationError!]!
|
Any errors generated, if the mutation failed |
Example
{
"result": UpdateChannel,
"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"
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]
}
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]
}
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]
}
DeleteUpdateChannelResult
Description
The result of the :delete_update_channel mutation
Fields
Field Name | Description |
---|---|
result - UpdateChannel
|
The record that was successfully deleted |
errors - [MutationError!]!
|
Any errors generated, if the mutation failed |
Example
{
"result": UpdateChannel,
"errors": [MutationError]
}
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 - [Tag!]!
|
The tags of the device |
Arguments
|
|
deviceGroups - [DeviceGroup!]!
|
The groups the device belongs to. |
Arguments
|
|
otaOperations - [OtaOperation!]!
|
The existing OTA operations for this device |
Arguments
|
|
capabilities - [DeviceCapability!]!
|
The capabilities that the device can support. |
cellularConnection - [Modem!]
|
|
baseImage - BaseImageInfo
|
|
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": "abc123",
"online": true,
"lastConnection": "2007-12-03T10:15:30Z",
"lastDisconnection": "2007-12-03T10:15:30Z",
"serialNumber": "abc123",
"systemModel": SystemModel,
"tags": [Tag],
"deviceGroups": [DeviceGroup],
"otaOperations": [OtaOperation],
"capabilities": ["BASE_IMAGE"],
"cellularConnection": [Modem],
"baseImage": BaseImageInfo,
"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 |
---|---|
|
The device provides information about its base image. |
|
The device provides information about its battery status. |
|
The device provides information about its cellular connection. |
|
The device supports commands, for example the rebooting command. |
|
The device can be geolocated. |
|
The device provides information about its hardware. |
|
The device can be asked to blink its LED in a specific pattern. |
|
The device can provide information about its network interfaces. |
|
The device provides information about its operating system. |
|
The device supports remote terminal sessions. |
|
The device provides information about its runtime. |
|
The device can be updated remotely. |
|
The device provides information about its storage units. |
|
The device provides information about its system. |
|
The device provides information about its system status. |
|
The device telemetry can be configured. |
|
The device provides information about surrounding WiFi APs. |
Example
"BASE_IMAGE"
DeviceFilterDeviceId
Example
{
"isNil": true,
"eq": "xyz789",
"notEq": "abc123",
"in": ["xyz789"],
"lessThan": "abc123",
"greaterThan": "xyz789",
"lessThanOrEqual": "xyz789",
"greaterThanOrEqual": "abc123",
"like": "abc123",
"ilike": "xyz789"
}
DeviceFilterId
Example
{
"isNil": true,
"eq": 123,
"notEq": 123,
"in": [123],
"lessThan": 123,
"greaterThan": 987,
"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 |
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
}
DeviceFilterLastConnection
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"
}
DeviceFilterLastDisconnection
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
Example
{
"isNil": true,
"eq": "xyz789",
"notEq": "abc123",
"in": ["xyz789"],
"lessThan": "xyz789",
"greaterThan": "xyz789",
"lessThanOrEqual": "abc123",
"greaterThanOrEqual": "abc123",
"like": "abc123",
"ilike": "xyz789"
}
DeviceFilterOnline
Example
{
"isNil": false,
"eq": true,
"notEq": true,
"in": [false],
"lessThan": false,
"greaterThan": false,
"lessThanOrEqual": true,
"greaterThanOrEqual": true
}
DeviceFilterSerialNumber
Example
{
"isNil": true,
"eq": "abc123",
"notEq": "xyz789",
"in": ["xyz789"],
"lessThan": "abc123",
"greaterThan": "xyz789",
"lessThanOrEqual": "xyz789",
"greaterThanOrEqual": "xyz789",
"like": "abc123",
"ilike": "xyz789"
}
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
|
|
updateChannel - UpdateChannel
|
The update channel associated with the group, if present. |
Example
{
"id": 4,
"name": "xyz789",
"handle": "xyz789",
"selector": "abc123",
"devices": [Device],
"updateChannel": UpdateChannel
}
DeviceGroupFilterHandle
Example
{
"isNil": true,
"eq": "xyz789",
"notEq": "xyz789",
"in": ["abc123"],
"lessThan": "abc123",
"greaterThan": "xyz789",
"lessThanOrEqual": "xyz789",
"greaterThanOrEqual": "xyz789",
"like": "abc123",
"ilike": "xyz789"
}
DeviceGroupFilterId
Example
{
"isNil": true,
"eq": 123,
"notEq": 987,
"in": [123],
"lessThan": 123,
"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. |
updateChannel - UpdateChannelFilterInput
|
The update channel associated with the group, if present. |
Example
{
"and": [DeviceGroupFilterInput],
"or": [DeviceGroupFilterInput],
"not": [DeviceGroupFilterInput],
"id": DeviceGroupFilterId,
"name": DeviceGroupFilterName,
"handle": DeviceGroupFilterHandle,
"selector": DeviceGroupFilterSelector,
"devices": DeviceFilterInput,
"updateChannel": UpdateChannelFilterInput
}
DeviceGroupFilterName
Example
{
"isNil": false,
"eq": "abc123",
"notEq": "abc123",
"in": ["abc123"],
"lessThan": "xyz789",
"greaterThan": "abc123",
"lessThanOrEqual": "abc123",
"greaterThanOrEqual": "abc123",
"like": "xyz789",
"ilike": "xyz789"
}
DeviceGroupFilterSelector
Example
{
"isNil": false,
"eq": "xyz789",
"notEq": "xyz789",
"in": ["abc123"],
"lessThan": "xyz789",
"greaterThan": "xyz789",
"lessThanOrEqual": "abc123",
"greaterThanOrEqual": "abc123",
"like": "xyz789",
"ilike": "xyz789"
}
DeviceGroupSortField
Values
Enum Value | Description |
---|---|
|
|
|
|
|
|
|
Example
"ID"
DeviceGroupSortInput
Fields
Input Field | Description |
---|---|
order - SortOrder
|
|
field - DeviceGroupSortField!
|
Example
{"order": "DESC", "field": "ID"}
DeviceLedBehavior
Values
Enum Value | Description |
---|---|
|
Blink for 60 seconds. |
|
Double blink for 60 seconds. |
|
Slow blink for 60 seconds. |
Example
"BLINK"
DeviceSortField
Values
Enum Value | Description |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.
Example
{
"id": "4",
"hostname": "xyz789",
"port": 987,
"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": "xyz789",
"forwarderPort": 123,
"secure": true
}
ForwarderSessionStatus
Values
Enum Value | Description |
---|---|
|
The device is connected to the forwarder. |
|
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.
Example
{
"cpuArchitecture": "abc123",
"cpuModel": "xyz789",
"cpuModelName": "abc123",
"cpuVendor": "abc123",
"memoryTotalBytes": 987
}
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 - [HardwareTypePartNumber!]!
|
The list of part numbers associated with the hardware type. |
Arguments
|
Example
{
"id": 4,
"handle": "abc123",
"name": "abc123",
"partNumbers": [HardwareTypePartNumber]
}
HardwareTypeFilterHandle
Example
{
"isNil": false,
"eq": "xyz789",
"notEq": "abc123",
"in": ["abc123"],
"lessThan": "abc123",
"greaterThan": "abc123",
"lessThanOrEqual": "xyz789",
"greaterThanOrEqual": "abc123",
"like": "abc123",
"ilike": "xyz789"
}
HardwareTypeFilterId
Example
{
"isNil": false,
"eq": 123,
"notEq": 987,
"in": [123],
"lessThan": 987,
"greaterThan": 123,
"lessThanOrEqual": 987,
"greaterThanOrEqual": 987
}
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
Example
{
"isNil": true,
"eq": "abc123",
"notEq": "xyz789",
"in": ["abc123"],
"lessThan": "abc123",
"greaterThan": "xyz789",
"lessThanOrEqual": "xyz789",
"greaterThanOrEqual": "abc123",
"like": "abc123",
"ilike": "abc123"
}
HardwareTypePartNumber
Fields
Field Name | Description |
---|---|
id - ID!
|
|
partNumber - String!
|
The part number identifier. |
hardwareType - HardwareType
|
Example
{
"id": 4,
"partNumber": "abc123",
"hardwareType": HardwareType
}
HardwareTypePartNumberFilterId
Example
{
"isNil": false,
"eq": 123,
"notEq": 123,
"in": [987],
"lessThan": 123,
"greaterThan": 123,
"lessThanOrEqual": 123,
"greaterThanOrEqual": 123
}
HardwareTypePartNumberFilterInput
Fields
Input Field | Description |
---|---|
and - [HardwareTypePartNumberFilterInput!]
|
|
or - [HardwareTypePartNumberFilterInput!]
|
|
not - [HardwareTypePartNumberFilterInput!]
|
|
id - HardwareTypePartNumberFilterId
|
|
partNumber - HardwareTypePartNumberFilterPartNumber
|
The part number identifier. |
hardwareType - HardwareTypeFilterInput
|
Example
{
"and": [HardwareTypePartNumberFilterInput],
"or": [HardwareTypePartNumberFilterInput],
"not": [HardwareTypePartNumberFilterInput],
"id": HardwareTypePartNumberFilterId,
"partNumber": HardwareTypePartNumberFilterPartNumber,
"hardwareType": HardwareTypeFilterInput
}
HardwareTypePartNumberFilterPartNumber
Example
{
"isNil": true,
"eq": "abc123",
"notEq": "abc123",
"in": ["xyz789"],
"lessThan": "abc123",
"greaterThan": "xyz789",
"lessThanOrEqual": "abc123",
"greaterThanOrEqual": "xyz789",
"like": "xyz789",
"ilike": "abc123"
}
HardwareTypePartNumberSortField
Values
Enum Value | Description |
---|---|
|
|
|
Example
"ID"
HardwareTypePartNumberSortInput
Fields
Input Field | Description |
---|---|
order - SortOrder
|
|
field - HardwareTypePartNumberSortField!
|
Example
{"order": "DESC", "field": "ID"}
HardwareTypeSortField
Values
Enum Value | Description |
---|---|
|
|
|
|
|
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"
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
LocalizedAttribute
LocalizedAttributeInput
LocalizedAttributeUpdateInput
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.
Example
{
"formattedAddress": "abc123",
"timestamp": "2007-12-03T10:15:30Z",
"source": "abc123"
}
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": "abc123",
"carrier": "abc123",
"cellId": 987,
"imei": "abc123",
"imsi": "xyz789",
"localAreaCode": 123,
"mobileCountryCode": 123,
"mobileNetworkCode": 987,
"registrationStatus": "NOT_REGISTERED",
"rssi": 123.45,
"slot": "xyz789",
"technology": "GSM"
}
ModemRegistrationStatus
Values
Enum Value | Description |
---|---|
|
Not registered, modem is not currently searching a new operator to register to. |
|
Registered, home network. |
|
Not registered, but modem is currently searching a new operator to register to. |
|
Registration denied. |
|
Unknown (e.g. out of GERAN/UTRAN/E-UTRAN coverage). |
|
Registered, roaming. |
Example
"NOT_REGISTERED"
ModemTechnology
Values
Enum Value | Description |
---|---|
|
GSM. |
|
GSM Compact. |
|
UTRAN. |
|
GSM with EGPRS. |
|
UTRAN with HSDPA. |
|
UTRAN with HSUPA. |
|
UTRAN with HSDPA and HSUPA. |
|
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": "xyz789",
"shortMessage": "xyz789",
"vars": Json,
"code": "xyz789",
"fields": ["abc123"]
}
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": "abc123",
"technology": "ETHERNET"
}
NetworkInterfaceTechnology
Values
Enum Value | Description |
---|---|
|
Ethernet. |
|
Bluetooth. |
|
Cellular. |
|
WiFi. |
Example
"ETHERNET"
Node
Description
A relay node
Fields
Field Name | Description |
---|---|
id - ID!
|
A unique identifier |
Possible Types
Node Types |
---|
Example
{"id": "4"}
OsInfo
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
}
OtaOperationFilterBaseImageUrl
Example
{
"isNil": true,
"eq": "xyz789",
"notEq": "abc123",
"in": ["abc123"],
"lessThan": "xyz789",
"greaterThan": "abc123",
"lessThanOrEqual": "xyz789",
"greaterThanOrEqual": "xyz789",
"like": "abc123",
"ilike": "abc123"
}
OtaOperationFilterCreatedAt
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"
}
OtaOperationFilterId
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
Example
{
"isNil": false,
"eq": "abc123",
"notEq": "abc123",
"in": ["xyz789"],
"lessThan": "abc123",
"greaterThan": "xyz789",
"lessThanOrEqual": "xyz789",
"greaterThanOrEqual": "xyz789",
"like": "abc123",
"ilike": "abc123"
}
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
Example
{
"isNil": true,
"eq": 987,
"notEq": 987,
"in": [987],
"lessThan": 123,
"greaterThan": 987,
"lessThanOrEqual": 123,
"greaterThanOrEqual": 987
}
OtaOperationFilterUpdatedAt
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 |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"ID"
OtaOperationSortInput
Fields
Input Field | Description |
---|---|
order - SortOrder
|
|
field - OtaOperationSortField!
|
Example
{"order": "DESC", "field": "ID"}
OtaOperationStatus
Values
Enum Value | Description |
---|---|
|
The OTA operation was created and is waiting an acknowledgment from the device |
|
The OTA operation was acknowledged from the device |
|
The device is downloading the update |
|
The device is deploying the update |
|
The device deployed the update |
|
The device is in the process of rebooting |
|
A recoverable error happened during the OTA operation |
|
The OTA operation ended with a failure. This is a final state of the OTA Operation |
|
The OTA operation ended successfully. This is a final state of the OTA Operation |
Example
"PENDING"
OtaOperationStatusCode
Values
Enum Value | Description |
---|---|
|
The OTA Operation timed out while sending the request to the device |
|
The OTA Operation contained invalid data |
|
An OTA Operation is already in progress on the device |
|
A network error was encountered |
|
An IO error was encountered |
|
An internal error was encountered |
|
The OTA Operation failed due to an invalid base image |
|
A system rollback has occurred |
|
The OTA Operation was canceled |
Example
"REQUEST_TIMEOUT"
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": 987.65,
"longitude": 123.45,
"accuracy": 987.65,
"altitude": 987.65,
"altitudeAccuracy": 123.45,
"heading": 987.65,
"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": 987.65,
"maxInProgressUpdates": 987,
"otaRequestRetries": 123,
"otaRequestTimeoutSeconds": 123
}
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 |
---|
Example
PushRollout
RolloutMechanismInput
Fields
Input Field | Description |
---|---|
push - UpdateCampaignRolloutMechanismPushInput
|
Example
{"push": UpdateCampaignRolloutMechanismPushInput}
RuntimeInfo
Description
Describes an Edgehog runtime.
Example
{
"name": "abc123",
"version": "xyz789",
"environment": "abc123",
"url": "xyz789"
}
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 |
---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"DESC"
StorageUnit
Description
Describes the current usage of a storage unit on a device.
Example
{
"label": "abc123",
"totalBytes": 123,
"freeBytes": 987
}
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
"xyz789"
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 - [SystemModelPartNumber!]!
|
The list of part numbers associated with the system model. |
Arguments
|
|
hardwareType - HardwareType
|
The Hardware type associated with the System Model |
localizedDescriptions - [LocalizedAttribute!]
|
A list of descriptions in different languages. |
Arguments
|
Example
{
"id": 4,
"handle": "xyz789",
"name": "xyz789",
"pictureUrl": "xyz789",
"partNumbers": [SystemModelPartNumber],
"hardwareType": HardwareType,
"localizedDescriptions": [LocalizedAttribute]
}
SystemModelFilterHandle
Example
{
"isNil": true,
"eq": "abc123",
"notEq": "xyz789",
"in": ["abc123"],
"lessThan": "xyz789",
"greaterThan": "abc123",
"lessThanOrEqual": "abc123",
"greaterThanOrEqual": "xyz789",
"like": "xyz789",
"ilike": "xyz789"
}
SystemModelFilterId
Example
{
"isNil": true,
"eq": 987,
"notEq": 123,
"in": [123],
"lessThan": 987,
"greaterThan": 987,
"lessThanOrEqual": 987,
"greaterThanOrEqual": 987
}
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 |
Example
{
"and": [SystemModelFilterInput],
"or": [SystemModelFilterInput],
"not": [SystemModelFilterInput],
"id": SystemModelFilterId,
"handle": SystemModelFilterHandle,
"name": SystemModelFilterName,
"pictureUrl": SystemModelFilterPictureUrl,
"partNumbers": SystemModelPartNumberFilterInput,
"hardwareType": HardwareTypeFilterInput
}
SystemModelFilterName
Example
{
"isNil": false,
"eq": "abc123",
"notEq": "xyz789",
"in": ["abc123"],
"lessThan": "abc123",
"greaterThan": "abc123",
"lessThanOrEqual": "xyz789",
"greaterThanOrEqual": "xyz789",
"like": "xyz789",
"ilike": "abc123"
}
SystemModelFilterPictureUrl
Example
{
"isNil": true,
"eq": "xyz789",
"notEq": "xyz789",
"in": ["xyz789"],
"lessThan": "xyz789",
"greaterThan": "xyz789",
"lessThanOrEqual": "abc123",
"greaterThanOrEqual": "abc123",
"like": "abc123",
"ilike": "xyz789"
}
SystemModelPartNumber
Fields
Field Name | Description |
---|---|
id - ID!
|
|
partNumber - String!
|
The part number identifier. |
systemModel - SystemModel
|
Example
{
"id": "4",
"partNumber": "xyz789",
"systemModel": SystemModel
}
SystemModelPartNumberFilterId
Example
{
"isNil": true,
"eq": 123,
"notEq": 123,
"in": [987],
"lessThan": 987,
"greaterThan": 123,
"lessThanOrEqual": 123,
"greaterThanOrEqual": 123
}
SystemModelPartNumberFilterInput
Fields
Input Field | Description |
---|---|
and - [SystemModelPartNumberFilterInput!]
|
|
or - [SystemModelPartNumberFilterInput!]
|
|
not - [SystemModelPartNumberFilterInput!]
|
|
id - SystemModelPartNumberFilterId
|
|
partNumber - SystemModelPartNumberFilterPartNumber
|
The part number identifier. |
systemModel - SystemModelFilterInput
|
Example
{
"and": [SystemModelPartNumberFilterInput],
"or": [SystemModelPartNumberFilterInput],
"not": [SystemModelPartNumberFilterInput],
"id": SystemModelPartNumberFilterId,
"partNumber": SystemModelPartNumberFilterPartNumber,
"systemModel": SystemModelFilterInput
}
SystemModelPartNumberFilterPartNumber
Example
{
"isNil": false,
"eq": "xyz789",
"notEq": "xyz789",
"in": ["abc123"],
"lessThan": "abc123",
"greaterThan": "abc123",
"lessThanOrEqual": "xyz789",
"greaterThanOrEqual": "abc123",
"like": "abc123",
"ilike": "xyz789"
}
SystemModelPartNumberSortField
Values
Enum Value | Description |
---|---|
|
|
|
Example
"ID"
SystemModelPartNumberSortInput
Fields
Input Field | Description |
---|---|
order - SortOrder
|
|
field - SystemModelPartNumberSortField!
|
Example
{"order": "DESC", "field": "ID"}
SystemModelSortField
Values
Enum Value | Description |
---|---|
|
|
|
|
|
|
|
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
TagFilterId
Example
{
"isNil": true,
"eq": 987,
"notEq": 123,
"in": [987],
"lessThan": 123,
"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
Example
{
"isNil": true,
"eq": "xyz789",
"notEq": "xyz789",
"in": ["abc123"],
"lessThan": "abc123",
"greaterThan": "xyz789",
"lessThanOrEqual": "xyz789",
"greaterThanOrEqual": "abc123",
"like": "abc123",
"ilike": "abc123"
}
TagSortField
Values
Enum Value | Description |
---|---|
|
|
|
Example
"ID"
TagSortInput
Fields
Input Field | Description |
---|---|
order - SortOrder
|
|
field - TagSortField!
|
Example
{"order": "DESC", "field": "ID"}
TenantInfo
UpdateBaseImageCollectionInput
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 an Update 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. |
updateChannel - UpdateChannel!
|
The update channel targeted by the update campaign. |
updateTargets - [UpdateTarget!]!
|
The update targets belonging to the update campaign. |
Arguments
|
|
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,
"updateChannel": UpdateChannel,
"updateTargets": [UpdateTarget],
"totalTargetCount": 123,
"idleTargetCount": 987,
"inProgressTargetCount": 123,
"failedTargetCount": 987,
"successfulTargetCount": 123
}
UpdateCampaignFilterFailedTargetCount
Example
{
"isNil": false,
"eq": 987,
"notEq": 987,
"in": [123],
"lessThan": 987,
"greaterThan": 987,
"lessThanOrEqual": 123,
"greaterThanOrEqual": 123
}
UpdateCampaignFilterId
Example
{
"isNil": false,
"eq": 123,
"notEq": 987,
"in": [123],
"lessThan": 987,
"greaterThan": 987,
"lessThanOrEqual": 987,
"greaterThanOrEqual": 987
}
UpdateCampaignFilterIdleTargetCount
Example
{
"isNil": true,
"eq": 987,
"notEq": 123,
"in": [123],
"lessThan": 123,
"greaterThan": 987,
"lessThanOrEqual": 987,
"greaterThanOrEqual": 123
}
UpdateCampaignFilterInProgressTargetCount
Example
{
"isNil": true,
"eq": 123,
"notEq": 123,
"in": [123],
"lessThan": 987,
"greaterThan": 987,
"lessThanOrEqual": 123,
"greaterThanOrEqual": 123
}
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. |
updateChannel - UpdateChannelFilterInput
|
The update 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,
"updateChannel": UpdateChannelFilterInput,
"updateTargets": UpdateTargetFilterInput,
"totalTargetCount": UpdateCampaignFilterTotalTargetCount,
"idleTargetCount": UpdateCampaignFilterIdleTargetCount,
"inProgressTargetCount": UpdateCampaignFilterInProgressTargetCount,
"failedTargetCount": UpdateCampaignFilterFailedTargetCount,
"successfulTargetCount": UpdateCampaignFilterSuccessfulTargetCount
}
UpdateCampaignFilterName
Example
{
"isNil": false,
"eq": "xyz789",
"notEq": "xyz789",
"in": ["xyz789"],
"lessThan": "xyz789",
"greaterThan": "abc123",
"lessThanOrEqual": "abc123",
"greaterThanOrEqual": "abc123",
"like": "abc123",
"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": true,
"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
Example
{
"isNil": true,
"eq": 987,
"notEq": 123,
"in": [123],
"lessThan": 123,
"greaterThan": 123,
"lessThanOrEqual": 123,
"greaterThanOrEqual": 987
}
UpdateCampaignFilterTotalTargetCount
Example
{
"isNil": false,
"eq": 987,
"notEq": 123,
"in": [987],
"lessThan": 987,
"greaterThan": 987,
"lessThanOrEqual": 123,
"greaterThanOrEqual": 123
}
UpdateCampaignOutcome
Values
Enum Value | Description |
---|---|
|
The update campaign has finished succesfully. |
|
The update campaign has finished with a failure. |
Example
"SUCCESS"
UpdateCampaignRolloutMechanismPushInput
Fields
Input Field | Description |
---|---|
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. |
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. |
Example
{
"otaRequestTimeoutSeconds": 987,
"otaRequestRetries": 987,
"maxInProgressUpdates": 987,
"forceDowngrade": false,
"maxFailurePercentage": 123.45
}
UpdateCampaignSortField
Values
Enum Value | Description |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"ID"
UpdateCampaignSortInput
Fields
Input Field | Description |
---|---|
order - SortOrder
|
|
field - UpdateCampaignSortField!
|
Example
{"order": "DESC", "field": "ID"}
UpdateCampaignStatus
Values
Enum Value | Description |
---|---|
|
The update campaign has been created but is not being rolled-out yet. |
|
The update campaign is being rolled-out. |
|
The update campaign has finished. |
Example
"IDLE"
UpdateChannel
Description
Represents an UpdateChannel.
An UpdateChannel represents a set of device groups that can be targeted in an UpdateCampaign.
Fields
Field Name | Description |
---|---|
id - ID!
|
|
handle - String!
|
The identifier of the update 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 update channel. |
targetGroups - [DeviceGroup!]!
|
The device groups targeted by the update channel. |
Arguments
|
Example
{
"id": "4",
"handle": "abc123",
"name": "xyz789",
"targetGroups": [DeviceGroup]
}
UpdateChannelFilterHandle
Example
{
"isNil": true,
"eq": "xyz789",
"notEq": "xyz789",
"in": ["abc123"],
"lessThan": "xyz789",
"greaterThan": "abc123",
"lessThanOrEqual": "xyz789",
"greaterThanOrEqual": "abc123",
"like": "abc123",
"ilike": "xyz789"
}
UpdateChannelFilterId
Example
{
"isNil": true,
"eq": 123,
"notEq": 987,
"in": [123],
"lessThan": 123,
"greaterThan": 987,
"lessThanOrEqual": 987,
"greaterThanOrEqual": 123
}
UpdateChannelFilterInput
Fields
Input Field | Description |
---|---|
and - [UpdateChannelFilterInput!]
|
|
or - [UpdateChannelFilterInput!]
|
|
not - [UpdateChannelFilterInput!]
|
|
id - UpdateChannelFilterId
|
|
handle - UpdateChannelFilterHandle
|
The identifier of the update channel. It should start with a lower case ASCII letter and only contain lower case ASCII letters, digits and the hyphen - symbol. |
name - UpdateChannelFilterName
|
The display name of the update channel. |
targetGroups - DeviceGroupFilterInput
|
The device groups targeted by the update channel. |
Example
{
"and": [UpdateChannelFilterInput],
"or": [UpdateChannelFilterInput],
"not": [UpdateChannelFilterInput],
"id": UpdateChannelFilterId,
"handle": UpdateChannelFilterHandle,
"name": UpdateChannelFilterName,
"targetGroups": DeviceGroupFilterInput
}
UpdateChannelFilterName
Example
{
"isNil": false,
"eq": "abc123",
"notEq": "xyz789",
"in": ["xyz789"],
"lessThan": "xyz789",
"greaterThan": "xyz789",
"lessThanOrEqual": "xyz789",
"greaterThanOrEqual": "xyz789",
"like": "abc123",
"ilike": "abc123"
}
UpdateChannelSortField
Values
Enum Value | Description |
---|---|
|
|
|
|
|
Example
"ID"
UpdateChannelSortInput
Fields
Input Field | Description |
---|---|
order - SortOrder
|
|
field - UpdateChannelSortField!
|
Example
{"order": "DESC", "field": "ID"}
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": "abc123",
"handle": "abc123",
"selector": "abc123"
}
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": "abc123"}
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": ["abc123"]
}
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": 987,
"latestAttempt": "2007-12-03T10:15:30Z",
"completionTimestamp": "2007-12-03T10:15:30Z",
"updateCampaign": UpdateCampaign,
"device": Device,
"otaOperation": OtaOperation
}
UpdateTargetFilterCompletionTimestamp
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
Example
{
"isNil": false,
"eq": 987,
"notEq": 123,
"in": [987],
"lessThan": 987,
"greaterThan": 123,
"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
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"
}
UpdateTargetFilterRetryCount
Example
{
"isNil": false,
"eq": 123,
"notEq": 123,
"in": [123],
"lessThan": 123,
"greaterThan": 123,
"lessThanOrEqual": 123,
"greaterThanOrEqual": 123
}
UpdateTargetFilterStatus
Fields
Input Field | Description |
---|---|
isNil - Boolean
|
|
eq - UpdateTargetStatus
|
|
notEq - UpdateTargetStatus
|
|
in - [UpdateTargetStatus!]
|
|
lessThan - UpdateTargetStatus
|
|
greaterThan - UpdateTargetStatus
|
|
lessThanOrEqual - UpdateTargetStatus
|
|
greaterThanOrEqual - UpdateTargetStatus
|
Example
{
"isNil": false,
"eq": "IDLE",
"notEq": "IDLE",
"in": ["IDLE"],
"lessThan": "IDLE",
"greaterThan": "IDLE",
"lessThanOrEqual": "IDLE",
"greaterThanOrEqual": "IDLE"
}
UpdateTargetSortField
Values
Enum Value | Description |
---|---|
|
|
|
|
|
|
|
|
|
Example
"ID"
UpdateTargetSortInput
Fields
Input Field | Description |
---|---|
order - SortOrder
|
|
field - UpdateTargetSortField!
|
Example
{"order": "DESC", "field": "ID"}
UpdateTargetStatus
Values
Enum Value | Description |
---|---|
|
The update campaign is waiting for the OTA Request to be sent. |
|
The update target is in progress. |
|
The update target has failed to be updated. |
|
The update target was successfully updated. |
Example
"IDLE"
UpdateUpdateChannelInput
Fields
Input Field | Description |
---|---|
handle - String
|
The identifier of the update 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 update channel. |
targetGroupIds - [ID!]
|
The IDs of the target groups that are targeted by this update channel. |
Example
{
"handle": "abc123",
"name": "xyz789",
"targetGroupIds": [4]
}
UpdateUpdateChannelResult
Description
The result of the :update_update_channel mutation
Fields
Field Name | Description |
---|---|
result - UpdateChannel
|
The successful result of the mutation |
errors - [MutationError!]!
|
Any errors generated, if the mutation failed |
Example
{
"result": UpdateChannel,
"errors": [MutationError]
}
Upload
Description
Represents an uploaded file.
Example
Upload
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": true,
"essid": "xyz789",
"macAddress": "abc123",
"rssi": 987,
"timestamp": "2007-12-03T10:15:30Z"
}