ToolSense GraphQL API Documentation

Queries

OTAUpdate

Response

Returns [OTAUpdate!]

Arguments
Name Description
id - [HashedId!]

Example

Query
query OTAUpdate($id: [HashedId!]) {
  OTAUpdate(id: $id) {
    id
    fileName
    versionName
    assetIntegration {
      ...AssetIntegrationFragment
    }
    assetIntegrationId
    description {
      ...TranslationFragment
    }
    descriptionId
    created
    updated
  }
}
Variables
{"id": [HashedId]}
Response
{
  "data": {
    "OTAUpdate": [
      {
        "id": HashedId,
        "fileName": "abc123",
        "versionName": "xyz789",
        "assetIntegration": AssetIntegration,
        "assetIntegrationId": HashedId,
        "description": Translation,
        "descriptionId": HashedId,
        "created": 1592577642,
        "updated": 1592577642
      }
    ]
  }
}

allowedDocumentFileTypes

Description

Return a list of supported file types for documents added to Assets or AssetTypes.

Response

Returns [String!]!

Example

Query
query allowedDocumentFileTypes {
  allowedDocumentFileTypes
}
Response
{
  "data": {
    "allowedDocumentFileTypes": ["abc123"]
  }
}

asset

Response

Returns [Asset!]

Arguments
Name Description
id - [HashedId!]
status - [String!]
serial - [String!]
make - [String!]
imei - [String!]
historicalParameters - Boolean
exceptForReservationId - HashedId
externalId - [String!]
partsNumber - [String!]
availableBetween - [Timestamp!] Filter assets based on reservation avaiability. Has to contain two timestamps, from and until

Example

Query
query asset(
  $id: [HashedId!],
  $status: [String!],
  $serial: [String!],
  $make: [String!],
  $imei: [String!],
  $historicalParameters: Boolean,
  $exceptForReservationId: HashedId,
  $externalId: [String!],
  $partsNumber: [String!],
  $availableBetween: [Timestamp!]
) {
  asset(
    id: $id,
    status: $status,
    serial: $serial,
    make: $make,
    imei: $imei,
    historicalParameters: $historicalParameters,
    exceptForReservationId: $exceptForReservationId,
    externalId: $externalId,
    partsNumber: $partsNumber,
    availableBetween: $availableBetween
  ) {
    services {
      ...ServiceFragment
    }
    activity {
      ...AssetActivityFragment
    }
    allowReservations
    assetCategory {
      ...AssetCategoryFragment
    }
    assetCategoryId
    assetType {
      ...AssetTypeFragment
    }
    assetTypeId
    assignedToGroup {
      ...GroupFragment
    }
    assignedToGroupId
    createdByGroupId
    assignedToPreviousSite {
      ...SiteFragment
    }
    assignedToSite {
      ...SiteFragment
    }
    assignedToSiteId
    assignment
    availability
    BLE
    checkSchedule {
      ...AssetCheckScheduleFragment
    }
    checkScheduleRule {
      ...AssetCheckScheduleRuleFragment
    }
    client
    commissionDate
    costCenter
    costsSumBattery
    costsSumRepair
    costsSumMaintenance
    costsSumParts
    costsSumConsumables
    costsSumFuel
    costsSumLabor
    costsSumLogistics
    costsSumTaxes
    costsSumOther
    costsSumCertification
    created
    currency
    customer
    customerEditable
    description {
      ...TranslationFragment
    }
    descriptionId
    displayParameters {
      ...DisplayParameterFragment
    }
    documents {
      ...DocumentFragment
    }
    downloadLink
    eventIds
    events {
      ...EventFragment
    }
    externalId
    fixedAssetNumber
    floorRoom
    id
    image
    imei
    initialValue
    inventoryNumber
    isCommodity
    isInStationaryGateway
    workOrders {
      ...WorkOrderV2Fragment
    }
    lastContacted
    latestAssetData
    leasingCostTermination
    leasingEnd
    leasingLevel
    leasingMonthlyCost
    leasingPartner
    leasingPartnerContractNumber
    leasingPartnerContractPositionNumber
    leasingRenewalDate
    leasingRenewalRate
    leasingStart
    location {
      ...LocationFragment
    }
    maintenanceSchedule {
      ...AssetMaintenanceScheduleFragment
    }
    manufacturer {
      ...ManufacturerFragment
    }
    manufacturerId
    module {
      ...ModuleFragment
    }
    moduleId
    nextService
    optionalAssetID
    ownership
    parameterOffsetIds
    parameterOffsets {
      ...AssetParameterOffsetFragment
    }
    parameterSets {
      ...ParameterSetFragment
    }
    partsNumber
    previousSiteId
    projectNumber
    publicId
    purchaseCost
    purchaseCurrentBookValue
    purchaseDepriciation
    purchaseInvoiceNumber
    purchaseLowValueAsset
    purchaseStart
    purchaseWarrantyEnd
    purchaseWarrantyPeriod
    purchaseWarrantyStart
    qrAttached
    quantity
    relatedGroups {
      ...RelatedGroupFragment
    }
    rentalCostTermination
    rentalEnd
    rentalMonthlyCost
    rentalRenewalDate
    rentalRenewalRate
    rentalStart
    reservationIds
    reservations {
      ...ReservationFragment
    }
    responsiblePerson
    runtimeWithOffsetInSeconds
    serial
    serviceContract
    serviceContractCostPerYear
    serviceContractEmail
    serviceContractEnd
    serviceContractDocuments {
      ...DocumentFragment
    }
    serviceContractFrom
    serviceContractLevel
    serviceContractPartner
    serviceContractStart
    serviceContractTo
    state {
      ...AssetStateFragment
    }
    stateV2 {
      ...StatusItemFragment
    }
    status {
      ...StatusItemFragment
    }
    subscription
    supplier
    tickets {
      ...TicketFragment
    }
    updated
    unavailability {
      ...AssetUnavailabilityFragment
    }
    uuid
    vncTunnelUrl
    workingHoursNotification {
      ...RuleNotificationRelationFragment
    }
    workingHoursSettings
    gatewayAsset {
      ...AssetFragment
    }
    moduleConnectionStatus
    costs {
      ...CostFragment
    }
    costsSum
    totalUtilization
    totalWorkDone
    batteryLevel
    isLocked
    scanTime
    availabilityId
    ownershipId
    siteId
    createdByGroup {
      ...GroupFragment
    }
    site {
      ...SiteFragment
    }
  }
}
Variables
{
  "id": [HashedId],
  "status": ["xyz789"],
  "serial": ["abc123"],
  "make": ["xyz789"],
  "imei": ["xyz789"],
  "historicalParameters": true,
  "exceptForReservationId": HashedId,
  "externalId": ["xyz789"],
  "partsNumber": ["xyz789"],
  "availableBetween": [1592577642]
}
Response
{
  "data": {
    "asset": [
      {
        "services": [Service],
        "activity": AssetActivity,
        "allowReservations": false,
        "assetCategory": AssetCategory,
        "assetCategoryId": HashedId,
        "assetType": AssetType,
        "assetTypeId": HashedId,
        "assignedToGroup": Group,
        "assignedToGroupId": HashedId,
        "createdByGroupId": HashedId,
        "assignedToPreviousSite": Site,
        "assignedToSite": Site,
        "assignedToSiteId": HashedId,
        "assignment": "xyz789",
        "availability": "READY_TO_USE",
        "BLE": "abc123",
        "checkSchedule": AssetCheckSchedule,
        "checkScheduleRule": AssetCheckScheduleRule,
        "client": "abc123",
        "commissionDate": "2007-12-03",
        "costCenter": "xyz789",
        "costsSumBattery": 987.65,
        "costsSumRepair": 987.65,
        "costsSumMaintenance": 123.45,
        "costsSumParts": 123.45,
        "costsSumConsumables": 987.65,
        "costsSumFuel": 123.45,
        "costsSumLabor": 987.65,
        "costsSumLogistics": 123.45,
        "costsSumTaxes": 987.65,
        "costsSumOther": 987.65,
        "costsSumCertification": 987.65,
        "created": 1592577642,
        "currency": "abc123",
        "customer": "xyz789",
        "customerEditable": true,
        "description": Translation,
        "descriptionId": HashedId,
        "displayParameters": [DisplayParameter],
        "documents": [Document],
        "downloadLink": "xyz789",
        "eventIds": [HashedId],
        "events": [Event],
        "externalId": "abc123",
        "fixedAssetNumber": "abc123",
        "floorRoom": "abc123",
        "id": HashedId,
        "image": "xyz789",
        "imei": "xyz789",
        "initialValue": "abc123",
        "inventoryNumber": "xyz789",
        "isCommodity": false,
        "isInStationaryGateway": true,
        "workOrders": [WorkOrderV2],
        "lastContacted": 1592577642,
        "latestAssetData": {},
        "leasingCostTermination": "xyz789",
        "leasingEnd": "2007-12-03",
        "leasingLevel": "xyz789",
        "leasingMonthlyCost": "abc123",
        "leasingPartner": "abc123",
        "leasingPartnerContractNumber": "abc123",
        "leasingPartnerContractPositionNumber": "xyz789",
        "leasingRenewalDate": "2007-12-03",
        "leasingRenewalRate": "xyz789",
        "leasingStart": "2007-12-03",
        "location": Location,
        "maintenanceSchedule": AssetMaintenanceSchedule,
        "manufacturer": Manufacturer,
        "manufacturerId": HashedId,
        "module": Module,
        "moduleId": HashedId,
        "nextService": 123,
        "optionalAssetID": "xyz789",
        "ownership": "PURCHASE",
        "parameterOffsetIds": [HashedId],
        "parameterOffsets": [AssetParameterOffset],
        "parameterSets": [ParameterSet],
        "partsNumber": "xyz789",
        "previousSiteId": HashedId,
        "projectNumber": "xyz789",
        "publicId": 123,
        "purchaseCost": "abc123",
        "purchaseCurrentBookValue": "xyz789",
        "purchaseDepriciation": 123,
        "purchaseInvoiceNumber": "xyz789",
        "purchaseLowValueAsset": false,
        "purchaseStart": "2007-12-03",
        "purchaseWarrantyEnd": "2007-12-03",
        "purchaseWarrantyPeriod": 123,
        "purchaseWarrantyStart": "2007-12-03",
        "qrAttached": false,
        "quantity": 123,
        "relatedGroups": [RelatedGroup],
        "rentalCostTermination": "abc123",
        "rentalEnd": "2007-12-03",
        "rentalMonthlyCost": "xyz789",
        "rentalRenewalDate": "2007-12-03",
        "rentalRenewalRate": "abc123",
        "rentalStart": "2007-12-03",
        "reservationIds": [HashedId],
        "reservations": [Reservation],
        "responsiblePerson": "xyz789",
        "runtimeWithOffsetInSeconds": 987,
        "serial": "abc123",
        "serviceContract": false,
        "serviceContractCostPerYear": "abc123",
        "serviceContractEmail": "abc123",
        "serviceContractEnd": "2007-12-03",
        "serviceContractDocuments": [Document],
        "serviceContractFrom": 1592577642,
        "serviceContractLevel": "xyz789",
        "serviceContractPartner": "abc123",
        "serviceContractStart": "2007-12-03",
        "serviceContractTo": 1592577642,
        "state": AssetState,
        "stateV2": [StatusItem],
        "status": [StatusItem],
        "subscription": "xyz789",
        "supplier": "xyz789",
        "tickets": [Ticket],
        "updated": 1592577642,
        "unavailability": [AssetUnavailability],
        "uuid": "abc123",
        "vncTunnelUrl": "xyz789",
        "workingHoursNotification": [
          RuleNotificationRelation
        ],
        "workingHoursSettings": {},
        "gatewayAsset": Asset,
        "moduleConnectionStatus": "primary",
        "costs": [Cost],
        "costsSum": 123.45,
        "totalUtilization": "xyz789",
        "totalWorkDone": "xyz789",
        "batteryLevel": "xyz789",
        "isLocked": true,
        "scanTime": "2007-12-03",
        "availabilityId": HashedId,
        "ownershipId": HashedId,
        "siteId": HashedId,
        "createdByGroup": Group,
        "site": Site
      }
    ]
  }
}

assetActivityDetails

Response

Returns a JSON

Arguments
Name Description
assetDataId - HashedId!
parameterSetId - HashedId
savedName - String
from - Timestamp
to - Timestamp

Example

Query
query assetActivityDetails(
  $assetDataId: HashedId!,
  $parameterSetId: HashedId,
  $savedName: String,
  $from: Timestamp,
  $to: Timestamp
) {
  assetActivityDetails(
    assetDataId: $assetDataId,
    parameterSetId: $parameterSetId,
    savedName: $savedName,
    from: $from,
    to: $to
  )
}
Variables
{
  "assetDataId": HashedId,
  "parameterSetId": HashedId,
  "savedName": "xyz789",
  "from": 1592577642,
  "to": 1592577642
}
Response
{"data": {"assetActivityDetails": {}}}

assetActivityLog

Response

Returns a String

Arguments
Name Description
assetId - HashedId!
parameterId - [HashedId!]!
from - Timestamp
to - Timestamp

Example

Query
query assetActivityLog(
  $assetId: HashedId!,
  $parameterId: [HashedId!]!,
  $from: Timestamp,
  $to: Timestamp
) {
  assetActivityLog(
    assetId: $assetId,
    parameterId: $parameterId,
    from: $from,
    to: $to
  )
}
Variables
{
  "assetId": HashedId,
  "parameterId": [HashedId],
  "from": 1592577642,
  "to": 1592577642
}
Response
{"data": {"assetActivityLog": "xyz789"}}

assetBLEChecker

Response

Returns an AssetBLEChecker

Arguments
Name Description
assetId - HashedId
BLE - String

Example

Query
query assetBLEChecker(
  $assetId: HashedId,
  $BLE: String
) {
  assetBLEChecker(
    assetId: $assetId,
    BLE: $BLE
  ) {
    msg
    duplicateAsset {
      ...AssetFragment
    }
  }
}
Variables
{
  "assetId": HashedId,
  "BLE": "abc123"
}
Response
{
  "data": {
    "assetBLEChecker": {
      "msg": "abc123",
      "duplicateAsset": Asset
    }
  }
}

assetCategoriesPaginated

Response

Returns an AssetCategoryPaginatedDto!

Arguments
Name Description
pagination - PaginationParams!
search - String
filters - [FilterParamsInput]
sort - SortParams

Example

Query
query assetCategoriesPaginated(
  $pagination: PaginationParams!,
  $search: String,
  $filters: [FilterParamsInput],
  $sort: SortParams
) {
  assetCategoriesPaginated(
    pagination: $pagination,
    search: $search,
    filters: $filters,
    sort: $sort
  ) {
    rows {
      ...AssetCategoryFragment
    }
    meta {
      ...PaginationMetaFragment
    }
    total
  }
}
Variables
{
  "pagination": PaginationParams,
  "search": "xyz789",
  "filters": [FilterParamsInput],
  "sort": SortParams
}
Response
{
  "data": {
    "assetCategoriesPaginated": {
      "rows": [AssetCategory],
      "meta": PaginationMeta,
      "total": 123
    }
  }
}

assetCategory

Response

Returns [AssetCategory!]

Arguments
Name Description
id - [HashedId]
sortBy - String

Example

Query
query assetCategory(
  $id: [HashedId],
  $sortBy: String
) {
  assetCategory(
    id: $id,
    sortBy: $sortBy
  ) {
    id
    created
    updated
    image
    externalId
    forManufacturerId
    groupId
    isPrivate
    nameId
    minimalBatteryVoltage
    nominalBatteryVoltage
    optimalBatteryVoltage
    optimalRuntime
    parentParameterKey
    workUnitsPerHour
    workUnitId
    name {
      ...TranslationFragment
    }
    group {
      ...GroupFragment
    }
    forManufacturer {
      ...ManufacturerFragment
    }
    workUnits {
      ...TranslationFragment
    }
    assetsCount
  }
}
Variables
{
  "id": [HashedId],
  "sortBy": "xyz789"
}
Response
{
  "data": {
    "assetCategory": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "image": "xyz789",
        "externalId": "xyz789",
        "forManufacturerId": HashedId,
        "groupId": HashedId,
        "isPrivate": false,
        "nameId": HashedId,
        "minimalBatteryVoltage": 123.45,
        "nominalBatteryVoltage": 123.45,
        "optimalBatteryVoltage": 123.45,
        "optimalRuntime": 123.45,
        "parentParameterKey": "runtime",
        "workUnitsPerHour": 123.45,
        "workUnitId": HashedId,
        "name": Translation,
        "group": Group,
        "forManufacturer": Manufacturer,
        "workUnits": Translation,
        "assetsCount": 123
      }
    ]
  }
}

assetCounterByEventStatus

Description

get assets count with active events respect to provided event styles (e.g ERROR, WARNING etc.) if not event style is provided then all events are counted

Response

Returns [EventStatusCounter!]!

Arguments
Name Description
eventStyles - [String!]

Example

Query
query assetCounterByEventStatus($eventStyles: [String!]) {
  assetCounterByEventStatus(eventStyles: $eventStyles) {
    style
    ongoing {
      ...EventStateCounterFragment
    }
    notOngoing {
      ...EventStateCounterFragment
    }
  }
}
Variables
{"eventStyles": ["abc123"]}
Response
{
  "data": {
    "assetCounterByEventStatus": [
      {
        "style": "ERROR",
        "ongoing": EventStateCounter,
        "notOngoing": EventStateCounter
      }
    ]
  }
}

assetFilterStats

Response

Returns an AssetFilterStats

Example

Query
query assetFilterStats {
  assetFilterStats {
    rentalEnd {
      ...AssetFilterPeriodFilterFragment
    }
    rentalRemainingMonths
    leasingRemainingMonths
    leasingEnd {
      ...AssetFilterPeriodFilterFragment
    }
    serviceContractRemainingMonths
  }
}
Response
{
  "data": {
    "assetFilterStats": {
      "rentalEnd": [AssetFilterPeriodFilter],
      "rentalRemainingMonths": ["abc123"],
      "leasingRemainingMonths": ["abc123"],
      "leasingEnd": [AssetFilterPeriodFilter],
      "serviceContractRemainingMonths": [
        "abc123"
      ]
    }
  }
}

assetFilters

Don't use!
Response

Returns an AssetFilter

Arguments
Name Description
id - [HashedId!]

Example

Query
query assetFilters($id: [HashedId!]) {
  assetFilters(id: $id) {
    size
    assets {
      ...AssetFragment
    }
    created {
      ...TemporalFilterFragment
    }
    sentData {
      ...TemporalFilterFragment
    }
    valueSliceById {
      ...AssetFilterFragment
    }
    valueSliceByValue {
      ...AssetFilterFragment
    }
    valueSlices {
      ...StatisticValueSliceFragment
    }
    rangeSlice {
      ...AssetFilterFragment
    }
    usingPeriod {
      ...AssetFilterFragment
    }
    withEvents {
      ...EventFilterFragment
    }
    withoutEvents {
      ...AssetFilterFragment
    }
    runtime {
      ...AssetFilterRangesFragment
    }
    maintenancePriority {
      ...AssetFilterRangesFragment
    }
    rangeValues {
      ...AssetFilterRangesFragment
    }
    reservations {
      ...ReservationEndFragment
    }
    services {
      ...AssetFilterFragment
    }
    signalOnline {
      ...AssetFilterFragment
    }
    weakSignal {
      ...AssetFilterFragment
    }
    noSignalDay {
      ...AssetFilterFragment
    }
    noSignalWeek {
      ...AssetFilterFragment
    }
    spreadsheet
  }
}
Variables
{"id": [HashedId]}
Response
{
  "data": {
    "assetFilters": {
      "size": 123,
      "assets": [Asset],
      "created": TemporalFilter,
      "sentData": TemporalFilter,
      "valueSliceById": AssetFilter,
      "valueSliceByValue": AssetFilter,
      "valueSlices": [StatisticValueSlice],
      "rangeSlice": AssetFilter,
      "usingPeriod": AssetFilter,
      "withEvents": [EventFilter],
      "withoutEvents": AssetFilter,
      "runtime": [AssetFilterRanges],
      "maintenancePriority": [AssetFilterRanges],
      "rangeValues": [AssetFilterRanges],
      "reservations": ReservationEnd,
      "services": AssetFilter,
      "signalOnline": AssetFilter,
      "weakSignal": AssetFilter,
      "noSignalDay": AssetFilter,
      "noSignalWeek": AssetFilter,
      "spreadsheet": true
    }
  }
}

assetIntegration

Query will be removed. Use findAssetIntegrationById and findAssetIntegrationByName instead
Response

Returns [AssetIntegration!]!

Arguments
Name Description
id - [HashedId!]
name - String

Example

Query
query assetIntegration(
  $id: [HashedId!],
  $name: String
) {
  assetIntegration(
    id: $id,
    name: $name
  ) {
    id
    created
    updated
    name
    manufacturerId
    assetCategoryId
    assetCategory {
      ...AssetCategoryFragment
    }
    manufacturer {
      ...ManufacturerFragment
    }
  }
}
Variables
{
  "id": [HashedId],
  "name": "abc123"
}
Response
{
  "data": {
    "assetIntegration": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "name": "abc123",
        "manufacturerId": HashedId,
        "assetCategoryId": HashedId,
        "assetCategory": AssetCategory,
        "manufacturer": Manufacturer
      }
    ]
  }
}

assetList

Response

Returns a PaginatedAssets

Arguments
Name Description
id - [HashedId!]
status - [String!]
serial - [String!]
make - [String!]
imei - [String!]
externalId - [String!] External id should only be filled by a machine. This is used to couple an external asset with an internal asset. An external Asset is an asset that represents the same physical thing but in a different system.
partsNumber - [String!] Specific identifier of a certain part of an asset
historicalParameters - Boolean
exceptForReservationId - HashedId
availableBetween - [Timestamp!] Filter assets based on reservation avaiability. Has to contain two timestamps, from and until
first - Int Only return the first [n] results
offset - Int Offset for pagination (page [n])
filter - AssetFilterInput
extraId - HashedId @deprecated If this argument is present the returned list can have 1 more asset than requested It will be used until the web app will be updated so the panes are decoupled from the list

Example

Query
query assetList(
  $id: [HashedId!],
  $status: [String!],
  $serial: [String!],
  $make: [String!],
  $imei: [String!],
  $externalId: [String!],
  $partsNumber: [String!],
  $historicalParameters: Boolean,
  $exceptForReservationId: HashedId,
  $availableBetween: [Timestamp!],
  $first: Int,
  $offset: Int,
  $filter: AssetFilterInput,
  $extraId: HashedId
) {
  assetList(
    id: $id,
    status: $status,
    serial: $serial,
    make: $make,
    imei: $imei,
    externalId: $externalId,
    partsNumber: $partsNumber,
    historicalParameters: $historicalParameters,
    exceptForReservationId: $exceptForReservationId,
    availableBetween: $availableBetween,
    first: $first,
    offset: $offset,
    filter: $filter,
    extraId: $extraId
  ) {
    meta {
      ...PaginationMetaFragment
    }
    rows {
      ...AssetFragment
    }
    total
    assets {
      ...AssetFragment
    }
  }
}
Variables
{
  "id": [HashedId],
  "status": ["xyz789"],
  "serial": ["xyz789"],
  "make": ["xyz789"],
  "imei": ["abc123"],
  "externalId": ["abc123"],
  "partsNumber": ["xyz789"],
  "historicalParameters": true,
  "exceptForReservationId": HashedId,
  "availableBetween": [1592577642],
  "first": 123,
  "offset": 987,
  "filter": AssetFilterInput,
  "extraId": HashedId
}
Response
{
  "data": {
    "assetList": {
      "meta": PaginationMeta,
      "rows": [Asset],
      "total": 123,
      "assets": [Asset]
    }
  }
}

assetListExport

Always returns null! Load the asset list and generate your own file
Description

Generate an AssetListExport for these parameters. The export type has parameters that allow for filtering the list based on predetermined parameters

locale: Language and timezone for all the spreadsheets generated by this list. styles: Cell styling information for all the spreadsheets generated by this list.

Response

Returns an AssetListExport

Arguments
Name Description
locale - ExcelDownloadLocaleInput!
styles - ExcelDownloadStylesInput

Example

Query
query assetListExport(
  $locale: ExcelDownloadLocaleInput!,
  $styles: ExcelDownloadStylesInput
) {
  assetListExport(
    locale: $locale,
    styles: $styles
  ) {
    all
    created
    lastContacted
    type
    category
    assetId
    parameterRange
    periodBoxedParameterRange
    parameterValue
    reservationsEnd
  }
}
Variables
{
  "locale": ExcelDownloadLocaleInput,
  "styles": ExcelDownloadStylesInput
}
Response
{
  "data": {
    "assetListExport": {
      "all": "xyz789",
      "created": "abc123",
      "lastContacted": "xyz789",
      "type": "abc123",
      "category": "xyz789",
      "assetId": "xyz789",
      "parameterRange": "xyz789",
      "periodBoxedParameterRange": "xyz789",
      "parameterValue": "xyz789",
      "reservationsEnd": "xyz789"
    }
  }
}

assetLocationHistory

Description

Might be deprecated! Endpoint to get historical location in Location type format. @assetId id of the asset @from can be used in conjunction with to - defines start for query range @to can be used in conjunction with from - defines end for query range @closest results in a single dataset closest to the given date, ignoring properties from and to

Response

Returns [Location]

Arguments
Name Description
assetId - HashedId!
from - Timestamp
to - Timestamp
closest - Timestamp

Example

Query
query assetLocationHistory(
  $assetId: HashedId!,
  $from: Timestamp,
  $to: Timestamp,
  $closest: Timestamp
) {
  assetLocationHistory(
    assetId: $assetId,
    from: $from,
    to: $to,
    closest: $closest
  ) {
    id
    longitude
    latitude
    uncertainty
    timestamp
    status
    gatewayAsset {
      ...AssetFragment
    }
    locationSource
  }
}
Variables
{
  "assetId": HashedId,
  "from": 1592577642,
  "to": 1592577642,
  "closest": 1592577642
}
Response
{
  "data": {
    "assetLocationHistory": [
      {
        "id": HashedId,
        "longitude": "xyz789",
        "latitude": "abc123",
        "uncertainty": 123.45,
        "timestamp": 1592577642,
        "status": "NORMAL",
        "gatewayAsset": Asset,
        "locationSource": "GPS"
      }
    ]
  }
}

assetLocationHistoryDates

Description

Might be deprecated! Endpoint to get a list of dates containing location data in an array of Y-c-d strings

Response

Returns [String]

Arguments
Name Description
assetId - HashedId!
tz - String

Example

Query
query assetLocationHistoryDates(
  $assetId: HashedId!,
  $tz: String
) {
  assetLocationHistoryDates(
    assetId: $assetId,
    tz: $tz
  )
}
Variables
{
  "assetId": HashedId,
  "tz": "xyz789"
}
Response
{
  "data": {
    "assetLocationHistoryDates": ["abc123"]
  }
}

assetRequest

Description

If no id given, the requests of the user's root group are listed

Response

Returns [AssetRequest]

Arguments
Name Description
id - [HashedId!]
byRegistrationRequestId - [HashedId!]

Example

Query
query assetRequest(
  $id: [HashedId!],
  $byRegistrationRequestId: [HashedId!]
) {
  assetRequest(
    id: $id,
    byRegistrationRequestId: $byRegistrationRequestId
  ) {
    id
    serial
    assetId
    asset {
      ...AssetFragment
    }
    forGroupId
    forGroup {
      ...GroupFragment
    }
    verificationDocumentId
    verificationDocument {
      ...DocumentFragment
    }
    isProcessed
    byRegistrationRequestId
    byRegistrationRequest {
      ...RegistrationRequestFragment
    }
    requestedByUserId
    requestedByUser {
      ...UserFragment
    }
    requestedByGroupId
    requestedByGroup {
      ...GroupFragment
    }
    processedByUserId
    processedByUser {
      ...UserFragment
    }
    isDenied
    denialMessage
    permalinkUrl
    created
    updated
  }
}
Variables
{
  "id": [HashedId],
  "byRegistrationRequestId": [HashedId]
}
Response
{
  "data": {
    "assetRequest": [
      {
        "id": HashedId,
        "serial": "xyz789",
        "assetId": HashedId,
        "asset": Asset,
        "forGroupId": HashedId,
        "forGroup": Group,
        "verificationDocumentId": HashedId,
        "verificationDocument": Document,
        "isProcessed": false,
        "byRegistrationRequestId": HashedId,
        "byRegistrationRequest": RegistrationRequest,
        "requestedByUserId": HashedId,
        "requestedByUser": User,
        "requestedByGroupId": HashedId,
        "requestedByGroup": Group,
        "processedByUserId": HashedId,
        "processedByUser": User,
        "isDenied": true,
        "denialMessage": "abc123",
        "permalinkUrl": "abc123",
        "created": 1592577642,
        "updated": 1592577642
      }
    ]
  }
}

assetType

Use assetTypesPaginated query instead. Logic is not based on access.getWhereOptionsForUse
Response

Returns [AssetType!]

Arguments
Name Description
id - [HashedId!]
name - String
sortBy - String

Example

Query
query assetType(
  $id: [HashedId!],
  $name: String,
  $sortBy: String
) {
  assetType(
    id: $id,
    name: $name,
    sortBy: $sortBy
  ) {
    id
    created
    updated
    flowId
    forManufacturerId
    groupId
    hasAssortmentList
    externalId
    image
    inAssetCategoryId
    inAssetIntegrationId
    isApprovedAssetType
    isPrivate
    isVehicle
    make
    nameId
    restrictedType
    preset
    presetInitialValue
    presetLeasingCostTermination
    presetLeasingLevel
    presetLeasingMonthlyCost
    presetLeasingPartner
    presetLeasingPartnerContractNumber
    presetLeasingPartnerContractPositionNumber
    presetLeasingRenewalRate
    presetLowValueAsset
    presetMachineCheckInterval
    presetMachineCheckLastCreated
    presetMachineCheckName
    presetOwnership
    presetPurchaseCost
    presetPurchaseDepriciation
    presetRentalCostTermination
    presetRentalMonthlyCost
    presetRentalRenewalRate
    presetServiceContractCostPerYear
    presetServiceContractEmail
    presetServiceContractLevel
    presetServiceContractPartner
    presetSupplier
    presetWarrantyPeriod
    isLockable
    isLockedState
    lockAssetTypeId
    hasVNC
    isPollingAvailable
    name {
      ...TranslationFragment
    }
    documents {
      ...DocumentFragment
    }
    flow {
      ...FlowFragment
    }
    minimalBatteryVoltage
    nominalBatteryVoltage
    optimalBatteryVoltage
    optimalRuntime
    parentParameterKey
    workUnits {
      ...TranslationFragment
    }
    workUnitsPerHour
    workUnitId
    inAssetCategory {
      ...AssetCategoryFragment
    }
    group {
      ...GroupFragment
    }
    inAssetIntegration {
      ...AssetIntegrationFragment
    }
    forManufacturer {
      ...ManufacturerFragment
    }
    namespace
    assetsCount
    userManual
    suggestedServicePartner
    lockAssetType {
      ...AssetTypeFragment
    }
  }
}
Variables
{
  "id": [HashedId],
  "name": "abc123",
  "sortBy": "xyz789"
}
Response
{
  "data": {
    "assetType": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "flowId": HashedId,
        "forManufacturerId": HashedId,
        "groupId": HashedId,
        "hasAssortmentList": false,
        "externalId": "abc123",
        "image": "abc123",
        "inAssetCategoryId": HashedId,
        "inAssetIntegrationId": HashedId,
        "isApprovedAssetType": false,
        "isPrivate": false,
        "isVehicle": false,
        "make": "abc123",
        "nameId": HashedId,
        "restrictedType": false,
        "preset": true,
        "presetInitialValue": "abc123",
        "presetLeasingCostTermination": "abc123",
        "presetLeasingLevel": "xyz789",
        "presetLeasingMonthlyCost": "abc123",
        "presetLeasingPartner": "xyz789",
        "presetLeasingPartnerContractNumber": "abc123",
        "presetLeasingPartnerContractPositionNumber": "abc123",
        "presetLeasingRenewalRate": "abc123",
        "presetLowValueAsset": false,
        "presetMachineCheckInterval": 987,
        "presetMachineCheckLastCreated": true,
        "presetMachineCheckName": "xyz789",
        "presetOwnership": "xyz789",
        "presetPurchaseCost": "xyz789",
        "presetPurchaseDepriciation": 123,
        "presetRentalCostTermination": "xyz789",
        "presetRentalMonthlyCost": "abc123",
        "presetRentalRenewalRate": "abc123",
        "presetServiceContractCostPerYear": "abc123",
        "presetServiceContractEmail": "xyz789",
        "presetServiceContractLevel": "abc123",
        "presetServiceContractPartner": "abc123",
        "presetSupplier": "abc123",
        "presetWarrantyPeriod": 987,
        "isLockable": true,
        "isLockedState": false,
        "lockAssetTypeId": HashedId,
        "hasVNC": false,
        "isPollingAvailable": false,
        "name": Translation,
        "documents": [Document],
        "flow": Flow,
        "minimalBatteryVoltage": 123.45,
        "nominalBatteryVoltage": 987.65,
        "optimalBatteryVoltage": 987.65,
        "optimalRuntime": 123.45,
        "parentParameterKey": "runtime",
        "workUnits": Translation,
        "workUnitsPerHour": 123.45,
        "workUnitId": HashedId,
        "inAssetCategory": AssetCategory,
        "group": Group,
        "inAssetIntegration": AssetIntegration,
        "forManufacturer": Manufacturer,
        "namespace": "abc123",
        "assetsCount": 123,
        "userManual": "abc123",
        "suggestedServicePartner": "abc123",
        "lockAssetType": AssetType
      }
    ]
  }
}

assetTypesPaginated

Response

Returns an AssetTypePaginatedDto!

Arguments
Name Description
pagination - PaginationParams!
search - String
filters - [FilterParamsInput]
sort - SortParams

Example

Query
query assetTypesPaginated(
  $pagination: PaginationParams!,
  $search: String,
  $filters: [FilterParamsInput],
  $sort: SortParams
) {
  assetTypesPaginated(
    pagination: $pagination,
    search: $search,
    filters: $filters,
    sort: $sort
  ) {
    rows {
      ...AssetTypeFragment
    }
    meta {
      ...PaginationMetaFragment
    }
    total
  }
}
Variables
{
  "pagination": PaginationParams,
  "search": "abc123",
  "filters": [FilterParamsInput],
  "sort": SortParams
}
Response
{
  "data": {
    "assetTypesPaginated": {
      "rows": [AssetType],
      "meta": PaginationMeta,
      "total": 123
    }
  }
}

assetV2

Response

Returns an Asset

Arguments
Name Description
id - HashedId!

Example

Query
query assetV2($id: HashedId!) {
  assetV2(id: $id) {
    services {
      ...ServiceFragment
    }
    activity {
      ...AssetActivityFragment
    }
    allowReservations
    assetCategory {
      ...AssetCategoryFragment
    }
    assetCategoryId
    assetType {
      ...AssetTypeFragment
    }
    assetTypeId
    assignedToGroup {
      ...GroupFragment
    }
    assignedToGroupId
    createdByGroupId
    assignedToPreviousSite {
      ...SiteFragment
    }
    assignedToSite {
      ...SiteFragment
    }
    assignedToSiteId
    assignment
    availability
    BLE
    checkSchedule {
      ...AssetCheckScheduleFragment
    }
    checkScheduleRule {
      ...AssetCheckScheduleRuleFragment
    }
    client
    commissionDate
    costCenter
    costsSumBattery
    costsSumRepair
    costsSumMaintenance
    costsSumParts
    costsSumConsumables
    costsSumFuel
    costsSumLabor
    costsSumLogistics
    costsSumTaxes
    costsSumOther
    costsSumCertification
    created
    currency
    customer
    customerEditable
    description {
      ...TranslationFragment
    }
    descriptionId
    displayParameters {
      ...DisplayParameterFragment
    }
    documents {
      ...DocumentFragment
    }
    downloadLink
    eventIds
    events {
      ...EventFragment
    }
    externalId
    fixedAssetNumber
    floorRoom
    id
    image
    imei
    initialValue
    inventoryNumber
    isCommodity
    isInStationaryGateway
    workOrders {
      ...WorkOrderV2Fragment
    }
    lastContacted
    latestAssetData
    leasingCostTermination
    leasingEnd
    leasingLevel
    leasingMonthlyCost
    leasingPartner
    leasingPartnerContractNumber
    leasingPartnerContractPositionNumber
    leasingRenewalDate
    leasingRenewalRate
    leasingStart
    location {
      ...LocationFragment
    }
    maintenanceSchedule {
      ...AssetMaintenanceScheduleFragment
    }
    manufacturer {
      ...ManufacturerFragment
    }
    manufacturerId
    module {
      ...ModuleFragment
    }
    moduleId
    nextService
    optionalAssetID
    ownership
    parameterOffsetIds
    parameterOffsets {
      ...AssetParameterOffsetFragment
    }
    parameterSets {
      ...ParameterSetFragment
    }
    partsNumber
    previousSiteId
    projectNumber
    publicId
    purchaseCost
    purchaseCurrentBookValue
    purchaseDepriciation
    purchaseInvoiceNumber
    purchaseLowValueAsset
    purchaseStart
    purchaseWarrantyEnd
    purchaseWarrantyPeriod
    purchaseWarrantyStart
    qrAttached
    quantity
    relatedGroups {
      ...RelatedGroupFragment
    }
    rentalCostTermination
    rentalEnd
    rentalMonthlyCost
    rentalRenewalDate
    rentalRenewalRate
    rentalStart
    reservationIds
    reservations {
      ...ReservationFragment
    }
    responsiblePerson
    runtimeWithOffsetInSeconds
    serial
    serviceContract
    serviceContractCostPerYear
    serviceContractEmail
    serviceContractEnd
    serviceContractDocuments {
      ...DocumentFragment
    }
    serviceContractFrom
    serviceContractLevel
    serviceContractPartner
    serviceContractStart
    serviceContractTo
    state {
      ...AssetStateFragment
    }
    stateV2 {
      ...StatusItemFragment
    }
    status {
      ...StatusItemFragment
    }
    subscription
    supplier
    tickets {
      ...TicketFragment
    }
    updated
    unavailability {
      ...AssetUnavailabilityFragment
    }
    uuid
    vncTunnelUrl
    workingHoursNotification {
      ...RuleNotificationRelationFragment
    }
    workingHoursSettings
    gatewayAsset {
      ...AssetFragment
    }
    moduleConnectionStatus
    costs {
      ...CostFragment
    }
    costsSum
    totalUtilization
    totalWorkDone
    batteryLevel
    isLocked
    scanTime
    availabilityId
    ownershipId
    siteId
    createdByGroup {
      ...GroupFragment
    }
    site {
      ...SiteFragment
    }
  }
}
Variables
{"id": HashedId}
Response
{
  "data": {
    "assetV2": {
      "services": [Service],
      "activity": AssetActivity,
      "allowReservations": false,
      "assetCategory": AssetCategory,
      "assetCategoryId": HashedId,
      "assetType": AssetType,
      "assetTypeId": HashedId,
      "assignedToGroup": Group,
      "assignedToGroupId": HashedId,
      "createdByGroupId": HashedId,
      "assignedToPreviousSite": Site,
      "assignedToSite": Site,
      "assignedToSiteId": HashedId,
      "assignment": "abc123",
      "availability": "READY_TO_USE",
      "BLE": "xyz789",
      "checkSchedule": AssetCheckSchedule,
      "checkScheduleRule": AssetCheckScheduleRule,
      "client": "abc123",
      "commissionDate": "2007-12-03",
      "costCenter": "abc123",
      "costsSumBattery": 987.65,
      "costsSumRepair": 123.45,
      "costsSumMaintenance": 987.65,
      "costsSumParts": 987.65,
      "costsSumConsumables": 123.45,
      "costsSumFuel": 123.45,
      "costsSumLabor": 987.65,
      "costsSumLogistics": 123.45,
      "costsSumTaxes": 987.65,
      "costsSumOther": 987.65,
      "costsSumCertification": 987.65,
      "created": 1592577642,
      "currency": "xyz789",
      "customer": "xyz789",
      "customerEditable": false,
      "description": Translation,
      "descriptionId": HashedId,
      "displayParameters": [DisplayParameter],
      "documents": [Document],
      "downloadLink": "abc123",
      "eventIds": [HashedId],
      "events": [Event],
      "externalId": "xyz789",
      "fixedAssetNumber": "abc123",
      "floorRoom": "xyz789",
      "id": HashedId,
      "image": "xyz789",
      "imei": "xyz789",
      "initialValue": "abc123",
      "inventoryNumber": "xyz789",
      "isCommodity": false,
      "isInStationaryGateway": true,
      "workOrders": [WorkOrderV2],
      "lastContacted": 1592577642,
      "latestAssetData": {},
      "leasingCostTermination": "abc123",
      "leasingEnd": "2007-12-03",
      "leasingLevel": "abc123",
      "leasingMonthlyCost": "xyz789",
      "leasingPartner": "abc123",
      "leasingPartnerContractNumber": "xyz789",
      "leasingPartnerContractPositionNumber": "abc123",
      "leasingRenewalDate": "2007-12-03",
      "leasingRenewalRate": "abc123",
      "leasingStart": "2007-12-03",
      "location": Location,
      "maintenanceSchedule": AssetMaintenanceSchedule,
      "manufacturer": Manufacturer,
      "manufacturerId": HashedId,
      "module": Module,
      "moduleId": HashedId,
      "nextService": 987,
      "optionalAssetID": "xyz789",
      "ownership": "PURCHASE",
      "parameterOffsetIds": [HashedId],
      "parameterOffsets": [AssetParameterOffset],
      "parameterSets": [ParameterSet],
      "partsNumber": "abc123",
      "previousSiteId": HashedId,
      "projectNumber": "xyz789",
      "publicId": 123,
      "purchaseCost": "xyz789",
      "purchaseCurrentBookValue": "abc123",
      "purchaseDepriciation": 987,
      "purchaseInvoiceNumber": "abc123",
      "purchaseLowValueAsset": false,
      "purchaseStart": "2007-12-03",
      "purchaseWarrantyEnd": "2007-12-03",
      "purchaseWarrantyPeriod": 123,
      "purchaseWarrantyStart": "2007-12-03",
      "qrAttached": true,
      "quantity": 987,
      "relatedGroups": [RelatedGroup],
      "rentalCostTermination": "abc123",
      "rentalEnd": "2007-12-03",
      "rentalMonthlyCost": "abc123",
      "rentalRenewalDate": "2007-12-03",
      "rentalRenewalRate": "abc123",
      "rentalStart": "2007-12-03",
      "reservationIds": [HashedId],
      "reservations": [Reservation],
      "responsiblePerson": "xyz789",
      "runtimeWithOffsetInSeconds": 987,
      "serial": "xyz789",
      "serviceContract": false,
      "serviceContractCostPerYear": "abc123",
      "serviceContractEmail": "abc123",
      "serviceContractEnd": "2007-12-03",
      "serviceContractDocuments": [Document],
      "serviceContractFrom": 1592577642,
      "serviceContractLevel": "xyz789",
      "serviceContractPartner": "abc123",
      "serviceContractStart": "2007-12-03",
      "serviceContractTo": 1592577642,
      "state": AssetState,
      "stateV2": [StatusItem],
      "status": [StatusItem],
      "subscription": "xyz789",
      "supplier": "abc123",
      "tickets": [Ticket],
      "updated": 1592577642,
      "unavailability": [AssetUnavailability],
      "uuid": "xyz789",
      "vncTunnelUrl": "abc123",
      "workingHoursNotification": [
        RuleNotificationRelation
      ],
      "workingHoursSettings": {},
      "gatewayAsset": Asset,
      "moduleConnectionStatus": "primary",
      "costs": [Cost],
      "costsSum": 123.45,
      "totalUtilization": "abc123",
      "totalWorkDone": "abc123",
      "batteryLevel": "xyz789",
      "isLocked": false,
      "scanTime": "2007-12-03",
      "availabilityId": HashedId,
      "ownershipId": HashedId,
      "siteId": HashedId,
      "createdByGroup": Group,
      "site": Site
    }
  }
}

assetViews

Description

get all asset views for the logged in user

Response

Returns [AssetView!]!

Example

Query
query assetViews {
  assetViews {
    id
    created
    updated
    name
    forEntity
    displayMode
    options {
      ...AssetViewOptionsFragment
    }
    isActive
    isSystemView
    isShared
    isEditable
    isDeletable
    isShareable
    isUnsharedByParentGroup
  }
}
Response
{
  "data": {
    "assetViews": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "name": "abc123",
        "forEntity": "ASSET",
        "displayMode": "LIST",
        "options": AssetViewOptions,
        "isActive": false,
        "isSystemView": true,
        "isShared": true,
        "isEditable": false,
        "isDeletable": true,
        "isShareable": true,
        "isUnsharedByParentGroup": true
      }
    ]
  }
}

availabilityEnum

Use "availabilityEnumList" instead
Response

Returns an AvailabilityValArray

Example

Query
query availabilityEnum {
  availabilityEnum {
    data
  }
}
Response
{"data": {"availabilityEnum": {"data": ["READY_TO_USE"]}}}

availabilityEnumList

Response

Returns [AssetAvailability!]!

Example

Query
query availabilityEnumList {
  availabilityEnumList
}
Response
{"data": {"availabilityEnumList": ["READY_TO_USE"]}}

availableHandlers

Response

Returns [AvailableHandler!]!

Arguments
Name Description
target - HandlerTarget

Example

Query
query availableHandlers($target: HandlerTarget) {
  availableHandlers(target: $target) {
    id
    displayName
    handlerType
  }
}
Variables
{"target": "TICKET"}
Response
{
  "data": {
    "availableHandlers": [
      {
        "id": "abc123",
        "displayName": "abc123",
        "handlerType": "EXTERNALEMAIL"
      }
    ]
  }
}

availableTicketHandlers

Superseded by availableHandlers
Response

Returns [AvailableHandler!]!

Example

Query
query availableTicketHandlers {
  availableTicketHandlers {
    id
    displayName
    handlerType
  }
}
Response
{
  "data": {
    "availableTicketHandlers": [
      {
        "id": "abc123",
        "displayName": "xyz789",
        "handlerType": "EXTERNALEMAIL"
      }
    ]
  }
}

availableUserLabels

Response

Returns [String!]!

Example

Query
query availableUserLabels {
  availableUserLabels
}
Response
{
  "data": {
    "availableUserLabels": ["xyz789"]
  }
}

brand

Use separate queries: findByGroupIds, findByKey and findByIds
Response

Returns [Brand!]!

Arguments
Name Description
key - String brandKey
groupId - [HashedId!] brands can be queried against a specific group
id - [HashedId!]

Example

Query
query brand(
  $key: String,
  $groupId: [HashedId!],
  $id: [HashedId!]
) {
  brand(
    key: $key,
    groupId: $groupId,
    id: $id
  ) {
    id
    created
    updated
    groupId
    logoWidth
    key
    systemName
    colorDark
    colorLight
    faviconUrl
    loginBackground
    name
    appUrlAndroid
    appUrlIos
    logo
    color
    symbol
    ownURL
    supportEmail
    activationMailVideo
    logoIsSquare
    group {
      ...GroupFragment
    }
    sso
    loginLanguageFallback
    projects
  }
}
Variables
{
  "key": "abc123",
  "groupId": [HashedId],
  "id": [HashedId]
}
Response
{
  "data": {
    "brand": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "groupId": HashedId,
        "logoWidth": 987,
        "key": "xyz789",
        "systemName": "abc123",
        "colorDark": "xyz789",
        "colorLight": "abc123",
        "faviconUrl": "xyz789",
        "loginBackground": "abc123",
        "name": "xyz789",
        "appUrlAndroid": "abc123",
        "appUrlIos": "abc123",
        "logo": "xyz789",
        "color": "abc123",
        "symbol": "xyz789",
        "ownURL": "abc123",
        "supportEmail": "abc123",
        "activationMailVideo": "xyz789",
        "logoIsSquare": false,
        "group": Group,
        "sso": "2007-12-03T10:15:30Z",
        "loginLanguageFallback": HashedId,
        "projects": "abc123"
      }
    ]
  }
}

commentsByTicketId

Response

Returns [TicketComment!]

Arguments
Name Description
id - HashedId!

Example

Query
query commentsByTicketId($id: HashedId!) {
  commentsByTicketId(id: $id) {
    id
    created
    updated
    createdByUserId
    authorEmail
    createdByUser {
      ...TicketUserFragment
    }
    history {
      ...TicketCommentContentFragment
    }
    content {
      ...TicketCommentContentFragment
    }
    isAutomated
    costs {
      ...CostFragment
    }
    stateEvent {
      ...TicketStateFragment
    }
    attachments {
      ...DocumentFragment
    }
    connectedEventId
    connectedEvent {
      ...EventFragment
    }
    deleted
  }
}
Variables
{"id": HashedId}
Response
{
  "data": {
    "commentsByTicketId": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "createdByUserId": HashedId,
        "authorEmail": "abc123",
        "createdByUser": TicketUser,
        "history": [TicketCommentContent],
        "content": TicketCommentContent,
        "isAutomated": false,
        "costs": [Cost],
        "stateEvent": TicketState,
        "attachments": [Document],
        "connectedEventId": HashedId,
        "connectedEvent": Event,
        "deleted": 1592577642
      }
    ]
  }
}

connectedAssetsByIMEI

Response

Returns an Int!

Arguments
Name Description
imei - String!

Example

Query
query connectedAssetsByIMEI($imei: String!) {
  connectedAssetsByIMEI(imei: $imei)
}
Variables
{"imei": "xyz789"}
Response
{"data": {"connectedAssetsByIMEI": 123}}

cost

Response

Returns a Cost

Arguments
Name Description
id - HashedId!

Example

Query
query cost($id: HashedId!) {
  cost(id: $id) {
    id
    created
    updated
    assetId
    costTypeId
    createdByUserId
    currency
    originatingFromEventId
    originatingFromCommentId
    value
    costType {
      ...CostTypeFragment
    }
  }
}
Variables
{"id": HashedId}
Response
{
  "data": {
    "cost": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "assetId": HashedId,
      "costTypeId": HashedId,
      "createdByUserId": HashedId,
      "currency": "abc123",
      "originatingFromEventId": HashedId,
      "originatingFromCommentId": HashedId,
      "value": 987.65,
      "costType": CostType
    }
  }
}

costType

Response

Returns a CostType

Arguments
Name Description
id - HashedId!

Example

Query
query costType($id: HashedId!) {
  costType(id: $id) {
    id
    created
    updated
    key
    keyV2
    translationId
    translation {
      ...TranslationFragment
    }
  }
}
Variables
{"id": HashedId}
Response
{
  "data": {
    "costType": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "key": "xyz789",
      "keyV2": "BATTERY",
      "translationId": HashedId,
      "translation": Translation
    }
  }
}

costTypeList

Response

Returns [CostType!]!

Example

Query
query costTypeList {
  costTypeList {
    id
    created
    updated
    key
    keyV2
    translationId
    translation {
      ...TranslationFragment
    }
  }
}
Response
{
  "data": {
    "costTypeList": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "key": "xyz789",
        "keyV2": "BATTERY",
        "translationId": HashedId,
        "translation": Translation
      }
    ]
  }
}

costsForAsset

Response

Returns [Cost!]!

Arguments
Name Description
assetId - HashedId!

Example

Query
query costsForAsset($assetId: HashedId!) {
  costsForAsset(assetId: $assetId) {
    id
    created
    updated
    assetId
    costTypeId
    createdByUserId
    currency
    originatingFromEventId
    originatingFromCommentId
    value
    costType {
      ...CostTypeFragment
    }
  }
}
Variables
{"assetId": HashedId}
Response
{
  "data": {
    "costsForAsset": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "assetId": HashedId,
        "costTypeId": HashedId,
        "createdByUserId": HashedId,
        "currency": "xyz789",
        "originatingFromEventId": HashedId,
        "originatingFromCommentId": HashedId,
        "value": 123.45,
        "costType": CostType
      }
    ]
  }
}

currentGroupChildrenWithinOEMOrCustomer

Response

Returns [Group!]!

Example

Query
query currentGroupChildrenWithinOEMOrCustomer {
  currentGroupChildrenWithinOEMOrCustomer {
    flow {
      ...FlowFragment
    }
    flowId
    id
    created
    updated
    name
    parentGroupId
    isRoot
    image
    isCustomer
    identificationNumber
    vatNumber
    rootGroupId
    handlerAlias
    treeRootId
    servicePackageId
    parentGroup {
      ...GroupFragment
    }
    services {
      ...ServiceFragment
    }
    servicesV2 {
      ...ServiceFragment
    }
    servicePackage {
      ...ServicePackageFragment
    }
    internalSettings
    nonCustomerParentGroup {
      ...GroupFragment
    }
    childGroups {
      ...GroupFragment
    }
    childGroupIds
    belongsToCurrentGroup
    customerRootGroup {
      ...GroupFragment
    }
    hasTicketHandling
    flowsEnabled
    rootGroupName
    flowMaintainers {
      ...NotificationRelationFragment
    }
    maintainedManufacturer {
      ...ManufacturerFragment
    }
    maintainedManufacturerId
    settings
    assetLocationsHidden
    users {
      ...UserFragment
    }
    userIds
    assets {
      ...AssetFragment
    }
    assetIds
    userRequestNotifiers {
      ...NotificationRelationFragment
    }
    customerName
    parentName
    groupType {
      ...ServicePackageFragment
    }
    groupTypeId
  }
}
Response
{
  "data": {
    "currentGroupChildrenWithinOEMOrCustomer": [
      {
        "flow": Flow,
        "flowId": HashedId,
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "name": "xyz789",
        "parentGroupId": HashedId,
        "isRoot": false,
        "image": "abc123",
        "isCustomer": true,
        "identificationNumber": "xyz789",
        "vatNumber": "xyz789",
        "rootGroupId": HashedId,
        "handlerAlias": "abc123",
        "treeRootId": HashedId,
        "servicePackageId": HashedId,
        "parentGroup": Group,
        "services": [Service],
        "servicesV2": [Service],
        "servicePackage": ServicePackage,
        "internalSettings": {},
        "nonCustomerParentGroup": Group,
        "childGroups": [Group],
        "childGroupIds": [HashedId],
        "belongsToCurrentGroup": true,
        "customerRootGroup": Group,
        "hasTicketHandling": true,
        "flowsEnabled": false,
        "rootGroupName": "abc123",
        "flowMaintainers": [NotificationRelation],
        "maintainedManufacturer": [Manufacturer],
        "maintainedManufacturerId": [HashedId],
        "settings": {},
        "assetLocationsHidden": false,
        "users": [User],
        "userIds": [HashedId],
        "assets": [Asset],
        "assetIds": [HashedId],
        "userRequestNotifiers": [NotificationRelation],
        "customerName": "xyz789",
        "parentName": "xyz789",
        "groupType": ServicePackage,
        "groupTypeId": HashedId
      }
    ]
  }
}

dashboard

Response

Returns [Dashboard]!

Arguments
Name Description
id - HashedId

Example

Query
query dashboard($id: HashedId) {
  dashboard(id: $id) {
    id
    title {
      ...TranslationFragment
    }
    priority
    definition
    grafanaDashboardURL
    grafanaDashboardUID
    filters {
      ...DashboardFilterFragment
    }
    snapshotURL
    createdByUserId
    createdByGroupId
    default
  }
}
Variables
{"id": HashedId}
Response
{
  "data": {
    "dashboard": [
      {
        "id": HashedId,
        "title": Translation,
        "priority": 123,
        "definition": {},
        "grafanaDashboardURL": "abc123",
        "grafanaDashboardUID": "abc123",
        "filters": [DashboardFilter],
        "snapshotURL": "abc123",
        "createdByUserId": HashedId,
        "createdByGroupId": HashedId,
        "default": true
      }
    ]
  }
}

displayAssetData

Description

Returns an array of the most important parameters in certain order. These parameters can be used in a client application to display the most important infomation of an Asset.

Response

Returns [DisplayParameter!]

Arguments
Name Description
assetId - HashedId!

Example

Query
query displayAssetData($assetId: HashedId!) {
  displayAssetData(assetId: $assetId) {
    displayType
    displayName {
      ...TranslationFragment
    }
    displayText
    displayValue
    visibility {
      ...DisplayParameterVisibilityFragment
    }
    parameter {
      ...ParameterFragment
    }
    originalValue
    syntheticParameter
    stackedParameters {
      ...ParameterFragment
    }
  }
}
Variables
{"assetId": HashedId}
Response
{
  "data": {
    "displayAssetData": [
      {
        "displayType": "ERROR",
        "displayName": Translation,
        "displayText": "abc123",
        "displayValue": 987.65,
        "visibility": DisplayParameterVisibility,
        "parameter": Parameter,
        "originalValue": 123.45,
        "syntheticParameter": "UTILIZATION",
        "stackedParameters": [Parameter]
      }
    ]
  }
}

displayMultipleAssetData

Description

Same as displayAssetData but until clarified if this is a breaking change needs to be used if more than one assets data is requested at the same time

Response

Returns [DisplayParameter!]

Arguments
Name Description
assetId - [HashedId!]!
visibilityFilter - [String!]

Example

Query
query displayMultipleAssetData(
  $assetId: [HashedId!]!,
  $visibilityFilter: [String!]
) {
  displayMultipleAssetData(
    assetId: $assetId,
    visibilityFilter: $visibilityFilter
  ) {
    displayType
    displayName {
      ...TranslationFragment
    }
    displayText
    displayValue
    visibility {
      ...DisplayParameterVisibilityFragment
    }
    parameter {
      ...ParameterFragment
    }
    originalValue
    syntheticParameter
    stackedParameters {
      ...ParameterFragment
    }
  }
}
Variables
{
  "assetId": [HashedId],
  "visibilityFilter": ["abc123"]
}
Response
{
  "data": {
    "displayMultipleAssetData": [
      {
        "displayType": "ERROR",
        "displayName": Translation,
        "displayText": "abc123",
        "displayValue": 987.65,
        "visibility": DisplayParameterVisibility,
        "parameter": Parameter,
        "originalValue": 987.65,
        "syntheticParameter": "UTILIZATION",
        "stackedParameters": [Parameter]
      }
    ]
  }
}

displayParameterInfo

Response

Returns [DisplayParameterInfo!]

Arguments
Name Description
id - [HashedId!]
assetTypeId - [HashedId!] The AssetType which should be filtered for
assetIntegrationId - [HashedId!] The AssetIntegration which should be filtered for

Example

Query
query displayParameterInfo(
  $id: [HashedId!],
  $assetTypeId: [HashedId!],
  $assetIntegrationId: [HashedId!]
) {
  displayParameterInfo(
    id: $id,
    assetTypeId: $assetTypeId,
    assetIntegrationId: $assetIntegrationId
  ) {
    id
    parameterId
    parameter {
      ...ParameterFragment
    }
    assetType {
      ...AssetTypeFragment
    }
    assetTypeId
    assetIntegration {
      ...AssetIntegrationFragment
    }
    assetIntegrationId
    sortPosition
    displayUnit
    displayType
    domainValue
    parameterSetId
    key
    title {
      ...TranslationFragment
    }
    titleId
  }
}
Variables
{
  "id": [HashedId],
  "assetTypeId": [HashedId],
  "assetIntegrationId": [HashedId]
}
Response
{
  "data": {
    "displayParameterInfo": [
      {
        "id": HashedId,
        "parameterId": HashedId,
        "parameter": Parameter,
        "assetType": [AssetType],
        "assetTypeId": [HashedId],
        "assetIntegration": AssetIntegration,
        "assetIntegrationId": HashedId,
        "sortPosition": 987,
        "displayUnit": "abc123",
        "displayType": "abc123",
        "domainValue": 123,
        "parameterSetId": HashedId,
        "key": "xyz789",
        "title": Translation,
        "titleId": HashedId
      }
    ]
  }
}

document

Response

Returns [Document]

Arguments
Name Description
id - [HashedId!]!

Example

Query
query document($id: [HashedId!]!) {
  document(id: $id) {
    id
    name
    url
    typeKey
    assetId
    assetTypeId
    commentId
    eventId
    partId
    purpose
    isVisibleToCustomer
    uploadedByCustomer
    isExternal
    uploadedByUserId
    uploadedByUser {
      ...UserFragment
    }
    editable
    created
    updated
    isInherited
    fileSize
  }
}
Variables
{"id": [HashedId]}
Response
{
  "data": {
    "document": [
      {
        "id": HashedId,
        "name": "abc123",
        "url": "abc123",
        "typeKey": "abc123",
        "assetId": HashedId,
        "assetTypeId": HashedId,
        "commentId": HashedId,
        "eventId": HashedId,
        "partId": HashedId,
        "purpose": "abc123",
        "isVisibleToCustomer": true,
        "uploadedByCustomer": false,
        "isExternal": true,
        "uploadedByUserId": HashedId,
        "uploadedByUser": User,
        "editable": true,
        "created": 1592577642,
        "updated": 1592577642,
        "isInherited": true,
        "fileSize": 123
      }
    ]
  }
}

entityColumnSchema

Description

Returns the nuvo schema for the given entity type

Response

Returns [ColumnsSchema]!

Arguments
Name Description
entity - String!

Example

Query
query entityColumnSchema($entity: String!) {
  entityColumnSchema(entity: $entity) {
    key
    label
    alternativeMatches
    labelSuffix
    columnType
    hidden
    allowCustomOptions
    description
    example
    type
    validations {
      ...ColumnSchemaValidationsFragment
    }
    dropdownOptions {
      ...ColumnSchemaDropdownOptionFragment
    }
  }
}
Variables
{"entity": "abc123"}
Response
{
  "data": {
    "entityColumnSchema": [
      {
        "key": "xyz789",
        "label": "xyz789",
        "alternativeMatches": ["abc123"],
        "labelSuffix": "abc123",
        "columnType": "abc123",
        "hidden": false,
        "allowCustomOptions": false,
        "description": "xyz789",
        "example": "abc123",
        "type": "xyz789",
        "validations": [ColumnSchemaValidations],
        "dropdownOptions": [ColumnSchemaDropdownOption]
      }
    ]
  }
}

event

Response

Returns [Event!]

Arguments
Name Description
id - [HashedId!]
assetId - [HashedId!] The asset's id that is related to the event (each event relates to a single asset)
partId - [HashedId!]
eventStyleKey - EventStyleKey
createdByUserId - [HashedId] Only applicable to user-created events
createdByWorkOrderId - [HashedId] The id of the rule that triggered creating the event
createdByRuleId - [HashedId]
createdByTicketId - [HashedId] The flow to which a response or state change created the event
currentlyActive - Boolean Filter only or not currently ongoing/active events based on the value
startDateFilter - EventDateFilter Filters out events based on the startTime
endDateFilter - EventDateFilter Filters out events based on the endTime
createdDateFilter - EventDateFilter Filters out events based on the created time

Example

Query
query event(
  $id: [HashedId!],
  $assetId: [HashedId!],
  $partId: [HashedId!],
  $eventStyleKey: EventStyleKey,
  $createdByUserId: [HashedId],
  $createdByWorkOrderId: [HashedId],
  $createdByRuleId: [HashedId],
  $createdByTicketId: [HashedId],
  $currentlyActive: Boolean,
  $startDateFilter: EventDateFilter,
  $endDateFilter: EventDateFilter,
  $createdDateFilter: EventDateFilter
) {
  event(
    id: $id,
    assetId: $assetId,
    partId: $partId,
    eventStyleKey: $eventStyleKey,
    createdByUserId: $createdByUserId,
    createdByWorkOrderId: $createdByWorkOrderId,
    createdByRuleId: $createdByRuleId,
    createdByTicketId: $createdByTicketId,
    currentlyActive: $currentlyActive,
    startDateFilter: $startDateFilter,
    endDateFilter: $endDateFilter,
    createdDateFilter: $createdDateFilter
  ) {
    id
    createdByRule {
      ...RuleFragment
    }
    createdByRuleId
    createdByFlowResponse {
      ...FlowResponseFragment
    }
    createdByFlowResponseId
    createdByTicket {
      ...TicketFragment
    }
    createdByTicketId
    createdByWorkOrder {
      ...WorkOrderSummaryFragment
    }
    createdByWorkOrderId
    createdBySiteId
    originatingFromAsset {
      ...AssetFragment
    }
    originatingFromAssetId
    originatingFromModule {
      ...ModuleFragment
    }
    createdByPartId
    originatingFromModuleId
    title {
      ...TranslationFragment
    }
    titleId
    description {
      ...TranslationFragment
    }
    descriptionId
    createdByUser {
      ...UserFragment
    }
    createdByUserId
    stoppedByUser {
      ...UserFragment
    }
    stoppedByUserId
    eventStyle {
      ...EventStyleFragment
    }
    eventStyleId
    startTime
    endTime
    isCritical
    isImmediateNotification
    shouldNotify
    manualDeactivation
    isOngoing
    created
    updated
    responseState {
      ...TicketStateFragment
    }
    eventMeta
    serviceName {
      ...TranslationFragment
    }
    ticketId
    tag
    cost {
      ...CostFragment
    }
    costs {
      ...CostFragment
    }
    documents {
      ...DocumentFragment
    }
    workOrderNotifications {
      ...WorkOrderNotificationsFragment
    }
    connectedComment {
      ...TicketCommentFragment
    }
    authorEmail
    lastEvent
    createdByPart {
      ...PartFragment
    }
    data {
      ...EventEntityDataDtoFragment
    }
  }
}
Variables
{
  "id": [HashedId],
  "assetId": [HashedId],
  "partId": [HashedId],
  "eventStyleKey": "ERROR",
  "createdByUserId": [HashedId],
  "createdByWorkOrderId": [HashedId],
  "createdByRuleId": [HashedId],
  "createdByTicketId": [HashedId],
  "currentlyActive": false,
  "startDateFilter": EventDateFilter,
  "endDateFilter": EventDateFilter,
  "createdDateFilter": EventDateFilter
}
Response
{
  "data": {
    "event": [
      {
        "id": HashedId,
        "createdByRule": Rule,
        "createdByRuleId": HashedId,
        "createdByFlowResponse": FlowResponse,
        "createdByFlowResponseId": HashedId,
        "createdByTicket": Ticket,
        "createdByTicketId": HashedId,
        "createdByWorkOrder": WorkOrderSummary,
        "createdByWorkOrderId": HashedId,
        "createdBySiteId": HashedId,
        "originatingFromAsset": Asset,
        "originatingFromAssetId": HashedId,
        "originatingFromModule": Module,
        "createdByPartId": HashedId,
        "originatingFromModuleId": HashedId,
        "title": Translation,
        "titleId": HashedId,
        "description": Translation,
        "descriptionId": HashedId,
        "createdByUser": User,
        "createdByUserId": HashedId,
        "stoppedByUser": User,
        "stoppedByUserId": HashedId,
        "eventStyle": EventStyle,
        "eventStyleId": "xyz789",
        "startTime": 1592577642,
        "endTime": 1592577642,
        "isCritical": false,
        "isImmediateNotification": false,
        "shouldNotify": false,
        "manualDeactivation": true,
        "isOngoing": true,
        "created": 1592577642,
        "updated": 1592577642,
        "responseState": TicketState,
        "eventMeta": {},
        "serviceName": Translation,
        "ticketId": 123,
        "tag": ["asset"],
        "cost": Cost,
        "costs": [Cost],
        "documents": [Document],
        "workOrderNotifications": WorkOrderNotifications,
        "connectedComment": TicketComment,
        "authorEmail": "xyz789",
        "lastEvent": 1592577642,
        "createdByPart": Part,
        "data": EventEntityDataDto
      }
    ]
  }
}

eventById

Response

Returns an Event!

Arguments
Name Description
id - HashedId!

Example

Query
query eventById($id: HashedId!) {
  eventById(id: $id) {
    id
    createdByRule {
      ...RuleFragment
    }
    createdByRuleId
    createdByFlowResponse {
      ...FlowResponseFragment
    }
    createdByFlowResponseId
    createdByTicket {
      ...TicketFragment
    }
    createdByTicketId
    createdByWorkOrder {
      ...WorkOrderSummaryFragment
    }
    createdByWorkOrderId
    createdBySiteId
    originatingFromAsset {
      ...AssetFragment
    }
    originatingFromAssetId
    originatingFromModule {
      ...ModuleFragment
    }
    createdByPartId
    originatingFromModuleId
    title {
      ...TranslationFragment
    }
    titleId
    description {
      ...TranslationFragment
    }
    descriptionId
    createdByUser {
      ...UserFragment
    }
    createdByUserId
    stoppedByUser {
      ...UserFragment
    }
    stoppedByUserId
    eventStyle {
      ...EventStyleFragment
    }
    eventStyleId
    startTime
    endTime
    isCritical
    isImmediateNotification
    shouldNotify
    manualDeactivation
    isOngoing
    created
    updated
    responseState {
      ...TicketStateFragment
    }
    eventMeta
    serviceName {
      ...TranslationFragment
    }
    ticketId
    tag
    cost {
      ...CostFragment
    }
    costs {
      ...CostFragment
    }
    documents {
      ...DocumentFragment
    }
    workOrderNotifications {
      ...WorkOrderNotificationsFragment
    }
    connectedComment {
      ...TicketCommentFragment
    }
    authorEmail
    lastEvent
    createdByPart {
      ...PartFragment
    }
    data {
      ...EventEntityDataDtoFragment
    }
  }
}
Variables
{"id": HashedId}
Response
{
  "data": {
    "eventById": {
      "id": HashedId,
      "createdByRule": Rule,
      "createdByRuleId": HashedId,
      "createdByFlowResponse": FlowResponse,
      "createdByFlowResponseId": HashedId,
      "createdByTicket": Ticket,
      "createdByTicketId": HashedId,
      "createdByWorkOrder": WorkOrderSummary,
      "createdByWorkOrderId": HashedId,
      "createdBySiteId": HashedId,
      "originatingFromAsset": Asset,
      "originatingFromAssetId": HashedId,
      "originatingFromModule": Module,
      "createdByPartId": HashedId,
      "originatingFromModuleId": HashedId,
      "title": Translation,
      "titleId": HashedId,
      "description": Translation,
      "descriptionId": HashedId,
      "createdByUser": User,
      "createdByUserId": HashedId,
      "stoppedByUser": User,
      "stoppedByUserId": HashedId,
      "eventStyle": EventStyle,
      "eventStyleId": "xyz789",
      "startTime": 1592577642,
      "endTime": 1592577642,
      "isCritical": true,
      "isImmediateNotification": true,
      "shouldNotify": true,
      "manualDeactivation": true,
      "isOngoing": false,
      "created": 1592577642,
      "updated": 1592577642,
      "responseState": TicketState,
      "eventMeta": {},
      "serviceName": Translation,
      "ticketId": 123,
      "tag": ["asset"],
      "cost": Cost,
      "costs": [Cost],
      "documents": [Document],
      "workOrderNotifications": WorkOrderNotifications,
      "connectedComment": TicketComment,
      "authorEmail": "abc123",
      "lastEvent": 1592577642,
      "createdByPart": Part,
      "data": EventEntityDataDto
    }
  }
}

eventStyle

Response

Returns [EventStyle!]

Arguments
Name Description
id - [HashedId]
key - [String!]

Example

Query
query eventStyle(
  $id: [HashedId],
  $key: [String!]
) {
  eventStyle(
    id: $id,
    key: $key
  ) {
    id
    key
    nameId
    name {
      ...TranslationFragment
    }
    icon
    color
    createdByGroupId
  }
}
Variables
{
  "id": [HashedId],
  "key": ["abc123"]
}
Response
{
  "data": {
    "eventStyle": [
      {
        "id": HashedId,
        "key": "ERROR",
        "nameId": HashedId,
        "name": Translation,
        "icon": "abc123",
        "color": "abc123",
        "createdByGroupId": HashedId
      }
    ]
  }
}

eventStyleIcons

Description

A list of eventStyle icon image url-s to display and to choose from when creating the eventStyle

Response

Returns [String!]

Example

Query
query eventStyleIcons {
  eventStyleIcons
}
Response
{"data": {"eventStyleIcons": ["abc123"]}}

extensionsWithFileTypes

Response

Returns a JSON!

Example

Query
query extensionsWithFileTypes {
  extensionsWithFileTypes
}
Response
{"data": {"extensionsWithFileTypes": {}}}

filterList

Response

Returns [ColumnConfig!]!

Arguments
Name Description
entityName - EntityEnum!

Example

Query
query filterList($entityName: EntityEnum!) {
  filterList(entityName: $entityName) {
    columnName
    dataType
    dependsOnFlags
    disableFilter
    disableSort
    hashId
    isNullable
    label
  }
}
Variables
{"entityName": "ASSET"}
Response
{
  "data": {
    "filterList": [
      {
        "columnName": "abc123",
        "dataType": "BOOLEAN",
        "dependsOnFlags": ["xyz789"],
        "disableFilter": false,
        "disableSort": true,
        "hashId": true,
        "isNullable": false,
        "label": "xyz789"
      }
    ]
  }
}

filterOptions

Response

Returns [FilterOption!]!

Arguments
Name Description
columnName - String!
entityName - EntityEnum!
filters - [FilterParamsInput]
search - String

Example

Query
query filterOptions(
  $columnName: String!,
  $entityName: EntityEnum!,
  $filters: [FilterParamsInput],
  $search: String
) {
  filterOptions(
    columnName: $columnName,
    entityName: $entityName,
    filters: $filters,
    search: $search
  ) {
    value
    label
    count
    source
    id
  }
}
Variables
{
  "columnName": "abc123",
  "entityName": "ASSET",
  "filters": [FilterParamsInput],
  "search": "abc123"
}
Response
{
  "data": {
    "filterOptions": [
      {
        "value": "abc123",
        "label": "xyz789",
        "count": 987,
        "source": "abc123",
        "id": "xyz789"
      }
    ]
  }
}

findAllProcedureTemplates

will be removed in future
Response

Returns [ProcedureTemplate!]!

Example

Query
query findAllProcedureTemplates {
  findAllProcedureTemplates {
    id
    created
    updated
    type
    preset
    accessLevel
    iconUrl
    createdByGroupId
    createdByUserId
    titleId
    descriptionId
    rootId
    parentId
    publicId
    publicRootId
    servicePackages {
      ...ServicePackageFragment
    }
    title {
      ...TranslationFragment
    }
    createdByUser {
      ...UserFragment
    }
    createdByGroup {
      ...GroupFragment
    }
    description {
      ...TranslationFragment
    }
    components {
      ...ProcedureTemplateComponentFragment
    }
    instances {
      ...ProcedureInstanceFragment
    }
    root {
      ...ProcedureTemplateFragment
    }
    parent {
      ...ProcedureTemplateFragment
    }
  }
}
Response
{
  "data": {
    "findAllProcedureTemplates": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "type": "tickets",
        "preset": "check",
        "accessLevel": "tree",
        "iconUrl": "abc123",
        "createdByGroupId": HashedId,
        "createdByUserId": HashedId,
        "titleId": HashedId,
        "descriptionId": HashedId,
        "rootId": HashedId,
        "parentId": HashedId,
        "publicId": 987,
        "publicRootId": 123,
        "servicePackages": [ServicePackage],
        "title": Translation,
        "createdByUser": User,
        "createdByGroup": Group,
        "description": Translation,
        "components": [ProcedureTemplateComponent],
        "instances": [ProcedureInstance],
        "root": ProcedureTemplate,
        "parent": ProcedureTemplate
      }
    ]
  }
}

findAssetIntegrationById

Response

Returns an AssetIntegration

Arguments
Name Description
id - HashedId!

Example

Query
query findAssetIntegrationById($id: HashedId!) {
  findAssetIntegrationById(id: $id) {
    id
    created
    updated
    name
    manufacturerId
    assetCategoryId
    assetCategory {
      ...AssetCategoryFragment
    }
    manufacturer {
      ...ManufacturerFragment
    }
  }
}
Variables
{"id": HashedId}
Response
{
  "data": {
    "findAssetIntegrationById": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "name": "abc123",
      "manufacturerId": HashedId,
      "assetCategoryId": HashedId,
      "assetCategory": AssetCategory,
      "manufacturer": Manufacturer
    }
  }
}

findAssetIntegrationByName

Response

Returns an AssetIntegration

Arguments
Name Description
name - String!

Example

Query
query findAssetIntegrationByName($name: String!) {
  findAssetIntegrationByName(name: $name) {
    id
    created
    updated
    name
    manufacturerId
    assetCategoryId
    assetCategory {
      ...AssetCategoryFragment
    }
    manufacturer {
      ...ManufacturerFragment
    }
  }
}
Variables
{"name": "xyz789"}
Response
{
  "data": {
    "findAssetIntegrationByName": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "name": "abc123",
      "manufacturerId": HashedId,
      "assetCategoryId": HashedId,
      "assetCategory": AssetCategory,
      "manufacturer": Manufacturer
    }
  }
}

findBrandByKey

Response

Returns a Brand

Arguments
Name Description
key - String!

Example

Query
query findBrandByKey($key: String!) {
  findBrandByKey(key: $key) {
    id
    created
    updated
    groupId
    logoWidth
    key
    systemName
    colorDark
    colorLight
    faviconUrl
    loginBackground
    name
    appUrlAndroid
    appUrlIos
    logo
    color
    symbol
    ownURL
    supportEmail
    activationMailVideo
    logoIsSquare
    group {
      ...GroupFragment
    }
    sso
    loginLanguageFallback
    projects
  }
}
Variables
{"key": "abc123"}
Response
{
  "data": {
    "findBrandByKey": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "groupId": HashedId,
      "logoWidth": 987,
      "key": "xyz789",
      "systemName": "xyz789",
      "colorDark": "abc123",
      "colorLight": "abc123",
      "faviconUrl": "xyz789",
      "loginBackground": "abc123",
      "name": "xyz789",
      "appUrlAndroid": "xyz789",
      "appUrlIos": "abc123",
      "logo": "abc123",
      "color": "xyz789",
      "symbol": "abc123",
      "ownURL": "xyz789",
      "supportEmail": "abc123",
      "activationMailVideo": "abc123",
      "logoIsSquare": true,
      "group": Group,
      "sso": "2007-12-03T10:15:30Z",
      "loginLanguageFallback": HashedId,
      "projects": "xyz789"
    }
  }
}

findBrandsByGroupIds

Response

Returns [Brand!]!

Arguments
Name Description
groupIds - [HashedId!]!

Example

Query
query findBrandsByGroupIds($groupIds: [HashedId!]!) {
  findBrandsByGroupIds(groupIds: $groupIds) {
    id
    created
    updated
    groupId
    logoWidth
    key
    systemName
    colorDark
    colorLight
    faviconUrl
    loginBackground
    name
    appUrlAndroid
    appUrlIos
    logo
    color
    symbol
    ownURL
    supportEmail
    activationMailVideo
    logoIsSquare
    group {
      ...GroupFragment
    }
    sso
    loginLanguageFallback
    projects
  }
}
Variables
{"groupIds": [HashedId]}
Response
{
  "data": {
    "findBrandsByGroupIds": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "groupId": HashedId,
        "logoWidth": 987,
        "key": "xyz789",
        "systemName": "xyz789",
        "colorDark": "xyz789",
        "colorLight": "xyz789",
        "faviconUrl": "abc123",
        "loginBackground": "xyz789",
        "name": "xyz789",
        "appUrlAndroid": "abc123",
        "appUrlIos": "xyz789",
        "logo": "abc123",
        "color": "xyz789",
        "symbol": "abc123",
        "ownURL": "xyz789",
        "supportEmail": "xyz789",
        "activationMailVideo": "abc123",
        "logoIsSquare": true,
        "group": Group,
        "sso": "2007-12-03T10:15:30Z",
        "loginLanguageFallback": HashedId,
        "projects": "xyz789"
      }
    ]
  }
}

findBrandsByIds

Response

Returns [Brand!]!

Arguments
Name Description
ids - [HashedId!]!

Example

Query
query findBrandsByIds($ids: [HashedId!]!) {
  findBrandsByIds(ids: $ids) {
    id
    created
    updated
    groupId
    logoWidth
    key
    systemName
    colorDark
    colorLight
    faviconUrl
    loginBackground
    name
    appUrlAndroid
    appUrlIos
    logo
    color
    symbol
    ownURL
    supportEmail
    activationMailVideo
    logoIsSquare
    group {
      ...GroupFragment
    }
    sso
    loginLanguageFallback
    projects
  }
}
Variables
{"ids": [HashedId]}
Response
{
  "data": {
    "findBrandsByIds": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "groupId": HashedId,
        "logoWidth": 123,
        "key": "xyz789",
        "systemName": "abc123",
        "colorDark": "xyz789",
        "colorLight": "xyz789",
        "faviconUrl": "abc123",
        "loginBackground": "abc123",
        "name": "xyz789",
        "appUrlAndroid": "xyz789",
        "appUrlIos": "abc123",
        "logo": "abc123",
        "color": "abc123",
        "symbol": "abc123",
        "ownURL": "abc123",
        "supportEmail": "abc123",
        "activationMailVideo": "abc123",
        "logoIsSquare": true,
        "group": Group,
        "sso": "2007-12-03T10:15:30Z",
        "loginLanguageFallback": HashedId,
        "projects": "xyz789"
      }
    ]
  }
}

findManufacturerByName

Response

Returns a Manufacturer

Arguments
Name Description
name - String!

Example

Query
query findManufacturerByName($name: String!) {
  findManufacturerByName(name: $name) {
    id
    created
    updated
    name
    nameKey
    notificationsEnabled
    maintainedByGroupId
    maintainedByGroup {
      ...GroupFragment
    }
    assetIntegrations {
      ...AssetIntegrationFragment
    }
    assetIntegrationIds
  }
}
Variables
{"name": "abc123"}
Response
{
  "data": {
    "findManufacturerByName": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "name": "abc123",
      "nameKey": "xyz789",
      "notificationsEnabled": false,
      "maintainedByGroupId": 123,
      "maintainedByGroup": Group,
      "assetIntegrations": [AssetIntegration],
      "assetIntegrationIds": [HashedId]
    }
  }
}

findManufacturerByNameKey

Response

Returns a Manufacturer

Arguments
Name Description
nameKey - String!

Example

Query
query findManufacturerByNameKey($nameKey: String!) {
  findManufacturerByNameKey(nameKey: $nameKey) {
    id
    created
    updated
    name
    nameKey
    notificationsEnabled
    maintainedByGroupId
    maintainedByGroup {
      ...GroupFragment
    }
    assetIntegrations {
      ...AssetIntegrationFragment
    }
    assetIntegrationIds
  }
}
Variables
{"nameKey": "abc123"}
Response
{
  "data": {
    "findManufacturerByNameKey": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "name": "xyz789",
      "nameKey": "abc123",
      "notificationsEnabled": false,
      "maintainedByGroupId": 123,
      "maintainedByGroup": Group,
      "assetIntegrations": [AssetIntegration],
      "assetIntegrationIds": [HashedId]
    }
  }
}

findManufacturersByGroupIds

Response

Returns [Manufacturer!]!

Arguments
Name Description
groupIds - [HashedId!]!

Example

Query
query findManufacturersByGroupIds($groupIds: [HashedId!]!) {
  findManufacturersByGroupIds(groupIds: $groupIds) {
    id
    created
    updated
    name
    nameKey
    notificationsEnabled
    maintainedByGroupId
    maintainedByGroup {
      ...GroupFragment
    }
    assetIntegrations {
      ...AssetIntegrationFragment
    }
    assetIntegrationIds
  }
}
Variables
{"groupIds": [HashedId]}
Response
{
  "data": {
    "findManufacturersByGroupIds": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "name": "abc123",
        "nameKey": "xyz789",
        "notificationsEnabled": false,
        "maintainedByGroupId": 123,
        "maintainedByGroup": Group,
        "assetIntegrations": [AssetIntegration],
        "assetIntegrationIds": [HashedId]
      }
    ]
  }
}

findManufacturersByIds

Response

Returns [Manufacturer!]!

Arguments
Name Description
ids - [HashedId!]!

Example

Query
query findManufacturersByIds($ids: [HashedId!]!) {
  findManufacturersByIds(ids: $ids) {
    id
    created
    updated
    name
    nameKey
    notificationsEnabled
    maintainedByGroupId
    maintainedByGroup {
      ...GroupFragment
    }
    assetIntegrations {
      ...AssetIntegrationFragment
    }
    assetIntegrationIds
  }
}
Variables
{"ids": [HashedId]}
Response
{
  "data": {
    "findManufacturersByIds": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "name": "xyz789",
        "nameKey": "xyz789",
        "notificationsEnabled": true,
        "maintainedByGroupId": 987,
        "maintainedByGroup": Group,
        "assetIntegrations": [AssetIntegration],
        "assetIntegrationIds": [HashedId]
      }
    ]
  }
}

findProcedureInstanceById

Response

Returns a ProcedureInstance

Arguments
Name Description
id - HashedId!

Example

Query
query findProcedureInstanceById($id: HashedId!) {
  findProcedureInstanceById(id: $id) {
    id
    created
    updated
    templateId
    serviceId
    createdByGroupId
    createdByUserId
    scannedAssetId
    scannedAsset {
      ...AssetFragment
    }
    service {
      ...ServiceFragment
    }
    createdByUser {
      ...UserFragment
    }
    createdByGroup {
      ...GroupFragment
    }
    template {
      ...ProcedureTemplateFragment
    }
    components {
      ...ProcedureInstanceComponentFragment
    }
  }
}
Variables
{"id": HashedId}
Response
{
  "data": {
    "findProcedureInstanceById": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "templateId": HashedId,
      "serviceId": HashedId,
      "createdByGroupId": HashedId,
      "createdByUserId": HashedId,
      "scannedAssetId": HashedId,
      "scannedAsset": Asset,
      "service": Service,
      "createdByUser": User,
      "createdByGroup": Group,
      "template": ProcedureTemplate,
      "components": [ProcedureInstanceComponent]
    }
  }
}

findProcedureTemplateById

Response

Returns a ProcedureTemplate

Arguments
Name Description
id - HashedId!

Example

Query
query findProcedureTemplateById($id: HashedId!) {
  findProcedureTemplateById(id: $id) {
    id
    created
    updated
    type
    preset
    accessLevel
    iconUrl
    createdByGroupId
    createdByUserId
    titleId
    descriptionId
    rootId
    parentId
    publicId
    publicRootId
    servicePackages {
      ...ServicePackageFragment
    }
    title {
      ...TranslationFragment
    }
    createdByUser {
      ...UserFragment
    }
    createdByGroup {
      ...GroupFragment
    }
    description {
      ...TranslationFragment
    }
    components {
      ...ProcedureTemplateComponentFragment
    }
    instances {
      ...ProcedureInstanceFragment
    }
    root {
      ...ProcedureTemplateFragment
    }
    parent {
      ...ProcedureTemplateFragment
    }
  }
}
Variables
{"id": HashedId}
Response
{
  "data": {
    "findProcedureTemplateById": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "type": "tickets",
      "preset": "check",
      "accessLevel": "tree",
      "iconUrl": "xyz789",
      "createdByGroupId": HashedId,
      "createdByUserId": HashedId,
      "titleId": HashedId,
      "descriptionId": HashedId,
      "rootId": HashedId,
      "parentId": HashedId,
      "publicId": 987,
      "publicRootId": 987,
      "servicePackages": [ServicePackage],
      "title": Translation,
      "createdByUser": User,
      "createdByGroup": Group,
      "description": Translation,
      "components": [ProcedureTemplateComponent],
      "instances": [ProcedureInstance],
      "root": ProcedureTemplate,
      "parent": ProcedureTemplate
    }
  }
}

findProcedureTemplateByIds

Response

Returns [ProcedureTemplate!]!

Arguments
Name Description
ids - [HashedId!]!

Example

Query
query findProcedureTemplateByIds($ids: [HashedId!]!) {
  findProcedureTemplateByIds(ids: $ids) {
    id
    created
    updated
    type
    preset
    accessLevel
    iconUrl
    createdByGroupId
    createdByUserId
    titleId
    descriptionId
    rootId
    parentId
    publicId
    publicRootId
    servicePackages {
      ...ServicePackageFragment
    }
    title {
      ...TranslationFragment
    }
    createdByUser {
      ...UserFragment
    }
    createdByGroup {
      ...GroupFragment
    }
    description {
      ...TranslationFragment
    }
    components {
      ...ProcedureTemplateComponentFragment
    }
    instances {
      ...ProcedureInstanceFragment
    }
    root {
      ...ProcedureTemplateFragment
    }
    parent {
      ...ProcedureTemplateFragment
    }
  }
}
Variables
{"ids": [HashedId]}
Response
{
  "data": {
    "findProcedureTemplateByIds": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "type": "tickets",
        "preset": "check",
        "accessLevel": "tree",
        "iconUrl": "abc123",
        "createdByGroupId": HashedId,
        "createdByUserId": HashedId,
        "titleId": HashedId,
        "descriptionId": HashedId,
        "rootId": HashedId,
        "parentId": HashedId,
        "publicId": 123,
        "publicRootId": 987,
        "servicePackages": [ServicePackage],
        "title": Translation,
        "createdByUser": User,
        "createdByGroup": Group,
        "description": Translation,
        "components": [ProcedureTemplateComponent],
        "instances": [ProcedureInstance],
        "root": ProcedureTemplate,
        "parent": ProcedureTemplate
      }
    ]
  }
}

findProcedureTemplatesPaginated

Response

Returns a ProcedureTemplatePaginatedDto!

Arguments
Name Description
pagination - PaginationParams!
search - String
filters - [FilterParamsInput]
sort - SortParams

Example

Query
query findProcedureTemplatesPaginated(
  $pagination: PaginationParams!,
  $search: String,
  $filters: [FilterParamsInput],
  $sort: SortParams
) {
  findProcedureTemplatesPaginated(
    pagination: $pagination,
    search: $search,
    filters: $filters,
    sort: $sort
  ) {
    rows {
      ...ProcedureTemplateFragment
    }
    meta {
      ...PaginationMetaFragment
    }
    total
  }
}
Variables
{
  "pagination": PaginationParams,
  "search": "xyz789",
  "filters": [FilterParamsInput],
  "sort": SortParams
}
Response
{
  "data": {
    "findProcedureTemplatesPaginated": {
      "rows": [ProcedureTemplate],
      "meta": PaginationMeta,
      "total": 123
    }
  }
}

findRuleById

Response

Returns a Rule

Arguments
Name Description
id - HashedId!

Example

Query
query findRuleById($id: HashedId!) {
  findRuleById(id: $id) {
    definition
    module {
      ...ModuleFragment
    }
    moduleId
    assetBlacklist {
      ...AssetFragment
    }
    assetBlacklistIds
    sendNotificationsTo {
      ...RuleNotificationRelationFragment
    }
    duration
    relations {
      ...RuleRelationFragment
    }
    eventsConfigs {
      ...EventConfigFragment
    }
    id
    created
    updated
    title {
      ...TranslationFragment
    }
    description {
      ...TranslationFragment
    }
    createdByUser {
      ...UserFragment
    }
    createdByGroup {
      ...GroupFragment
    }
    assignedToGroup {
      ...GroupFragment
    }
    eventStyle {
      ...EventStyleFragment
    }
    titleId
    descriptionId
    createdByGroupId
    createdByUserId
    assignedToGroupId
    eventStyleId
    isCritical
    isOnetime
    isImmediateNotification
    isGlobalRule
    manualDeactivation
    isArchived
    isOneshot
    isActive
    source
    enabled
    purpose
    servicesV2 {
      ...ServiceFragment
    }
    services {
      ...ServiceFragment
    }
    publicId
  }
}
Variables
{"id": HashedId}
Response
{
  "data": {
    "findRuleById": {
      "definition": {},
      "module": [Module],
      "moduleId": [HashedId],
      "assetBlacklist": [Asset],
      "assetBlacklistIds": [HashedId],
      "sendNotificationsTo": [RuleNotificationRelation],
      "duration": {},
      "relations": [RuleRelation],
      "eventsConfigs": [EventConfig],
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "title": Translation,
      "description": Translation,
      "createdByUser": User,
      "createdByGroup": Group,
      "assignedToGroup": Group,
      "eventStyle": EventStyle,
      "titleId": HashedId,
      "descriptionId": HashedId,
      "createdByGroupId": HashedId,
      "createdByUserId": HashedId,
      "assignedToGroupId": HashedId,
      "eventStyleId": HashedId,
      "isCritical": true,
      "isOnetime": false,
      "isImmediateNotification": true,
      "isGlobalRule": true,
      "manualDeactivation": true,
      "isArchived": true,
      "isOneshot": false,
      "isActive": false,
      "source": "DATA",
      "enabled": false,
      "purpose": "GEOFENCE",
      "servicesV2": [Service],
      "services": [Service],
      "publicId": "xyz789"
    }
  }
}

findRulesBySource

Response

Returns [Rule!]!

Arguments
Name Description
source - RuleSource!

Example

Query
query findRulesBySource($source: RuleSource!) {
  findRulesBySource(source: $source) {
    definition
    module {
      ...ModuleFragment
    }
    moduleId
    assetBlacklist {
      ...AssetFragment
    }
    assetBlacklistIds
    sendNotificationsTo {
      ...RuleNotificationRelationFragment
    }
    duration
    relations {
      ...RuleRelationFragment
    }
    eventsConfigs {
      ...EventConfigFragment
    }
    id
    created
    updated
    title {
      ...TranslationFragment
    }
    description {
      ...TranslationFragment
    }
    createdByUser {
      ...UserFragment
    }
    createdByGroup {
      ...GroupFragment
    }
    assignedToGroup {
      ...GroupFragment
    }
    eventStyle {
      ...EventStyleFragment
    }
    titleId
    descriptionId
    createdByGroupId
    createdByUserId
    assignedToGroupId
    eventStyleId
    isCritical
    isOnetime
    isImmediateNotification
    isGlobalRule
    manualDeactivation
    isArchived
    isOneshot
    isActive
    source
    enabled
    purpose
    servicesV2 {
      ...ServiceFragment
    }
    services {
      ...ServiceFragment
    }
    publicId
  }
}
Variables
{"source": "DATA"}
Response
{
  "data": {
    "findRulesBySource": [
      {
        "definition": {},
        "module": [Module],
        "moduleId": [HashedId],
        "assetBlacklist": [Asset],
        "assetBlacklistIds": [HashedId],
        "sendNotificationsTo": [RuleNotificationRelation],
        "duration": {},
        "relations": [RuleRelation],
        "eventsConfigs": [EventConfig],
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "title": Translation,
        "description": Translation,
        "createdByUser": User,
        "createdByGroup": Group,
        "assignedToGroup": Group,
        "eventStyle": EventStyle,
        "titleId": HashedId,
        "descriptionId": HashedId,
        "createdByGroupId": HashedId,
        "createdByUserId": HashedId,
        "assignedToGroupId": HashedId,
        "eventStyleId": HashedId,
        "isCritical": false,
        "isOnetime": false,
        "isImmediateNotification": true,
        "isGlobalRule": true,
        "manualDeactivation": true,
        "isArchived": true,
        "isOneshot": true,
        "isActive": false,
        "source": "DATA",
        "enabled": true,
        "purpose": "GEOFENCE",
        "servicesV2": [Service],
        "services": [Service],
        "publicId": "xyz789"
      }
    ]
  }
}

flow

Description

If neither id nor assetTypeId is defined, generic (standalone) flow for the user's group is returned @assetTypeId - list only flows attached to this asset type

Response

Returns [Flow]

Arguments
Name Description
id - [HashedId]
assetTypeId - HashedId
includeArchived - Boolean
getRawFlow - Boolean

Example

Query
query flow(
  $id: [HashedId],
  $assetTypeId: HashedId,
  $includeArchived: Boolean,
  $getRawFlow: Boolean
) {
  flow(
    id: $id,
    assetTypeId: $assetTypeId,
    includeArchived: $includeArchived,
    getRawFlow: $getRawFlow
  ) {
    id
    title {
      ...TranslationFragment
    }
    titleId
    description {
      ...TranslationFragment
    }
    descriptionId
    flowMaintainers {
      ...NotificationRelationFragment
    }
    definition
    createdByUserId
    created
    updated
    flowId
    assetId
    wasFinished
    submittedByUserId
    submittedByGroupId
  }
}
Variables
{
  "id": [HashedId],
  "assetTypeId": HashedId,
  "includeArchived": false,
  "getRawFlow": false
}
Response
{
  "data": {
    "flow": [
      {
        "id": HashedId,
        "title": Translation,
        "titleId": HashedId,
        "description": Translation,
        "descriptionId": HashedId,
        "flowMaintainers": [NotificationRelation],
        "definition": {},
        "createdByUserId": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "flowId": HashedId,
        "assetId": 123,
        "wasFinished": true,
        "submittedByUserId": 987,
        "submittedByGroupId": 987
      }
    ]
  }
}

flowProperty

Description

Endpoint to generate necessary dynamic values - ones that are marked as 'requestFromAPI' in flows - while the client traverses / user processes the flow. Accepts flowIds and an array of requested property values, along with the (partial) response definition. Generates resulting key-value pairs in JSON format. @partialResponseDefinition: includes the values the client has already submitted along flow traversal up to the point of requesting these properties.

Response

Returns a JSON!

Arguments
Name Description
flowId - HashedId!
partialResponseDefinition - FlowResponseDefinitionInput!
properties - [String]!

Example

Query
query flowProperty(
  $flowId: HashedId!,
  $partialResponseDefinition: FlowResponseDefinitionInput!,
  $properties: [String]!
) {
  flowProperty(
    flowId: $flowId,
    partialResponseDefinition: $partialResponseDefinition,
    properties: $properties
  )
}
Variables
{
  "flowId": HashedId,
  "partialResponseDefinition": FlowResponseDefinitionInput,
  "properties": ["xyz789"]
}
Response
{"data": {"flowProperty": {}}}

flowResponse

Description

@assetId: list responses that were submitted with this assetId @all: Admin users can list all service request in the group tree

Response

Returns [FlowResponse]

Arguments
Name Description
id - [HashedId!]
assetId - [HashedId!]
all - Boolean Default = false

Example

Query
query flowResponse(
  $id: [HashedId!],
  $assetId: [HashedId!],
  $all: Boolean
) {
  flowResponse(
    id: $id,
    assetId: $assetId,
    all: $all
  ) {
    id
    flow {
      ...FlowFragment
    }
    flowId
    wasFinished
    documents {
      ...DocumentFragment
    }
    definition {
      ...FlowResponseDefinitionFragment
    }
    assetId
    asset {
      ...AssetFragment
    }
    submittedByUserId
    submittedByUser {
      ...UserFragment
    }
    submittedByGroupId
    submittedByGroup {
      ...GroupFragment
    }
    createdDate
    finishedDate
    parsedResponse
    state
  }
}
Variables
{
  "id": [HashedId],
  "assetId": [HashedId],
  "all": false
}
Response
{
  "data": {
    "flowResponse": [
      {
        "id": HashedId,
        "flow": Flow,
        "flowId": HashedId,
        "wasFinished": true,
        "documents": [Document],
        "definition": FlowResponseDefinition,
        "assetId": HashedId,
        "asset": Asset,
        "submittedByUserId": HashedId,
        "submittedByUser": User,
        "submittedByGroupId": HashedId,
        "submittedByGroup": Group,
        "createdDate": 1592577642,
        "finishedDate": 1592577642,
        "parsedResponse": {},
        "state": "abc123"
      }
    ]
  }
}

getAllUserGroups

Response

Returns [Group!]!

Example

Query
query getAllUserGroups {
  getAllUserGroups {
    flow {
      ...FlowFragment
    }
    flowId
    id
    created
    updated
    name
    parentGroupId
    isRoot
    image
    isCustomer
    identificationNumber
    vatNumber
    rootGroupId
    handlerAlias
    treeRootId
    servicePackageId
    parentGroup {
      ...GroupFragment
    }
    services {
      ...ServiceFragment
    }
    servicesV2 {
      ...ServiceFragment
    }
    servicePackage {
      ...ServicePackageFragment
    }
    internalSettings
    nonCustomerParentGroup {
      ...GroupFragment
    }
    childGroups {
      ...GroupFragment
    }
    childGroupIds
    belongsToCurrentGroup
    customerRootGroup {
      ...GroupFragment
    }
    hasTicketHandling
    flowsEnabled
    rootGroupName
    flowMaintainers {
      ...NotificationRelationFragment
    }
    maintainedManufacturer {
      ...ManufacturerFragment
    }
    maintainedManufacturerId
    settings
    assetLocationsHidden
    users {
      ...UserFragment
    }
    userIds
    assets {
      ...AssetFragment
    }
    assetIds
    userRequestNotifiers {
      ...NotificationRelationFragment
    }
    customerName
    parentName
    groupType {
      ...ServicePackageFragment
    }
    groupTypeId
  }
}
Response
{
  "data": {
    "getAllUserGroups": [
      {
        "flow": Flow,
        "flowId": HashedId,
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "name": "abc123",
        "parentGroupId": HashedId,
        "isRoot": false,
        "image": "xyz789",
        "isCustomer": true,
        "identificationNumber": "xyz789",
        "vatNumber": "xyz789",
        "rootGroupId": HashedId,
        "handlerAlias": "xyz789",
        "treeRootId": HashedId,
        "servicePackageId": HashedId,
        "parentGroup": Group,
        "services": [Service],
        "servicesV2": [Service],
        "servicePackage": ServicePackage,
        "internalSettings": {},
        "nonCustomerParentGroup": Group,
        "childGroups": [Group],
        "childGroupIds": [HashedId],
        "belongsToCurrentGroup": false,
        "customerRootGroup": Group,
        "hasTicketHandling": true,
        "flowsEnabled": true,
        "rootGroupName": "abc123",
        "flowMaintainers": [NotificationRelation],
        "maintainedManufacturer": [Manufacturer],
        "maintainedManufacturerId": [HashedId],
        "settings": {},
        "assetLocationsHidden": false,
        "users": [User],
        "userIds": [HashedId],
        "assets": [Asset],
        "assetIds": [HashedId],
        "userRequestNotifiers": [NotificationRelation],
        "customerName": "xyz789",
        "parentName": "xyz789",
        "groupType": ServicePackage,
        "groupTypeId": HashedId
      }
    ]
  }
}

getAssetsAffectedByGroupChange

Response

Returns an Int

Arguments
Name Description
id - HashedId!
groupId - HashedId!

Example

Query
query getAssetsAffectedByGroupChange(
  $id: HashedId!,
  $groupId: HashedId!
) {
  getAssetsAffectedByGroupChange(
    id: $id,
    groupId: $groupId
  )
}
Variables
{
  "id": HashedId,
  "groupId": HashedId
}
Response
{"data": {"getAssetsAffectedByGroupChange": 987}}

getCurrentGroupChildren

Response

Returns [Group!]!

Example

Query
query getCurrentGroupChildren {
  getCurrentGroupChildren {
    flow {
      ...FlowFragment
    }
    flowId
    id
    created
    updated
    name
    parentGroupId
    isRoot
    image
    isCustomer
    identificationNumber
    vatNumber
    rootGroupId
    handlerAlias
    treeRootId
    servicePackageId
    parentGroup {
      ...GroupFragment
    }
    services {
      ...ServiceFragment
    }
    servicesV2 {
      ...ServiceFragment
    }
    servicePackage {
      ...ServicePackageFragment
    }
    internalSettings
    nonCustomerParentGroup {
      ...GroupFragment
    }
    childGroups {
      ...GroupFragment
    }
    childGroupIds
    belongsToCurrentGroup
    customerRootGroup {
      ...GroupFragment
    }
    hasTicketHandling
    flowsEnabled
    rootGroupName
    flowMaintainers {
      ...NotificationRelationFragment
    }
    maintainedManufacturer {
      ...ManufacturerFragment
    }
    maintainedManufacturerId
    settings
    assetLocationsHidden
    users {
      ...UserFragment
    }
    userIds
    assets {
      ...AssetFragment
    }
    assetIds
    userRequestNotifiers {
      ...NotificationRelationFragment
    }
    customerName
    parentName
    groupType {
      ...ServicePackageFragment
    }
    groupTypeId
  }
}
Response
{
  "data": {
    "getCurrentGroupChildren": [
      {
        "flow": Flow,
        "flowId": HashedId,
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "name": "abc123",
        "parentGroupId": HashedId,
        "isRoot": false,
        "image": "abc123",
        "isCustomer": true,
        "identificationNumber": "xyz789",
        "vatNumber": "xyz789",
        "rootGroupId": HashedId,
        "handlerAlias": "abc123",
        "treeRootId": HashedId,
        "servicePackageId": HashedId,
        "parentGroup": Group,
        "services": [Service],
        "servicesV2": [Service],
        "servicePackage": ServicePackage,
        "internalSettings": {},
        "nonCustomerParentGroup": Group,
        "childGroups": [Group],
        "childGroupIds": [HashedId],
        "belongsToCurrentGroup": true,
        "customerRootGroup": Group,
        "hasTicketHandling": true,
        "flowsEnabled": true,
        "rootGroupName": "xyz789",
        "flowMaintainers": [NotificationRelation],
        "maintainedManufacturer": [Manufacturer],
        "maintainedManufacturerId": [HashedId],
        "settings": {},
        "assetLocationsHidden": true,
        "users": [User],
        "userIds": [HashedId],
        "assets": [Asset],
        "assetIds": [HashedId],
        "userRequestNotifiers": [NotificationRelation],
        "customerName": "abc123",
        "parentName": "abc123",
        "groupType": ServicePackage,
        "groupTypeId": HashedId
      }
    ]
  }
}

getGroupById

Response

Returns a Group

Arguments
Name Description
id - HashedId!

Example

Query
query getGroupById($id: HashedId!) {
  getGroupById(id: $id) {
    flow {
      ...FlowFragment
    }
    flowId
    id
    created
    updated
    name
    parentGroupId
    isRoot
    image
    isCustomer
    identificationNumber
    vatNumber
    rootGroupId
    handlerAlias
    treeRootId
    servicePackageId
    parentGroup {
      ...GroupFragment
    }
    services {
      ...ServiceFragment
    }
    servicesV2 {
      ...ServiceFragment
    }
    servicePackage {
      ...ServicePackageFragment
    }
    internalSettings
    nonCustomerParentGroup {
      ...GroupFragment
    }
    childGroups {
      ...GroupFragment
    }
    childGroupIds
    belongsToCurrentGroup
    customerRootGroup {
      ...GroupFragment
    }
    hasTicketHandling
    flowsEnabled
    rootGroupName
    flowMaintainers {
      ...NotificationRelationFragment
    }
    maintainedManufacturer {
      ...ManufacturerFragment
    }
    maintainedManufacturerId
    settings
    assetLocationsHidden
    users {
      ...UserFragment
    }
    userIds
    assets {
      ...AssetFragment
    }
    assetIds
    userRequestNotifiers {
      ...NotificationRelationFragment
    }
    customerName
    parentName
    groupType {
      ...ServicePackageFragment
    }
    groupTypeId
  }
}
Variables
{"id": HashedId}
Response
{
  "data": {
    "getGroupById": {
      "flow": Flow,
      "flowId": HashedId,
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "name": "xyz789",
      "parentGroupId": HashedId,
      "isRoot": false,
      "image": "abc123",
      "isCustomer": true,
      "identificationNumber": "xyz789",
      "vatNumber": "xyz789",
      "rootGroupId": HashedId,
      "handlerAlias": "abc123",
      "treeRootId": HashedId,
      "servicePackageId": HashedId,
      "parentGroup": Group,
      "services": [Service],
      "servicesV2": [Service],
      "servicePackage": ServicePackage,
      "internalSettings": {},
      "nonCustomerParentGroup": Group,
      "childGroups": [Group],
      "childGroupIds": [HashedId],
      "belongsToCurrentGroup": true,
      "customerRootGroup": Group,
      "hasTicketHandling": true,
      "flowsEnabled": false,
      "rootGroupName": "abc123",
      "flowMaintainers": [NotificationRelation],
      "maintainedManufacturer": [Manufacturer],
      "maintainedManufacturerId": [HashedId],
      "settings": {},
      "assetLocationsHidden": false,
      "users": [User],
      "userIds": [HashedId],
      "assets": [Asset],
      "assetIds": [HashedId],
      "userRequestNotifiers": [NotificationRelation],
      "customerName": "abc123",
      "parentName": "abc123",
      "groupType": ServicePackage,
      "groupTypeId": HashedId
    }
  }
}

getGroupByIds

Response

Returns [Group!]!

Arguments
Name Description
ids - [HashedId!]!

Example

Query
query getGroupByIds($ids: [HashedId!]!) {
  getGroupByIds(ids: $ids) {
    flow {
      ...FlowFragment
    }
    flowId
    id
    created
    updated
    name
    parentGroupId
    isRoot
    image
    isCustomer
    identificationNumber
    vatNumber
    rootGroupId
    handlerAlias
    treeRootId
    servicePackageId
    parentGroup {
      ...GroupFragment
    }
    services {
      ...ServiceFragment
    }
    servicesV2 {
      ...ServiceFragment
    }
    servicePackage {
      ...ServicePackageFragment
    }
    internalSettings
    nonCustomerParentGroup {
      ...GroupFragment
    }
    childGroups {
      ...GroupFragment
    }
    childGroupIds
    belongsToCurrentGroup
    customerRootGroup {
      ...GroupFragment
    }
    hasTicketHandling
    flowsEnabled
    rootGroupName
    flowMaintainers {
      ...NotificationRelationFragment
    }
    maintainedManufacturer {
      ...ManufacturerFragment
    }
    maintainedManufacturerId
    settings
    assetLocationsHidden
    users {
      ...UserFragment
    }
    userIds
    assets {
      ...AssetFragment
    }
    assetIds
    userRequestNotifiers {
      ...NotificationRelationFragment
    }
    customerName
    parentName
    groupType {
      ...ServicePackageFragment
    }
    groupTypeId
  }
}
Variables
{"ids": [HashedId]}
Response
{
  "data": {
    "getGroupByIds": [
      {
        "flow": Flow,
        "flowId": HashedId,
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "name": "xyz789",
        "parentGroupId": HashedId,
        "isRoot": true,
        "image": "xyz789",
        "isCustomer": false,
        "identificationNumber": "abc123",
        "vatNumber": "xyz789",
        "rootGroupId": HashedId,
        "handlerAlias": "abc123",
        "treeRootId": HashedId,
        "servicePackageId": HashedId,
        "parentGroup": Group,
        "services": [Service],
        "servicesV2": [Service],
        "servicePackage": ServicePackage,
        "internalSettings": {},
        "nonCustomerParentGroup": Group,
        "childGroups": [Group],
        "childGroupIds": [HashedId],
        "belongsToCurrentGroup": true,
        "customerRootGroup": Group,
        "hasTicketHandling": false,
        "flowsEnabled": true,
        "rootGroupName": "xyz789",
        "flowMaintainers": [NotificationRelation],
        "maintainedManufacturer": [Manufacturer],
        "maintainedManufacturerId": [HashedId],
        "settings": {},
        "assetLocationsHidden": false,
        "users": [User],
        "userIds": [HashedId],
        "assets": [Asset],
        "assetIds": [HashedId],
        "userRequestNotifiers": [NotificationRelation],
        "customerName": "xyz789",
        "parentName": "xyz789",
        "groupType": ServicePackage,
        "groupTypeId": HashedId
      }
    ]
  }
}

getQRCodeURLPrefix

Response

Returns a String!

Example

Query
query getQRCodeURLPrefix {
  getQRCodeURLPrefix
}
Response
{"data": {"getQRCodeURLPrefix": "abc123"}}

getServiceContent

Description

Call this when the user requests the service (eg. selects the service item in a client menu).

Response

Returns a ServiceContent

Arguments
Name Description
id - HashedId
key - String

Example

Query
query getServiceContent(
  $id: HashedId,
  $key: String
) {
  getServiceContent(
    id: $id,
    key: $key
  ) {
    contentType
    content
  }
}
Variables
{
  "id": HashedId,
  "key": "abc123"
}
Response
{
  "data": {
    "getServiceContent": {
      "contentType": "formHtml",
      "content": "abc123"
    }
  }
}

getSiteManagerTodos

Response

Returns [SiteManagerTodos!]

Arguments
Name Description
emails - [String!]
userIds - [Int!]

Example

Query
query getSiteManagerTodos(
  $emails: [String!],
  $userIds: [Int!]
) {
  getSiteManagerTodos(
    emails: $emails,
    userIds: $userIds
  ) {
    checkRequired {
      ...AssetFragment
    }
    checkRequiredCount
    checkRequiredFilterLink
    checkThisMonth {
      ...AssetFragment
    }
    checkThisMonthCount
    checkThisMonthFilterLink
    checkThisWeek {
      ...AssetFragment
    }
    checkThisWeekCount
    checkThisWeekFilterLink
    checkUpcoming {
      ...AssetFragment
    }
    checkUpcomingCount
    checkUpcomingFilterLink
    damaged {
      ...AssetFragment
    }
    damagedCount
    damagedFilterLink
    inRepair {
      ...AssetFragment
    }
    inRepairCount
    inRepairFilterLink
    leasingEndExceeded {
      ...AssetFragment
    }
    leasingEndExceededCount
    leasingEndExceededFilterLink
    leasingEndThisMonth {
      ...AssetFragment
    }
    leasingEndThisMonthCount
    leasingEndThisMonthFilterLink
    leasingEndThisWeek {
      ...AssetFragment
    }
    leasingEndThisWeekCount
    leasingEndThisWeekFilterLink
    leasingEndUpcoming {
      ...AssetFragment
    }
    leasingEndUpcomingCount
    leasingEndUpcomingFilterLink
    maintenanceRequired {
      ...AssetFragment
    }
    maintenanceRequiredCount
    maintenanceRequiredFilterLink
    maintenanceThisMonth {
      ...AssetFragment
    }
    maintenanceThisMonthCount
    maintenanceThisMonthFilterLink
    maintenanceThisWeek {
      ...AssetFragment
    }
    maintenanceThisWeekCount
    maintenanceThisWeekFilterLink
    maintenanceUpcoming {
      ...AssetFragment
    }
    maintenanceUpcomingCount
    maintenanceUpcomingFilterLink
    noAction {
      ...AssetFragment
    }
    noActionCount
    noActionFilterLink
    noCheckPlanned {
      ...AssetFragment
    }
    noCheckPlannedCount
    noCheckPlannedFilterLink
    noLeasingEnd {
      ...AssetFragment
    }
    noLeasingEndCount
    noLeasingEndFilterLink
    noMaintenancePlanned {
      ...AssetFragment
    }
    noMaintenancePlannedCount
    noMaintenancePlannedFilterLink
    noRentalEnd {
      ...AssetFragment
    }
    noRentalEndCount
    noRentalEndFilterLink
    noServiceContractEnd {
      ...AssetFragment
    }
    noServiceContractEndCount
    noServiceContractEndFilterLink
    noWarrantyEnd {
      ...AssetFragment
    }
    noWarrantyEndCount
    noWarrantyEndFilterLink
    ordered {
      ...AssetFragment
    }
    orderedCount
    orderedFilterLink
    readyToUse {
      ...AssetFragment
    }
    readyToUseCount
    readyToUseFilterLink
    rentalEndExceeded {
      ...AssetFragment
    }
    rentalEndExceededCount
    rentalEndExceededFilterLink
    rentalEndThisMonth {
      ...AssetFragment
    }
    rentalEndThisMonthCount
    rentalEndThisMonthFilterLink
    rentalEndThisWeek {
      ...AssetFragment
    }
    rentalEndThisWeekCount
    rentalEndThisWeekFilterLink
    rentalEndUpcoming {
      ...AssetFragment
    }
    rentalEndUpcomingCount
    rentalEndUpcomingFilterLink
    retired {
      ...AssetFragment
    }
    retiredCount
    retiredFilterLink
    serviceContractEndExceeded {
      ...AssetFragment
    }
    serviceContractEndExceededCount
    serviceContractEndExceededFilterLink
    serviceContractEndThisMonth {
      ...AssetFragment
    }
    serviceContractEndThisMonthCount
    serviceContractEndThisMonthFilterLink
    serviceContractEndThisWeek {
      ...AssetFragment
    }
    serviceContractEndThisWeekCount
    serviceContractEndThisWeekFilterLink
    serviceContractEndUpcoming {
      ...AssetFragment
    }
    serviceContractEndUpcomingCount
    serviceContractEndUpcomingFilterLink
    siteManagerEmail
    warehouse {
      ...AssetFragment
    }
    warehouseCount
    warehouseFilterLink
    warrantyEndExceeded {
      ...AssetFragment
    }
    warrantyEndExceededCount
    warrantyEndExceededFilterLink
    warrantyEndThisMonth {
      ...AssetFragment
    }
    warrantyEndThisMonthCount
    warrantyEndThisMonthFilterLink
    warrantyEndThisWeek {
      ...AssetFragment
    }
    warrantyEndThisWeekCount
    warrantyEndThisWeekFilterLink
    warrantyEndUpcoming {
      ...AssetFragment
    }
    warrantyEndUpcomingCount
    warrantyEndUpcomingFilterLink
  }
}
Variables
{"emails": ["abc123"], "userIds": [987]}
Response
{
  "data": {
    "getSiteManagerTodos": [
      {
        "checkRequired": [Asset],
        "checkRequiredCount": 123,
        "checkRequiredFilterLink": "xyz789",
        "checkThisMonth": [Asset],
        "checkThisMonthCount": 123,
        "checkThisMonthFilterLink": "abc123",
        "checkThisWeek": [Asset],
        "checkThisWeekCount": 987,
        "checkThisWeekFilterLink": "abc123",
        "checkUpcoming": [Asset],
        "checkUpcomingCount": 987,
        "checkUpcomingFilterLink": "abc123",
        "damaged": [Asset],
        "damagedCount": 987,
        "damagedFilterLink": "xyz789",
        "inRepair": [Asset],
        "inRepairCount": 123,
        "inRepairFilterLink": "abc123",
        "leasingEndExceeded": [Asset],
        "leasingEndExceededCount": 987,
        "leasingEndExceededFilterLink": "abc123",
        "leasingEndThisMonth": [Asset],
        "leasingEndThisMonthCount": 123,
        "leasingEndThisMonthFilterLink": "abc123",
        "leasingEndThisWeek": [Asset],
        "leasingEndThisWeekCount": 987,
        "leasingEndThisWeekFilterLink": "xyz789",
        "leasingEndUpcoming": [Asset],
        "leasingEndUpcomingCount": 123,
        "leasingEndUpcomingFilterLink": "xyz789",
        "maintenanceRequired": [Asset],
        "maintenanceRequiredCount": 123,
        "maintenanceRequiredFilterLink": "xyz789",
        "maintenanceThisMonth": [Asset],
        "maintenanceThisMonthCount": 987,
        "maintenanceThisMonthFilterLink": "xyz789",
        "maintenanceThisWeek": [Asset],
        "maintenanceThisWeekCount": 123,
        "maintenanceThisWeekFilterLink": "xyz789",
        "maintenanceUpcoming": [Asset],
        "maintenanceUpcomingCount": 123,
        "maintenanceUpcomingFilterLink": "xyz789",
        "noAction": [Asset],
        "noActionCount": 987,
        "noActionFilterLink": "abc123",
        "noCheckPlanned": [Asset],
        "noCheckPlannedCount": 987,
        "noCheckPlannedFilterLink": "xyz789",
        "noLeasingEnd": [Asset],
        "noLeasingEndCount": 987,
        "noLeasingEndFilterLink": "xyz789",
        "noMaintenancePlanned": [Asset],
        "noMaintenancePlannedCount": 987,
        "noMaintenancePlannedFilterLink": "xyz789",
        "noRentalEnd": [Asset],
        "noRentalEndCount": 123,
        "noRentalEndFilterLink": "xyz789",
        "noServiceContractEnd": [Asset],
        "noServiceContractEndCount": 123,
        "noServiceContractEndFilterLink": "xyz789",
        "noWarrantyEnd": [Asset],
        "noWarrantyEndCount": 123,
        "noWarrantyEndFilterLink": "abc123",
        "ordered": [Asset],
        "orderedCount": 987,
        "orderedFilterLink": "abc123",
        "readyToUse": [Asset],
        "readyToUseCount": 987,
        "readyToUseFilterLink": "abc123",
        "rentalEndExceeded": [Asset],
        "rentalEndExceededCount": 987,
        "rentalEndExceededFilterLink": "xyz789",
        "rentalEndThisMonth": [Asset],
        "rentalEndThisMonthCount": 123,
        "rentalEndThisMonthFilterLink": "abc123",
        "rentalEndThisWeek": [Asset],
        "rentalEndThisWeekCount": 123,
        "rentalEndThisWeekFilterLink": "abc123",
        "rentalEndUpcoming": [Asset],
        "rentalEndUpcomingCount": 987,
        "rentalEndUpcomingFilterLink": "abc123",
        "retired": [Asset],
        "retiredCount": 123,
        "retiredFilterLink": "abc123",
        "serviceContractEndExceeded": [Asset],
        "serviceContractEndExceededCount": 123,
        "serviceContractEndExceededFilterLink": "abc123",
        "serviceContractEndThisMonth": [Asset],
        "serviceContractEndThisMonthCount": 123,
        "serviceContractEndThisMonthFilterLink": "abc123",
        "serviceContractEndThisWeek": [Asset],
        "serviceContractEndThisWeekCount": 123,
        "serviceContractEndThisWeekFilterLink": "xyz789",
        "serviceContractEndUpcoming": [Asset],
        "serviceContractEndUpcomingCount": 123,
        "serviceContractEndUpcomingFilterLink": "abc123",
        "siteManagerEmail": "abc123",
        "warehouse": [Asset],
        "warehouseCount": 123,
        "warehouseFilterLink": "abc123",
        "warrantyEndExceeded": [Asset],
        "warrantyEndExceededCount": 987,
        "warrantyEndExceededFilterLink": "abc123",
        "warrantyEndThisMonth": [Asset],
        "warrantyEndThisMonthCount": 987,
        "warrantyEndThisMonthFilterLink": "abc123",
        "warrantyEndThisWeek": [Asset],
        "warrantyEndThisWeekCount": 987,
        "warrantyEndThisWeekFilterLink": "abc123",
        "warrantyEndUpcoming": [Asset],
        "warrantyEndUpcomingCount": 123,
        "warrantyEndUpcomingFilterLink": "xyz789"
      }
    ]
  }
}

group

Use getAll, getAllChildren, getById and getByIds queries instead
Response

Returns [Group!]!

Arguments
Name Description
id - [HashedId!] Returns groups requested in the id array
getAll - Boolean Returns the full group tree for the user, regardless of the custom view group settings (see docs intro)
getAllChildren - Boolean Return all descendents of this group in addition to the group
related - Boolean Return all related groups of this group (all groups which have an asset which also belongs to this group)
getRawFlow - Boolean Returns raw flow without parsing if set true (default false)

Example

Query
query group(
  $id: [HashedId!],
  $getAll: Boolean,
  $getAllChildren: Boolean,
  $related: Boolean,
  $getRawFlow: Boolean
) {
  group(
    id: $id,
    getAll: $getAll,
    getAllChildren: $getAllChildren,
    related: $related,
    getRawFlow: $getRawFlow
  ) {
    flow {
      ...FlowFragment
    }
    flowId
    id
    created
    updated
    name
    parentGroupId
    isRoot
    image
    isCustomer
    identificationNumber
    vatNumber
    rootGroupId
    handlerAlias
    treeRootId
    servicePackageId
    parentGroup {
      ...GroupFragment
    }
    services {
      ...ServiceFragment
    }
    servicesV2 {
      ...ServiceFragment
    }
    servicePackage {
      ...ServicePackageFragment
    }
    internalSettings
    nonCustomerParentGroup {
      ...GroupFragment
    }
    childGroups {
      ...GroupFragment
    }
    childGroupIds
    belongsToCurrentGroup
    customerRootGroup {
      ...GroupFragment
    }
    hasTicketHandling
    flowsEnabled
    rootGroupName
    flowMaintainers {
      ...NotificationRelationFragment
    }
    maintainedManufacturer {
      ...ManufacturerFragment
    }
    maintainedManufacturerId
    settings
    assetLocationsHidden
    users {
      ...UserFragment
    }
    userIds
    assets {
      ...AssetFragment
    }
    assetIds
    userRequestNotifiers {
      ...NotificationRelationFragment
    }
    customerName
    parentName
    groupType {
      ...ServicePackageFragment
    }
    groupTypeId
  }
}
Variables
{
  "id": [HashedId],
  "getAll": false,
  "getAllChildren": false,
  "related": true,
  "getRawFlow": false
}
Response
{
  "data": {
    "group": [
      {
        "flow": Flow,
        "flowId": HashedId,
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "name": "xyz789",
        "parentGroupId": HashedId,
        "isRoot": true,
        "image": "xyz789",
        "isCustomer": true,
        "identificationNumber": "xyz789",
        "vatNumber": "xyz789",
        "rootGroupId": HashedId,
        "handlerAlias": "abc123",
        "treeRootId": HashedId,
        "servicePackageId": HashedId,
        "parentGroup": Group,
        "services": [Service],
        "servicesV2": [Service],
        "servicePackage": ServicePackage,
        "internalSettings": {},
        "nonCustomerParentGroup": Group,
        "childGroups": [Group],
        "childGroupIds": [HashedId],
        "belongsToCurrentGroup": true,
        "customerRootGroup": Group,
        "hasTicketHandling": false,
        "flowsEnabled": false,
        "rootGroupName": "xyz789",
        "flowMaintainers": [NotificationRelation],
        "maintainedManufacturer": [Manufacturer],
        "maintainedManufacturerId": [HashedId],
        "settings": {},
        "assetLocationsHidden": false,
        "users": [User],
        "userIds": [HashedId],
        "assets": [Asset],
        "assetIds": [HashedId],
        "userRequestNotifiers": [NotificationRelation],
        "customerName": "abc123",
        "parentName": "abc123",
        "groupType": ServicePackage,
        "groupTypeId": HashedId
      }
    ]
  }
}

groupSettingsSource

Response

Returns a Group

Arguments
Name Description
groupId - HashedId!
property - String!

Example

Query
query groupSettingsSource(
  $groupId: HashedId!,
  $property: String!
) {
  groupSettingsSource(
    groupId: $groupId,
    property: $property
  ) {
    flow {
      ...FlowFragment
    }
    flowId
    id
    created
    updated
    name
    parentGroupId
    isRoot
    image
    isCustomer
    identificationNumber
    vatNumber
    rootGroupId
    handlerAlias
    treeRootId
    servicePackageId
    parentGroup {
      ...GroupFragment
    }
    services {
      ...ServiceFragment
    }
    servicesV2 {
      ...ServiceFragment
    }
    servicePackage {
      ...ServicePackageFragment
    }
    internalSettings
    nonCustomerParentGroup {
      ...GroupFragment
    }
    childGroups {
      ...GroupFragment
    }
    childGroupIds
    belongsToCurrentGroup
    customerRootGroup {
      ...GroupFragment
    }
    hasTicketHandling
    flowsEnabled
    rootGroupName
    flowMaintainers {
      ...NotificationRelationFragment
    }
    maintainedManufacturer {
      ...ManufacturerFragment
    }
    maintainedManufacturerId
    settings
    assetLocationsHidden
    users {
      ...UserFragment
    }
    userIds
    assets {
      ...AssetFragment
    }
    assetIds
    userRequestNotifiers {
      ...NotificationRelationFragment
    }
    customerName
    parentName
    groupType {
      ...ServicePackageFragment
    }
    groupTypeId
  }
}
Variables
{
  "groupId": HashedId,
  "property": "xyz789"
}
Response
{
  "data": {
    "groupSettingsSource": {
      "flow": Flow,
      "flowId": HashedId,
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "name": "abc123",
      "parentGroupId": HashedId,
      "isRoot": false,
      "image": "xyz789",
      "isCustomer": true,
      "identificationNumber": "xyz789",
      "vatNumber": "abc123",
      "rootGroupId": HashedId,
      "handlerAlias": "xyz789",
      "treeRootId": HashedId,
      "servicePackageId": HashedId,
      "parentGroup": Group,
      "services": [Service],
      "servicesV2": [Service],
      "servicePackage": ServicePackage,
      "internalSettings": {},
      "nonCustomerParentGroup": Group,
      "childGroups": [Group],
      "childGroupIds": [HashedId],
      "belongsToCurrentGroup": true,
      "customerRootGroup": Group,
      "hasTicketHandling": false,
      "flowsEnabled": true,
      "rootGroupName": "xyz789",
      "flowMaintainers": [NotificationRelation],
      "maintainedManufacturer": [Manufacturer],
      "maintainedManufacturerId": [HashedId],
      "settings": {},
      "assetLocationsHidden": true,
      "users": [User],
      "userIds": [HashedId],
      "assets": [Asset],
      "assetIds": [HashedId],
      "userRequestNotifiers": [NotificationRelation],
      "customerName": "abc123",
      "parentName": "xyz789",
      "groupType": ServicePackage,
      "groupTypeId": HashedId
    }
  }
}

integrationConfigs

Response

Returns [Integration!]!

Example

Query
query integrationConfigs {
  integrationConfigs {
    id
    created
    updated
    name
    config {
      ...IntegrationConfigKeyFragment
    }
  }
}
Response
{
  "data": {
    "integrationConfigs": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "name": "WISAG",
        "config": [IntegrationConfigKey]
      }
    ]
  }
}

language

Response

Returns [Language]

Arguments
Name Description
id - [HashedId]

Example

Query
query language($id: [HashedId]) {
  language(id: $id) {
    id
    code
    name
    nameNative
  }
}
Variables
{"id": [HashedId]}
Response
{
  "data": {
    "language": [
      {
        "id": HashedId,
        "code": "abc123",
        "name": "xyz789",
        "nameNative": "abc123"
      }
    ]
  }
}

loginInterrupt

Response

Returns [LoginInterrupt!]

Arguments
Name Description
id - [HashedId!]

Example

Query
query loginInterrupt($id: [HashedId!]) {
  loginInterrupt(id: $id) {
    id
    title {
      ...TranslationFragment
    }
    titleId
    content {
      ...TranslationFragment
    }
    contentId
    visibleToGroupIds
    visibleToGroups {
      ...GroupFragment
    }
    created
    updated
  }
}
Variables
{"id": [HashedId]}
Response
{
  "data": {
    "loginInterrupt": [
      {
        "id": HashedId,
        "title": Translation,
        "titleId": HashedId,
        "content": Translation,
        "contentId": HashedId,
        "visibleToGroupIds": [HashedId],
        "visibleToGroups": [Group],
        "created": 1592577642,
        "updated": 1592577642
      }
    ]
  }
}

machineChecksStats

Response

Returns [MachineCheckStat!]!

Example

Query
query machineChecksStats {
  machineChecksStats {
    period
    quantity
  }
}
Response
{
  "data": {
    "machineChecksStats": [
      {"period": "abc123", "quantity": 123}
    ]
  }
}

machineMaintenanceStats

Response

Returns [MachineMaintenanceStat!]!

Example

Query
query machineMaintenanceStats {
  machineMaintenanceStats {
    period
    quantity
  }
}
Response
{
  "data": {
    "machineMaintenanceStats": [
      {"period": "abc123", "quantity": 987}
    ]
  }
}

manufacturer

Query will be removed. Use findManufacturersByIds, findManufacturersByGroupIds, findManufacturerByName, findManufacturerByNameKey instead
Response

Returns [Manufacturer!]!

Arguments
Name Description
id - [HashedId!]
name - String
nameKey - String normalized single-word ansi name in all caps
maintainedByGroupId - [HashedId!] manufacturers can be queried against a specific group

Example

Query
query manufacturer(
  $id: [HashedId!],
  $name: String,
  $nameKey: String,
  $maintainedByGroupId: [HashedId!]
) {
  manufacturer(
    id: $id,
    name: $name,
    nameKey: $nameKey,
    maintainedByGroupId: $maintainedByGroupId
  ) {
    id
    created
    updated
    name
    nameKey
    notificationsEnabled
    maintainedByGroupId
    maintainedByGroup {
      ...GroupFragment
    }
    assetIntegrations {
      ...AssetIntegrationFragment
    }
    assetIntegrationIds
  }
}
Variables
{
  "id": [HashedId],
  "name": "xyz789",
  "nameKey": "xyz789",
  "maintainedByGroupId": [HashedId]
}
Response
{
  "data": {
    "manufacturer": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "name": "xyz789",
        "nameKey": "xyz789",
        "notificationsEnabled": false,
        "maintainedByGroupId": 123,
        "maintainedByGroup": Group,
        "assetIntegrations": [AssetIntegration],
        "assetIntegrationIds": [HashedId]
      }
    ]
  }
}

manufacturers

Description

Get manufacturers list, belong to users root group (filtered results if search key is provided)

Response

Returns [String!]

Arguments
Name Description
search - String

Example

Query
query manufacturers($search: String) {
  manufacturers(search: $search)
}
Variables
{"search": "xyz789"}
Response
{"data": {"manufacturers": ["abc123"]}}

module

Response

Returns [Module]

Arguments
Name Description
id - [HashedId]
imei - [String]

Example

Query
query module(
  $id: [HashedId],
  $imei: [String]
) {
  module(
    id: $id,
    imei: $imei
  ) {
    id
    imei
    stripeCustomerId
    stripePriceId
    moduleType {
      ...ModuleTypeFragment
    }
    moduleTypeId
    moduleRevision
    moduleVersionNr
    assetVersionNr
    assignedToAsset {
      ...AssetFragment
    }
    assignedToAssetId
    assignedToAssets {
      ...AssetFragment
    }
    assignedToAssetIds
    currentPrice
    price {
      ...StripePriceFragment
    }
    isFake
    created
    updated
  }
}
Variables
{
  "id": [HashedId],
  "imei": ["abc123"]
}
Response
{
  "data": {
    "module": [
      {
        "id": HashedId,
        "imei": "abc123",
        "stripeCustomerId": "xyz789",
        "stripePriceId": "xyz789",
        "moduleType": ModuleType,
        "moduleTypeId": HashedId,
        "moduleRevision": "abc123",
        "moduleVersionNr": "abc123",
        "assetVersionNr": "abc123",
        "assignedToAsset": Asset,
        "assignedToAssetId": HashedId,
        "assignedToAssets": [Asset],
        "assignedToAssetIds": [HashedId],
        "currentPrice": 123.45,
        "price": StripePrice,
        "isFake": false,
        "created": 1592577642,
        "updated": 1592577642
      }
    ]
  }
}

moduleUsageInfo

Response

Returns a ModuleUsageInfo!

Arguments
Name Description
imei - String!
assetId - HashedId

Example

Query
query moduleUsageInfo(
  $imei: String!,
  $assetId: HashedId
) {
  moduleUsageInfo(
    imei: $imei,
    assetId: $assetId
  ) {
    hasConnectedAssets
    canBeReused
    canBeTransferred
    primarySerial
  }
}
Variables
{
  "imei": "abc123",
  "assetId": HashedId
}
Response
{
  "data": {
    "moduleUsageInfo": {
      "hasConnectedAssets": true,
      "canBeReused": true,
      "canBeTransferred": true,
      "primarySerial": "abc123"
    }
  }
}

modulesSubscriptions

Arguments
Name Description
pagination - PaginationParams!
search - String
filters - [FilterParamsInput]

Example

Query
query modulesSubscriptions(
  $pagination: PaginationParams!,
  $search: String,
  $filters: [FilterParamsInput]
) {
  modulesSubscriptions(
    pagination: $pagination,
    search: $search,
    filters: $filters
  ) {
    meta {
      ...PaginationMetaFragment
    }
    rows {
      ...ModuleSubscriptionFragment
    }
  }
}
Variables
{
  "pagination": PaginationParams,
  "search": "abc123",
  "filters": [FilterParamsInput]
}
Response
{
  "data": {
    "modulesSubscriptions": {
      "meta": PaginationMeta,
      "rows": [ModuleSubscription]
    }
  }
}

notificationConfig

Response

Returns a NotificationConfigDto!

Example

Query
query notificationConfig {
  notificationConfig {
    ticketPush
    ticketEmail
  }
}
Response
{"data": {"notificationConfig": {"ticketPush": true, "ticketEmail": true}}}

ownershipEnum

Response

Returns an OwnershipValArray

Example

Query
query ownershipEnum {
  ownershipEnum {
    data
  }
}
Response
{"data": {"ownershipEnum": {"data": ["PURCHASE"]}}}

parameter

Description

@assetId: specify an asset to list all the parameters associated with it @assetIntegrationId: specify an integration to list all the parameters associated with it @historicalParameters: by default only currently associated parameters are selected. When set to true, all parameters ever associated will be listed. @onlyGraphValues: filter out parameters for which values can't be displayed on a graph (eg. imei, id, or latitude)

Response

Returns [ParameterResult!]

Arguments
Name Description
id - [HashedId!]
assetId - [HashedId!]
assetIntegrationId - HashedId
historicalParameters - Boolean
onlyGraphValues - Boolean
onlyOffsetParams - Boolean

Example

Query
query parameter(
  $id: [HashedId!],
  $assetId: [HashedId!],
  $assetIntegrationId: HashedId,
  $historicalParameters: Boolean,
  $onlyGraphValues: Boolean,
  $onlyOffsetParams: Boolean
) {
  parameter(
    id: $id,
    assetId: $assetId,
    assetIntegrationId: $assetIntegrationId,
    historicalParameters: $historicalParameters,
    onlyGraphValues: $onlyGraphValues,
    onlyOffsetParams: $onlyOffsetParams
  ) {
    assetId
    parameter {
      ...ParameterFragment
    }
  }
}
Variables
{
  "id": [HashedId],
  "assetId": [HashedId],
  "assetIntegrationId": HashedId,
  "historicalParameters": true,
  "onlyGraphValues": false,
  "onlyOffsetParams": true
}
Response
{
  "data": {
    "parameter": [
      {
        "assetId": HashedId,
        "parameter": [Parameter]
      }
    ]
  }
}

parameterSet

Description

graphableParameters: only list parameters which can be displayed on a graph (eg. hide values like imei, id, or latitude)

Response

Returns [ParameterSet!]

Arguments
Name Description
id - [HashedId!]
graphableParameters - Boolean

Example

Query
query parameterSet(
  $id: [HashedId!],
  $graphableParameters: Boolean
) {
  parameterSet(
    id: $id,
    graphableParameters: $graphableParameters
  ) {
    id
    title {
      ...TranslationFragment
    }
    titleId
    description {
      ...TranslationFragment
    }
    descriptionId
    parameters {
      ...ParameterFragment
    }
  }
}
Variables
{"id": [HashedId], "graphableParameters": false}
Response
{
  "data": {
    "parameterSet": [
      {
        "id": HashedId,
        "title": Translation,
        "titleId": HashedId,
        "description": Translation,
        "descriptionId": HashedId,
        "parameters": [Parameter]
      }
    ]
  }
}

part

Response

Returns a Part!

Arguments
Name Description
id - HashedId!

Example

Query
query part($id: HashedId!) {
  part(id: $id) {
    id
    created
    updated
    publicId
    type
    nameId
    name {
      ...TranslationFragment
    }
    descriptionId
    description {
      ...TranslationFragment
    }
    siteId
    site {
      ...SiteFragment
    }
    area
    availableQuantity
    minQuantity
    maxQuantity
    unitOfMeasure
    unitCost
    currency
    totalStockValue
    groupId
    group {
      ...GroupFragment
    }
    customerId
    customer {
      ...GroupFragment
    }
    externalId
    uuid
    qrAttached
    brand
    responsiblePerson
    vendor
    image
    shouldNotifyCriticalStockLevel
    sendNotificationsTo {
      ...RuleNotificationRelationFragment
    }
    documents {
      ...DocumentFragment
    }
    events {
      ...EventFragment
    }
    createdByGroupId
    createdByGroup {
      ...GroupFragment
    }
    createdByUserId
    createdByUser {
      ...UserFragment
    }
    isArchived
  }
}
Variables
{"id": HashedId}
Response
{
  "data": {
    "part": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "publicId": 987,
      "type": "abc123",
      "nameId": HashedId,
      "name": Translation,
      "descriptionId": HashedId,
      "description": Translation,
      "siteId": HashedId,
      "site": Site,
      "area": "xyz789",
      "availableQuantity": 123,
      "minQuantity": 123,
      "maxQuantity": 987,
      "unitOfMeasure": "xyz789",
      "unitCost": 123.45,
      "currency": "xyz789",
      "totalStockValue": 987.65,
      "groupId": HashedId,
      "group": Group,
      "customerId": HashedId,
      "customer": Group,
      "externalId": "xyz789",
      "uuid": "xyz789",
      "qrAttached": true,
      "brand": "abc123",
      "responsiblePerson": "abc123",
      "vendor": "abc123",
      "image": "abc123",
      "shouldNotifyCriticalStockLevel": true,
      "sendNotificationsTo": [RuleNotificationRelation],
      "documents": [Document],
      "events": [Event],
      "createdByGroupId": HashedId,
      "createdByGroup": Group,
      "createdByUserId": HashedId,
      "createdByUser": User,
      "isArchived": false
    }
  }
}

partList

Response

Returns a PartPaginatedResult!

Arguments
Name Description
search - String
filters - [FilterParamsInput]
sort - SortParams

Example

Query
query partList(
  $search: String,
  $filters: [FilterParamsInput],
  $sort: SortParams
) {
  partList(
    search: $search,
    filters: $filters,
    sort: $sort
  ) {
    meta {
      ...PaginationMetaFragment
    }
    rows {
      ...PartFragment
    }
  }
}
Variables
{
  "search": "xyz789",
  "filters": [FilterParamsInput],
  "sort": SortParams
}
Response
{
  "data": {
    "partList": {
      "meta": PaginationMeta,
      "rows": [Part]
    }
  }
}

partPaginated

Response

Returns a PartPaginatedResult!

Arguments
Name Description
pagination - PaginationParams!
search - String
filters - [FilterParamsInput]
sort - SortParams

Example

Query
query partPaginated(
  $pagination: PaginationParams!,
  $search: String,
  $filters: [FilterParamsInput],
  $sort: SortParams
) {
  partPaginated(
    pagination: $pagination,
    search: $search,
    filters: $filters,
    sort: $sort
  ) {
    meta {
      ...PaginationMetaFragment
    }
    rows {
      ...PartFragment
    }
  }
}
Variables
{
  "pagination": PaginationParams,
  "search": "xyz789",
  "filters": [FilterParamsInput],
  "sort": SortParams
}
Response
{
  "data": {
    "partPaginated": {
      "meta": PaginationMeta,
      "rows": [Part]
    }
  }
}

partStatisticData

Response

Returns a PartStatisticData!

Arguments
Name Description
partId - HashedId!
siteId - HashedId!
parameterId - HashedId

Example

Query
query partStatisticData(
  $partId: HashedId!,
  $siteId: HashedId!,
  $parameterId: HashedId
) {
  partStatisticData(
    partId: $partId,
    siteId: $siteId,
    parameterId: $parameterId
  ) {
    part {
      ...PartFragment
    }
    parameters {
      ...PartParameterFragment
    }
    timestamps
    values
  }
}
Variables
{
  "partId": HashedId,
  "siteId": HashedId,
  "parameterId": HashedId
}
Response
{
  "data": {
    "partStatisticData": {
      "part": Part,
      "parameters": [PartParameter],
      "timestamps": [1592577642],
      "values": [123.45]
    }
  }
}

processedAssetData

Description

@assetId id of the asset @parameterId the ids of the parameters which should be loaded for the specified assets @from the from date of the requested data (default first entry of asset) @to the to date of the requested data (default now) @closest matches a single data closest to the given date, this will ignore properties from and to @return returns an array of string inclding

Response

Returns [ProcessedAssetData]

Arguments
Name Description
assetId - [HashedId!]!
parameterId - [HashedId!]!
from - Timestamp
to - Timestamp
closest - Timestamp
onlyOffsetValues - Boolean
excludeOffsets - Boolean
syntheticParameter - AssetSyntheticParameterEnum

Example

Query
query processedAssetData(
  $assetId: [HashedId!]!,
  $parameterId: [HashedId!]!,
  $from: Timestamp,
  $to: Timestamp,
  $closest: Timestamp,
  $onlyOffsetValues: Boolean,
  $excludeOffsets: Boolean,
  $syntheticParameter: AssetSyntheticParameterEnum
) {
  processedAssetData(
    assetId: $assetId,
    parameterId: $parameterId,
    from: $from,
    to: $to,
    closest: $closest,
    onlyOffsetValues: $onlyOffsetValues,
    excludeOffsets: $excludeOffsets,
    syntheticParameter: $syntheticParameter
  ) {
    asset {
      ...AssetFragment
    }
    parameters {
      ...ParameterFragment
    }
    values
    timestamps
  }
}
Variables
{
  "assetId": [HashedId],
  "parameterId": [HashedId],
  "from": 1592577642,
  "to": 1592577642,
  "closest": 1592577642,
  "onlyOffsetValues": false,
  "excludeOffsets": false,
  "syntheticParameter": "UTILIZATION"
}
Response
{
  "data": {
    "processedAssetData": [
      {
        "asset": Asset,
        "parameters": [Parameter],
        "values": [123.45],
        "timestamps": [1592577642]
      }
    ]
  }
}

publishMessageToMqtt

Response

Returns a Boolean

Arguments
Name Description
assetId - HashedId!
messageType - MqttMessageType!

Example

Query
query publishMessageToMqtt(
  $assetId: HashedId!,
  $messageType: MqttMessageType!
) {
  publishMessageToMqtt(
    assetId: $assetId,
    messageType: $messageType
  )
}
Variables
{"assetId": HashedId, "messageType": "LOCK"}
Response
{"data": {"publishMessageToMqtt": false}}

registrationRequest

Description

If no id given, the requests of the user's root group are listed

Response

Returns [RegistrationRequest]

Arguments
Name Description
id - [HashedId!]

Example

Query
query registrationRequest($id: [HashedId!]) {
  registrationRequest(id: $id) {
    id
    forGroup {
      ...GroupFragment
    }
    forGroupId
    firstname
    lastname
    email
    phone
    companyAddress
    customerNumber
    dealerName
    groupName
    acceptedTermsVersionId
    salesRepresentative
    vatNumber
    languageId
    isProcessed
    isActive
    assetsCount
    resultingUserId
    resultingUser {
      ...UserFragment
    }
    isDenied
    denialMessage
    processedByUserId
    processedByUser {
      ...UserFragment
    }
    resultingGroupId
    resultingGroup {
      ...GroupFragment
    }
    created
    updated
  }
}
Variables
{"id": [HashedId]}
Response
{
  "data": {
    "registrationRequest": [
      {
        "id": HashedId,
        "forGroup": Group,
        "forGroupId": HashedId,
        "firstname": "abc123",
        "lastname": "abc123",
        "email": "xyz789",
        "phone": "xyz789",
        "companyAddress": "xyz789",
        "customerNumber": "xyz789",
        "dealerName": "abc123",
        "groupName": "xyz789",
        "acceptedTermsVersionId": HashedId,
        "salesRepresentative": "abc123",
        "vatNumber": "abc123",
        "languageId": HashedId,
        "isProcessed": false,
        "isActive": true,
        "assetsCount": 987,
        "resultingUserId": HashedId,
        "resultingUser": User,
        "isDenied": false,
        "denialMessage": "abc123",
        "processedByUserId": HashedId,
        "processedByUser": User,
        "resultingGroupId": HashedId,
        "resultingGroup": Group,
        "created": 1592577642,
        "updated": 1592577642
      }
    ]
  }
}

reservation

Description

If no id given, reservations of the user's group are listed

Response

Returns [Reservation!]

Arguments
Name Description
id - [HashedId!]
assetId - [HashedId!]

Example

Query
query reservation(
  $id: [HashedId!],
  $assetId: [HashedId!]
) {
  reservation(
    id: $id,
    assetId: $assetId
  ) {
    id
    from
    until
    reserverName
    assets {
      ...AssetFragment
    }
    assetIds
    workingHoursSettings
    workingHoursNotification {
      ...RuleNotificationRelationFragment
    }
    notes {
      ...TranslationFragment
    }
    notesId
    createdByUser {
      ...UserFragment
    }
    createdByUserId
    createdByGroup {
      ...GroupFragment
    }
    createdByGroupId
    created
    updated
  }
}
Variables
{
  "id": [HashedId],
  "assetId": [HashedId]
}
Response
{
  "data": {
    "reservation": [
      {
        "id": HashedId,
        "from": 1592577642,
        "until": 1592577642,
        "reserverName": "xyz789",
        "assets": [Asset],
        "assetIds": [HashedId],
        "workingHoursSettings": {},
        "workingHoursNotification": [
          RuleNotificationRelation
        ],
        "notes": Translation,
        "notesId": HashedId,
        "createdByUser": User,
        "createdByUserId": HashedId,
        "createdByGroup": Group,
        "createdByGroupId": HashedId,
        "created": 1592577642,
        "updated": 1592577642
      }
    ]
  }
}

reservationsEnd

Description

List of the reservations created by the user's group that end in the range

Response

Returns [Reservation!]

Arguments
Name Description
from - Timestamp
to - Timestamp

Example

Query
query reservationsEnd(
  $from: Timestamp,
  $to: Timestamp
) {
  reservationsEnd(
    from: $from,
    to: $to
  ) {
    id
    from
    until
    reserverName
    assets {
      ...AssetFragment
    }
    assetIds
    workingHoursSettings
    workingHoursNotification {
      ...RuleNotificationRelationFragment
    }
    notes {
      ...TranslationFragment
    }
    notesId
    createdByUser {
      ...UserFragment
    }
    createdByUserId
    createdByGroup {
      ...GroupFragment
    }
    createdByGroupId
    created
    updated
  }
}
Variables
{"from": 1592577642, "to": 1592577642}
Response
{
  "data": {
    "reservationsEnd": [
      {
        "id": HashedId,
        "from": 1592577642,
        "until": 1592577642,
        "reserverName": "xyz789",
        "assets": [Asset],
        "assetIds": [HashedId],
        "workingHoursSettings": {},
        "workingHoursNotification": [
          RuleNotificationRelation
        ],
        "notes": Translation,
        "notesId": HashedId,
        "createdByUser": User,
        "createdByUserId": HashedId,
        "createdByGroup": Group,
        "createdByGroupId": HashedId,
        "created": 1592577642,
        "updated": 1592577642
      }
    ]
  }
}

role

Response

Returns [Role!]!

Example

Query
query role {
  role {
    id
    groupId
    key
    nameId
    name {
      ...TranslationFragment
    }
    created
    updated
  }
}
Response
{
  "data": {
    "role": [
      {
        "id": HashedId,
        "groupId": HashedId,
        "key": "SuperUser",
        "nameId": HashedId,
        "name": Translation,
        "created": 1592577642,
        "updated": 1592577642
      }
    ]
  }
}

rule

Response

Returns [Rule]

Arguments
Name Description
id - [HashedId!]
isArchived - Boolean If true, archived values will also be returned. Note that archived rules can't be edited anymore
relation - String Only return rules with relations set here
relationValue - String Can be set when @relation is set. Only return rules with relation and relationValue set here
source - RuleSource

Example

Query
query rule(
  $id: [HashedId!],
  $isArchived: Boolean,
  $relation: String,
  $relationValue: String,
  $source: RuleSource
) {
  rule(
    id: $id,
    isArchived: $isArchived,
    relation: $relation,
    relationValue: $relationValue,
    source: $source
  ) {
    definition
    module {
      ...ModuleFragment
    }
    moduleId
    assetBlacklist {
      ...AssetFragment
    }
    assetBlacklistIds
    sendNotificationsTo {
      ...RuleNotificationRelationFragment
    }
    duration
    relations {
      ...RuleRelationFragment
    }
    eventsConfigs {
      ...EventConfigFragment
    }
    id
    created
    updated
    title {
      ...TranslationFragment
    }
    description {
      ...TranslationFragment
    }
    createdByUser {
      ...UserFragment
    }
    createdByGroup {
      ...GroupFragment
    }
    assignedToGroup {
      ...GroupFragment
    }
    eventStyle {
      ...EventStyleFragment
    }
    titleId
    descriptionId
    createdByGroupId
    createdByUserId
    assignedToGroupId
    eventStyleId
    isCritical
    isOnetime
    isImmediateNotification
    isGlobalRule
    manualDeactivation
    isArchived
    isOneshot
    isActive
    source
    enabled
    purpose
    servicesV2 {
      ...ServiceFragment
    }
    services {
      ...ServiceFragment
    }
    publicId
  }
}
Variables
{
  "id": [HashedId],
  "isArchived": true,
  "relation": "abc123",
  "relationValue": "xyz789",
  "source": "DATA"
}
Response
{
  "data": {
    "rule": [
      {
        "definition": {},
        "module": [Module],
        "moduleId": [HashedId],
        "assetBlacklist": [Asset],
        "assetBlacklistIds": [HashedId],
        "sendNotificationsTo": [RuleNotificationRelation],
        "duration": {},
        "relations": [RuleRelation],
        "eventsConfigs": [EventConfig],
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "title": Translation,
        "description": Translation,
        "createdByUser": User,
        "createdByGroup": Group,
        "assignedToGroup": Group,
        "eventStyle": EventStyle,
        "titleId": HashedId,
        "descriptionId": HashedId,
        "createdByGroupId": HashedId,
        "createdByUserId": HashedId,
        "assignedToGroupId": HashedId,
        "eventStyleId": HashedId,
        "isCritical": true,
        "isOnetime": true,
        "isImmediateNotification": false,
        "isGlobalRule": true,
        "manualDeactivation": false,
        "isArchived": false,
        "isOneshot": true,
        "isActive": true,
        "source": "DATA",
        "enabled": true,
        "purpose": "GEOFENCE",
        "servicesV2": [Service],
        "services": [Service],
        "publicId": "abc123"
      }
    ]
  }
}

ruleBlock

Description

@assetIntegrationId: filters ruleBlocks associated with the listed assetIntegrationId

Response

Returns [RuleBlock]

Arguments
Name Description
id - [HashedId]
assetIntegrationId - [HashedId]

Example

Query
query ruleBlock(
  $id: [HashedId],
  $assetIntegrationId: [HashedId]
) {
  ruleBlock(
    id: $id,
    assetIntegrationId: $assetIntegrationId
  ) {
    id
    title {
      ...TranslationFragment
    }
    titleId
    type
    parameterIdPreset
    op
    settings
  }
}
Variables
{
  "id": [HashedId],
  "assetIntegrationId": [HashedId]
}
Response
{
  "data": {
    "ruleBlock": [
      {
        "id": HashedId,
        "title": Translation,
        "titleId": HashedId,
        "type": "parameter_math",
        "parameterIdPreset": HashedId,
        "op": "abc123",
        "settings": {}
      }
    ]
  }
}

searchAssetTypes

Response

Returns [AssetType!]

Arguments
Name Description
id - [HashedId!]
query - String
make - String
hideLockedTypes - Boolean

Example

Query
query searchAssetTypes(
  $id: [HashedId!],
  $query: String,
  $make: String,
  $hideLockedTypes: Boolean
) {
  searchAssetTypes(
    id: $id,
    query: $query,
    make: $make,
    hideLockedTypes: $hideLockedTypes
  ) {
    id
    created
    updated
    flowId
    forManufacturerId
    groupId
    hasAssortmentList
    externalId
    image
    inAssetCategoryId
    inAssetIntegrationId
    isApprovedAssetType
    isPrivate
    isVehicle
    make
    nameId
    restrictedType
    preset
    presetInitialValue
    presetLeasingCostTermination
    presetLeasingLevel
    presetLeasingMonthlyCost
    presetLeasingPartner
    presetLeasingPartnerContractNumber
    presetLeasingPartnerContractPositionNumber
    presetLeasingRenewalRate
    presetLowValueAsset
    presetMachineCheckInterval
    presetMachineCheckLastCreated
    presetMachineCheckName
    presetOwnership
    presetPurchaseCost
    presetPurchaseDepriciation
    presetRentalCostTermination
    presetRentalMonthlyCost
    presetRentalRenewalRate
    presetServiceContractCostPerYear
    presetServiceContractEmail
    presetServiceContractLevel
    presetServiceContractPartner
    presetSupplier
    presetWarrantyPeriod
    isLockable
    isLockedState
    lockAssetTypeId
    hasVNC
    isPollingAvailable
    name {
      ...TranslationFragment
    }
    documents {
      ...DocumentFragment
    }
    flow {
      ...FlowFragment
    }
    minimalBatteryVoltage
    nominalBatteryVoltage
    optimalBatteryVoltage
    optimalRuntime
    parentParameterKey
    workUnits {
      ...TranslationFragment
    }
    workUnitsPerHour
    workUnitId
    inAssetCategory {
      ...AssetCategoryFragment
    }
    group {
      ...GroupFragment
    }
    inAssetIntegration {
      ...AssetIntegrationFragment
    }
    forManufacturer {
      ...ManufacturerFragment
    }
    namespace
    assetsCount
    userManual
    suggestedServicePartner
    lockAssetType {
      ...AssetTypeFragment
    }
  }
}
Variables
{
  "id": [HashedId],
  "query": "xyz789",
  "make": "abc123",
  "hideLockedTypes": false
}
Response
{
  "data": {
    "searchAssetTypes": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "flowId": HashedId,
        "forManufacturerId": HashedId,
        "groupId": HashedId,
        "hasAssortmentList": false,
        "externalId": "xyz789",
        "image": "abc123",
        "inAssetCategoryId": HashedId,
        "inAssetIntegrationId": HashedId,
        "isApprovedAssetType": false,
        "isPrivate": false,
        "isVehicle": true,
        "make": "xyz789",
        "nameId": HashedId,
        "restrictedType": true,
        "preset": true,
        "presetInitialValue": "xyz789",
        "presetLeasingCostTermination": "abc123",
        "presetLeasingLevel": "abc123",
        "presetLeasingMonthlyCost": "xyz789",
        "presetLeasingPartner": "abc123",
        "presetLeasingPartnerContractNumber": "xyz789",
        "presetLeasingPartnerContractPositionNumber": "xyz789",
        "presetLeasingRenewalRate": "abc123",
        "presetLowValueAsset": false,
        "presetMachineCheckInterval": 123,
        "presetMachineCheckLastCreated": false,
        "presetMachineCheckName": "abc123",
        "presetOwnership": "xyz789",
        "presetPurchaseCost": "xyz789",
        "presetPurchaseDepriciation": 987,
        "presetRentalCostTermination": "abc123",
        "presetRentalMonthlyCost": "abc123",
        "presetRentalRenewalRate": "abc123",
        "presetServiceContractCostPerYear": "xyz789",
        "presetServiceContractEmail": "xyz789",
        "presetServiceContractLevel": "xyz789",
        "presetServiceContractPartner": "xyz789",
        "presetSupplier": "xyz789",
        "presetWarrantyPeriod": 987,
        "isLockable": true,
        "isLockedState": true,
        "lockAssetTypeId": HashedId,
        "hasVNC": true,
        "isPollingAvailable": true,
        "name": Translation,
        "documents": [Document],
        "flow": Flow,
        "minimalBatteryVoltage": 123.45,
        "nominalBatteryVoltage": 123.45,
        "optimalBatteryVoltage": 987.65,
        "optimalRuntime": 987.65,
        "parentParameterKey": "runtime",
        "workUnits": Translation,
        "workUnitsPerHour": 987.65,
        "workUnitId": HashedId,
        "inAssetCategory": AssetCategory,
        "group": Group,
        "inAssetIntegration": AssetIntegration,
        "forManufacturer": Manufacturer,
        "namespace": "abc123",
        "assetsCount": 123,
        "userManual": "abc123",
        "suggestedServicePartner": "xyz789",
        "lockAssetType": AssetType
      }
    ]
  }
}

searchSites

Response

Returns [Site]

Arguments
Name Description
query - String
selectedGroupId - HashedId
extraIds - String
excludeSiteIds - [HashedId!]

Example

Query
query searchSites(
  $query: String,
  $selectedGroupId: HashedId,
  $extraIds: String,
  $excludeSiteIds: [HashedId!]
) {
  searchSites(
    query: $query,
    selectedGroupId: $selectedGroupId,
    extraIds: $extraIds,
    excludeSiteIds: $excludeSiteIds
  ) {
    id
    externalId
    name
    isFixed
    locationText
    address
    coordinates {
      ...CoordinatesFragment
    }
    assignedToGroup {
      ...GroupFragment
    }
    assignedToGroupId
    createdByGroup {
      ...GroupFragment
    }
    createdByGroupId
    accountNumber
    customerNumber
    siteManagerName
    email
    telephone
    postalCode
    country
    geofenceSettings
    geofenceNotification {
      ...RuleNotificationRelationFragment
    }
    containsAssetsToModifyByGroup
    created
    assetsCount
    updated
    note
    image
    parentSite {
      ...SiteFragment
    }
    parentSiteId
    servicePackageId
    shouldInheritServicePackage
    servicePackage {
      ...ServicePackageFragment
    }
    shouldInheritGeofenceSettings
    shouldInheritManagerDetails
    groupTreeRootId
    lat
    lng
    siteTypeId
    qrAttached
    uuid
    events {
      ...EventFragment
    }
    publicId
    siteType {
      ...SiteTypeFragment
    }
  }
}
Variables
{
  "query": "xyz789",
  "selectedGroupId": HashedId,
  "extraIds": "xyz789",
  "excludeSiteIds": [HashedId]
}
Response
{
  "data": {
    "searchSites": [
      {
        "id": HashedId,
        "externalId": "abc123",
        "name": "abc123",
        "isFixed": false,
        "locationText": "xyz789",
        "address": "abc123",
        "coordinates": Coordinates,
        "assignedToGroup": Group,
        "assignedToGroupId": HashedId,
        "createdByGroup": Group,
        "createdByGroupId": HashedId,
        "accountNumber": "abc123",
        "customerNumber": "abc123",
        "siteManagerName": "abc123",
        "email": "xyz789",
        "telephone": "abc123",
        "postalCode": "abc123",
        "country": "xyz789",
        "geofenceSettings": {},
        "geofenceNotification": [
          RuleNotificationRelation
        ],
        "containsAssetsToModifyByGroup": false,
        "created": 1592577642,
        "assetsCount": 123,
        "updated": 1592577642,
        "note": "abc123",
        "image": "xyz789",
        "parentSite": Site,
        "parentSiteId": HashedId,
        "servicePackageId": HashedId,
        "shouldInheritServicePackage": false,
        "servicePackage": ServicePackage,
        "shouldInheritGeofenceSettings": false,
        "shouldInheritManagerDetails": false,
        "groupTreeRootId": HashedId,
        "lat": "xyz789",
        "lng": "xyz789",
        "siteTypeId": HashedId,
        "qrAttached": false,
        "uuid": "abc123",
        "events": [Event],
        "publicId": 123,
        "siteType": SiteType
      }
    ]
  }
}

sendBlankQRSheetDownloadEmail

Response

Returns a Boolean!

Arguments
Name Description
entity - EntityEnum
numberOfPages - Int!

Example

Query
query sendBlankQRSheetDownloadEmail(
  $entity: EntityEnum,
  $numberOfPages: Int!
) {
  sendBlankQRSheetDownloadEmail(
    entity: $entity,
    numberOfPages: $numberOfPages
  )
}
Variables
{"entity": "ASSET", "numberOfPages": 987}
Response
{"data": {"sendBlankQRSheetDownloadEmail": false}}

sendQRSheetDownloadEmail

Response

Returns a Boolean!

Arguments
Name Description
entity - EntityEnum
assetId - [HashedId!]!

Example

Query
query sendQRSheetDownloadEmail(
  $entity: EntityEnum,
  $assetId: [HashedId!]!
) {
  sendQRSheetDownloadEmail(
    entity: $entity,
    assetId: $assetId
  )
}
Variables
{"entity": "ASSET", "assetId": [HashedId]}
Response
{"data": {"sendQRSheetDownloadEmail": false}}

service

Description

If neither id nor key is defined, generic (standalone) services for the user group's service package are returned

Response

Returns [Service]

Arguments
Name Description
includeServiceCheck - Boolean
assetId - HashedId

Example

Query
query service(
  $includeServiceCheck: Boolean,
  $assetId: HashedId
) {
  service(
    includeServiceCheck: $includeServiceCheck,
    assetId: $assetId
  ) {
    id
    created
    updated
    title {
      ...TranslationFragment
    }
    titleId
    procedureTemplateId
    publicProcedureTemplateId
    keys
    contentType
    iconUrl
    formId
    isServiceCheck
    assigneeAutomationId
    createdByGroupId
    suggestedServicePartner
    servicePackage {
      ...ServicePackageFragment
    }
    servicePackages {
      ...ServicePackageFragment
    }
    procedureTemplate {
      ...ProcedureTemplateFragment
    }
    belongsToGroupTypeId
    rules {
      ...RuleFragment
    }
    canBeDeleted
  }
}
Variables
{"includeServiceCheck": true, "assetId": HashedId}
Response
{
  "data": {
    "service": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "title": Translation,
        "titleId": HashedId,
        "procedureTemplateId": HashedId,
        "publicProcedureTemplateId": 987,
        "keys": ["abc123"],
        "contentType": "formHtml",
        "iconUrl": "abc123",
        "formId": "xyz789",
        "isServiceCheck": false,
        "assigneeAutomationId": 123,
        "createdByGroupId": HashedId,
        "suggestedServicePartner": "abc123",
        "servicePackage": ServicePackage,
        "servicePackages": [ServicePackage],
        "procedureTemplate": ProcedureTemplate,
        "belongsToGroupTypeId": HashedId,
        "rules": [Rule],
        "canBeDeleted": true
      }
    ]
  }
}

servicePackage

Response

Returns [ServicePackage!]!

Arguments
Name Description
id - [HashedId!]

Example

Query
query servicePackage($id: [HashedId!]) {
  servicePackage(id: $id) {
    id
    titleId
    createdByUserId
    createdByGroupId
    createdByGroup {
      ...GroupFragment
    }
    flow {
      ...FlowFragment
    }
    flowId
    services {
      ...ServiceFragment
    }
    created
    updated
    deleted
    assignedGroupsCount
    assignedSitesCount
    canBeDeleted
    title {
      ...TranslationFragment
    }
    createdByUser {
      ...UserFragment
    }
  }
}
Variables
{"id": [HashedId]}
Response
{
  "data": {
    "servicePackage": [
      {
        "id": HashedId,
        "titleId": HashedId,
        "createdByUserId": HashedId,
        "createdByGroupId": HashedId,
        "createdByGroup": Group,
        "flow": Flow,
        "flowId": HashedId,
        "services": [Service],
        "created": 1592577642,
        "updated": 1592577642,
        "deleted": 1592577642,
        "assignedGroupsCount": 123,
        "assignedSitesCount": 123,
        "canBeDeleted": true,
        "title": Translation,
        "createdByUser": User
      }
    ]
  }
}

services

Response

Returns [Service!]!

Arguments
Name Description
filters - ServicesFilterInput
includeServiceCheck - Boolean
assetId - HashedId

Example

Query
query services(
  $filters: ServicesFilterInput,
  $includeServiceCheck: Boolean,
  $assetId: HashedId
) {
  services(
    filters: $filters,
    includeServiceCheck: $includeServiceCheck,
    assetId: $assetId
  ) {
    id
    created
    updated
    title {
      ...TranslationFragment
    }
    titleId
    procedureTemplateId
    publicProcedureTemplateId
    keys
    contentType
    iconUrl
    formId
    isServiceCheck
    assigneeAutomationId
    createdByGroupId
    suggestedServicePartner
    servicePackage {
      ...ServicePackageFragment
    }
    servicePackages {
      ...ServicePackageFragment
    }
    procedureTemplate {
      ...ProcedureTemplateFragment
    }
    belongsToGroupTypeId
    rules {
      ...RuleFragment
    }
    canBeDeleted
  }
}
Variables
{
  "filters": ServicesFilterInput,
  "includeServiceCheck": true,
  "assetId": HashedId
}
Response
{
  "data": {
    "services": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "title": Translation,
        "titleId": HashedId,
        "procedureTemplateId": HashedId,
        "publicProcedureTemplateId": 123,
        "keys": ["xyz789"],
        "contentType": "formHtml",
        "iconUrl": "xyz789",
        "formId": "abc123",
        "isServiceCheck": true,
        "assigneeAutomationId": 123,
        "createdByGroupId": HashedId,
        "suggestedServicePartner": "abc123",
        "servicePackage": ServicePackage,
        "servicePackages": [ServicePackage],
        "procedureTemplate": ProcedureTemplate,
        "belongsToGroupTypeId": HashedId,
        "rules": [Rule],
        "canBeDeleted": true
      }
    ]
  }
}

site

Use sitesPaginated instead
Description

Default only returns 150000 Sites. If all sites are required please use the all argument

Response

Returns [Site!]

Arguments
Name Description
id - [HashedId!]
all - Boolean

Example

Query
query site(
  $id: [HashedId!],
  $all: Boolean
) {
  site(
    id: $id,
    all: $all
  ) {
    id
    externalId
    name
    isFixed
    locationText
    address
    coordinates {
      ...CoordinatesFragment
    }
    assignedToGroup {
      ...GroupFragment
    }
    assignedToGroupId
    createdByGroup {
      ...GroupFragment
    }
    createdByGroupId
    accountNumber
    customerNumber
    siteManagerName
    email
    telephone
    postalCode
    country
    geofenceSettings
    geofenceNotification {
      ...RuleNotificationRelationFragment
    }
    containsAssetsToModifyByGroup
    created
    assetsCount
    updated
    note
    image
    parentSite {
      ...SiteFragment
    }
    parentSiteId
    servicePackageId
    shouldInheritServicePackage
    servicePackage {
      ...ServicePackageFragment
    }
    shouldInheritGeofenceSettings
    shouldInheritManagerDetails
    groupTreeRootId
    lat
    lng
    siteTypeId
    qrAttached
    uuid
    events {
      ...EventFragment
    }
    publicId
    siteType {
      ...SiteTypeFragment
    }
  }
}
Variables
{"id": [HashedId], "all": true}
Response
{
  "data": {
    "site": [
      {
        "id": HashedId,
        "externalId": "abc123",
        "name": "xyz789",
        "isFixed": false,
        "locationText": "abc123",
        "address": "abc123",
        "coordinates": Coordinates,
        "assignedToGroup": Group,
        "assignedToGroupId": HashedId,
        "createdByGroup": Group,
        "createdByGroupId": HashedId,
        "accountNumber": "abc123",
        "customerNumber": "xyz789",
        "siteManagerName": "abc123",
        "email": "xyz789",
        "telephone": "abc123",
        "postalCode": "xyz789",
        "country": "xyz789",
        "geofenceSettings": {},
        "geofenceNotification": [
          RuleNotificationRelation
        ],
        "containsAssetsToModifyByGroup": false,
        "created": 1592577642,
        "assetsCount": 123,
        "updated": 1592577642,
        "note": "xyz789",
        "image": "xyz789",
        "parentSite": Site,
        "parentSiteId": HashedId,
        "servicePackageId": HashedId,
        "shouldInheritServicePackage": false,
        "servicePackage": ServicePackage,
        "shouldInheritGeofenceSettings": true,
        "shouldInheritManagerDetails": false,
        "groupTreeRootId": HashedId,
        "lat": "xyz789",
        "lng": "abc123",
        "siteTypeId": HashedId,
        "qrAttached": false,
        "uuid": "xyz789",
        "events": [Event],
        "publicId": 987,
        "siteType": SiteType
      }
    ]
  }
}

siteToInherit

Response

Returns a Site

Arguments
Name Description
parentSiteId - HashedId!
section - SiteSectionEnum!

Example

Query
query siteToInherit(
  $parentSiteId: HashedId!,
  $section: SiteSectionEnum!
) {
  siteToInherit(
    parentSiteId: $parentSiteId,
    section: $section
  ) {
    id
    externalId
    name
    isFixed
    locationText
    address
    coordinates {
      ...CoordinatesFragment
    }
    assignedToGroup {
      ...GroupFragment
    }
    assignedToGroupId
    createdByGroup {
      ...GroupFragment
    }
    createdByGroupId
    accountNumber
    customerNumber
    siteManagerName
    email
    telephone
    postalCode
    country
    geofenceSettings
    geofenceNotification {
      ...RuleNotificationRelationFragment
    }
    containsAssetsToModifyByGroup
    created
    assetsCount
    updated
    note
    image
    parentSite {
      ...SiteFragment
    }
    parentSiteId
    servicePackageId
    shouldInheritServicePackage
    servicePackage {
      ...ServicePackageFragment
    }
    shouldInheritGeofenceSettings
    shouldInheritManagerDetails
    groupTreeRootId
    lat
    lng
    siteTypeId
    qrAttached
    uuid
    events {
      ...EventFragment
    }
    publicId
    siteType {
      ...SiteTypeFragment
    }
  }
}
Variables
{"parentSiteId": HashedId, "section": "GEOFENCE_SETTINGS"}
Response
{
  "data": {
    "siteToInherit": {
      "id": HashedId,
      "externalId": "abc123",
      "name": "abc123",
      "isFixed": true,
      "locationText": "xyz789",
      "address": "abc123",
      "coordinates": Coordinates,
      "assignedToGroup": Group,
      "assignedToGroupId": HashedId,
      "createdByGroup": Group,
      "createdByGroupId": HashedId,
      "accountNumber": "xyz789",
      "customerNumber": "abc123",
      "siteManagerName": "abc123",
      "email": "xyz789",
      "telephone": "abc123",
      "postalCode": "xyz789",
      "country": "xyz789",
      "geofenceSettings": {},
      "geofenceNotification": [RuleNotificationRelation],
      "containsAssetsToModifyByGroup": true,
      "created": 1592577642,
      "assetsCount": 987,
      "updated": 1592577642,
      "note": "xyz789",
      "image": "abc123",
      "parentSite": Site,
      "parentSiteId": HashedId,
      "servicePackageId": HashedId,
      "shouldInheritServicePackage": true,
      "servicePackage": ServicePackage,
      "shouldInheritGeofenceSettings": true,
      "shouldInheritManagerDetails": true,
      "groupTreeRootId": HashedId,
      "lat": "xyz789",
      "lng": "xyz789",
      "siteTypeId": HashedId,
      "qrAttached": false,
      "uuid": "abc123",
      "events": [Event],
      "publicId": 123,
      "siteType": SiteType
    }
  }
}

siteTypes

Response

Returns [SiteType!]!

Arguments
Name Description
groupId - HashedId

Example

Query
query siteTypes($groupId: HashedId) {
  siteTypes(groupId: $groupId) {
    id
    key
  }
}
Variables
{"groupId": HashedId}
Response
{
  "data": {
    "siteTypes": [
      {
        "id": HashedId,
        "key": "xyz789"
      }
    ]
  }
}

sitesPaginated

Response

Returns a SitesPaginatedResult

Arguments
Name Description
pagination - PaginationParams!
search - String
filters - [FilterParamsInput]
sort - SortParams

Example

Query
query sitesPaginated(
  $pagination: PaginationParams!,
  $search: String,
  $filters: [FilterParamsInput],
  $sort: SortParams
) {
  sitesPaginated(
    pagination: $pagination,
    search: $search,
    filters: $filters,
    sort: $sort
  ) {
    meta {
      ...PaginationMetaFragment
    }
    rows {
      ...SiteFragment
    }
  }
}
Variables
{
  "pagination": PaginationParams,
  "search": "abc123",
  "filters": [FilterParamsInput],
  "sort": SortParams
}
Response
{
  "data": {
    "sitesPaginated": {
      "meta": PaginationMeta,
      "rows": [Site]
    }
  }
}

subscriptionPlan

We don't manage subscriptions over our API anymore
Response

Returns [SubscriptionPlan]

Arguments
Name Description
manufacturerId - HashedId

Example

Query
query subscriptionPlan($manufacturerId: HashedId) {
  subscriptionPlan(manufacturerId: $manufacturerId) {
    key
    name
  }
}
Variables
{"manufacturerId": HashedId}
Response
{
  "data": {
    "subscriptionPlan": [
      {
        "key": "xyz789",
        "name": "abc123"
      }
    ]
  }
}

teamById

Response

Returns a Team!

Arguments
Name Description
id - HashedId!

Example

Query
query teamById($id: HashedId!) {
  teamById(id: $id) {
    id
    created
    updated
    nameId
    groupId
    createdByUserId
    createdByGroupId
    assignedToActiveTicketIds
    name {
      ...TranslationFragment
    }
    group {
      ...GroupFragment
    }
    createdByUser {
      ...UserFragment
    }
    createdByGroup {
      ...GroupFragment
    }
    members {
      ...TeamMemberFragment
    }
  }
}
Variables
{"id": HashedId}
Response
{
  "data": {
    "teamById": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "nameId": HashedId,
      "groupId": HashedId,
      "createdByUserId": HashedId,
      "createdByGroupId": HashedId,
      "assignedToActiveTicketIds": [123],
      "name": Translation,
      "group": Group,
      "createdByUser": User,
      "createdByGroup": Group,
      "members": [TeamMember]
    }
  }
}

teams

Response

Returns [Team!]!

Example

Query
query teams {
  teams {
    id
    created
    updated
    nameId
    groupId
    createdByUserId
    createdByGroupId
    assignedToActiveTicketIds
    name {
      ...TranslationFragment
    }
    group {
      ...GroupFragment
    }
    createdByUser {
      ...UserFragment
    }
    createdByGroup {
      ...GroupFragment
    }
    members {
      ...TeamMemberFragment
    }
  }
}
Response
{
  "data": {
    "teams": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "nameId": HashedId,
        "groupId": HashedId,
        "createdByUserId": HashedId,
        "createdByGroupId": HashedId,
        "assignedToActiveTicketIds": [123],
        "name": Translation,
        "group": Group,
        "createdByUser": User,
        "createdByGroup": Group,
        "members": [TeamMember]
      }
    ]
  }
}

teamsPaginated

Response

Returns a TeamPaginatedResult!

Arguments
Name Description
pagination - PaginationParams!
search - String
filters - [FilterParamsInput]
sort - SortParams

Example

Query
query teamsPaginated(
  $pagination: PaginationParams!,
  $search: String,
  $filters: [FilterParamsInput],
  $sort: SortParams
) {
  teamsPaginated(
    pagination: $pagination,
    search: $search,
    filters: $filters,
    sort: $sort
  ) {
    meta {
      ...PaginationMetaFragment
    }
    rows {
      ...TeamFragment
    }
  }
}
Variables
{
  "pagination": PaginationParams,
  "search": "xyz789",
  "filters": [FilterParamsInput],
  "sort": SortParams
}
Response
{
  "data": {
    "teamsPaginated": {
      "meta": PaginationMeta,
      "rows": [Team]
    }
  }
}

terms

Description

Can only retrieve specific id-s @options type-specific options as JSON

Response

Returns [Terms]

Arguments
Name Description
id - [HashedId!]
type - TermsTypeKey
listInactive - Boolean
options - String

Example

Query
query terms(
  $id: [HashedId!],
  $type: TermsTypeKey,
  $listInactive: Boolean,
  $options: String
) {
  terms(
    id: $id,
    type: $type,
    listInactive: $listInactive,
    options: $options
  ) {
    content {
      ...TranslationFragment
    }
    contentId
    created
    id
    isActive
    title {
      ...TranslationFragment
    }
    titleId
    type
    updated
    version
    versions {
      ...TermsFragment
    }
  }
}
Variables
{
  "id": [HashedId],
  "type": "EULA",
  "listInactive": false,
  "options": "abc123"
}
Response
{
  "data": {
    "terms": [
      {
        "content": Translation,
        "contentId": HashedId,
        "created": 1592577642,
        "id": HashedId,
        "isActive": false,
        "title": Translation,
        "titleId": HashedId,
        "type": "EULA",
        "updated": 1592577642,
        "version": 987,
        "versions": [Terms]
      }
    ]
  }
}

ticket

please use "ticketById", or "ticketsPaginated" instead
Response

Returns [Ticket!]!

Arguments
Name Description
id - [HashedId!]
all - Boolean Default = false

Example

Query
query ticket(
  $id: [HashedId!],
  $all: Boolean
) {
  ticket(
    id: $id,
    all: $all
  ) {
    id
    created
    updated
    content
    uuid
    flowResponseId
    serviceResponseId
    createdByUserId
    createdByGroupId
    procedureInstanceId
    titleId
    ticketId
    assignee {
      ...ProcessHandlerFragment
    }
    responsibles {
      ...ProcessHandlerFragment
    }
    createdByUser {
      ...UserFragment
    }
    createdByGroup {
      ...GroupFragment
    }
    currentState {
      ...TicketCurrentStateFragment
    }
    ticketComments {
      ...TicketCommentFragment
    }
    associatedAssets {
      ...AssetFragment
    }
    documents {
      ...DocumentFragment
    }
    pdfCertificateLink {
      ...DocumentFragment
    }
    service {
      ...ServiceFragment
    }
    title {
      ...TranslationFragment
    }
    lastStatusChange
    notifications {
      ...NotificationFilterFragment
    }
    batteryCosts
    certificationCosts
    consumablesCosts
    fuelCosts
    insuranceTaxesCosts
    laborCosts
    logisticsCosts
    otherCosts
    repairCosts
    sparePartsCosts
    ticketTimeline {
      ...TicketTimelineFragment
    }
    totalCosts
    procedureInstance {
      ...ProcedureInstanceFragment
    }
    associatedSites {
      ...SiteFragment
    }
  }
}
Variables
{"id": [HashedId], "all": false}
Response
{
  "data": {
    "ticket": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "content": {},
        "uuid": "xyz789",
        "flowResponseId": HashedId,
        "serviceResponseId": HashedId,
        "createdByUserId": HashedId,
        "createdByGroupId": HashedId,
        "procedureInstanceId": HashedId,
        "titleId": HashedId,
        "ticketId": 123,
        "assignee": ProcessHandler,
        "responsibles": [ProcessHandler],
        "createdByUser": User,
        "createdByGroup": Group,
        "currentState": TicketCurrentState,
        "ticketComments": [TicketComment],
        "associatedAssets": [Asset],
        "documents": [Document],
        "pdfCertificateLink": Document,
        "service": Service,
        "title": Translation,
        "lastStatusChange": 1592577642,
        "notifications": NotificationFilter,
        "batteryCosts": "abc123",
        "certificationCosts": "abc123",
        "consumablesCosts": "abc123",
        "fuelCosts": "xyz789",
        "insuranceTaxesCosts": "abc123",
        "laborCosts": "abc123",
        "logisticsCosts": "xyz789",
        "otherCosts": "xyz789",
        "repairCosts": "abc123",
        "sparePartsCosts": "abc123",
        "ticketTimeline": TicketTimeline,
        "totalCosts": "abc123",
        "procedureInstance": ProcedureInstance,
        "associatedSites": [Site]
      }
    ]
  }
}

ticketActivityLog

Response

Returns [TicketHandlerUpdate!]!

Arguments
Name Description
id - HashedId!

Example

Query
query ticketActivityLog($id: HashedId!) {
  ticketActivityLog(id: $id) {
    id
    created
    updated
    action
    author
    isAutomated
    role
    target
    targetHandler
  }
}
Variables
{"id": HashedId}
Response
{
  "data": {
    "ticketActivityLog": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "action": "ADD",
        "author": "abc123",
        "isAutomated": false,
        "role": "ASSIGNEE",
        "target": "SELF",
        "targetHandler": "abc123"
      }
    ]
  }
}

ticketById

Response

Returns a Ticket!

Arguments
Name Description
id - HashedId!

Example

Query
query ticketById($id: HashedId!) {
  ticketById(id: $id) {
    id
    created
    updated
    content
    uuid
    flowResponseId
    serviceResponseId
    createdByUserId
    createdByGroupId
    procedureInstanceId
    titleId
    ticketId
    assignee {
      ...ProcessHandlerFragment
    }
    responsibles {
      ...ProcessHandlerFragment
    }
    createdByUser {
      ...UserFragment
    }
    createdByGroup {
      ...GroupFragment
    }
    currentState {
      ...TicketCurrentStateFragment
    }
    ticketComments {
      ...TicketCommentFragment
    }
    associatedAssets {
      ...AssetFragment
    }
    documents {
      ...DocumentFragment
    }
    pdfCertificateLink {
      ...DocumentFragment
    }
    service {
      ...ServiceFragment
    }
    title {
      ...TranslationFragment
    }
    lastStatusChange
    notifications {
      ...NotificationFilterFragment
    }
    batteryCosts
    certificationCosts
    consumablesCosts
    fuelCosts
    insuranceTaxesCosts
    laborCosts
    logisticsCosts
    otherCosts
    repairCosts
    sparePartsCosts
    ticketTimeline {
      ...TicketTimelineFragment
    }
    totalCosts
    procedureInstance {
      ...ProcedureInstanceFragment
    }
    associatedSites {
      ...SiteFragment
    }
  }
}
Variables
{"id": HashedId}
Response
{
  "data": {
    "ticketById": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "content": {},
      "uuid": "abc123",
      "flowResponseId": HashedId,
      "serviceResponseId": HashedId,
      "createdByUserId": HashedId,
      "createdByGroupId": HashedId,
      "procedureInstanceId": HashedId,
      "titleId": HashedId,
      "ticketId": 987,
      "assignee": ProcessHandler,
      "responsibles": [ProcessHandler],
      "createdByUser": User,
      "createdByGroup": Group,
      "currentState": TicketCurrentState,
      "ticketComments": [TicketComment],
      "associatedAssets": [Asset],
      "documents": [Document],
      "pdfCertificateLink": Document,
      "service": Service,
      "title": Translation,
      "lastStatusChange": 1592577642,
      "notifications": NotificationFilter,
      "batteryCosts": "xyz789",
      "certificationCosts": "abc123",
      "consumablesCosts": "abc123",
      "fuelCosts": "xyz789",
      "insuranceTaxesCosts": "xyz789",
      "laborCosts": "abc123",
      "logisticsCosts": "xyz789",
      "otherCosts": "xyz789",
      "repairCosts": "xyz789",
      "sparePartsCosts": "abc123",
      "ticketTimeline": TicketTimeline,
      "totalCosts": "abc123",
      "procedureInstance": ProcedureInstance,
      "associatedSites": [Site]
    }
  }
}

ticketComment

Use "commentsByTicketId" instead
Response

Returns [TicketComment!]

Arguments
Name Description
ticketId - HashedId!

Example

Query
query ticketComment($ticketId: HashedId!) {
  ticketComment(ticketId: $ticketId) {
    id
    created
    updated
    createdByUserId
    authorEmail
    createdByUser {
      ...TicketUserFragment
    }
    history {
      ...TicketCommentContentFragment
    }
    content {
      ...TicketCommentContentFragment
    }
    isAutomated
    costs {
      ...CostFragment
    }
    stateEvent {
      ...TicketStateFragment
    }
    attachments {
      ...DocumentFragment
    }
    connectedEventId
    connectedEvent {
      ...EventFragment
    }
    deleted
  }
}
Variables
{"ticketId": HashedId}
Response
{
  "data": {
    "ticketComment": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "createdByUserId": HashedId,
        "authorEmail": "abc123",
        "createdByUser": TicketUser,
        "history": [TicketCommentContent],
        "content": TicketCommentContent,
        "isAutomated": true,
        "costs": [Cost],
        "stateEvent": TicketState,
        "attachments": [Document],
        "connectedEventId": HashedId,
        "connectedEvent": Event,
        "deleted": 1592577642
      }
    ]
  }
}

ticketState

Description

Retrieve the possible flow response states to the group of the requesting user

Response

Returns [TicketState!]!

Example

Query
query ticketState {
  ticketState {
    id
    created
    updated
    titleId
    title {
      ...TranslationFragment
    }
    key
    order
  }
}
Response
{
  "data": {
    "ticketState": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "titleId": HashedId,
        "title": Translation,
        "key": "open",
        "order": 123
      }
    ]
  }
}

ticketsPaginated

Response

Returns a TicketPaginatedResult

Arguments
Name Description
pagination - PaginationParams!
search - String
filters - [FilterParamsInput]
sort - SortParams

Example

Query
query ticketsPaginated(
  $pagination: PaginationParams!,
  $search: String,
  $filters: [FilterParamsInput],
  $sort: SortParams
) {
  ticketsPaginated(
    pagination: $pagination,
    search: $search,
    filters: $filters,
    sort: $sort
  ) {
    meta {
      ...PaginationMetaFragment
    }
    rows {
      ...TicketFragment
    }
  }
}
Variables
{
  "pagination": PaginationParams,
  "search": "xyz789",
  "filters": [FilterParamsInput],
  "sort": SortParams
}
Response
{
  "data": {
    "ticketsPaginated": {
      "meta": PaginationMeta,
      "rows": [Ticket]
    }
  }
}

totalPendingRequests

Response

Returns an Int!

Example

Query
query totalPendingRequests {
  totalPendingRequests
}
Response
{"data": {"totalPendingRequests": 123}}

translation

Response

Returns [Translation!]

Arguments
Name Description
id - [HashedId!]!

Example

Query
query translation($id: [HashedId!]!) {
  translation(id: $id) {
    id
    en_us
    de_de
    languages {
      ...TranslationItemFragment
    }
    created
    updated
    translations
  }
}
Variables
{"id": [HashedId]}
Response
{
  "data": {
    "translation": [
      {
        "id": HashedId,
        "en_us": "abc123",
        "de_de": "xyz789",
        "languages": [TranslationItem],
        "created": 1592577642,
        "updated": 1592577642,
        "translations": "xyz789"
      }
    ]
  }
}

tripsPaginated

Response

Returns a TripPaginatedResult!

Arguments
Name Description
pagination - PaginationParams!
search - String
filters - [FilterParamsInput]
sort - SortParams
activeOnly - Boolean
dateFilter - TripDateFilter
locationFilter - TripLocationFilter

Example

Query
query tripsPaginated(
  $pagination: PaginationParams!,
  $search: String,
  $filters: [FilterParamsInput],
  $sort: SortParams,
  $activeOnly: Boolean,
  $dateFilter: TripDateFilter,
  $locationFilter: TripLocationFilter
) {
  tripsPaginated(
    pagination: $pagination,
    search: $search,
    filters: $filters,
    sort: $sort,
    activeOnly: $activeOnly,
    dateFilter: $dateFilter,
    locationFilter: $locationFilter
  ) {
    meta {
      ...PaginationMetaFragment
    }
    rows {
      ...TripFragment
    }
  }
}
Variables
{
  "pagination": PaginationParams,
  "search": "abc123",
  "filters": [FilterParamsInput],
  "sort": SortParams,
  "activeOnly": false,
  "dateFilter": TripDateFilter,
  "locationFilter": TripLocationFilter
}
Response
{
  "data": {
    "tripsPaginated": {
      "meta": PaginationMeta,
      "rows": [Trip]
    }
  }
}

user

Response

Returns [User!]

Arguments
Name Description
id - [HashedId!] Default = []

Example

Query
query user($id: [HashedId!]) {
  user(id: $id) {
    id
    created
    updated
    firstname
    lastname
    password
    email
    phone
    fullName
    groupId
    roleId
    isSupportAdmin
    canShareViews
    isSSOEnabled
    languageId
    language
    dashboardId
    locale
    timezone
    label
    apiKey
    image
    activated
    isServicing
    info
    stripeSubscriptionId
    deleted
    username
    supportAdmin
    belongsToGroupId
    lastLogin
    services
    dashboard
    notifications
    notificationIds
    checkPassword
    loginInterrupts
    loginInterruptIds
    subscription {
      ...StripeSubscriptionPlanFragment
    }
    belongsToGroup {
      ...GroupFragment
    }
    group {
      ...GroupFragment
    }
    role {
      ...RoleFragment
    }
    teams {
      ...TeamFragment
    }
    unavailability {
      ...UserUnavailabilityFragment
    }
    settings
  }
}
Variables
{"id": [""]}
Response
{
  "data": {
    "user": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "firstname": "abc123",
        "lastname": "xyz789",
        "password": "xyz789",
        "email": "xyz789",
        "phone": "xyz789",
        "fullName": "abc123",
        "groupId": HashedId,
        "roleId": HashedId,
        "isSupportAdmin": true,
        "canShareViews": false,
        "isSSOEnabled": false,
        "languageId": HashedId,
        "language": HashedId,
        "dashboardId": HashedId,
        "locale": LanguageTag,
        "timezone": "xyz789",
        "label": "xyz789",
        "apiKey": "xyz789",
        "image": "abc123",
        "activated": 1592577642,
        "isServicing": false,
        "info": {},
        "stripeSubscriptionId": "abc123",
        "deleted": 1592577642,
        "username": "abc123",
        "supportAdmin": true,
        "belongsToGroupId": HashedId,
        "lastLogin": "2007-12-03T10:15:30Z",
        "services": [{}],
        "dashboard": {},
        "notifications": [{}],
        "notificationIds": [HashedId],
        "checkPassword": false,
        "loginInterrupts": {},
        "loginInterruptIds": [HashedId],
        "subscription": StripeSubscriptionPlan,
        "belongsToGroup": Group,
        "group": Group,
        "role": Role,
        "teams": [Team],
        "unavailability": [UserUnavailability],
        "settings": {}
      }
    ]
  }
}

usersFromCurrentGroupDownWithinOEMOrCustomer

Response

Returns [User!]!

Example

Query
query usersFromCurrentGroupDownWithinOEMOrCustomer {
  usersFromCurrentGroupDownWithinOEMOrCustomer {
    id
    created
    updated
    firstname
    lastname
    password
    email
    phone
    fullName
    groupId
    roleId
    isSupportAdmin
    canShareViews
    isSSOEnabled
    languageId
    language
    dashboardId
    locale
    timezone
    label
    apiKey
    image
    activated
    isServicing
    info
    stripeSubscriptionId
    deleted
    username
    supportAdmin
    belongsToGroupId
    lastLogin
    services
    dashboard
    notifications
    notificationIds
    checkPassword
    loginInterrupts
    loginInterruptIds
    subscription {
      ...StripeSubscriptionPlanFragment
    }
    belongsToGroup {
      ...GroupFragment
    }
    group {
      ...GroupFragment
    }
    role {
      ...RoleFragment
    }
    teams {
      ...TeamFragment
    }
    unavailability {
      ...UserUnavailabilityFragment
    }
    settings
  }
}
Response
{
  "data": {
    "usersFromCurrentGroupDownWithinOEMOrCustomer": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "firstname": "xyz789",
        "lastname": "abc123",
        "password": "abc123",
        "email": "abc123",
        "phone": "xyz789",
        "fullName": "abc123",
        "groupId": HashedId,
        "roleId": HashedId,
        "isSupportAdmin": true,
        "canShareViews": true,
        "isSSOEnabled": true,
        "languageId": HashedId,
        "language": HashedId,
        "dashboardId": HashedId,
        "locale": LanguageTag,
        "timezone": "xyz789",
        "label": "abc123",
        "apiKey": "abc123",
        "image": "abc123",
        "activated": 1592577642,
        "isServicing": true,
        "info": {},
        "stripeSubscriptionId": "abc123",
        "deleted": 1592577642,
        "username": "xyz789",
        "supportAdmin": false,
        "belongsToGroupId": HashedId,
        "lastLogin": "2007-12-03T10:15:30Z",
        "services": [{}],
        "dashboard": {},
        "notifications": [{}],
        "notificationIds": [HashedId],
        "checkPassword": true,
        "loginInterrupts": {},
        "loginInterruptIds": [HashedId],
        "subscription": StripeSubscriptionPlan,
        "belongsToGroup": Group,
        "group": Group,
        "role": Role,
        "teams": [Team],
        "unavailability": [UserUnavailability],
        "settings": {}
      }
    ]
  }
}

usersPaginated

Response

Returns a UserPaginatedResult

Arguments
Name Description
pagination - PaginationParams!
search - String
filters - [FilterParamsInput]
sort - SortParams

Example

Query
query usersPaginated(
  $pagination: PaginationParams!,
  $search: String,
  $filters: [FilterParamsInput],
  $sort: SortParams
) {
  usersPaginated(
    pagination: $pagination,
    search: $search,
    filters: $filters,
    sort: $sort
  ) {
    meta {
      ...PaginationMetaFragment
    }
    rows {
      ...UserFragment
    }
  }
}
Variables
{
  "pagination": PaginationParams,
  "search": "abc123",
  "filters": [FilterParamsInput],
  "sort": SortParams
}
Response
{
  "data": {
    "usersPaginated": {
      "meta": PaginationMeta,
      "rows": [User]
    }
  }
}

usersSubscriptions

Response

Returns a UserPaginatedResult

Arguments
Name Description
pagination - PaginationParams!
search - String
filters - [FilterParamsInput]
sort - SortParams

Example

Query
query usersSubscriptions(
  $pagination: PaginationParams!,
  $search: String,
  $filters: [FilterParamsInput],
  $sort: SortParams
) {
  usersSubscriptions(
    pagination: $pagination,
    search: $search,
    filters: $filters,
    sort: $sort
  ) {
    meta {
      ...PaginationMetaFragment
    }
    rows {
      ...UserFragment
    }
  }
}
Variables
{
  "pagination": PaginationParams,
  "search": "xyz789",
  "filters": [FilterParamsInput],
  "sort": SortParams
}
Response
{
  "data": {
    "usersSubscriptions": {
      "meta": PaginationMeta,
      "rows": [User]
    }
  }
}

validateEntity

Description

Validates the given entities

Response

Returns [JSON]!

Arguments
Name Description
entity - String!
data - [JSON]!
upsert - Boolean
initial - Boolean

Example

Query
query validateEntity(
  $entity: String!,
  $data: [JSON]!,
  $upsert: Boolean,
  $initial: Boolean
) {
  validateEntity(
    entity: $entity,
    data: $data,
    upsert: $upsert,
    initial: $initial
  )
}
Variables
{
  "entity": "xyz789",
  "data": [{}],
  "upsert": false,
  "initial": true
}
Response
{"data": {"validateEntity": [{}]}}

webhooksForGroup

Response

Returns [Webhook!]!

Arguments
Name Description
groupId - HashedId!

Example

Query
query webhooksForGroup($groupId: HashedId!) {
  webhooksForGroup(groupId: $groupId) {
    id
    created
    updated
    groupId
    url
    forTickets
    forSites
    forAssets
    forWorkOrders
  }
}
Variables
{"groupId": HashedId}
Response
{
  "data": {
    "webhooksForGroup": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "groupId": HashedId,
        "url": "xyz789",
        "forTickets": false,
        "forSites": true,
        "forAssets": true,
        "forWorkOrders": false
      }
    ]
  }
}

workOrderAttachablePersonnelHandlers

Example

Query
query workOrderAttachablePersonnelHandlers {
  workOrderAttachablePersonnelHandlers {
    userId
    groupId
    displayName
  }
}
Response
{
  "data": {
    "workOrderAttachablePersonnelHandlers": [
      {
        "userId": HashedId,
        "groupId": HashedId,
        "displayName": "abc123"
      }
    ]
  }
}

workOrderAttachableWorkers

Response

Returns [User!]!

Example

Query
query workOrderAttachableWorkers {
  workOrderAttachableWorkers {
    id
    created
    updated
    firstname
    lastname
    password
    email
    phone
    fullName
    groupId
    roleId
    isSupportAdmin
    canShareViews
    isSSOEnabled
    languageId
    language
    dashboardId
    locale
    timezone
    label
    apiKey
    image
    activated
    isServicing
    info
    stripeSubscriptionId
    deleted
    username
    supportAdmin
    belongsToGroupId
    lastLogin
    services
    dashboard
    notifications
    notificationIds
    checkPassword
    loginInterrupts
    loginInterruptIds
    subscription {
      ...StripeSubscriptionPlanFragment
    }
    belongsToGroup {
      ...GroupFragment
    }
    group {
      ...GroupFragment
    }
    role {
      ...RoleFragment
    }
    teams {
      ...TeamFragment
    }
    unavailability {
      ...UserUnavailabilityFragment
    }
    settings
  }
}
Response
{
  "data": {
    "workOrderAttachableWorkers": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "firstname": "xyz789",
        "lastname": "abc123",
        "password": "xyz789",
        "email": "xyz789",
        "phone": "abc123",
        "fullName": "xyz789",
        "groupId": HashedId,
        "roleId": HashedId,
        "isSupportAdmin": false,
        "canShareViews": false,
        "isSSOEnabled": false,
        "languageId": HashedId,
        "language": HashedId,
        "dashboardId": HashedId,
        "locale": LanguageTag,
        "timezone": "xyz789",
        "label": "abc123",
        "apiKey": "abc123",
        "image": "xyz789",
        "activated": 1592577642,
        "isServicing": false,
        "info": {},
        "stripeSubscriptionId": "xyz789",
        "deleted": 1592577642,
        "username": "xyz789",
        "supportAdmin": true,
        "belongsToGroupId": HashedId,
        "lastLogin": "2007-12-03T10:15:30Z",
        "services": [{}],
        "dashboard": {},
        "notifications": [{}],
        "notificationIds": [HashedId],
        "checkPassword": false,
        "loginInterrupts": {},
        "loginInterruptIds": [HashedId],
        "subscription": StripeSubscriptionPlan,
        "belongsToGroup": Group,
        "group": Group,
        "role": Role,
        "teams": [Team],
        "unavailability": [UserUnavailability],
        "settings": {}
      }
    ]
  }
}

workOrderCostCenters

Response

Returns [String!]!

Arguments
Name Description
like - String

Example

Query
query workOrderCostCenters($like: String) {
  workOrderCostCenters(like: $like)
}
Variables
{"like": "xyz789"}
Response
{
  "data": {
    "workOrderCostCenters": ["abc123"]
  }
}

workOrders

Response

Returns [WorkOrderV2!]!

Arguments
Name Description
ids - [HashedId!]
includeHidden - Boolean! Default = false
from - DateTime
to - DateTime

Example

Query
query workOrders(
  $ids: [HashedId!],
  $includeHidden: Boolean!,
  $from: DateTime,
  $to: DateTime
) {
  workOrders(
    ids: $ids,
    includeHidden: $includeHidden,
    from: $from,
    to: $to
  ) {
    id
    created
    updated
    name
    startDate
    endDate
    createdByGroupId
    procedureTemplateId
    creatorId
    creationDate
    customerName
    status
    notesId
    costCenter
    siteId
    creator {
      ...UserFragment
    }
    procedureTemplate {
      ...ProcedureTemplateFragment
    }
    site {
      ...SiteFragment
    }
    workOrderNumber
    notes {
      ...TranslationFragment
    }
    sourceTicketId
    assignee {
      ...WorkOrderPersonnelV2Fragment
    }
    followers {
      ...WorkOrderPersonnelV2Fragment
    }
    workers {
      ...WorkOrderPersonnelV2Fragment
    }
    costs {
      ...WorkOrderCostFragment
    }
    dailyRate {
      ...WorkOrderCostFragment
    }
    assetCollections {
      ...WorkOrderAssetCollectionFragment
    }
    locations {
      ...WorkOrderLocationFragment
    }
    history {
      ...WorkOrderHistoryEntryFragment
    }
  }
}
Variables
{
  "ids": [HashedId],
  "includeHidden": false,
  "from": "2007-12-03T10:15:30Z",
  "to": "2007-12-03T10:15:30Z"
}
Response
{
  "data": {
    "workOrders": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "name": "xyz789",
        "startDate": "2007-12-03T10:15:30Z",
        "endDate": "2007-12-03T10:15:30Z",
        "createdByGroupId": HashedId,
        "procedureTemplateId": HashedId,
        "creatorId": HashedId,
        "creationDate": "2007-12-03T10:15:30Z",
        "customerName": "abc123",
        "status": "PENDING",
        "notesId": HashedId,
        "costCenter": "xyz789",
        "siteId": HashedId,
        "creator": User,
        "procedureTemplate": ProcedureTemplate,
        "site": Site,
        "workOrderNumber": 123,
        "notes": Translation,
        "sourceTicketId": HashedId,
        "assignee": WorkOrderPersonnelV2,
        "followers": [WorkOrderPersonnelV2],
        "workers": [WorkOrderPersonnelV2],
        "costs": [WorkOrderCost],
        "dailyRate": WorkOrderCost,
        "assetCollections": [WorkOrderAssetCollection],
        "locations": [WorkOrderLocation],
        "history": [WorkOrderHistoryEntry]
      }
    ]
  }
}

workOrdersFiltered

Response

Returns [WorkOrderV2!]!

Arguments
Name Description
search - String!
filters - [FilterParamsInput!]!
sort - SortParams

Example

Query
query workOrdersFiltered(
  $search: String!,
  $filters: [FilterParamsInput!]!,
  $sort: SortParams
) {
  workOrdersFiltered(
    search: $search,
    filters: $filters,
    sort: $sort
  ) {
    id
    created
    updated
    name
    startDate
    endDate
    createdByGroupId
    procedureTemplateId
    creatorId
    creationDate
    customerName
    status
    notesId
    costCenter
    siteId
    creator {
      ...UserFragment
    }
    procedureTemplate {
      ...ProcedureTemplateFragment
    }
    site {
      ...SiteFragment
    }
    workOrderNumber
    notes {
      ...TranslationFragment
    }
    sourceTicketId
    assignee {
      ...WorkOrderPersonnelV2Fragment
    }
    followers {
      ...WorkOrderPersonnelV2Fragment
    }
    workers {
      ...WorkOrderPersonnelV2Fragment
    }
    costs {
      ...WorkOrderCostFragment
    }
    dailyRate {
      ...WorkOrderCostFragment
    }
    assetCollections {
      ...WorkOrderAssetCollectionFragment
    }
    locations {
      ...WorkOrderLocationFragment
    }
    history {
      ...WorkOrderHistoryEntryFragment
    }
  }
}
Variables
{
  "search": "abc123",
  "filters": [FilterParamsInput],
  "sort": SortParams
}
Response
{
  "data": {
    "workOrdersFiltered": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "name": "abc123",
        "startDate": "2007-12-03T10:15:30Z",
        "endDate": "2007-12-03T10:15:30Z",
        "createdByGroupId": HashedId,
        "procedureTemplateId": HashedId,
        "creatorId": HashedId,
        "creationDate": "2007-12-03T10:15:30Z",
        "customerName": "abc123",
        "status": "PENDING",
        "notesId": HashedId,
        "costCenter": "abc123",
        "siteId": HashedId,
        "creator": User,
        "procedureTemplate": ProcedureTemplate,
        "site": Site,
        "workOrderNumber": 123,
        "notes": Translation,
        "sourceTicketId": HashedId,
        "assignee": WorkOrderPersonnelV2,
        "followers": [WorkOrderPersonnelV2],
        "workers": [WorkOrderPersonnelV2],
        "costs": [WorkOrderCost],
        "dailyRate": WorkOrderCost,
        "assetCollections": [WorkOrderAssetCollection],
        "locations": [WorkOrderLocation],
        "history": [WorkOrderHistoryEntry]
      }
    ]
  }
}

workOrdersPaginated

Response

Returns a WorkOrdersPaginatedResult!

Arguments
Name Description
pagination - PaginationParams!
search - String
filters - [FilterParamsInput]
sort - SortParams

Example

Query
query workOrdersPaginated(
  $pagination: PaginationParams!,
  $search: String,
  $filters: [FilterParamsInput],
  $sort: SortParams
) {
  workOrdersPaginated(
    pagination: $pagination,
    search: $search,
    filters: $filters,
    sort: $sort
  ) {
    meta {
      ...PaginationMetaFragment
    }
    rows {
      ...WorkOrderV2Fragment
    }
  }
}
Variables
{
  "pagination": PaginationParams,
  "search": "abc123",
  "filters": [FilterParamsInput],
  "sort": SortParams
}
Response
{
  "data": {
    "workOrdersPaginated": {
      "meta": PaginationMeta,
      "rows": [WorkOrderV2]
    }
  }
}

Mutations

addHandlerByTicketId

Description

Will add a new handler to the ticket. If the new relation is ASSIGNEE the old assingee will be removed.

Response

Returns a TicketHandler!

Arguments
Name Description
id - HashedId!
input - TicketHandlerCreateInput!

Example

Query
mutation addHandlerByTicketId(
  $id: HashedId!,
  $input: TicketHandlerCreateInput!
) {
  addHandlerByTicketId(
    id: $id,
    input: $input
  ) {
    id
    displayName
    relationValue
    isDeletable
    relationType
    handlerType
  }
}
Variables
{
  "id": HashedId,
  "input": TicketHandlerCreateInput
}
Response
{
  "data": {
    "addHandlerByTicketId": {
      "id": HashedId,
      "displayName": "xyz789",
      "relationValue": "abc123",
      "isDeletable": true,
      "relationType": "ASSIGNEE",
      "handlerType": "USER"
    }
  }
}

addTicketRelation

use "addHandlerByTicketId" instead
Response

Returns a TicketHandler!

Arguments
Name Description
ticketId - HashedId!
ticketHandler - TicketHandlerInput!

Example

Query
mutation addTicketRelation(
  $ticketId: HashedId!,
  $ticketHandler: TicketHandlerInput!
) {
  addTicketRelation(
    ticketId: $ticketId,
    ticketHandler: $ticketHandler
  ) {
    id
    displayName
    relationValue
    isDeletable
    relationType
    handlerType
  }
}
Variables
{
  "ticketId": HashedId,
  "ticketHandler": TicketHandlerInput
}
Response
{
  "data": {
    "addTicketRelation": {
      "id": HashedId,
      "displayName": "abc123",
      "relationValue": "abc123",
      "isDeletable": false,
      "relationType": "ASSIGNEE",
      "handlerType": "USER"
    }
  }
}

archiveFlow

Description

Flows are not deleted, but archived. Archived flows are not returned anymore by default

Response

Returns a Boolean!

Arguments
Name Description
id - HashedId!

Example

Query
mutation archiveFlow($id: HashedId!) {
  archiveFlow(id: $id)
}
Variables
{"id": HashedId}
Response
{"data": {"archiveFlow": true}}

archiveRule

Description

As this is historical data, rules can't be deleted, but archived. After being archived, they won't be triggered, won't show up in the rules list and can't be edited anymore.

Response

Returns a Boolean

Arguments
Name Description
id - [HashedId!]!

Example

Query
mutation archiveRule($id: [HashedId!]!) {
  archiveRule(id: $id)
}
Variables
{"id": [HashedId]}
Response
{"data": {"archiveRule": true}}

assignAssetUUID

Response

Returns an Asset!

Arguments
Name Description
assetId - HashedId!
uuid - String!

Example

Query
mutation assignAssetUUID(
  $assetId: HashedId!,
  $uuid: String!
) {
  assignAssetUUID(
    assetId: $assetId,
    uuid: $uuid
  ) {
    services {
      ...ServiceFragment
    }
    activity {
      ...AssetActivityFragment
    }
    allowReservations
    assetCategory {
      ...AssetCategoryFragment
    }
    assetCategoryId
    assetType {
      ...AssetTypeFragment
    }
    assetTypeId
    assignedToGroup {
      ...GroupFragment
    }
    assignedToGroupId
    createdByGroupId
    assignedToPreviousSite {
      ...SiteFragment
    }
    assignedToSite {
      ...SiteFragment
    }
    assignedToSiteId
    assignment
    availability
    BLE
    checkSchedule {
      ...AssetCheckScheduleFragment
    }
    checkScheduleRule {
      ...AssetCheckScheduleRuleFragment
    }
    client
    commissionDate
    costCenter
    costsSumBattery
    costsSumRepair
    costsSumMaintenance
    costsSumParts
    costsSumConsumables
    costsSumFuel
    costsSumLabor
    costsSumLogistics
    costsSumTaxes
    costsSumOther
    costsSumCertification
    created
    currency
    customer
    customerEditable
    description {
      ...TranslationFragment
    }
    descriptionId
    displayParameters {
      ...DisplayParameterFragment
    }
    documents {
      ...DocumentFragment
    }
    downloadLink
    eventIds
    events {
      ...EventFragment
    }
    externalId
    fixedAssetNumber
    floorRoom
    id
    image
    imei
    initialValue
    inventoryNumber
    isCommodity
    isInStationaryGateway
    workOrders {
      ...WorkOrderV2Fragment
    }
    lastContacted
    latestAssetData
    leasingCostTermination
    leasingEnd
    leasingLevel
    leasingMonthlyCost
    leasingPartner
    leasingPartnerContractNumber
    leasingPartnerContractPositionNumber
    leasingRenewalDate
    leasingRenewalRate
    leasingStart
    location {
      ...LocationFragment
    }
    maintenanceSchedule {
      ...AssetMaintenanceScheduleFragment
    }
    manufacturer {
      ...ManufacturerFragment
    }
    manufacturerId
    module {
      ...ModuleFragment
    }
    moduleId
    nextService
    optionalAssetID
    ownership
    parameterOffsetIds
    parameterOffsets {
      ...AssetParameterOffsetFragment
    }
    parameterSets {
      ...ParameterSetFragment
    }
    partsNumber
    previousSiteId
    projectNumber
    publicId
    purchaseCost
    purchaseCurrentBookValue
    purchaseDepriciation
    purchaseInvoiceNumber
    purchaseLowValueAsset
    purchaseStart
    purchaseWarrantyEnd
    purchaseWarrantyPeriod
    purchaseWarrantyStart
    qrAttached
    quantity
    relatedGroups {
      ...RelatedGroupFragment
    }
    rentalCostTermination
    rentalEnd
    rentalMonthlyCost
    rentalRenewalDate
    rentalRenewalRate
    rentalStart
    reservationIds
    reservations {
      ...ReservationFragment
    }
    responsiblePerson
    runtimeWithOffsetInSeconds
    serial
    serviceContract
    serviceContractCostPerYear
    serviceContractEmail
    serviceContractEnd
    serviceContractDocuments {
      ...DocumentFragment
    }
    serviceContractFrom
    serviceContractLevel
    serviceContractPartner
    serviceContractStart
    serviceContractTo
    state {
      ...AssetStateFragment
    }
    stateV2 {
      ...StatusItemFragment
    }
    status {
      ...StatusItemFragment
    }
    subscription
    supplier
    tickets {
      ...TicketFragment
    }
    updated
    unavailability {
      ...AssetUnavailabilityFragment
    }
    uuid
    vncTunnelUrl
    workingHoursNotification {
      ...RuleNotificationRelationFragment
    }
    workingHoursSettings
    gatewayAsset {
      ...AssetFragment
    }
    moduleConnectionStatus
    costs {
      ...CostFragment
    }
    costsSum
    totalUtilization
    totalWorkDone
    batteryLevel
    isLocked
    scanTime
    availabilityId
    ownershipId
    siteId
    createdByGroup {
      ...GroupFragment
    }
    site {
      ...SiteFragment
    }
  }
}
Variables
{
  "assetId": HashedId,
  "uuid": "xyz789"
}
Response
{
  "data": {
    "assignAssetUUID": {
      "services": [Service],
      "activity": AssetActivity,
      "allowReservations": true,
      "assetCategory": AssetCategory,
      "assetCategoryId": HashedId,
      "assetType": AssetType,
      "assetTypeId": HashedId,
      "assignedToGroup": Group,
      "assignedToGroupId": HashedId,
      "createdByGroupId": HashedId,
      "assignedToPreviousSite": Site,
      "assignedToSite": Site,
      "assignedToSiteId": HashedId,
      "assignment": "abc123",
      "availability": "READY_TO_USE",
      "BLE": "xyz789",
      "checkSchedule": AssetCheckSchedule,
      "checkScheduleRule": AssetCheckScheduleRule,
      "client": "xyz789",
      "commissionDate": "2007-12-03",
      "costCenter": "xyz789",
      "costsSumBattery": 987.65,
      "costsSumRepair": 987.65,
      "costsSumMaintenance": 123.45,
      "costsSumParts": 987.65,
      "costsSumConsumables": 123.45,
      "costsSumFuel": 987.65,
      "costsSumLabor": 123.45,
      "costsSumLogistics": 987.65,
      "costsSumTaxes": 123.45,
      "costsSumOther": 123.45,
      "costsSumCertification": 123.45,
      "created": 1592577642,
      "currency": "xyz789",
      "customer": "abc123",
      "customerEditable": true,
      "description": Translation,
      "descriptionId": HashedId,
      "displayParameters": [DisplayParameter],
      "documents": [Document],
      "downloadLink": "xyz789",
      "eventIds": [HashedId],
      "events": [Event],
      "externalId": "xyz789",
      "fixedAssetNumber": "abc123",
      "floorRoom": "abc123",
      "id": HashedId,
      "image": "xyz789",
      "imei": "abc123",
      "initialValue": "abc123",
      "inventoryNumber": "xyz789",
      "isCommodity": true,
      "isInStationaryGateway": false,
      "workOrders": [WorkOrderV2],
      "lastContacted": 1592577642,
      "latestAssetData": {},
      "leasingCostTermination": "abc123",
      "leasingEnd": "2007-12-03",
      "leasingLevel": "xyz789",
      "leasingMonthlyCost": "abc123",
      "leasingPartner": "abc123",
      "leasingPartnerContractNumber": "xyz789",
      "leasingPartnerContractPositionNumber": "abc123",
      "leasingRenewalDate": "2007-12-03",
      "leasingRenewalRate": "xyz789",
      "leasingStart": "2007-12-03",
      "location": Location,
      "maintenanceSchedule": AssetMaintenanceSchedule,
      "manufacturer": Manufacturer,
      "manufacturerId": HashedId,
      "module": Module,
      "moduleId": HashedId,
      "nextService": 987,
      "optionalAssetID": "abc123",
      "ownership": "PURCHASE",
      "parameterOffsetIds": [HashedId],
      "parameterOffsets": [AssetParameterOffset],
      "parameterSets": [ParameterSet],
      "partsNumber": "abc123",
      "previousSiteId": HashedId,
      "projectNumber": "xyz789",
      "publicId": 123,
      "purchaseCost": "xyz789",
      "purchaseCurrentBookValue": "xyz789",
      "purchaseDepriciation": 987,
      "purchaseInvoiceNumber": "xyz789",
      "purchaseLowValueAsset": true,
      "purchaseStart": "2007-12-03",
      "purchaseWarrantyEnd": "2007-12-03",
      "purchaseWarrantyPeriod": 123,
      "purchaseWarrantyStart": "2007-12-03",
      "qrAttached": false,
      "quantity": 123,
      "relatedGroups": [RelatedGroup],
      "rentalCostTermination": "abc123",
      "rentalEnd": "2007-12-03",
      "rentalMonthlyCost": "abc123",
      "rentalRenewalDate": "2007-12-03",
      "rentalRenewalRate": "abc123",
      "rentalStart": "2007-12-03",
      "reservationIds": [HashedId],
      "reservations": [Reservation],
      "responsiblePerson": "abc123",
      "runtimeWithOffsetInSeconds": 123,
      "serial": "xyz789",
      "serviceContract": false,
      "serviceContractCostPerYear": "abc123",
      "serviceContractEmail": "xyz789",
      "serviceContractEnd": "2007-12-03",
      "serviceContractDocuments": [Document],
      "serviceContractFrom": 1592577642,
      "serviceContractLevel": "abc123",
      "serviceContractPartner": "xyz789",
      "serviceContractStart": "2007-12-03",
      "serviceContractTo": 1592577642,
      "state": AssetState,
      "stateV2": [StatusItem],
      "status": [StatusItem],
      "subscription": "xyz789",
      "supplier": "xyz789",
      "tickets": [Ticket],
      "updated": 1592577642,
      "unavailability": [AssetUnavailability],
      "uuid": "xyz789",
      "vncTunnelUrl": "xyz789",
      "workingHoursNotification": [
        RuleNotificationRelation
      ],
      "workingHoursSettings": {},
      "gatewayAsset": Asset,
      "moduleConnectionStatus": "primary",
      "costs": [Cost],
      "costsSum": 987.65,
      "totalUtilization": "abc123",
      "totalWorkDone": "abc123",
      "batteryLevel": "xyz789",
      "isLocked": true,
      "scanTime": "2007-12-03",
      "availabilityId": HashedId,
      "ownershipId": HashedId,
      "siteId": HashedId,
      "createdByGroup": Group,
      "site": Site
    }
  }
}

assignServicesToServicePackage

Description

This can only be used by TS platform admins for now

Response

Returns a Boolean!

Arguments
Name Description
servicesIds - [HashedId!]
servicePackageId - HashedId!

Example

Query
mutation assignServicesToServicePackage(
  $servicesIds: [HashedId!],
  $servicePackageId: HashedId!
) {
  assignServicesToServicePackage(
    servicesIds: $servicesIds,
    servicePackageId: $servicePackageId
  )
}
Variables
{
  "servicesIds": [HashedId],
  "servicePackageId": HashedId
}
Response
{"data": {"assignServicesToServicePackage": false}}

assignWorkOrderAssets

Response

Returns [WorkOrderAssetCollection!]!

Arguments
Name Description
workOrder - WorkOrderDatesInput!
assetCollections - [WorkOrderAssetCollectionInput!]!

Example

Query
mutation assignWorkOrderAssets(
  $workOrder: WorkOrderDatesInput!,
  $assetCollections: [WorkOrderAssetCollectionInput!]!
) {
  assignWorkOrderAssets(
    workOrder: $workOrder,
    assetCollections: $assetCollections
  ) {
    workOrderId
    widgetHint
    assets {
      ...AssetFragment
    }
  }
}
Variables
{
  "workOrder": WorkOrderDatesInput,
  "assetCollections": [WorkOrderAssetCollectionInput]
}
Response
{
  "data": {
    "assignWorkOrderAssets": [
      {
        "workOrderId": HashedId,
        "widgetHint": "xyz789",
        "assets": [Asset]
      }
    ]
  }
}

assignWorkOrderCosts

Response

Returns [WorkOrderCost!]!

Arguments
Name Description
workOrder - WorkOrderDatesInput!
costs - [WorkOrderCostInput!]!

Example

Query
mutation assignWorkOrderCosts(
  $workOrder: WorkOrderDatesInput!,
  $costs: [WorkOrderCostInput!]!
) {
  assignWorkOrderCosts(
    workOrder: $workOrder,
    costs: $costs
  ) {
    workOrderId
    widgetHint
    id
    valueCents
    costType
    currency
  }
}
Variables
{
  "workOrder": WorkOrderDatesInput,
  "costs": [WorkOrderCostInput]
}
Response
{
  "data": {
    "assignWorkOrderCosts": [
      {
        "workOrderId": HashedId,
        "widgetHint": "xyz789",
        "id": HashedId,
        "valueCents": 123,
        "costType": "DAILY_RATE",
        "currency": "AED"
      }
    ]
  }
}

assignWorkOrderLocations

Response

Returns [WorkOrderLocation!]!

Arguments
Name Description
workOrder - WorkOrderDatesInput!
locations - [WorkOrderLocationInput!]!

Example

Query
mutation assignWorkOrderLocations(
  $workOrder: WorkOrderDatesInput!,
  $locations: [WorkOrderLocationInput!]!
) {
  assignWorkOrderLocations(
    workOrder: $workOrder,
    locations: $locations
  ) {
    workOrderId
    widgetHint
    id
    name
    address
    lat
    lng
    siteId
  }
}
Variables
{
  "workOrder": WorkOrderDatesInput,
  "locations": [WorkOrderLocationInput]
}
Response
{
  "data": {
    "assignWorkOrderLocations": [
      {
        "workOrderId": HashedId,
        "widgetHint": "xyz789",
        "id": HashedId,
        "name": "xyz789",
        "address": "xyz789",
        "lat": "abc123",
        "lng": "xyz789",
        "siteId": HashedId
      }
    ]
  }
}

assignWorkOrderPersonnel

Response

Returns [WorkOrderPersonnelV2!]!

Arguments
Name Description
workOrder - WorkOrderDatesInput!
personnel - WorkOrderPersonnelInput!

Example

Query
mutation assignWorkOrderPersonnel(
  $workOrder: WorkOrderDatesInput!,
  $personnel: WorkOrderPersonnelInput!
) {
  assignWorkOrderPersonnel(
    workOrder: $workOrder,
    personnel: $personnel
  ) {
    workOrderId
    widgetHint
    id
    userId
    groupId
    user {
      ...UserFragment
    }
    group {
      ...GroupFragment
    }
    contact {
      ...WorkOrderPersonnelContactFragment
    }
    removable
    displayName
  }
}
Variables
{
  "workOrder": WorkOrderDatesInput,
  "personnel": WorkOrderPersonnelInput
}
Response
{
  "data": {
    "assignWorkOrderPersonnel": [
      {
        "workOrderId": HashedId,
        "widgetHint": "abc123",
        "id": HashedId,
        "userId": HashedId,
        "groupId": HashedId,
        "user": User,
        "group": Group,
        "contact": WorkOrderPersonnelContact,
        "removable": false,
        "displayName": "abc123"
      }
    ]
  }
}

attachQrCodeToSite

Response

Returns a Site!

Arguments
Name Description
id - HashedId!
uuid - String!
input - SiteAttachQrCodeInput!

Example

Query
mutation attachQrCodeToSite(
  $id: HashedId!,
  $uuid: String!,
  $input: SiteAttachQrCodeInput!
) {
  attachQrCodeToSite(
    id: $id,
    uuid: $uuid,
    input: $input
  ) {
    id
    externalId
    name
    isFixed
    locationText
    address
    coordinates {
      ...CoordinatesFragment
    }
    assignedToGroup {
      ...GroupFragment
    }
    assignedToGroupId
    createdByGroup {
      ...GroupFragment
    }
    createdByGroupId
    accountNumber
    customerNumber
    siteManagerName
    email
    telephone
    postalCode
    country
    geofenceSettings
    geofenceNotification {
      ...RuleNotificationRelationFragment
    }
    containsAssetsToModifyByGroup
    created
    assetsCount
    updated
    note
    image
    parentSite {
      ...SiteFragment
    }
    parentSiteId
    servicePackageId
    shouldInheritServicePackage
    servicePackage {
      ...ServicePackageFragment
    }
    shouldInheritGeofenceSettings
    shouldInheritManagerDetails
    groupTreeRootId
    lat
    lng
    siteTypeId
    qrAttached
    uuid
    events {
      ...EventFragment
    }
    publicId
    siteType {
      ...SiteTypeFragment
    }
  }
}
Variables
{
  "id": HashedId,
  "uuid": "xyz789",
  "input": SiteAttachQrCodeInput
}
Response
{
  "data": {
    "attachQrCodeToSite": {
      "id": HashedId,
      "externalId": "xyz789",
      "name": "abc123",
      "isFixed": false,
      "locationText": "abc123",
      "address": "abc123",
      "coordinates": Coordinates,
      "assignedToGroup": Group,
      "assignedToGroupId": HashedId,
      "createdByGroup": Group,
      "createdByGroupId": HashedId,
      "accountNumber": "xyz789",
      "customerNumber": "xyz789",
      "siteManagerName": "xyz789",
      "email": "xyz789",
      "telephone": "abc123",
      "postalCode": "xyz789",
      "country": "abc123",
      "geofenceSettings": {},
      "geofenceNotification": [RuleNotificationRelation],
      "containsAssetsToModifyByGroup": false,
      "created": 1592577642,
      "assetsCount": 123,
      "updated": 1592577642,
      "note": "xyz789",
      "image": "xyz789",
      "parentSite": Site,
      "parentSiteId": HashedId,
      "servicePackageId": HashedId,
      "shouldInheritServicePackage": false,
      "servicePackage": ServicePackage,
      "shouldInheritGeofenceSettings": false,
      "shouldInheritManagerDetails": false,
      "groupTreeRootId": HashedId,
      "lat": "abc123",
      "lng": "xyz789",
      "siteTypeId": HashedId,
      "qrAttached": true,
      "uuid": "xyz789",
      "events": [Event],
      "publicId": 123,
      "siteType": SiteType
    }
  }
}

changeGroupAssignment

Response

Returns [Asset!]

Arguments
Name Description
assignToGroupId - HashedId

Example

Query
mutation changeGroupAssignment($assignToGroupId: HashedId) {
  changeGroupAssignment(assignToGroupId: $assignToGroupId) {
    services {
      ...ServiceFragment
    }
    activity {
      ...AssetActivityFragment
    }
    allowReservations
    assetCategory {
      ...AssetCategoryFragment
    }
    assetCategoryId
    assetType {
      ...AssetTypeFragment
    }
    assetTypeId
    assignedToGroup {
      ...GroupFragment
    }
    assignedToGroupId
    createdByGroupId
    assignedToPreviousSite {
      ...SiteFragment
    }
    assignedToSite {
      ...SiteFragment
    }
    assignedToSiteId
    assignment
    availability
    BLE
    checkSchedule {
      ...AssetCheckScheduleFragment
    }
    checkScheduleRule {
      ...AssetCheckScheduleRuleFragment
    }
    client
    commissionDate
    costCenter
    costsSumBattery
    costsSumRepair
    costsSumMaintenance
    costsSumParts
    costsSumConsumables
    costsSumFuel
    costsSumLabor
    costsSumLogistics
    costsSumTaxes
    costsSumOther
    costsSumCertification
    created
    currency
    customer
    customerEditable
    description {
      ...TranslationFragment
    }
    descriptionId
    displayParameters {
      ...DisplayParameterFragment
    }
    documents {
      ...DocumentFragment
    }
    downloadLink
    eventIds
    events {
      ...EventFragment
    }
    externalId
    fixedAssetNumber
    floorRoom
    id
    image
    imei
    initialValue
    inventoryNumber
    isCommodity
    isInStationaryGateway
    workOrders {
      ...WorkOrderV2Fragment
    }
    lastContacted
    latestAssetData
    leasingCostTermination
    leasingEnd
    leasingLevel
    leasingMonthlyCost
    leasingPartner
    leasingPartnerContractNumber
    leasingPartnerContractPositionNumber
    leasingRenewalDate
    leasingRenewalRate
    leasingStart
    location {
      ...LocationFragment
    }
    maintenanceSchedule {
      ...AssetMaintenanceScheduleFragment
    }
    manufacturer {
      ...ManufacturerFragment
    }
    manufacturerId
    module {
      ...ModuleFragment
    }
    moduleId
    nextService
    optionalAssetID
    ownership
    parameterOffsetIds
    parameterOffsets {
      ...AssetParameterOffsetFragment
    }
    parameterSets {
      ...ParameterSetFragment
    }
    partsNumber
    previousSiteId
    projectNumber
    publicId
    purchaseCost
    purchaseCurrentBookValue
    purchaseDepriciation
    purchaseInvoiceNumber
    purchaseLowValueAsset
    purchaseStart
    purchaseWarrantyEnd
    purchaseWarrantyPeriod
    purchaseWarrantyStart
    qrAttached
    quantity
    relatedGroups {
      ...RelatedGroupFragment
    }
    rentalCostTermination
    rentalEnd
    rentalMonthlyCost
    rentalRenewalDate
    rentalRenewalRate
    rentalStart
    reservationIds
    reservations {
      ...ReservationFragment
    }
    responsiblePerson
    runtimeWithOffsetInSeconds
    serial
    serviceContract
    serviceContractCostPerYear
    serviceContractEmail
    serviceContractEnd
    serviceContractDocuments {
      ...DocumentFragment
    }
    serviceContractFrom
    serviceContractLevel
    serviceContractPartner
    serviceContractStart
    serviceContractTo
    state {
      ...AssetStateFragment
    }
    stateV2 {
      ...StatusItemFragment
    }
    status {
      ...StatusItemFragment
    }
    subscription
    supplier
    tickets {
      ...TicketFragment
    }
    updated
    unavailability {
      ...AssetUnavailabilityFragment
    }
    uuid
    vncTunnelUrl
    workingHoursNotification {
      ...RuleNotificationRelationFragment
    }
    workingHoursSettings
    gatewayAsset {
      ...AssetFragment
    }
    moduleConnectionStatus
    costs {
      ...CostFragment
    }
    costsSum
    totalUtilization
    totalWorkDone
    batteryLevel
    isLocked
    scanTime
    availabilityId
    ownershipId
    siteId
    createdByGroup {
      ...GroupFragment
    }
    site {
      ...SiteFragment
    }
  }
}
Variables
{"assignToGroupId": HashedId}
Response
{
  "data": {
    "changeGroupAssignment": [
      {
        "services": [Service],
        "activity": AssetActivity,
        "allowReservations": false,
        "assetCategory": AssetCategory,
        "assetCategoryId": HashedId,
        "assetType": AssetType,
        "assetTypeId": HashedId,
        "assignedToGroup": Group,
        "assignedToGroupId": HashedId,
        "createdByGroupId": HashedId,
        "assignedToPreviousSite": Site,
        "assignedToSite": Site,
        "assignedToSiteId": HashedId,
        "assignment": "xyz789",
        "availability": "READY_TO_USE",
        "BLE": "abc123",
        "checkSchedule": AssetCheckSchedule,
        "checkScheduleRule": AssetCheckScheduleRule,
        "client": "xyz789",
        "commissionDate": "2007-12-03",
        "costCenter": "xyz789",
        "costsSumBattery": 987.65,
        "costsSumRepair": 123.45,
        "costsSumMaintenance": 123.45,
        "costsSumParts": 987.65,
        "costsSumConsumables": 123.45,
        "costsSumFuel": 987.65,
        "costsSumLabor": 123.45,
        "costsSumLogistics": 123.45,
        "costsSumTaxes": 123.45,
        "costsSumOther": 123.45,
        "costsSumCertification": 987.65,
        "created": 1592577642,
        "currency": "xyz789",
        "customer": "abc123",
        "customerEditable": false,
        "description": Translation,
        "descriptionId": HashedId,
        "displayParameters": [DisplayParameter],
        "documents": [Document],
        "downloadLink": "xyz789",
        "eventIds": [HashedId],
        "events": [Event],
        "externalId": "xyz789",
        "fixedAssetNumber": "xyz789",
        "floorRoom": "xyz789",
        "id": HashedId,
        "image": "xyz789",
        "imei": "xyz789",
        "initialValue": "abc123",
        "inventoryNumber": "abc123",
        "isCommodity": false,
        "isInStationaryGateway": true,
        "workOrders": [WorkOrderV2],
        "lastContacted": 1592577642,
        "latestAssetData": {},
        "leasingCostTermination": "xyz789",
        "leasingEnd": "2007-12-03",
        "leasingLevel": "abc123",
        "leasingMonthlyCost": "xyz789",
        "leasingPartner": "xyz789",
        "leasingPartnerContractNumber": "abc123",
        "leasingPartnerContractPositionNumber": "abc123",
        "leasingRenewalDate": "2007-12-03",
        "leasingRenewalRate": "xyz789",
        "leasingStart": "2007-12-03",
        "location": Location,
        "maintenanceSchedule": AssetMaintenanceSchedule,
        "manufacturer": Manufacturer,
        "manufacturerId": HashedId,
        "module": Module,
        "moduleId": HashedId,
        "nextService": 123,
        "optionalAssetID": "xyz789",
        "ownership": "PURCHASE",
        "parameterOffsetIds": [HashedId],
        "parameterOffsets": [AssetParameterOffset],
        "parameterSets": [ParameterSet],
        "partsNumber": "abc123",
        "previousSiteId": HashedId,
        "projectNumber": "xyz789",
        "publicId": 987,
        "purchaseCost": "xyz789",
        "purchaseCurrentBookValue": "xyz789",
        "purchaseDepriciation": 123,
        "purchaseInvoiceNumber": "xyz789",
        "purchaseLowValueAsset": false,
        "purchaseStart": "2007-12-03",
        "purchaseWarrantyEnd": "2007-12-03",
        "purchaseWarrantyPeriod": 123,
        "purchaseWarrantyStart": "2007-12-03",
        "qrAttached": false,
        "quantity": 123,
        "relatedGroups": [RelatedGroup],
        "rentalCostTermination": "abc123",
        "rentalEnd": "2007-12-03",
        "rentalMonthlyCost": "xyz789",
        "rentalRenewalDate": "2007-12-03",
        "rentalRenewalRate": "abc123",
        "rentalStart": "2007-12-03",
        "reservationIds": [HashedId],
        "reservations": [Reservation],
        "responsiblePerson": "abc123",
        "runtimeWithOffsetInSeconds": 987,
        "serial": "xyz789",
        "serviceContract": true,
        "serviceContractCostPerYear": "xyz789",
        "serviceContractEmail": "xyz789",
        "serviceContractEnd": "2007-12-03",
        "serviceContractDocuments": [Document],
        "serviceContractFrom": 1592577642,
        "serviceContractLevel": "abc123",
        "serviceContractPartner": "xyz789",
        "serviceContractStart": "2007-12-03",
        "serviceContractTo": 1592577642,
        "state": AssetState,
        "stateV2": [StatusItem],
        "status": [StatusItem],
        "subscription": "abc123",
        "supplier": "xyz789",
        "tickets": [Ticket],
        "updated": 1592577642,
        "unavailability": [AssetUnavailability],
        "uuid": "xyz789",
        "vncTunnelUrl": "xyz789",
        "workingHoursNotification": [
          RuleNotificationRelation
        ],
        "workingHoursSettings": {},
        "gatewayAsset": Asset,
        "moduleConnectionStatus": "primary",
        "costs": [Cost],
        "costsSum": 123.45,
        "totalUtilization": "abc123",
        "totalWorkDone": "abc123",
        "batteryLevel": "xyz789",
        "isLocked": false,
        "scanTime": "2007-12-03",
        "availabilityId": HashedId,
        "ownershipId": HashedId,
        "siteId": HashedId,
        "createdByGroup": Group,
        "site": Site
      }
    ]
  }
}

createAsset

Response

Returns [Asset!]

Arguments
Name Description
allowReservations - Boolean
assetTypeId - HashedId!
assignedToGroupId - HashedId
assignedToSiteId - HashedId
availability - AssetAvailability
BLE - String
client - String
commissionDate - Date
costCenter - String
currency - String
customerEditable - Boolean
description - TranslationInput
disableWebhooks - Boolean
externalId - String External ID should only be filled by a machine. This is used to couple an external asset with an internal asset. An external Asset is an asset that represents the same physical thing but in a different system.
fixedAssetNumber - String
floorRoom - String
imei - String
initialValue - String
inventoryNumber - String
isInStationaryGateway - Boolean
isTypePresetCheckOnSave - Boolean
leasingCostTermination - String
leasingEnd - Date
leasingLevel - String
leasingMonthlyCost - String
leasingPartner - String
leasingPartnerContractNumber - String
leasingPartnerContractPositionNumber - String
leasingRenewalDate - Date
leasingRenewalRate - String
leasingStart - Date
optionalAssetID - String
ownership - AssetOwnership
parameterOffsets - [AssetParameterOffsetInput!]
partsNumber - String Specific identifier of a certain part of an asset
projectNumber - String
purchaseCost - String
purchaseDepriciation - Int
purchaseInvoiceNumber - String
purchaseLowValueAsset - Boolean
purchaseStart - Date
purchaseWarrantyEnd - Date
purchaseWarrantyPeriod - Int
purchaseWarrantyStart - Date
qrAttached - Boolean
quantity - Int
rentalCostTermination - String
rentalEnd - Date
rentalMonthlyCost - String
rentalRenewalDate - Date
rentalRenewalRate - String
rentalStart - Date
responsiblePerson - String
serial - String!
serviceContract - Boolean
serviceContractCostPerYear - String
serviceContractDocuments - [Upload!]
serviceContractEmail - String
serviceContractEnd - Date
serviceContractFrom - Timestamp
serviceContractLevel - String
serviceContractPartner - String
serviceContractStart - Date
serviceContractTo - Timestamp
subscription - String Change service tier for this asset. See SubscriptionPlan for a full list of services - only submit the name.
supplier - String
syncSiteGroup - Boolean
workingHoursNotification - [RuleNotificationRelationInput] When a working hours event happens, send notifications to these entities
workingHoursSettings - JSON Sets up a working hour watcher. See RuleBlock schema for syntax.
transferModule - Boolean If set, the asset will be became primary asset of the IOT module with the given IMEI.

Example

Query
mutation createAsset(
  $allowReservations: Boolean,
  $assetTypeId: HashedId!,
  $assignedToGroupId: HashedId,
  $assignedToSiteId: HashedId,
  $availability: AssetAvailability,
  $BLE: String,
  $client: String,
  $commissionDate: Date,
  $costCenter: String,
  $currency: String,
  $customerEditable: Boolean,
  $description: TranslationInput,
  $disableWebhooks: Boolean,
  $externalId: String,
  $fixedAssetNumber: String,
  $floorRoom: String,
  $imei: String,
  $initialValue: String,
  $inventoryNumber: String,
  $isInStationaryGateway: Boolean,
  $isTypePresetCheckOnSave: Boolean,
  $leasingCostTermination: String,
  $leasingEnd: Date,
  $leasingLevel: String,
  $leasingMonthlyCost: String,
  $leasingPartner: String,
  $leasingPartnerContractNumber: String,
  $leasingPartnerContractPositionNumber: String,
  $leasingRenewalDate: Date,
  $leasingRenewalRate: String,
  $leasingStart: Date,
  $optionalAssetID: String,
  $ownership: AssetOwnership,
  $parameterOffsets: [AssetParameterOffsetInput!],
  $partsNumber: String,
  $projectNumber: String,
  $purchaseCost: String,
  $purchaseDepriciation: Int,
  $purchaseInvoiceNumber: String,
  $purchaseLowValueAsset: Boolean,
  $purchaseStart: Date,
  $purchaseWarrantyEnd: Date,
  $purchaseWarrantyPeriod: Int,
  $purchaseWarrantyStart: Date,
  $qrAttached: Boolean,
  $quantity: Int,
  $rentalCostTermination: String,
  $rentalEnd: Date,
  $rentalMonthlyCost: String,
  $rentalRenewalDate: Date,
  $rentalRenewalRate: String,
  $rentalStart: Date,
  $responsiblePerson: String,
  $serial: String!,
  $serviceContract: Boolean,
  $serviceContractCostPerYear: String,
  $serviceContractDocuments: [Upload!],
  $serviceContractEmail: String,
  $serviceContractEnd: Date,
  $serviceContractFrom: Timestamp,
  $serviceContractLevel: String,
  $serviceContractPartner: String,
  $serviceContractStart: Date,
  $serviceContractTo: Timestamp,
  $subscription: String,
  $supplier: String,
  $syncSiteGroup: Boolean,
  $workingHoursNotification: [RuleNotificationRelationInput],
  $workingHoursSettings: JSON,
  $transferModule: Boolean
) {
  createAsset(
    allowReservations: $allowReservations,
    assetTypeId: $assetTypeId,
    assignedToGroupId: $assignedToGroupId,
    assignedToSiteId: $assignedToSiteId,
    availability: $availability,
    BLE: $BLE,
    client: $client,
    commissionDate: $commissionDate,
    costCenter: $costCenter,
    currency: $currency,
    customerEditable: $customerEditable,
    description: $description,
    disableWebhooks: $disableWebhooks,
    externalId: $externalId,
    fixedAssetNumber: $fixedAssetNumber,
    floorRoom: $floorRoom,
    imei: $imei,
    initialValue: $initialValue,
    inventoryNumber: $inventoryNumber,
    isInStationaryGateway: $isInStationaryGateway,
    isTypePresetCheckOnSave: $isTypePresetCheckOnSave,
    leasingCostTermination: $leasingCostTermination,
    leasingEnd: $leasingEnd,
    leasingLevel: $leasingLevel,
    leasingMonthlyCost: $leasingMonthlyCost,
    leasingPartner: $leasingPartner,
    leasingPartnerContractNumber: $leasingPartnerContractNumber,
    leasingPartnerContractPositionNumber: $leasingPartnerContractPositionNumber,
    leasingRenewalDate: $leasingRenewalDate,
    leasingRenewalRate: $leasingRenewalRate,
    leasingStart: $leasingStart,
    optionalAssetID: $optionalAssetID,
    ownership: $ownership,
    parameterOffsets: $parameterOffsets,
    partsNumber: $partsNumber,
    projectNumber: $projectNumber,
    purchaseCost: $purchaseCost,
    purchaseDepriciation: $purchaseDepriciation,
    purchaseInvoiceNumber: $purchaseInvoiceNumber,
    purchaseLowValueAsset: $purchaseLowValueAsset,
    purchaseStart: $purchaseStart,
    purchaseWarrantyEnd: $purchaseWarrantyEnd,
    purchaseWarrantyPeriod: $purchaseWarrantyPeriod,
    purchaseWarrantyStart: $purchaseWarrantyStart,
    qrAttached: $qrAttached,
    quantity: $quantity,
    rentalCostTermination: $rentalCostTermination,
    rentalEnd: $rentalEnd,
    rentalMonthlyCost: $rentalMonthlyCost,
    rentalRenewalDate: $rentalRenewalDate,
    rentalRenewalRate: $rentalRenewalRate,
    rentalStart: $rentalStart,
    responsiblePerson: $responsiblePerson,
    serial: $serial,
    serviceContract: $serviceContract,
    serviceContractCostPerYear: $serviceContractCostPerYear,
    serviceContractDocuments: $serviceContractDocuments,
    serviceContractEmail: $serviceContractEmail,
    serviceContractEnd: $serviceContractEnd,
    serviceContractFrom: $serviceContractFrom,
    serviceContractLevel: $serviceContractLevel,
    serviceContractPartner: $serviceContractPartner,
    serviceContractStart: $serviceContractStart,
    serviceContractTo: $serviceContractTo,
    subscription: $subscription,
    supplier: $supplier,
    syncSiteGroup: $syncSiteGroup,
    workingHoursNotification: $workingHoursNotification,
    workingHoursSettings: $workingHoursSettings,
    transferModule: $transferModule
  ) {
    services {
      ...ServiceFragment
    }
    activity {
      ...AssetActivityFragment
    }
    allowReservations
    assetCategory {
      ...AssetCategoryFragment
    }
    assetCategoryId
    assetType {
      ...AssetTypeFragment
    }
    assetTypeId
    assignedToGroup {
      ...GroupFragment
    }
    assignedToGroupId
    createdByGroupId
    assignedToPreviousSite {
      ...SiteFragment
    }
    assignedToSite {
      ...SiteFragment
    }
    assignedToSiteId
    assignment
    availability
    BLE
    checkSchedule {
      ...AssetCheckScheduleFragment
    }
    checkScheduleRule {
      ...AssetCheckScheduleRuleFragment
    }
    client
    commissionDate
    costCenter
    costsSumBattery
    costsSumRepair
    costsSumMaintenance
    costsSumParts
    costsSumConsumables
    costsSumFuel
    costsSumLabor
    costsSumLogistics
    costsSumTaxes
    costsSumOther
    costsSumCertification
    created
    currency
    customer
    customerEditable
    description {
      ...TranslationFragment
    }
    descriptionId
    displayParameters {
      ...DisplayParameterFragment
    }
    documents {
      ...DocumentFragment
    }
    downloadLink
    eventIds
    events {
      ...EventFragment
    }
    externalId
    fixedAssetNumber
    floorRoom
    id
    image
    imei
    initialValue
    inventoryNumber
    isCommodity
    isInStationaryGateway
    workOrders {
      ...WorkOrderV2Fragment
    }
    lastContacted
    latestAssetData
    leasingCostTermination
    leasingEnd
    leasingLevel
    leasingMonthlyCost
    leasingPartner
    leasingPartnerContractNumber
    leasingPartnerContractPositionNumber
    leasingRenewalDate
    leasingRenewalRate
    leasingStart
    location {
      ...LocationFragment
    }
    maintenanceSchedule {
      ...AssetMaintenanceScheduleFragment
    }
    manufacturer {
      ...ManufacturerFragment
    }
    manufacturerId
    module {
      ...ModuleFragment
    }
    moduleId
    nextService
    optionalAssetID
    ownership
    parameterOffsetIds
    parameterOffsets {
      ...AssetParameterOffsetFragment
    }
    parameterSets {
      ...ParameterSetFragment
    }
    partsNumber
    previousSiteId
    projectNumber
    publicId
    purchaseCost
    purchaseCurrentBookValue
    purchaseDepriciation
    purchaseInvoiceNumber
    purchaseLowValueAsset
    purchaseStart
    purchaseWarrantyEnd
    purchaseWarrantyPeriod
    purchaseWarrantyStart
    qrAttached
    quantity
    relatedGroups {
      ...RelatedGroupFragment
    }
    rentalCostTermination
    rentalEnd
    rentalMonthlyCost
    rentalRenewalDate
    rentalRenewalRate
    rentalStart
    reservationIds
    reservations {
      ...ReservationFragment
    }
    responsiblePerson
    runtimeWithOffsetInSeconds
    serial
    serviceContract
    serviceContractCostPerYear
    serviceContractEmail
    serviceContractEnd
    serviceContractDocuments {
      ...DocumentFragment
    }
    serviceContractFrom
    serviceContractLevel
    serviceContractPartner
    serviceContractStart
    serviceContractTo
    state {
      ...AssetStateFragment
    }
    stateV2 {
      ...StatusItemFragment
    }
    status {
      ...StatusItemFragment
    }
    subscription
    supplier
    tickets {
      ...TicketFragment
    }
    updated
    unavailability {
      ...AssetUnavailabilityFragment
    }
    uuid
    vncTunnelUrl
    workingHoursNotification {
      ...RuleNotificationRelationFragment
    }
    workingHoursSettings
    gatewayAsset {
      ...AssetFragment
    }
    moduleConnectionStatus
    costs {
      ...CostFragment
    }
    costsSum
    totalUtilization
    totalWorkDone
    batteryLevel
    isLocked
    scanTime
    availabilityId
    ownershipId
    siteId
    createdByGroup {
      ...GroupFragment
    }
    site {
      ...SiteFragment
    }
  }
}
Variables
{
  "allowReservations": false,
  "assetTypeId": HashedId,
  "assignedToGroupId": HashedId,
  "assignedToSiteId": HashedId,
  "availability": "READY_TO_USE",
  "BLE": "abc123",
  "client": "abc123",
  "commissionDate": "2007-12-03",
  "costCenter": "xyz789",
  "currency": "abc123",
  "customerEditable": true,
  "description": TranslationInput,
  "disableWebhooks": true,
  "externalId": "abc123",
  "fixedAssetNumber": "xyz789",
  "floorRoom": "abc123",
  "imei": "xyz789",
  "initialValue": "abc123",
  "inventoryNumber": "xyz789",
  "isInStationaryGateway": true,
  "isTypePresetCheckOnSave": true,
  "leasingCostTermination": "abc123",
  "leasingEnd": "2007-12-03",
  "leasingLevel": "xyz789",
  "leasingMonthlyCost": "xyz789",
  "leasingPartner": "abc123",
  "leasingPartnerContractNumber": "abc123",
  "leasingPartnerContractPositionNumber": "abc123",
  "leasingRenewalDate": "2007-12-03",
  "leasingRenewalRate": "xyz789",
  "leasingStart": "2007-12-03",
  "optionalAssetID": "xyz789",
  "ownership": "PURCHASE",
  "parameterOffsets": [AssetParameterOffsetInput],
  "partsNumber": "xyz789",
  "projectNumber": "abc123",
  "purchaseCost": "xyz789",
  "purchaseDepriciation": 987,
  "purchaseInvoiceNumber": "abc123",
  "purchaseLowValueAsset": true,
  "purchaseStart": "2007-12-03",
  "purchaseWarrantyEnd": "2007-12-03",
  "purchaseWarrantyPeriod": 987,
  "purchaseWarrantyStart": "2007-12-03",
  "qrAttached": false,
  "quantity": 987,
  "rentalCostTermination": "xyz789",
  "rentalEnd": "2007-12-03",
  "rentalMonthlyCost": "abc123",
  "rentalRenewalDate": "2007-12-03",
  "rentalRenewalRate": "xyz789",
  "rentalStart": "2007-12-03",
  "responsiblePerson": "xyz789",
  "serial": "xyz789",
  "serviceContract": false,
  "serviceContractCostPerYear": "abc123",
  "serviceContractDocuments": [Upload],
  "serviceContractEmail": "xyz789",
  "serviceContractEnd": "2007-12-03",
  "serviceContractFrom": 1592577642,
  "serviceContractLevel": "abc123",
  "serviceContractPartner": "abc123",
  "serviceContractStart": "2007-12-03",
  "serviceContractTo": 1592577642,
  "subscription": "xyz789",
  "supplier": "abc123",
  "syncSiteGroup": false,
  "workingHoursNotification": [
    RuleNotificationRelationInput
  ],
  "workingHoursSettings": {},
  "transferModule": false
}
Response
{
  "data": {
    "createAsset": [
      {
        "services": [Service],
        "activity": AssetActivity,
        "allowReservations": false,
        "assetCategory": AssetCategory,
        "assetCategoryId": HashedId,
        "assetType": AssetType,
        "assetTypeId": HashedId,
        "assignedToGroup": Group,
        "assignedToGroupId": HashedId,
        "createdByGroupId": HashedId,
        "assignedToPreviousSite": Site,
        "assignedToSite": Site,
        "assignedToSiteId": HashedId,
        "assignment": "xyz789",
        "availability": "READY_TO_USE",
        "BLE": "abc123",
        "checkSchedule": AssetCheckSchedule,
        "checkScheduleRule": AssetCheckScheduleRule,
        "client": "xyz789",
        "commissionDate": "2007-12-03",
        "costCenter": "xyz789",
        "costsSumBattery": 987.65,
        "costsSumRepair": 123.45,
        "costsSumMaintenance": 123.45,
        "costsSumParts": 123.45,
        "costsSumConsumables": 987.65,
        "costsSumFuel": 123.45,
        "costsSumLabor": 987.65,
        "costsSumLogistics": 123.45,
        "costsSumTaxes": 123.45,
        "costsSumOther": 123.45,
        "costsSumCertification": 987.65,
        "created": 1592577642,
        "currency": "xyz789",
        "customer": "abc123",
        "customerEditable": true,
        "description": Translation,
        "descriptionId": HashedId,
        "displayParameters": [DisplayParameter],
        "documents": [Document],
        "downloadLink": "abc123",
        "eventIds": [HashedId],
        "events": [Event],
        "externalId": "xyz789",
        "fixedAssetNumber": "abc123",
        "floorRoom": "abc123",
        "id": HashedId,
        "image": "xyz789",
        "imei": "xyz789",
        "initialValue": "xyz789",
        "inventoryNumber": "abc123",
        "isCommodity": true,
        "isInStationaryGateway": false,
        "workOrders": [WorkOrderV2],
        "lastContacted": 1592577642,
        "latestAssetData": {},
        "leasingCostTermination": "xyz789",
        "leasingEnd": "2007-12-03",
        "leasingLevel": "xyz789",
        "leasingMonthlyCost": "abc123",
        "leasingPartner": "abc123",
        "leasingPartnerContractNumber": "xyz789",
        "leasingPartnerContractPositionNumber": "abc123",
        "leasingRenewalDate": "2007-12-03",
        "leasingRenewalRate": "abc123",
        "leasingStart": "2007-12-03",
        "location": Location,
        "maintenanceSchedule": AssetMaintenanceSchedule,
        "manufacturer": Manufacturer,
        "manufacturerId": HashedId,
        "module": Module,
        "moduleId": HashedId,
        "nextService": 987,
        "optionalAssetID": "abc123",
        "ownership": "PURCHASE",
        "parameterOffsetIds": [HashedId],
        "parameterOffsets": [AssetParameterOffset],
        "parameterSets": [ParameterSet],
        "partsNumber": "abc123",
        "previousSiteId": HashedId,
        "projectNumber": "xyz789",
        "publicId": 123,
        "purchaseCost": "xyz789",
        "purchaseCurrentBookValue": "abc123",
        "purchaseDepriciation": 123,
        "purchaseInvoiceNumber": "abc123",
        "purchaseLowValueAsset": false,
        "purchaseStart": "2007-12-03",
        "purchaseWarrantyEnd": "2007-12-03",
        "purchaseWarrantyPeriod": 987,
        "purchaseWarrantyStart": "2007-12-03",
        "qrAttached": true,
        "quantity": 123,
        "relatedGroups": [RelatedGroup],
        "rentalCostTermination": "abc123",
        "rentalEnd": "2007-12-03",
        "rentalMonthlyCost": "xyz789",
        "rentalRenewalDate": "2007-12-03",
        "rentalRenewalRate": "xyz789",
        "rentalStart": "2007-12-03",
        "reservationIds": [HashedId],
        "reservations": [Reservation],
        "responsiblePerson": "abc123",
        "runtimeWithOffsetInSeconds": 987,
        "serial": "xyz789",
        "serviceContract": false,
        "serviceContractCostPerYear": "abc123",
        "serviceContractEmail": "abc123",
        "serviceContractEnd": "2007-12-03",
        "serviceContractDocuments": [Document],
        "serviceContractFrom": 1592577642,
        "serviceContractLevel": "abc123",
        "serviceContractPartner": "xyz789",
        "serviceContractStart": "2007-12-03",
        "serviceContractTo": 1592577642,
        "state": AssetState,
        "stateV2": [StatusItem],
        "status": [StatusItem],
        "subscription": "xyz789",
        "supplier": "xyz789",
        "tickets": [Ticket],
        "updated": 1592577642,
        "unavailability": [AssetUnavailability],
        "uuid": "xyz789",
        "vncTunnelUrl": "abc123",
        "workingHoursNotification": [
          RuleNotificationRelation
        ],
        "workingHoursSettings": {},
        "gatewayAsset": Asset,
        "moduleConnectionStatus": "primary",
        "costs": [Cost],
        "costsSum": 123.45,
        "totalUtilization": "xyz789",
        "totalWorkDone": "abc123",
        "batteryLevel": "abc123",
        "isLocked": false,
        "scanTime": "2007-12-03",
        "availabilityId": HashedId,
        "ownershipId": HashedId,
        "siteId": HashedId,
        "createdByGroup": Group,
        "site": Site
      }
    ]
  }
}

createAssetCategory

Response

Returns [AssetCategory!]

Arguments
Name Description
optimalBatteryVoltage - Float
minimalBatteryVoltage - Float
nominalBatteryVoltage - Float
parentParameterKey - AssetParentParameter
optimalRuntime - Float
workUnitsPerHour - Float
workUnits - TranslationInput
externalId - String
groupId - HashedId
isPrivate - Boolean Listed to users outside this group hierarchy - "publicly" available. May be used for not yet released models
name - TranslationInput!

Example

Query
mutation createAssetCategory(
  $optimalBatteryVoltage: Float,
  $minimalBatteryVoltage: Float,
  $nominalBatteryVoltage: Float,
  $parentParameterKey: AssetParentParameter,
  $optimalRuntime: Float,
  $workUnitsPerHour: Float,
  $workUnits: TranslationInput,
  $externalId: String,
  $groupId: HashedId,
  $isPrivate: Boolean,
  $name: TranslationInput!
) {
  createAssetCategory(
    optimalBatteryVoltage: $optimalBatteryVoltage,
    minimalBatteryVoltage: $minimalBatteryVoltage,
    nominalBatteryVoltage: $nominalBatteryVoltage,
    parentParameterKey: $parentParameterKey,
    optimalRuntime: $optimalRuntime,
    workUnitsPerHour: $workUnitsPerHour,
    workUnits: $workUnits,
    externalId: $externalId,
    groupId: $groupId,
    isPrivate: $isPrivate,
    name: $name
  ) {
    id
    created
    updated
    image
    externalId
    forManufacturerId
    groupId
    isPrivate
    nameId
    minimalBatteryVoltage
    nominalBatteryVoltage
    optimalBatteryVoltage
    optimalRuntime
    parentParameterKey
    workUnitsPerHour
    workUnitId
    name {
      ...TranslationFragment
    }
    group {
      ...GroupFragment
    }
    forManufacturer {
      ...ManufacturerFragment
    }
    workUnits {
      ...TranslationFragment
    }
    assetsCount
  }
}
Variables
{
  "optimalBatteryVoltage": 123.45,
  "minimalBatteryVoltage": 123.45,
  "nominalBatteryVoltage": 987.65,
  "parentParameterKey": "runtime",
  "optimalRuntime": 123.45,
  "workUnitsPerHour": 987.65,
  "workUnits": TranslationInput,
  "externalId": "xyz789",
  "groupId": HashedId,
  "isPrivate": false,
  "name": TranslationInput
}
Response
{
  "data": {
    "createAssetCategory": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "image": "xyz789",
        "externalId": "xyz789",
        "forManufacturerId": HashedId,
        "groupId": HashedId,
        "isPrivate": true,
        "nameId": HashedId,
        "minimalBatteryVoltage": 123.45,
        "nominalBatteryVoltage": 123.45,
        "optimalBatteryVoltage": 987.65,
        "optimalRuntime": 123.45,
        "parentParameterKey": "runtime",
        "workUnitsPerHour": 123.45,
        "workUnitId": HashedId,
        "name": Translation,
        "group": Group,
        "forManufacturer": Manufacturer,
        "workUnits": Translation,
        "assetsCount": 123
      }
    ]
  }
}

createAssetData

Response

Returns an AssetData

Arguments
Name Description
assetId - HashedId!
data - String!
receivedDate - Date
interpolatedTimestamp - Date

Example

Query
mutation createAssetData(
  $assetId: HashedId!,
  $data: String!,
  $receivedDate: Date,
  $interpolatedTimestamp: Date
) {
  createAssetData(
    assetId: $assetId,
    data: $data,
    receivedDate: $receivedDate,
    interpolatedTimestamp: $interpolatedTimestamp
  ) {
    id
    createdByModuleImei
    createdByAssetId
    createdByAsset {
      ...AssetFragment
    }
    createdByModuleId
    createdByModule {
      ...ModuleFragment
    }
    data
    boundEvents {
      ...EventFragment
    }
    boundEventIds
    created
  }
}
Variables
{
  "assetId": HashedId,
  "data": "xyz789",
  "receivedDate": "2007-12-03",
  "interpolatedTimestamp": "2007-12-03"
}
Response
{
  "data": {
    "createAssetData": {
      "id": HashedId,
      "createdByModuleImei": "abc123",
      "createdByAssetId": HashedId,
      "createdByAsset": Asset,
      "createdByModuleId": HashedId,
      "createdByModule": Module,
      "data": {},
      "boundEvents": [Event],
      "boundEventIds": [HashedId],
      "created": 1592577642
    }
  }
}

createAssetIntegration

Response

Returns an AssetIntegration!

Arguments
Name Description
input - AssetIntegrationCreateInput!

Example

Query
mutation createAssetIntegration($input: AssetIntegrationCreateInput!) {
  createAssetIntegration(input: $input) {
    id
    created
    updated
    name
    manufacturerId
    assetCategoryId
    assetCategory {
      ...AssetCategoryFragment
    }
    manufacturer {
      ...ManufacturerFragment
    }
  }
}
Variables
{"input": AssetIntegrationCreateInput}
Response
{
  "data": {
    "createAssetIntegration": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "name": "xyz789",
      "manufacturerId": HashedId,
      "assetCategoryId": HashedId,
      "assetCategory": AssetCategory,
      "manufacturer": Manufacturer
    }
  }
}

createAssetType

Response

Returns [AssetType]

Arguments
Name Description
optimalBatteryVoltage - Float
minimalBatteryVoltage - Float
nominalBatteryVoltage - Float
parentParameterKey - AssetParentParameter
optimalRuntime - Float
workUnitsPerHour - Float
workUnits - TranslationInput
externalId - String
groupId - HashedId
hasAssortmentList - Boolean
hasVNC - Boolean Certain assets can be accessed over a remote connection. This specifies if this type can be accessed over VNC.
image - String
inAssetCategoryId - HashedId!
inAssetIntegrationId - HashedId The asset integration that applies to this type
isApprovedAssetType - Boolean
isLockable - Boolean Certain Asset Types can be locked. This will then lock the asset
isLockedState - Boolean
isPollingAvailable - Boolean
isPrivate - Boolean Listed to users outside this group hierarchy - "publicly" available. May be used for not yet released models
isVehicle - Boolean
lockAssetTypeId - HashedId
manufacturer - String
name - TranslationInput!
preset - Boolean
presetInitialValue - String
presetLeasingCostTermination - String
presetLeasingLevel - String
presetLeasingMonthlyCost - String
presetLeasingPartner - String
presetLeasingPartnerContractNumber - String
presetLeasingPartnerContractPositionNumber - String
presetLeasingRenewalRate - String
presetLowValueAsset - Boolean
presetMachineCheckLastCreated - Boolean
presetMachineCheckName - String
presetMachineCheckInterval - Int
presetOwnership - String
presetPurchaseCost - String
presetPurchaseDepriciation - Int
presetRentalCostTermination - String
presetRentalMonthlyCost - String
presetRentalRenewalRate - String
presetServiceContractCostPerYear - String
presetServiceContractEmail - String
presetServiceContractLevel - String
presetServiceContractPartner - String
presetSupplier - String
presetWarrantyPeriod - Int
restrictedType - Boolean
suggestedServicePartner - String

Example

Query
mutation createAssetType(
  $optimalBatteryVoltage: Float,
  $minimalBatteryVoltage: Float,
  $nominalBatteryVoltage: Float,
  $parentParameterKey: AssetParentParameter,
  $optimalRuntime: Float,
  $workUnitsPerHour: Float,
  $workUnits: TranslationInput,
  $externalId: String,
  $groupId: HashedId,
  $hasAssortmentList: Boolean,
  $hasVNC: Boolean,
  $image: String,
  $inAssetCategoryId: HashedId!,
  $inAssetIntegrationId: HashedId,
  $isApprovedAssetType: Boolean,
  $isLockable: Boolean,
  $isLockedState: Boolean,
  $isPollingAvailable: Boolean,
  $isPrivate: Boolean,
  $isVehicle: Boolean,
  $lockAssetTypeId: HashedId,
  $manufacturer: String,
  $name: TranslationInput!,
  $preset: Boolean,
  $presetInitialValue: String,
  $presetLeasingCostTermination: String,
  $presetLeasingLevel: String,
  $presetLeasingMonthlyCost: String,
  $presetLeasingPartner: String,
  $presetLeasingPartnerContractNumber: String,
  $presetLeasingPartnerContractPositionNumber: String,
  $presetLeasingRenewalRate: String,
  $presetLowValueAsset: Boolean,
  $presetMachineCheckLastCreated: Boolean,
  $presetMachineCheckName: String,
  $presetMachineCheckInterval: Int,
  $presetOwnership: String,
  $presetPurchaseCost: String,
  $presetPurchaseDepriciation: Int,
  $presetRentalCostTermination: String,
  $presetRentalMonthlyCost: String,
  $presetRentalRenewalRate: String,
  $presetServiceContractCostPerYear: String,
  $presetServiceContractEmail: String,
  $presetServiceContractLevel: String,
  $presetServiceContractPartner: String,
  $presetSupplier: String,
  $presetWarrantyPeriod: Int,
  $restrictedType: Boolean,
  $suggestedServicePartner: String
) {
  createAssetType(
    optimalBatteryVoltage: $optimalBatteryVoltage,
    minimalBatteryVoltage: $minimalBatteryVoltage,
    nominalBatteryVoltage: $nominalBatteryVoltage,
    parentParameterKey: $parentParameterKey,
    optimalRuntime: $optimalRuntime,
    workUnitsPerHour: $workUnitsPerHour,
    workUnits: $workUnits,
    externalId: $externalId,
    groupId: $groupId,
    hasAssortmentList: $hasAssortmentList,
    hasVNC: $hasVNC,
    image: $image,
    inAssetCategoryId: $inAssetCategoryId,
    inAssetIntegrationId: $inAssetIntegrationId,
    isApprovedAssetType: $isApprovedAssetType,
    isLockable: $isLockable,
    isLockedState: $isLockedState,
    isPollingAvailable: $isPollingAvailable,
    isPrivate: $isPrivate,
    isVehicle: $isVehicle,
    lockAssetTypeId: $lockAssetTypeId,
    manufacturer: $manufacturer,
    name: $name,
    preset: $preset,
    presetInitialValue: $presetInitialValue,
    presetLeasingCostTermination: $presetLeasingCostTermination,
    presetLeasingLevel: $presetLeasingLevel,
    presetLeasingMonthlyCost: $presetLeasingMonthlyCost,
    presetLeasingPartner: $presetLeasingPartner,
    presetLeasingPartnerContractNumber: $presetLeasingPartnerContractNumber,
    presetLeasingPartnerContractPositionNumber: $presetLeasingPartnerContractPositionNumber,
    presetLeasingRenewalRate: $presetLeasingRenewalRate,
    presetLowValueAsset: $presetLowValueAsset,
    presetMachineCheckLastCreated: $presetMachineCheckLastCreated,
    presetMachineCheckName: $presetMachineCheckName,
    presetMachineCheckInterval: $presetMachineCheckInterval,
    presetOwnership: $presetOwnership,
    presetPurchaseCost: $presetPurchaseCost,
    presetPurchaseDepriciation: $presetPurchaseDepriciation,
    presetRentalCostTermination: $presetRentalCostTermination,
    presetRentalMonthlyCost: $presetRentalMonthlyCost,
    presetRentalRenewalRate: $presetRentalRenewalRate,
    presetServiceContractCostPerYear: $presetServiceContractCostPerYear,
    presetServiceContractEmail: $presetServiceContractEmail,
    presetServiceContractLevel: $presetServiceContractLevel,
    presetServiceContractPartner: $presetServiceContractPartner,
    presetSupplier: $presetSupplier,
    presetWarrantyPeriod: $presetWarrantyPeriod,
    restrictedType: $restrictedType,
    suggestedServicePartner: $suggestedServicePartner
  ) {
    id
    created
    updated
    flowId
    forManufacturerId
    groupId
    hasAssortmentList
    externalId
    image
    inAssetCategoryId
    inAssetIntegrationId
    isApprovedAssetType
    isPrivate
    isVehicle
    make
    nameId
    restrictedType
    preset
    presetInitialValue
    presetLeasingCostTermination
    presetLeasingLevel
    presetLeasingMonthlyCost
    presetLeasingPartner
    presetLeasingPartnerContractNumber
    presetLeasingPartnerContractPositionNumber
    presetLeasingRenewalRate
    presetLowValueAsset
    presetMachineCheckInterval
    presetMachineCheckLastCreated
    presetMachineCheckName
    presetOwnership
    presetPurchaseCost
    presetPurchaseDepriciation
    presetRentalCostTermination
    presetRentalMonthlyCost
    presetRentalRenewalRate
    presetServiceContractCostPerYear
    presetServiceContractEmail
    presetServiceContractLevel
    presetServiceContractPartner
    presetSupplier
    presetWarrantyPeriod
    isLockable
    isLockedState
    lockAssetTypeId
    hasVNC
    isPollingAvailable
    name {
      ...TranslationFragment
    }
    documents {
      ...DocumentFragment
    }
    flow {
      ...FlowFragment
    }
    minimalBatteryVoltage
    nominalBatteryVoltage
    optimalBatteryVoltage
    optimalRuntime
    parentParameterKey
    workUnits {
      ...TranslationFragment
    }
    workUnitsPerHour
    workUnitId
    inAssetCategory {
      ...AssetCategoryFragment
    }
    group {
      ...GroupFragment
    }
    inAssetIntegration {
      ...AssetIntegrationFragment
    }
    forManufacturer {
      ...ManufacturerFragment
    }
    namespace
    assetsCount
    userManual
    suggestedServicePartner
    lockAssetType {
      ...AssetTypeFragment
    }
  }
}
Variables
{
  "optimalBatteryVoltage": 987.65,
  "minimalBatteryVoltage": 987.65,
  "nominalBatteryVoltage": 123.45,
  "parentParameterKey": "runtime",
  "optimalRuntime": 123.45,
  "workUnitsPerHour": 987.65,
  "workUnits": TranslationInput,
  "externalId": "abc123",
  "groupId": HashedId,
  "hasAssortmentList": true,
  "hasVNC": false,
  "image": "xyz789",
  "inAssetCategoryId": HashedId,
  "inAssetIntegrationId": HashedId,
  "isApprovedAssetType": false,
  "isLockable": false,
  "isLockedState": true,
  "isPollingAvailable": false,
  "isPrivate": false,
  "isVehicle": true,
  "lockAssetTypeId": HashedId,
  "manufacturer": "xyz789",
  "name": TranslationInput,
  "preset": false,
  "presetInitialValue": "xyz789",
  "presetLeasingCostTermination": "xyz789",
  "presetLeasingLevel": "xyz789",
  "presetLeasingMonthlyCost": "xyz789",
  "presetLeasingPartner": "xyz789",
  "presetLeasingPartnerContractNumber": "xyz789",
  "presetLeasingPartnerContractPositionNumber": "abc123",
  "presetLeasingRenewalRate": "xyz789",
  "presetLowValueAsset": true,
  "presetMachineCheckLastCreated": true,
  "presetMachineCheckName": "xyz789",
  "presetMachineCheckInterval": 987,
  "presetOwnership": "xyz789",
  "presetPurchaseCost": "abc123",
  "presetPurchaseDepriciation": 987,
  "presetRentalCostTermination": "xyz789",
  "presetRentalMonthlyCost": "abc123",
  "presetRentalRenewalRate": "xyz789",
  "presetServiceContractCostPerYear": "xyz789",
  "presetServiceContractEmail": "abc123",
  "presetServiceContractLevel": "xyz789",
  "presetServiceContractPartner": "abc123",
  "presetSupplier": "xyz789",
  "presetWarrantyPeriod": 987,
  "restrictedType": false,
  "suggestedServicePartner": "xyz789"
}
Response
{
  "data": {
    "createAssetType": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "flowId": HashedId,
        "forManufacturerId": HashedId,
        "groupId": HashedId,
        "hasAssortmentList": true,
        "externalId": "xyz789",
        "image": "abc123",
        "inAssetCategoryId": HashedId,
        "inAssetIntegrationId": HashedId,
        "isApprovedAssetType": true,
        "isPrivate": true,
        "isVehicle": false,
        "make": "abc123",
        "nameId": HashedId,
        "restrictedType": false,
        "preset": false,
        "presetInitialValue": "abc123",
        "presetLeasingCostTermination": "xyz789",
        "presetLeasingLevel": "xyz789",
        "presetLeasingMonthlyCost": "abc123",
        "presetLeasingPartner": "xyz789",
        "presetLeasingPartnerContractNumber": "abc123",
        "presetLeasingPartnerContractPositionNumber": "abc123",
        "presetLeasingRenewalRate": "abc123",
        "presetLowValueAsset": false,
        "presetMachineCheckInterval": 987,
        "presetMachineCheckLastCreated": true,
        "presetMachineCheckName": "xyz789",
        "presetOwnership": "abc123",
        "presetPurchaseCost": "abc123",
        "presetPurchaseDepriciation": 987,
        "presetRentalCostTermination": "xyz789",
        "presetRentalMonthlyCost": "abc123",
        "presetRentalRenewalRate": "abc123",
        "presetServiceContractCostPerYear": "abc123",
        "presetServiceContractEmail": "abc123",
        "presetServiceContractLevel": "abc123",
        "presetServiceContractPartner": "xyz789",
        "presetSupplier": "xyz789",
        "presetWarrantyPeriod": 123,
        "isLockable": true,
        "isLockedState": false,
        "lockAssetTypeId": HashedId,
        "hasVNC": true,
        "isPollingAvailable": false,
        "name": Translation,
        "documents": [Document],
        "flow": Flow,
        "minimalBatteryVoltage": 987.65,
        "nominalBatteryVoltage": 123.45,
        "optimalBatteryVoltage": 987.65,
        "optimalRuntime": 123.45,
        "parentParameterKey": "runtime",
        "workUnits": Translation,
        "workUnitsPerHour": 123.45,
        "workUnitId": HashedId,
        "inAssetCategory": AssetCategory,
        "group": Group,
        "inAssetIntegration": AssetIntegration,
        "forManufacturer": Manufacturer,
        "namespace": "xyz789",
        "assetsCount": 123,
        "userManual": "xyz789",
        "suggestedServicePartner": "xyz789",
        "lockAssetType": AssetType
      }
    ]
  }
}

createAssetView

Description

create a new asset view for the logged in user

Response

Returns an AssetView!

Arguments
Name Description
view - AssetViewCreateInput!

Example

Query
mutation createAssetView($view: AssetViewCreateInput!) {
  createAssetView(view: $view) {
    id
    created
    updated
    name
    forEntity
    displayMode
    options {
      ...AssetViewOptionsFragment
    }
    isActive
    isSystemView
    isShared
    isEditable
    isDeletable
    isShareable
    isUnsharedByParentGroup
  }
}
Variables
{"view": AssetViewCreateInput}
Response
{
  "data": {
    "createAssetView": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "name": "abc123",
      "forEntity": "ASSET",
      "displayMode": "LIST",
      "options": AssetViewOptions,
      "isActive": true,
      "isSystemView": false,
      "isShared": false,
      "isEditable": false,
      "isDeletable": true,
      "isShareable": true,
      "isUnsharedByParentGroup": false
    }
  }
}

createBrand

Response

Returns a Brand!

Arguments
Name Description
input - BrandCreateInput!

Example

Query
mutation createBrand($input: BrandCreateInput!) {
  createBrand(input: $input) {
    id
    created
    updated
    groupId
    logoWidth
    key
    systemName
    colorDark
    colorLight
    faviconUrl
    loginBackground
    name
    appUrlAndroid
    appUrlIos
    logo
    color
    symbol
    ownURL
    supportEmail
    activationMailVideo
    logoIsSquare
    group {
      ...GroupFragment
    }
    sso
    loginLanguageFallback
    projects
  }
}
Variables
{"input": BrandCreateInput}
Response
{
  "data": {
    "createBrand": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "groupId": HashedId,
      "logoWidth": 987,
      "key": "xyz789",
      "systemName": "abc123",
      "colorDark": "abc123",
      "colorLight": "abc123",
      "faviconUrl": "xyz789",
      "loginBackground": "xyz789",
      "name": "abc123",
      "appUrlAndroid": "abc123",
      "appUrlIos": "abc123",
      "logo": "xyz789",
      "color": "abc123",
      "symbol": "xyz789",
      "ownURL": "abc123",
      "supportEmail": "xyz789",
      "activationMailVideo": "abc123",
      "logoIsSquare": true,
      "group": Group,
      "sso": "2007-12-03T10:15:30Z",
      "loginLanguageFallback": HashedId,
      "projects": "xyz789"
    }
  }
}

createCheckSchedule

Response

Returns an AssetCheckSchedule

Arguments
Name Description
assetId - HashedId!
name - String!
interval - Int!
lastCheck - Date
nextCheck - Date!

Example

Query
mutation createCheckSchedule(
  $assetId: HashedId!,
  $name: String!,
  $interval: Int!,
  $lastCheck: Date,
  $nextCheck: Date!
) {
  createCheckSchedule(
    assetId: $assetId,
    name: $name,
    interval: $interval,
    lastCheck: $lastCheck,
    nextCheck: $nextCheck
  ) {
    id
    assetId
    name
    interval
    lastCheck
    nextCheck
    daysToNextCheck
    lastCheckLastEdited {
      ...AssetCheckScheduleEditNoteFragment
    }
    nextCheckLastEdited {
      ...AssetCheckScheduleEditNoteFragment
    }
  }
}
Variables
{
  "assetId": HashedId,
  "name": "abc123",
  "interval": 123,
  "lastCheck": "2007-12-03",
  "nextCheck": "2007-12-03"
}
Response
{
  "data": {
    "createCheckSchedule": {
      "id": HashedId,
      "assetId": HashedId,
      "name": "abc123",
      "interval": 123,
      "lastCheck": "2007-12-03",
      "nextCheck": "2007-12-03",
      "daysToNextCheck": 123,
      "lastCheckLastEdited": AssetCheckScheduleEditNote,
      "nextCheckLastEdited": AssetCheckScheduleEditNote
    }
  }
}

createCommentForTicket

Response

Returns a TicketComment!

Arguments
Name Description
input - TicketCommentCreateInput!

Example

Query
mutation createCommentForTicket($input: TicketCommentCreateInput!) {
  createCommentForTicket(input: $input) {
    id
    created
    updated
    createdByUserId
    authorEmail
    createdByUser {
      ...TicketUserFragment
    }
    history {
      ...TicketCommentContentFragment
    }
    content {
      ...TicketCommentContentFragment
    }
    isAutomated
    costs {
      ...CostFragment
    }
    stateEvent {
      ...TicketStateFragment
    }
    attachments {
      ...DocumentFragment
    }
    connectedEventId
    connectedEvent {
      ...EventFragment
    }
    deleted
  }
}
Variables
{"input": TicketCommentCreateInput}
Response
{
  "data": {
    "createCommentForTicket": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "createdByUserId": HashedId,
      "authorEmail": "abc123",
      "createdByUser": TicketUser,
      "history": [TicketCommentContent],
      "content": TicketCommentContent,
      "isAutomated": false,
      "costs": [Cost],
      "stateEvent": TicketState,
      "attachments": [Document],
      "connectedEventId": HashedId,
      "connectedEvent": Event,
      "deleted": 1592577642
    }
  }
}

createCost

Response

Returns a Cost

Arguments
Name Description
assetId - HashedId!
costTypeId - HashedId!
currency - String!
originatingFromEventId - HashedId
originatingFromCommentId - HashedId
value - Float!

Example

Query
mutation createCost(
  $assetId: HashedId!,
  $costTypeId: HashedId!,
  $currency: String!,
  $originatingFromEventId: HashedId,
  $originatingFromCommentId: HashedId,
  $value: Float!
) {
  createCost(
    assetId: $assetId,
    costTypeId: $costTypeId,
    currency: $currency,
    originatingFromEventId: $originatingFromEventId,
    originatingFromCommentId: $originatingFromCommentId,
    value: $value
  ) {
    id
    created
    updated
    assetId
    costTypeId
    createdByUserId
    currency
    originatingFromEventId
    originatingFromCommentId
    value
    costType {
      ...CostTypeFragment
    }
  }
}
Variables
{
  "assetId": HashedId,
  "costTypeId": HashedId,
  "currency": "xyz789",
  "originatingFromEventId": HashedId,
  "originatingFromCommentId": HashedId,
  "value": 987.65
}
Response
{
  "data": {
    "createCost": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "assetId": HashedId,
      "costTypeId": HashedId,
      "createdByUserId": HashedId,
      "currency": "xyz789",
      "originatingFromEventId": HashedId,
      "originatingFromCommentId": HashedId,
      "value": 987.65,
      "costType": CostType
    }
  }
}

createCustomEvent

Response

Returns an Event

Arguments
Name Description
assetId - HashedId
partId - HashedId
title - TranslationInput!
description - TranslationInput
isCritical - Boolean
isImmediateNotification - Boolean

Example

Query
mutation createCustomEvent(
  $assetId: HashedId,
  $partId: HashedId,
  $title: TranslationInput!,
  $description: TranslationInput,
  $isCritical: Boolean,
  $isImmediateNotification: Boolean
) {
  createCustomEvent(
    assetId: $assetId,
    partId: $partId,
    title: $title,
    description: $description,
    isCritical: $isCritical,
    isImmediateNotification: $isImmediateNotification
  ) {
    id
    createdByRule {
      ...RuleFragment
    }
    createdByRuleId
    createdByFlowResponse {
      ...FlowResponseFragment
    }
    createdByFlowResponseId
    createdByTicket {
      ...TicketFragment
    }
    createdByTicketId
    createdByWorkOrder {
      ...WorkOrderSummaryFragment
    }
    createdByWorkOrderId
    createdBySiteId
    originatingFromAsset {
      ...AssetFragment
    }
    originatingFromAssetId
    originatingFromModule {
      ...ModuleFragment
    }
    createdByPartId
    originatingFromModuleId
    title {
      ...TranslationFragment
    }
    titleId
    description {
      ...TranslationFragment
    }
    descriptionId
    createdByUser {
      ...UserFragment
    }
    createdByUserId
    stoppedByUser {
      ...UserFragment
    }
    stoppedByUserId
    eventStyle {
      ...EventStyleFragment
    }
    eventStyleId
    startTime
    endTime
    isCritical
    isImmediateNotification
    shouldNotify
    manualDeactivation
    isOngoing
    created
    updated
    responseState {
      ...TicketStateFragment
    }
    eventMeta
    serviceName {
      ...TranslationFragment
    }
    ticketId
    tag
    cost {
      ...CostFragment
    }
    costs {
      ...CostFragment
    }
    documents {
      ...DocumentFragment
    }
    workOrderNotifications {
      ...WorkOrderNotificationsFragment
    }
    connectedComment {
      ...TicketCommentFragment
    }
    authorEmail
    lastEvent
    createdByPart {
      ...PartFragment
    }
    data {
      ...EventEntityDataDtoFragment
    }
  }
}
Variables
{
  "assetId": HashedId,
  "partId": HashedId,
  "title": TranslationInput,
  "description": TranslationInput,
  "isCritical": false,
  "isImmediateNotification": true
}
Response
{
  "data": {
    "createCustomEvent": {
      "id": HashedId,
      "createdByRule": Rule,
      "createdByRuleId": HashedId,
      "createdByFlowResponse": FlowResponse,
      "createdByFlowResponseId": HashedId,
      "createdByTicket": Ticket,
      "createdByTicketId": HashedId,
      "createdByWorkOrder": WorkOrderSummary,
      "createdByWorkOrderId": HashedId,
      "createdBySiteId": HashedId,
      "originatingFromAsset": Asset,
      "originatingFromAssetId": HashedId,
      "originatingFromModule": Module,
      "createdByPartId": HashedId,
      "originatingFromModuleId": HashedId,
      "title": Translation,
      "titleId": HashedId,
      "description": Translation,
      "descriptionId": HashedId,
      "createdByUser": User,
      "createdByUserId": HashedId,
      "stoppedByUser": User,
      "stoppedByUserId": HashedId,
      "eventStyle": EventStyle,
      "eventStyleId": "xyz789",
      "startTime": 1592577642,
      "endTime": 1592577642,
      "isCritical": true,
      "isImmediateNotification": true,
      "shouldNotify": false,
      "manualDeactivation": true,
      "isOngoing": false,
      "created": 1592577642,
      "updated": 1592577642,
      "responseState": TicketState,
      "eventMeta": {},
      "serviceName": Translation,
      "ticketId": 987,
      "tag": ["asset"],
      "cost": Cost,
      "costs": [Cost],
      "documents": [Document],
      "workOrderNotifications": WorkOrderNotifications,
      "connectedComment": TicketComment,
      "authorEmail": "abc123",
      "lastEvent": 1592577642,
      "createdByPart": Part,
      "data": EventEntityDataDto
    }
  }
}

createDashboard

Response

Returns a Dashboard

Arguments
Name Description
title - TranslationInput!
default - Boolean
priority - Int
grafanaDashboardUID - String
filters - [DashboardMutationFilterInput!]

Example

Query
mutation createDashboard(
  $title: TranslationInput!,
  $default: Boolean,
  $priority: Int,
  $grafanaDashboardUID: String,
  $filters: [DashboardMutationFilterInput!]
) {
  createDashboard(
    title: $title,
    default: $default,
    priority: $priority,
    grafanaDashboardUID: $grafanaDashboardUID,
    filters: $filters
  ) {
    id
    title {
      ...TranslationFragment
    }
    priority
    definition
    grafanaDashboardURL
    grafanaDashboardUID
    filters {
      ...DashboardFilterFragment
    }
    snapshotURL
    createdByUserId
    createdByGroupId
    default
  }
}
Variables
{
  "title": TranslationInput,
  "default": false,
  "priority": 987,
  "grafanaDashboardUID": "xyz789",
  "filters": [DashboardMutationFilterInput]
}
Response
{
  "data": {
    "createDashboard": {
      "id": HashedId,
      "title": Translation,
      "priority": 987,
      "definition": {},
      "grafanaDashboardURL": "abc123",
      "grafanaDashboardUID": "xyz789",
      "filters": [DashboardFilter],
      "snapshotURL": "abc123",
      "createdByUserId": HashedId,
      "createdByGroupId": HashedId,
      "default": false
    }
  }
}

createDocument

Description

Accepts 'jpg', 'jpeg', 'gif', 'png', 'heic', 'pdf', 'doc', 'docx', 'xls', 'xlsx', 'ppt', 'pptx', 'pub', 'csv', 'txt', 'json'

Response

Returns [Document!]

Arguments
Name Description
name - String!
assetId - HashedId
assetTypeId - HashedId
partId - HashedId
purpose - String
isVisibleToCustomer - Boolean!
documentLink - String
file - Upload

Example

Query
mutation createDocument(
  $name: String!,
  $assetId: HashedId,
  $assetTypeId: HashedId,
  $partId: HashedId,
  $purpose: String,
  $isVisibleToCustomer: Boolean!,
  $documentLink: String,
  $file: Upload
) {
  createDocument(
    name: $name,
    assetId: $assetId,
    assetTypeId: $assetTypeId,
    partId: $partId,
    purpose: $purpose,
    isVisibleToCustomer: $isVisibleToCustomer,
    documentLink: $documentLink,
    file: $file
  ) {
    id
    name
    url
    typeKey
    assetId
    assetTypeId
    commentId
    eventId
    partId
    purpose
    isVisibleToCustomer
    uploadedByCustomer
    isExternal
    uploadedByUserId
    uploadedByUser {
      ...UserFragment
    }
    editable
    created
    updated
    isInherited
    fileSize
  }
}
Variables
{
  "name": "xyz789",
  "assetId": HashedId,
  "assetTypeId": HashedId,
  "partId": HashedId,
  "purpose": "abc123",
  "isVisibleToCustomer": false,
  "documentLink": "abc123",
  "file": Upload
}
Response
{
  "data": {
    "createDocument": [
      {
        "id": HashedId,
        "name": "abc123",
        "url": "abc123",
        "typeKey": "abc123",
        "assetId": HashedId,
        "assetTypeId": HashedId,
        "commentId": HashedId,
        "eventId": HashedId,
        "partId": HashedId,
        "purpose": "xyz789",
        "isVisibleToCustomer": true,
        "uploadedByCustomer": true,
        "isExternal": false,
        "uploadedByUserId": HashedId,
        "uploadedByUser": User,
        "editable": false,
        "created": 1592577642,
        "updated": 1592577642,
        "isInherited": false,
        "fileSize": 987
      }
    ]
  }
}

createEvent

Response

Returns an Event

Arguments
Name Description
assetId - HashedId
partId - HashedId
title - TranslationInput!
description - TranslationInput
isCritical - Boolean
costs - [NewCostInput!]
attachments - [Upload!]
siteId - HashedId

Example

Query
mutation createEvent(
  $assetId: HashedId,
  $partId: HashedId,
  $title: TranslationInput!,
  $description: TranslationInput,
  $isCritical: Boolean,
  $costs: [NewCostInput!],
  $attachments: [Upload!],
  $siteId: HashedId
) {
  createEvent(
    assetId: $assetId,
    partId: $partId,
    title: $title,
    description: $description,
    isCritical: $isCritical,
    costs: $costs,
    attachments: $attachments,
    siteId: $siteId
  ) {
    id
    createdByRule {
      ...RuleFragment
    }
    createdByRuleId
    createdByFlowResponse {
      ...FlowResponseFragment
    }
    createdByFlowResponseId
    createdByTicket {
      ...TicketFragment
    }
    createdByTicketId
    createdByWorkOrder {
      ...WorkOrderSummaryFragment
    }
    createdByWorkOrderId
    createdBySiteId
    originatingFromAsset {
      ...AssetFragment
    }
    originatingFromAssetId
    originatingFromModule {
      ...ModuleFragment
    }
    createdByPartId
    originatingFromModuleId
    title {
      ...TranslationFragment
    }
    titleId
    description {
      ...TranslationFragment
    }
    descriptionId
    createdByUser {
      ...UserFragment
    }
    createdByUserId
    stoppedByUser {
      ...UserFragment
    }
    stoppedByUserId
    eventStyle {
      ...EventStyleFragment
    }
    eventStyleId
    startTime
    endTime
    isCritical
    isImmediateNotification
    shouldNotify
    manualDeactivation
    isOngoing
    created
    updated
    responseState {
      ...TicketStateFragment
    }
    eventMeta
    serviceName {
      ...TranslationFragment
    }
    ticketId
    tag
    cost {
      ...CostFragment
    }
    costs {
      ...CostFragment
    }
    documents {
      ...DocumentFragment
    }
    workOrderNotifications {
      ...WorkOrderNotificationsFragment
    }
    connectedComment {
      ...TicketCommentFragment
    }
    authorEmail
    lastEvent
    createdByPart {
      ...PartFragment
    }
    data {
      ...EventEntityDataDtoFragment
    }
  }
}
Variables
{
  "assetId": HashedId,
  "partId": HashedId,
  "title": TranslationInput,
  "description": TranslationInput,
  "isCritical": true,
  "costs": [NewCostInput],
  "attachments": [Upload],
  "siteId": HashedId
}
Response
{
  "data": {
    "createEvent": {
      "id": HashedId,
      "createdByRule": Rule,
      "createdByRuleId": HashedId,
      "createdByFlowResponse": FlowResponse,
      "createdByFlowResponseId": HashedId,
      "createdByTicket": Ticket,
      "createdByTicketId": HashedId,
      "createdByWorkOrder": WorkOrderSummary,
      "createdByWorkOrderId": HashedId,
      "createdBySiteId": HashedId,
      "originatingFromAsset": Asset,
      "originatingFromAssetId": HashedId,
      "originatingFromModule": Module,
      "createdByPartId": HashedId,
      "originatingFromModuleId": HashedId,
      "title": Translation,
      "titleId": HashedId,
      "description": Translation,
      "descriptionId": HashedId,
      "createdByUser": User,
      "createdByUserId": HashedId,
      "stoppedByUser": User,
      "stoppedByUserId": HashedId,
      "eventStyle": EventStyle,
      "eventStyleId": "abc123",
      "startTime": 1592577642,
      "endTime": 1592577642,
      "isCritical": true,
      "isImmediateNotification": true,
      "shouldNotify": false,
      "manualDeactivation": true,
      "isOngoing": false,
      "created": 1592577642,
      "updated": 1592577642,
      "responseState": TicketState,
      "eventMeta": {},
      "serviceName": Translation,
      "ticketId": 987,
      "tag": ["asset"],
      "cost": Cost,
      "costs": [Cost],
      "documents": [Document],
      "workOrderNotifications": WorkOrderNotifications,
      "connectedComment": TicketComment,
      "authorEmail": "abc123",
      "lastEvent": 1592577642,
      "createdByPart": Part,
      "data": EventEntityDataDto
    }
  }
}

createEventStyle

Response

Returns an EventStyle!

Arguments
Name Description
name - TranslationInput!
iconIndex - Int!
color - String!

Example

Query
mutation createEventStyle(
  $name: TranslationInput!,
  $iconIndex: Int!,
  $color: String!
) {
  createEventStyle(
    name: $name,
    iconIndex: $iconIndex,
    color: $color
  ) {
    id
    key
    nameId
    name {
      ...TranslationFragment
    }
    icon
    color
    createdByGroupId
  }
}
Variables
{
  "name": TranslationInput,
  "iconIndex": 123,
  "color": "abc123"
}
Response
{
  "data": {
    "createEventStyle": {
      "id": HashedId,
      "key": "ERROR",
      "nameId": HashedId,
      "name": Translation,
      "icon": "xyz789",
      "color": "xyz789",
      "createdByGroupId": HashedId
    }
  }
}

createFlow

Response

Returns a Flow!

Arguments
Name Description
title - TranslationInput!
description - TranslationInput
assetTypeId - HashedId Assign a flow to an assetType. If not specified, it will be assigned to the submitting user's group as a generic flow. Can not be changed later.
definition - JSON!

Example

Query
mutation createFlow(
  $title: TranslationInput!,
  $description: TranslationInput,
  $assetTypeId: HashedId,
  $definition: JSON!
) {
  createFlow(
    title: $title,
    description: $description,
    assetTypeId: $assetTypeId,
    definition: $definition
  ) {
    id
    title {
      ...TranslationFragment
    }
    titleId
    description {
      ...TranslationFragment
    }
    descriptionId
    flowMaintainers {
      ...NotificationRelationFragment
    }
    definition
    createdByUserId
    created
    updated
    flowId
    assetId
    wasFinished
    submittedByUserId
    submittedByGroupId
  }
}
Variables
{
  "title": TranslationInput,
  "description": TranslationInput,
  "assetTypeId": HashedId,
  "definition": {}
}
Response
{
  "data": {
    "createFlow": {
      "id": HashedId,
      "title": Translation,
      "titleId": HashedId,
      "description": Translation,
      "descriptionId": HashedId,
      "flowMaintainers": [NotificationRelation],
      "definition": {},
      "createdByUserId": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "flowId": HashedId,
      "assetId": 123,
      "wasFinished": false,
      "submittedByUserId": 123,
      "submittedByGroupId": 123
    }
  }
}

createGroup

Use groups.create instead
Response

Returns [Group!]!

Arguments
Name Description
name - String!
parentGroupId - HashedId!
settings - JSON
vatNumber - String
isCustomer - Boolean
getRawFlow - Boolean
servicePackageId - HashedId Can only be changed by internal TS users currently
handlerAlias - String
flowsEnabled - Boolean
defaultCurrency - String
hasTicketHandling - Boolean
identificationNumber - String
flowMaintainers - [NotificationRelationCreateInput!]

Example

Query
mutation createGroup(
  $name: String!,
  $parentGroupId: HashedId!,
  $settings: JSON,
  $vatNumber: String,
  $isCustomer: Boolean,
  $getRawFlow: Boolean,
  $servicePackageId: HashedId,
  $handlerAlias: String,
  $flowsEnabled: Boolean,
  $defaultCurrency: String,
  $hasTicketHandling: Boolean,
  $identificationNumber: String,
  $flowMaintainers: [NotificationRelationCreateInput!]
) {
  createGroup(
    name: $name,
    parentGroupId: $parentGroupId,
    settings: $settings,
    vatNumber: $vatNumber,
    isCustomer: $isCustomer,
    getRawFlow: $getRawFlow,
    servicePackageId: $servicePackageId,
    handlerAlias: $handlerAlias,
    flowsEnabled: $flowsEnabled,
    defaultCurrency: $defaultCurrency,
    hasTicketHandling: $hasTicketHandling,
    identificationNumber: $identificationNumber,
    flowMaintainers: $flowMaintainers
  ) {
    flow {
      ...FlowFragment
    }
    flowId
    id
    created
    updated
    name
    parentGroupId
    isRoot
    image
    isCustomer
    identificationNumber
    vatNumber
    rootGroupId
    handlerAlias
    treeRootId
    servicePackageId
    parentGroup {
      ...GroupFragment
    }
    services {
      ...ServiceFragment
    }
    servicesV2 {
      ...ServiceFragment
    }
    servicePackage {
      ...ServicePackageFragment
    }
    internalSettings
    nonCustomerParentGroup {
      ...GroupFragment
    }
    childGroups {
      ...GroupFragment
    }
    childGroupIds
    belongsToCurrentGroup
    customerRootGroup {
      ...GroupFragment
    }
    hasTicketHandling
    flowsEnabled
    rootGroupName
    flowMaintainers {
      ...NotificationRelationFragment
    }
    maintainedManufacturer {
      ...ManufacturerFragment
    }
    maintainedManufacturerId
    settings
    assetLocationsHidden
    users {
      ...UserFragment
    }
    userIds
    assets {
      ...AssetFragment
    }
    assetIds
    userRequestNotifiers {
      ...NotificationRelationFragment
    }
    customerName
    parentName
    groupType {
      ...ServicePackageFragment
    }
    groupTypeId
  }
}
Variables
{
  "name": "xyz789",
  "parentGroupId": HashedId,
  "settings": {},
  "vatNumber": "xyz789",
  "isCustomer": false,
  "getRawFlow": false,
  "servicePackageId": HashedId,
  "handlerAlias": "xyz789",
  "flowsEnabled": false,
  "defaultCurrency": "xyz789",
  "hasTicketHandling": false,
  "identificationNumber": "abc123",
  "flowMaintainers": [NotificationRelationCreateInput]
}
Response
{
  "data": {
    "createGroup": [
      {
        "flow": Flow,
        "flowId": HashedId,
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "name": "abc123",
        "parentGroupId": HashedId,
        "isRoot": false,
        "image": "xyz789",
        "isCustomer": false,
        "identificationNumber": "abc123",
        "vatNumber": "xyz789",
        "rootGroupId": HashedId,
        "handlerAlias": "abc123",
        "treeRootId": HashedId,
        "servicePackageId": HashedId,
        "parentGroup": Group,
        "services": [Service],
        "servicesV2": [Service],
        "servicePackage": ServicePackage,
        "internalSettings": {},
        "nonCustomerParentGroup": Group,
        "childGroups": [Group],
        "childGroupIds": [HashedId],
        "belongsToCurrentGroup": false,
        "customerRootGroup": Group,
        "hasTicketHandling": false,
        "flowsEnabled": true,
        "rootGroupName": "xyz789",
        "flowMaintainers": [NotificationRelation],
        "maintainedManufacturer": [Manufacturer],
        "maintainedManufacturerId": [HashedId],
        "settings": {},
        "assetLocationsHidden": false,
        "users": [User],
        "userIds": [HashedId],
        "assets": [Asset],
        "assetIds": [HashedId],
        "userRequestNotifiers": [NotificationRelation],
        "customerName": "xyz789",
        "parentName": "xyz789",
        "groupType": ServicePackage,
        "groupTypeId": HashedId
      }
    ]
  }
}

createGroupV2

Response

Returns a Group!

Arguments
Name Description
input - GroupCreateInput!

Example

Query
mutation createGroupV2($input: GroupCreateInput!) {
  createGroupV2(input: $input) {
    flow {
      ...FlowFragment
    }
    flowId
    id
    created
    updated
    name
    parentGroupId
    isRoot
    image
    isCustomer
    identificationNumber
    vatNumber
    rootGroupId
    handlerAlias
    treeRootId
    servicePackageId
    parentGroup {
      ...GroupFragment
    }
    services {
      ...ServiceFragment
    }
    servicesV2 {
      ...ServiceFragment
    }
    servicePackage {
      ...ServicePackageFragment
    }
    internalSettings
    nonCustomerParentGroup {
      ...GroupFragment
    }
    childGroups {
      ...GroupFragment
    }
    childGroupIds
    belongsToCurrentGroup
    customerRootGroup {
      ...GroupFragment
    }
    hasTicketHandling
    flowsEnabled
    rootGroupName
    flowMaintainers {
      ...NotificationRelationFragment
    }
    maintainedManufacturer {
      ...ManufacturerFragment
    }
    maintainedManufacturerId
    settings
    assetLocationsHidden
    users {
      ...UserFragment
    }
    userIds
    assets {
      ...AssetFragment
    }
    assetIds
    userRequestNotifiers {
      ...NotificationRelationFragment
    }
    customerName
    parentName
    groupType {
      ...ServicePackageFragment
    }
    groupTypeId
  }
}
Variables
{"input": GroupCreateInput}
Response
{
  "data": {
    "createGroupV2": {
      "flow": Flow,
      "flowId": HashedId,
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "name": "xyz789",
      "parentGroupId": HashedId,
      "isRoot": true,
      "image": "abc123",
      "isCustomer": false,
      "identificationNumber": "abc123",
      "vatNumber": "abc123",
      "rootGroupId": HashedId,
      "handlerAlias": "xyz789",
      "treeRootId": HashedId,
      "servicePackageId": HashedId,
      "parentGroup": Group,
      "services": [Service],
      "servicesV2": [Service],
      "servicePackage": ServicePackage,
      "internalSettings": {},
      "nonCustomerParentGroup": Group,
      "childGroups": [Group],
      "childGroupIds": [HashedId],
      "belongsToCurrentGroup": false,
      "customerRootGroup": Group,
      "hasTicketHandling": false,
      "flowsEnabled": false,
      "rootGroupName": "xyz789",
      "flowMaintainers": [NotificationRelation],
      "maintainedManufacturer": [Manufacturer],
      "maintainedManufacturerId": [HashedId],
      "settings": {},
      "assetLocationsHidden": true,
      "users": [User],
      "userIds": [HashedId],
      "assets": [Asset],
      "assetIds": [HashedId],
      "userRequestNotifiers": [NotificationRelation],
      "customerName": "xyz789",
      "parentName": "xyz789",
      "groupType": ServicePackage,
      "groupTypeId": HashedId
    }
  }
}

createLoginInterrupt

Response

Returns a LoginInterrupt

Arguments
Name Description
title - String!

Example

Query
mutation createLoginInterrupt($title: String!) {
  createLoginInterrupt(title: $title) {
    id
    title {
      ...TranslationFragment
    }
    titleId
    content {
      ...TranslationFragment
    }
    contentId
    visibleToGroupIds
    visibleToGroups {
      ...GroupFragment
    }
    created
    updated
  }
}
Variables
{"title": "abc123"}
Response
{
  "data": {
    "createLoginInterrupt": {
      "id": HashedId,
      "title": Translation,
      "titleId": HashedId,
      "content": Translation,
      "contentId": HashedId,
      "visibleToGroupIds": [HashedId],
      "visibleToGroups": [Group],
      "created": 1592577642,
      "updated": 1592577642
    }
  }
}

createMaintenanceSchedule

Response

Returns an AssetMaintenanceSchedule

Arguments
Name Description
assetId - HashedId!
interval - Int!
lastMaintenance - Date
nextMaintenance - Date!

Example

Query
mutation createMaintenanceSchedule(
  $assetId: HashedId!,
  $interval: Int!,
  $lastMaintenance: Date,
  $nextMaintenance: Date!
) {
  createMaintenanceSchedule(
    assetId: $assetId,
    interval: $interval,
    lastMaintenance: $lastMaintenance,
    nextMaintenance: $nextMaintenance
  ) {
    id
    assetId
    interval
    lastMaintenance
    nextMaintenance
    lastMaintenanceLastEdited {
      ...AssetMaintenanceScheduleEditNoteFragment
    }
    nextMaintenanceLastEdited {
      ...AssetMaintenanceScheduleEditNoteFragment
    }
  }
}
Variables
{
  "assetId": HashedId,
  "interval": 123,
  "lastMaintenance": "2007-12-03",
  "nextMaintenance": "2007-12-03"
}
Response
{
  "data": {
    "createMaintenanceSchedule": {
      "id": HashedId,
      "assetId": HashedId,
      "interval": 123,
      "lastMaintenance": "2007-12-03",
      "nextMaintenance": "2007-12-03",
      "lastMaintenanceLastEdited": AssetMaintenanceScheduleEditNote,
      "nextMaintenanceLastEdited": AssetMaintenanceScheduleEditNote
    }
  }
}

createManufacturer

Response

Returns a Manufacturer!

Arguments
Name Description
input - ManufacturerCreateInput!

Example

Query
mutation createManufacturer($input: ManufacturerCreateInput!) {
  createManufacturer(input: $input) {
    id
    created
    updated
    name
    nameKey
    notificationsEnabled
    maintainedByGroupId
    maintainedByGroup {
      ...GroupFragment
    }
    assetIntegrations {
      ...AssetIntegrationFragment
    }
    assetIntegrationIds
  }
}
Variables
{"input": ManufacturerCreateInput}
Response
{
  "data": {
    "createManufacturer": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "name": "abc123",
      "nameKey": "abc123",
      "notificationsEnabled": true,
      "maintainedByGroupId": 123,
      "maintainedByGroup": Group,
      "assetIntegrations": [AssetIntegration],
      "assetIntegrationIds": [HashedId]
    }
  }
}

createModule

Response

Returns a Module

Arguments
Name Description
imei - String!
stripeCustomerId - String
stripePriceId - String
moduleRevision - String
isFake - Boolean

Example

Query
mutation createModule(
  $imei: String!,
  $stripeCustomerId: String,
  $stripePriceId: String,
  $moduleRevision: String,
  $isFake: Boolean
) {
  createModule(
    imei: $imei,
    stripeCustomerId: $stripeCustomerId,
    stripePriceId: $stripePriceId,
    moduleRevision: $moduleRevision,
    isFake: $isFake
  ) {
    id
    imei
    stripeCustomerId
    stripePriceId
    moduleType {
      ...ModuleTypeFragment
    }
    moduleTypeId
    moduleRevision
    moduleVersionNr
    assetVersionNr
    assignedToAsset {
      ...AssetFragment
    }
    assignedToAssetId
    assignedToAssets {
      ...AssetFragment
    }
    assignedToAssetIds
    currentPrice
    price {
      ...StripePriceFragment
    }
    isFake
    created
    updated
  }
}
Variables
{
  "imei": "abc123",
  "stripeCustomerId": "abc123",
  "stripePriceId": "abc123",
  "moduleRevision": "xyz789",
  "isFake": false
}
Response
{
  "data": {
    "createModule": {
      "id": HashedId,
      "imei": "abc123",
      "stripeCustomerId": "xyz789",
      "stripePriceId": "xyz789",
      "moduleType": ModuleType,
      "moduleTypeId": HashedId,
      "moduleRevision": "xyz789",
      "moduleVersionNr": "xyz789",
      "assetVersionNr": "xyz789",
      "assignedToAsset": Asset,
      "assignedToAssetId": HashedId,
      "assignedToAssets": [Asset],
      "assignedToAssetIds": [HashedId],
      "currentPrice": 123.45,
      "price": StripePrice,
      "isFake": true,
      "created": 1592577642,
      "updated": 1592577642
    }
  }
}

createOTAUpdate

Response

Returns an OTAUpdate

Arguments
Name Description
assetIntegrationId - HashedId!

Example

Query
mutation createOTAUpdate($assetIntegrationId: HashedId!) {
  createOTAUpdate(assetIntegrationId: $assetIntegrationId) {
    id
    fileName
    versionName
    assetIntegration {
      ...AssetIntegrationFragment
    }
    assetIntegrationId
    description {
      ...TranslationFragment
    }
    descriptionId
    created
    updated
  }
}
Variables
{"assetIntegrationId": HashedId}
Response
{
  "data": {
    "createOTAUpdate": {
      "id": HashedId,
      "fileName": "abc123",
      "versionName": "xyz789",
      "assetIntegration": AssetIntegration,
      "assetIntegrationId": HashedId,
      "description": Translation,
      "descriptionId": HashedId,
      "created": 1592577642,
      "updated": 1592577642
    }
  }
}

createPart

Response

Returns a Part!

Arguments
Name Description
part - PartCreateInput!

Example

Query
mutation createPart($part: PartCreateInput!) {
  createPart(part: $part) {
    id
    created
    updated
    publicId
    type
    nameId
    name {
      ...TranslationFragment
    }
    descriptionId
    description {
      ...TranslationFragment
    }
    siteId
    site {
      ...SiteFragment
    }
    area
    availableQuantity
    minQuantity
    maxQuantity
    unitOfMeasure
    unitCost
    currency
    totalStockValue
    groupId
    group {
      ...GroupFragment
    }
    customerId
    customer {
      ...GroupFragment
    }
    externalId
    uuid
    qrAttached
    brand
    responsiblePerson
    vendor
    image
    shouldNotifyCriticalStockLevel
    sendNotificationsTo {
      ...RuleNotificationRelationFragment
    }
    documents {
      ...DocumentFragment
    }
    events {
      ...EventFragment
    }
    createdByGroupId
    createdByGroup {
      ...GroupFragment
    }
    createdByUserId
    createdByUser {
      ...UserFragment
    }
    isArchived
  }
}
Variables
{"part": PartCreateInput}
Response
{
  "data": {
    "createPart": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "publicId": 123,
      "type": "xyz789",
      "nameId": HashedId,
      "name": Translation,
      "descriptionId": HashedId,
      "description": Translation,
      "siteId": HashedId,
      "site": Site,
      "area": "abc123",
      "availableQuantity": 123,
      "minQuantity": 123,
      "maxQuantity": 987,
      "unitOfMeasure": "xyz789",
      "unitCost": 123.45,
      "currency": "xyz789",
      "totalStockValue": 123.45,
      "groupId": HashedId,
      "group": Group,
      "customerId": HashedId,
      "customer": Group,
      "externalId": "xyz789",
      "uuid": "abc123",
      "qrAttached": true,
      "brand": "xyz789",
      "responsiblePerson": "abc123",
      "vendor": "abc123",
      "image": "xyz789",
      "shouldNotifyCriticalStockLevel": true,
      "sendNotificationsTo": [RuleNotificationRelation],
      "documents": [Document],
      "events": [Event],
      "createdByGroupId": HashedId,
      "createdByGroup": Group,
      "createdByUserId": HashedId,
      "createdByUser": User,
      "isArchived": true
    }
  }
}

createPartMoving

Response

Returns a PartMoving

Arguments
Name Description
partMoving - PartMovingCreateInput!

Example

Query
mutation createPartMoving($partMoving: PartMovingCreateInput!) {
  createPartMoving(partMoving: $partMoving) {
    id
    created
    updated
    partId
    part {
      ...PartFragment
    }
    siteId
    site {
      ...SiteFragment
    }
    operationDate
    unitCost
    quantity
    contentQuantity
    totalValue
    createdByUserId
    createdByUser {
      ...UserFragment
    }
  }
}
Variables
{"partMoving": PartMovingCreateInput}
Response
{
  "data": {
    "createPartMoving": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "partId": HashedId,
      "part": Part,
      "siteId": HashedId,
      "site": Site,
      "operationDate": "2007-12-03T10:15:30Z",
      "unitCost": 123.45,
      "quantity": 987.65,
      "contentQuantity": 987.65,
      "totalValue": 987.65,
      "createdByUserId": HashedId,
      "createdByUser": User
    }
  }
}

createProcedureInstance

Response

Returns a ProcedureInstance!

Arguments
Name Description
input - ProcedureInstanceCreateInput!

Example

Query
mutation createProcedureInstance($input: ProcedureInstanceCreateInput!) {
  createProcedureInstance(input: $input) {
    id
    created
    updated
    templateId
    serviceId
    createdByGroupId
    createdByUserId
    scannedAssetId
    scannedAsset {
      ...AssetFragment
    }
    service {
      ...ServiceFragment
    }
    createdByUser {
      ...UserFragment
    }
    createdByGroup {
      ...GroupFragment
    }
    template {
      ...ProcedureTemplateFragment
    }
    components {
      ...ProcedureInstanceComponentFragment
    }
  }
}
Variables
{"input": ProcedureInstanceCreateInput}
Response
{
  "data": {
    "createProcedureInstance": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "templateId": HashedId,
      "serviceId": HashedId,
      "createdByGroupId": HashedId,
      "createdByUserId": HashedId,
      "scannedAssetId": HashedId,
      "scannedAsset": Asset,
      "service": Service,
      "createdByUser": User,
      "createdByGroup": Group,
      "template": ProcedureTemplate,
      "components": [ProcedureInstanceComponent]
    }
  }
}

createProcedureTemplate

Response

Returns a ProcedureTemplate!

Arguments
Name Description
input - ProcedureTemplateCreateInput!

Example

Query
mutation createProcedureTemplate($input: ProcedureTemplateCreateInput!) {
  createProcedureTemplate(input: $input) {
    id
    created
    updated
    type
    preset
    accessLevel
    iconUrl
    createdByGroupId
    createdByUserId
    titleId
    descriptionId
    rootId
    parentId
    publicId
    publicRootId
    servicePackages {
      ...ServicePackageFragment
    }
    title {
      ...TranslationFragment
    }
    createdByUser {
      ...UserFragment
    }
    createdByGroup {
      ...GroupFragment
    }
    description {
      ...TranslationFragment
    }
    components {
      ...ProcedureTemplateComponentFragment
    }
    instances {
      ...ProcedureInstanceFragment
    }
    root {
      ...ProcedureTemplateFragment
    }
    parent {
      ...ProcedureTemplateFragment
    }
  }
}
Variables
{"input": ProcedureTemplateCreateInput}
Response
{
  "data": {
    "createProcedureTemplate": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "type": "tickets",
      "preset": "check",
      "accessLevel": "tree",
      "iconUrl": "xyz789",
      "createdByGroupId": HashedId,
      "createdByUserId": HashedId,
      "titleId": HashedId,
      "descriptionId": HashedId,
      "rootId": HashedId,
      "parentId": HashedId,
      "publicId": 123,
      "publicRootId": 123,
      "servicePackages": [ServicePackage],
      "title": Translation,
      "createdByUser": User,
      "createdByGroup": Group,
      "description": Translation,
      "components": [ProcedureTemplateComponent],
      "instances": [ProcedureInstance],
      "root": ProcedureTemplate,
      "parent": ProcedureTemplate
    }
  }
}

createReservation

Response

Returns [Reservation!]

Arguments
Name Description
from - Timestamp!
until - Timestamp!
reserverName - String!
assetIds - [HashedId!]!
notes - TranslationInput
workingHoursSettings - JSON Sets up a working hour watcher. See RuleBlock schema for syntax.
workingHoursNotification - [RuleNotificationRelationInput] When a working hours event happens, send notifications to these entities

Example

Query
mutation createReservation(
  $from: Timestamp!,
  $until: Timestamp!,
  $reserverName: String!,
  $assetIds: [HashedId!]!,
  $notes: TranslationInput,
  $workingHoursSettings: JSON,
  $workingHoursNotification: [RuleNotificationRelationInput]
) {
  createReservation(
    from: $from,
    until: $until,
    reserverName: $reserverName,
    assetIds: $assetIds,
    notes: $notes,
    workingHoursSettings: $workingHoursSettings,
    workingHoursNotification: $workingHoursNotification
  ) {
    id
    from
    until
    reserverName
    assets {
      ...AssetFragment
    }
    assetIds
    workingHoursSettings
    workingHoursNotification {
      ...RuleNotificationRelationFragment
    }
    notes {
      ...TranslationFragment
    }
    notesId
    createdByUser {
      ...UserFragment
    }
    createdByUserId
    createdByGroup {
      ...GroupFragment
    }
    createdByGroupId
    created
    updated
  }
}
Variables
{
  "from": 1592577642,
  "until": 1592577642,
  "reserverName": "xyz789",
  "assetIds": [HashedId],
  "notes": TranslationInput,
  "workingHoursSettings": {},
  "workingHoursNotification": [
    RuleNotificationRelationInput
  ]
}
Response
{
  "data": {
    "createReservation": [
      {
        "id": HashedId,
        "from": 1592577642,
        "until": 1592577642,
        "reserverName": "abc123",
        "assets": [Asset],
        "assetIds": [HashedId],
        "workingHoursSettings": {},
        "workingHoursNotification": [
          RuleNotificationRelation
        ],
        "notes": Translation,
        "notesId": HashedId,
        "createdByUser": User,
        "createdByUserId": HashedId,
        "createdByGroup": Group,
        "createdByGroupId": HashedId,
        "created": 1592577642,
        "updated": 1592577642
      }
    ]
  }
}

createRule

Response

Returns a Rule!

Arguments
Name Description
title - TranslationInput!
description - TranslationInput
definition - JSON!
assetTypeIds - [HashedId!]
assetIds - [HashedId!]
relations - RuleRelationInput!
source - RuleSource!
eventStyleId - HashedId!
isActive - Boolean
isOneshot - Boolean
duration - JSON
isCritical - Boolean
isImmediateNotification - Boolean
isOnetime - Boolean
isGlobalRule - Boolean
assignedToGroupId - HashedId
manualDeactivation - Boolean
assetBlacklistIds - [HashedId!]
sendNotificationsTo - [RuleNotificationRelationInput] Add entities who will be notified when this rule is triggered. See type for possibilities.
eventsConfigs - [EventConfigInput]
serviceIds - [HashedId]

Example

Query
mutation createRule(
  $title: TranslationInput!,
  $description: TranslationInput,
  $definition: JSON!,
  $assetTypeIds: [HashedId!],
  $assetIds: [HashedId!],
  $relations: RuleRelationInput!,
  $source: RuleSource!,
  $eventStyleId: HashedId!,
  $isActive: Boolean,
  $isOneshot: Boolean,
  $duration: JSON,
  $isCritical: Boolean,
  $isImmediateNotification: Boolean,
  $isOnetime: Boolean,
  $isGlobalRule: Boolean,
  $assignedToGroupId: HashedId,
  $manualDeactivation: Boolean,
  $assetBlacklistIds: [HashedId!],
  $sendNotificationsTo: [RuleNotificationRelationInput],
  $eventsConfigs: [EventConfigInput],
  $serviceIds: [HashedId]
) {
  createRule(
    title: $title,
    description: $description,
    definition: $definition,
    assetTypeIds: $assetTypeIds,
    assetIds: $assetIds,
    relations: $relations,
    source: $source,
    eventStyleId: $eventStyleId,
    isActive: $isActive,
    isOneshot: $isOneshot,
    duration: $duration,
    isCritical: $isCritical,
    isImmediateNotification: $isImmediateNotification,
    isOnetime: $isOnetime,
    isGlobalRule: $isGlobalRule,
    assignedToGroupId: $assignedToGroupId,
    manualDeactivation: $manualDeactivation,
    assetBlacklistIds: $assetBlacklistIds,
    sendNotificationsTo: $sendNotificationsTo,
    eventsConfigs: $eventsConfigs,
    serviceIds: $serviceIds
  ) {
    definition
    module {
      ...ModuleFragment
    }
    moduleId
    assetBlacklist {
      ...AssetFragment
    }
    assetBlacklistIds
    sendNotificationsTo {
      ...RuleNotificationRelationFragment
    }
    duration
    relations {
      ...RuleRelationFragment
    }
    eventsConfigs {
      ...EventConfigFragment
    }
    id
    created
    updated
    title {
      ...TranslationFragment
    }
    description {
      ...TranslationFragment
    }
    createdByUser {
      ...UserFragment
    }
    createdByGroup {
      ...GroupFragment
    }
    assignedToGroup {
      ...GroupFragment
    }
    eventStyle {
      ...EventStyleFragment
    }
    titleId
    descriptionId
    createdByGroupId
    createdByUserId
    assignedToGroupId
    eventStyleId
    isCritical
    isOnetime
    isImmediateNotification
    isGlobalRule
    manualDeactivation
    isArchived
    isOneshot
    isActive
    source
    enabled
    purpose
    servicesV2 {
      ...ServiceFragment
    }
    services {
      ...ServiceFragment
    }
    publicId
  }
}
Variables
{
  "title": TranslationInput,
  "description": TranslationInput,
  "definition": {},
  "assetTypeIds": [HashedId],
  "assetIds": [HashedId],
  "relations": RuleRelationInput,
  "source": "DATA",
  "eventStyleId": HashedId,
  "isActive": false,
  "isOneshot": false,
  "duration": {},
  "isCritical": false,
  "isImmediateNotification": false,
  "isOnetime": false,
  "isGlobalRule": false,
  "assignedToGroupId": HashedId,
  "manualDeactivation": false,
  "assetBlacklistIds": [HashedId],
  "sendNotificationsTo": [RuleNotificationRelationInput],
  "eventsConfigs": [EventConfigInput],
  "serviceIds": [HashedId]
}
Response
{
  "data": {
    "createRule": {
      "definition": {},
      "module": [Module],
      "moduleId": [HashedId],
      "assetBlacklist": [Asset],
      "assetBlacklistIds": [HashedId],
      "sendNotificationsTo": [RuleNotificationRelation],
      "duration": {},
      "relations": [RuleRelation],
      "eventsConfigs": [EventConfig],
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "title": Translation,
      "description": Translation,
      "createdByUser": User,
      "createdByGroup": Group,
      "assignedToGroup": Group,
      "eventStyle": EventStyle,
      "titleId": HashedId,
      "descriptionId": HashedId,
      "createdByGroupId": HashedId,
      "createdByUserId": HashedId,
      "assignedToGroupId": HashedId,
      "eventStyleId": HashedId,
      "isCritical": false,
      "isOnetime": true,
      "isImmediateNotification": false,
      "isGlobalRule": true,
      "manualDeactivation": true,
      "isArchived": true,
      "isOneshot": false,
      "isActive": false,
      "source": "DATA",
      "enabled": false,
      "purpose": "GEOFENCE",
      "servicesV2": [Service],
      "services": [Service],
      "publicId": "xyz789"
    }
  }
}

createServicePackage

Response

Returns [ServicePackage!]

Arguments
Name Description
title - TranslationInput!
flowTitle - TranslationInput
flowDefinition - JSON
getRawFlow - Boolean

Example

Query
mutation createServicePackage(
  $title: TranslationInput!,
  $flowTitle: TranslationInput,
  $flowDefinition: JSON,
  $getRawFlow: Boolean
) {
  createServicePackage(
    title: $title,
    flowTitle: $flowTitle,
    flowDefinition: $flowDefinition,
    getRawFlow: $getRawFlow
  ) {
    id
    titleId
    createdByUserId
    createdByGroupId
    createdByGroup {
      ...GroupFragment
    }
    flow {
      ...FlowFragment
    }
    flowId
    services {
      ...ServiceFragment
    }
    created
    updated
    deleted
    assignedGroupsCount
    assignedSitesCount
    canBeDeleted
    title {
      ...TranslationFragment
    }
    createdByUser {
      ...UserFragment
    }
  }
}
Variables
{
  "title": TranslationInput,
  "flowTitle": TranslationInput,
  "flowDefinition": {},
  "getRawFlow": true
}
Response
{
  "data": {
    "createServicePackage": [
      {
        "id": HashedId,
        "titleId": HashedId,
        "createdByUserId": HashedId,
        "createdByGroupId": HashedId,
        "createdByGroup": Group,
        "flow": Flow,
        "flowId": HashedId,
        "services": [Service],
        "created": 1592577642,
        "updated": 1592577642,
        "deleted": 1592577642,
        "assignedGroupsCount": 987,
        "assignedSitesCount": 123,
        "canBeDeleted": true,
        "title": Translation,
        "createdByUser": User
      }
    ]
  }
}

createServices

Description

This can only be used by TS platform admins for now

Response

Returns [Service]

Arguments
Name Description
services - [CreateServiceInput]
servicePackageId - HashedId!

Example

Query
mutation createServices(
  $services: [CreateServiceInput],
  $servicePackageId: HashedId!
) {
  createServices(
    services: $services,
    servicePackageId: $servicePackageId
  ) {
    id
    created
    updated
    title {
      ...TranslationFragment
    }
    titleId
    procedureTemplateId
    publicProcedureTemplateId
    keys
    contentType
    iconUrl
    formId
    isServiceCheck
    assigneeAutomationId
    createdByGroupId
    suggestedServicePartner
    servicePackage {
      ...ServicePackageFragment
    }
    servicePackages {
      ...ServicePackageFragment
    }
    procedureTemplate {
      ...ProcedureTemplateFragment
    }
    belongsToGroupTypeId
    rules {
      ...RuleFragment
    }
    canBeDeleted
  }
}
Variables
{
  "services": [CreateServiceInput],
  "servicePackageId": HashedId
}
Response
{
  "data": {
    "createServices": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "title": Translation,
        "titleId": HashedId,
        "procedureTemplateId": HashedId,
        "publicProcedureTemplateId": 987,
        "keys": ["xyz789"],
        "contentType": "formHtml",
        "iconUrl": "xyz789",
        "formId": "xyz789",
        "isServiceCheck": true,
        "assigneeAutomationId": 123,
        "createdByGroupId": HashedId,
        "suggestedServicePartner": "xyz789",
        "servicePackage": ServicePackage,
        "servicePackages": [ServicePackage],
        "procedureTemplate": ProcedureTemplate,
        "belongsToGroupTypeId": HashedId,
        "rules": [Rule],
        "canBeDeleted": true
      }
    ]
  }
}

createSite

Response

Returns [Site!]

Arguments
Name Description
externalId - String An id that is referring to some external source. Like an ERP System or another external Task/Order management system This is not a unique identifier in our system. This is technically not feasible!
name - String!

The name of the a site. This is usualy not a clear identifier. Examples of site names would be:

  • Billa
  • WeXelerate
  • Uniqa Wien 1020 This is the name that our customers are using to communicate roughly about what site they mean. To really identify a site they use some kind of contract number.
isFixed - Boolean! Specifies if the site is tied to a fixed location - like a building. Not fixed locations could be a moving vehicle or a team.
locationText - String
accountNumber - String Account number - arbitrary, for the Manufacturer to assign them their interal description
address - String Formatted address consisting of street and street number
country - String
customerNumber - String Customer number - arbitrary, for the Customer to manage their own Customers
siteManagerName - String Name of the contact person of the site
email - String Email address of the contact person of the site
postalCode - String
telephone - String Telephone number of the contact person of the site
geofenceSettings - JSON Geofence settings, if set. See Rules schema for syntax.
containsAssetsToModifyByGroup - Boolean If it has associated assets which group needs to be updated to the new one
assignedToGroupId - HashedId
coordinates - CoordinatesInput
disableWebhooks - Boolean
geofenceNotification - [RuleNotificationRelationInput] When a geofence event happens, send notifications to these entities

Example

Query
mutation createSite(
  $externalId: String,
  $name: String!,
  $isFixed: Boolean!,
  $locationText: String,
  $accountNumber: String,
  $address: String,
  $country: String,
  $customerNumber: String,
  $siteManagerName: String,
  $email: String,
  $postalCode: String,
  $telephone: String,
  $geofenceSettings: JSON,
  $containsAssetsToModifyByGroup: Boolean,
  $assignedToGroupId: HashedId,
  $coordinates: CoordinatesInput,
  $disableWebhooks: Boolean,
  $geofenceNotification: [RuleNotificationRelationInput]
) {
  createSite(
    externalId: $externalId,
    name: $name,
    isFixed: $isFixed,
    locationText: $locationText,
    accountNumber: $accountNumber,
    address: $address,
    country: $country,
    customerNumber: $customerNumber,
    siteManagerName: $siteManagerName,
    email: $email,
    postalCode: $postalCode,
    telephone: $telephone,
    geofenceSettings: $geofenceSettings,
    containsAssetsToModifyByGroup: $containsAssetsToModifyByGroup,
    assignedToGroupId: $assignedToGroupId,
    coordinates: $coordinates,
    disableWebhooks: $disableWebhooks,
    geofenceNotification: $geofenceNotification
  ) {
    id
    externalId
    name
    isFixed
    locationText
    address
    coordinates {
      ...CoordinatesFragment
    }
    assignedToGroup {
      ...GroupFragment
    }
    assignedToGroupId
    createdByGroup {
      ...GroupFragment
    }
    createdByGroupId
    accountNumber
    customerNumber
    siteManagerName
    email
    telephone
    postalCode
    country
    geofenceSettings
    geofenceNotification {
      ...RuleNotificationRelationFragment
    }
    containsAssetsToModifyByGroup
    created
    assetsCount
    updated
    note
    image
    parentSite {
      ...SiteFragment
    }
    parentSiteId
    servicePackageId
    shouldInheritServicePackage
    servicePackage {
      ...ServicePackageFragment
    }
    shouldInheritGeofenceSettings
    shouldInheritManagerDetails
    groupTreeRootId
    lat
    lng
    siteTypeId
    qrAttached
    uuid
    events {
      ...EventFragment
    }
    publicId
    siteType {
      ...SiteTypeFragment
    }
  }
}
Variables
{
  "externalId": "abc123",
  "name": "xyz789",
  "isFixed": false,
  "locationText": "abc123",
  "accountNumber": "abc123",
  "address": "xyz789",
  "country": "xyz789",
  "customerNumber": "abc123",
  "siteManagerName": "xyz789",
  "email": "xyz789",
  "postalCode": "abc123",
  "telephone": "abc123",
  "geofenceSettings": {},
  "containsAssetsToModifyByGroup": true,
  "assignedToGroupId": HashedId,
  "coordinates": CoordinatesInput,
  "disableWebhooks": true,
  "geofenceNotification": [RuleNotificationRelationInput]
}
Response
{
  "data": {
    "createSite": [
      {
        "id": HashedId,
        "externalId": "abc123",
        "name": "abc123",
        "isFixed": true,
        "locationText": "abc123",
        "address": "abc123",
        "coordinates": Coordinates,
        "assignedToGroup": Group,
        "assignedToGroupId": HashedId,
        "createdByGroup": Group,
        "createdByGroupId": HashedId,
        "accountNumber": "abc123",
        "customerNumber": "xyz789",
        "siteManagerName": "abc123",
        "email": "xyz789",
        "telephone": "abc123",
        "postalCode": "abc123",
        "country": "abc123",
        "geofenceSettings": {},
        "geofenceNotification": [
          RuleNotificationRelation
        ],
        "containsAssetsToModifyByGroup": false,
        "created": 1592577642,
        "assetsCount": 987,
        "updated": 1592577642,
        "note": "xyz789",
        "image": "xyz789",
        "parentSite": Site,
        "parentSiteId": HashedId,
        "servicePackageId": HashedId,
        "shouldInheritServicePackage": false,
        "servicePackage": ServicePackage,
        "shouldInheritGeofenceSettings": true,
        "shouldInheritManagerDetails": false,
        "groupTreeRootId": HashedId,
        "lat": "abc123",
        "lng": "abc123",
        "siteTypeId": HashedId,
        "qrAttached": true,
        "uuid": "xyz789",
        "events": [Event],
        "publicId": 123,
        "siteType": SiteType
      }
    ]
  }
}

createSiteV2

Response

Returns a Site

Arguments
Name Description
siteInput - SiteCreateInput!
optionsInput - SiteCreateOptionsInput

Example

Query
mutation createSiteV2(
  $siteInput: SiteCreateInput!,
  $optionsInput: SiteCreateOptionsInput
) {
  createSiteV2(
    siteInput: $siteInput,
    optionsInput: $optionsInput
  ) {
    id
    externalId
    name
    isFixed
    locationText
    address
    coordinates {
      ...CoordinatesFragment
    }
    assignedToGroup {
      ...GroupFragment
    }
    assignedToGroupId
    createdByGroup {
      ...GroupFragment
    }
    createdByGroupId
    accountNumber
    customerNumber
    siteManagerName
    email
    telephone
    postalCode
    country
    geofenceSettings
    geofenceNotification {
      ...RuleNotificationRelationFragment
    }
    containsAssetsToModifyByGroup
    created
    assetsCount
    updated
    note
    image
    parentSite {
      ...SiteFragment
    }
    parentSiteId
    servicePackageId
    shouldInheritServicePackage
    servicePackage {
      ...ServicePackageFragment
    }
    shouldInheritGeofenceSettings
    shouldInheritManagerDetails
    groupTreeRootId
    lat
    lng
    siteTypeId
    qrAttached
    uuid
    events {
      ...EventFragment
    }
    publicId
    siteType {
      ...SiteTypeFragment
    }
  }
}
Variables
{
  "siteInput": SiteCreateInput,
  "optionsInput": SiteCreateOptionsInput
}
Response
{
  "data": {
    "createSiteV2": {
      "id": HashedId,
      "externalId": "xyz789",
      "name": "abc123",
      "isFixed": true,
      "locationText": "xyz789",
      "address": "abc123",
      "coordinates": Coordinates,
      "assignedToGroup": Group,
      "assignedToGroupId": HashedId,
      "createdByGroup": Group,
      "createdByGroupId": HashedId,
      "accountNumber": "abc123",
      "customerNumber": "xyz789",
      "siteManagerName": "xyz789",
      "email": "abc123",
      "telephone": "abc123",
      "postalCode": "abc123",
      "country": "abc123",
      "geofenceSettings": {},
      "geofenceNotification": [RuleNotificationRelation],
      "containsAssetsToModifyByGroup": false,
      "created": 1592577642,
      "assetsCount": 123,
      "updated": 1592577642,
      "note": "abc123",
      "image": "xyz789",
      "parentSite": Site,
      "parentSiteId": HashedId,
      "servicePackageId": HashedId,
      "shouldInheritServicePackage": false,
      "servicePackage": ServicePackage,
      "shouldInheritGeofenceSettings": false,
      "shouldInheritManagerDetails": true,
      "groupTreeRootId": HashedId,
      "lat": "xyz789",
      "lng": "xyz789",
      "siteTypeId": HashedId,
      "qrAttached": false,
      "uuid": "abc123",
      "events": [Event],
      "publicId": 987,
      "siteType": SiteType
    }
  }
}

createTeam

Response

Returns a Team!

Arguments
Name Description
input - TeamCreateInput!

Example

Query
mutation createTeam($input: TeamCreateInput!) {
  createTeam(input: $input) {
    id
    created
    updated
    nameId
    groupId
    createdByUserId
    createdByGroupId
    assignedToActiveTicketIds
    name {
      ...TranslationFragment
    }
    group {
      ...GroupFragment
    }
    createdByUser {
      ...UserFragment
    }
    createdByGroup {
      ...GroupFragment
    }
    members {
      ...TeamMemberFragment
    }
  }
}
Variables
{"input": TeamCreateInput}
Response
{
  "data": {
    "createTeam": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "nameId": HashedId,
      "groupId": HashedId,
      "createdByUserId": HashedId,
      "createdByGroupId": HashedId,
      "assignedToActiveTicketIds": [987],
      "name": Translation,
      "group": Group,
      "createdByUser": User,
      "createdByGroup": Group,
      "members": [TeamMember]
    }
  }
}

createTerms

Response

Returns a Terms!

Arguments
Name Description
title - TranslationInput
content - TranslationInput
type - TermsTypeKey

Example

Query
mutation createTerms(
  $title: TranslationInput,
  $content: TranslationInput,
  $type: TermsTypeKey
) {
  createTerms(
    title: $title,
    content: $content,
    type: $type
  ) {
    content {
      ...TranslationFragment
    }
    contentId
    created
    id
    isActive
    title {
      ...TranslationFragment
    }
    titleId
    type
    updated
    version
    versions {
      ...TermsFragment
    }
  }
}
Variables
{
  "title": TranslationInput,
  "content": TranslationInput,
  "type": "EULA"
}
Response
{
  "data": {
    "createTerms": {
      "content": Translation,
      "contentId": HashedId,
      "created": 1592577642,
      "id": HashedId,
      "isActive": false,
      "title": Translation,
      "titleId": HashedId,
      "type": "EULA",
      "updated": 1592577642,
      "version": 987,
      "versions": [Terms]
    }
  }
}

createTicket

Response

Returns a Ticket!

Arguments
Name Description
stateId - HashedId
stateKey - String
disableWebhooks - Boolean Default = false
title - TranslationInput!
content - String!
associatedAssetIds - [HashedId!]

Example

Query
mutation createTicket(
  $stateId: HashedId,
  $stateKey: String,
  $disableWebhooks: Boolean,
  $title: TranslationInput!,
  $content: String!,
  $associatedAssetIds: [HashedId!]
) {
  createTicket(
    stateId: $stateId,
    stateKey: $stateKey,
    disableWebhooks: $disableWebhooks,
    title: $title,
    content: $content,
    associatedAssetIds: $associatedAssetIds
  ) {
    id
    created
    updated
    content
    uuid
    flowResponseId
    serviceResponseId
    createdByUserId
    createdByGroupId
    procedureInstanceId
    titleId
    ticketId
    assignee {
      ...ProcessHandlerFragment
    }
    responsibles {
      ...ProcessHandlerFragment
    }
    createdByUser {
      ...UserFragment
    }
    createdByGroup {
      ...GroupFragment
    }
    currentState {
      ...TicketCurrentStateFragment
    }
    ticketComments {
      ...TicketCommentFragment
    }
    associatedAssets {
      ...AssetFragment
    }
    documents {
      ...DocumentFragment
    }
    pdfCertificateLink {
      ...DocumentFragment
    }
    service {
      ...ServiceFragment
    }
    title {
      ...TranslationFragment
    }
    lastStatusChange
    notifications {
      ...NotificationFilterFragment
    }
    batteryCosts
    certificationCosts
    consumablesCosts
    fuelCosts
    insuranceTaxesCosts
    laborCosts
    logisticsCosts
    otherCosts
    repairCosts
    sparePartsCosts
    ticketTimeline {
      ...TicketTimelineFragment
    }
    totalCosts
    procedureInstance {
      ...ProcedureInstanceFragment
    }
    associatedSites {
      ...SiteFragment
    }
  }
}
Variables
{
  "stateId": HashedId,
  "stateKey": "abc123",
  "disableWebhooks": false,
  "title": TranslationInput,
  "content": "xyz789",
  "associatedAssetIds": [HashedId]
}
Response
{
  "data": {
    "createTicket": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "content": {},
      "uuid": "xyz789",
      "flowResponseId": HashedId,
      "serviceResponseId": HashedId,
      "createdByUserId": HashedId,
      "createdByGroupId": HashedId,
      "procedureInstanceId": HashedId,
      "titleId": HashedId,
      "ticketId": 123,
      "assignee": ProcessHandler,
      "responsibles": [ProcessHandler],
      "createdByUser": User,
      "createdByGroup": Group,
      "currentState": TicketCurrentState,
      "ticketComments": [TicketComment],
      "associatedAssets": [Asset],
      "documents": [Document],
      "pdfCertificateLink": Document,
      "service": Service,
      "title": Translation,
      "lastStatusChange": 1592577642,
      "notifications": NotificationFilter,
      "batteryCosts": "xyz789",
      "certificationCosts": "xyz789",
      "consumablesCosts": "xyz789",
      "fuelCosts": "xyz789",
      "insuranceTaxesCosts": "abc123",
      "laborCosts": "abc123",
      "logisticsCosts": "xyz789",
      "otherCosts": "xyz789",
      "repairCosts": "xyz789",
      "sparePartsCosts": "xyz789",
      "ticketTimeline": TicketTimeline,
      "totalCosts": "abc123",
      "procedureInstance": ProcedureInstance,
      "associatedSites": [Site]
    }
  }
}

createTicketComment

Use "createCommentForTicket" instead
Response

Returns a TicketComment!

Arguments
Name Description
disableWebhooks - Boolean Default = false
ticketId - HashedId!
content - String!
attachments - [Upload!]
event - CreateCommentEventInput
costs - [NewCostInput!]

Example

Query
mutation createTicketComment(
  $disableWebhooks: Boolean,
  $ticketId: HashedId!,
  $content: String!,
  $attachments: [Upload!],
  $event: CreateCommentEventInput,
  $costs: [NewCostInput!]
) {
  createTicketComment(
    disableWebhooks: $disableWebhooks,
    ticketId: $ticketId,
    content: $content,
    attachments: $attachments,
    event: $event,
    costs: $costs
  ) {
    id
    created
    updated
    createdByUserId
    authorEmail
    createdByUser {
      ...TicketUserFragment
    }
    history {
      ...TicketCommentContentFragment
    }
    content {
      ...TicketCommentContentFragment
    }
    isAutomated
    costs {
      ...CostFragment
    }
    stateEvent {
      ...TicketStateFragment
    }
    attachments {
      ...DocumentFragment
    }
    connectedEventId
    connectedEvent {
      ...EventFragment
    }
    deleted
  }
}
Variables
{
  "disableWebhooks": false,
  "ticketId": HashedId,
  "content": "xyz789",
  "attachments": [Upload],
  "event": CreateCommentEventInput,
  "costs": [NewCostInput]
}
Response
{
  "data": {
    "createTicketComment": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "createdByUserId": HashedId,
      "authorEmail": "xyz789",
      "createdByUser": TicketUser,
      "history": [TicketCommentContent],
      "content": TicketCommentContent,
      "isAutomated": false,
      "costs": [Cost],
      "stateEvent": TicketState,
      "attachments": [Document],
      "connectedEventId": HashedId,
      "connectedEvent": Event,
      "deleted": 1592577642
    }
  }
}

createUser

Response

Returns [User!]

Arguments
Name Description
belongsToGroupId - HashedId!
email - String!
roleId - HashedId!
languageId - HashedId!
dashboardId - HashedId
activationRoute - String
firstname - String
isSSOEnabled - Boolean
lastname - String
locale - String
password - String Default = "INVALID"
phone - String
preventInviteEmail - Boolean
settings - JSON
settingsPath - String
supportAdmin - Boolean
timezone - String
username - String keeping it for backward compatibility, if passed value for username it will be ignored
label - String
canShareViews - Boolean
info - JSON

Example

Query
mutation createUser(
  $belongsToGroupId: HashedId!,
  $email: String!,
  $roleId: HashedId!,
  $languageId: HashedId!,
  $dashboardId: HashedId,
  $activationRoute: String,
  $firstname: String,
  $isSSOEnabled: Boolean,
  $lastname: String,
  $locale: String,
  $password: String,
  $phone: String,
  $preventInviteEmail: Boolean,
  $settings: JSON,
  $settingsPath: String,
  $supportAdmin: Boolean,
  $timezone: String,
  $username: String,
  $label: String,
  $canShareViews: Boolean,
  $info: JSON
) {
  createUser(
    belongsToGroupId: $belongsToGroupId,
    email: $email,
    roleId: $roleId,
    languageId: $languageId,
    dashboardId: $dashboardId,
    activationRoute: $activationRoute,
    firstname: $firstname,
    isSSOEnabled: $isSSOEnabled,
    lastname: $lastname,
    locale: $locale,
    password: $password,
    phone: $phone,
    preventInviteEmail: $preventInviteEmail,
    settings: $settings,
    settingsPath: $settingsPath,
    supportAdmin: $supportAdmin,
    timezone: $timezone,
    username: $username,
    label: $label,
    canShareViews: $canShareViews,
    info: $info
  ) {
    id
    created
    updated
    firstname
    lastname
    password
    email
    phone
    fullName
    groupId
    roleId
    isSupportAdmin
    canShareViews
    isSSOEnabled
    languageId
    language
    dashboardId
    locale
    timezone
    label
    apiKey
    image
    activated
    isServicing
    info
    stripeSubscriptionId
    deleted
    username
    supportAdmin
    belongsToGroupId
    lastLogin
    services
    dashboard
    notifications
    notificationIds
    checkPassword
    loginInterrupts
    loginInterruptIds
    subscription {
      ...StripeSubscriptionPlanFragment
    }
    belongsToGroup {
      ...GroupFragment
    }
    group {
      ...GroupFragment
    }
    role {
      ...RoleFragment
    }
    teams {
      ...TeamFragment
    }
    unavailability {
      ...UserUnavailabilityFragment
    }
    settings
  }
}
Variables
{
  "belongsToGroupId": HashedId,
  "email": "abc123",
  "roleId": HashedId,
  "languageId": HashedId,
  "dashboardId": HashedId,
  "activationRoute": "xyz789",
  "firstname": "xyz789",
  "isSSOEnabled": true,
  "lastname": "abc123",
  "locale": "xyz789",
  "password": "INVALID",
  "phone": "abc123",
  "preventInviteEmail": false,
  "settings": {},
  "settingsPath": "abc123",
  "supportAdmin": true,
  "timezone": "abc123",
  "username": "abc123",
  "label": "abc123",
  "canShareViews": true,
  "info": {}
}
Response
{
  "data": {
    "createUser": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "firstname": "xyz789",
        "lastname": "xyz789",
        "password": "xyz789",
        "email": "abc123",
        "phone": "xyz789",
        "fullName": "abc123",
        "groupId": HashedId,
        "roleId": HashedId,
        "isSupportAdmin": false,
        "canShareViews": false,
        "isSSOEnabled": false,
        "languageId": HashedId,
        "language": HashedId,
        "dashboardId": HashedId,
        "locale": LanguageTag,
        "timezone": "abc123",
        "label": "xyz789",
        "apiKey": "xyz789",
        "image": "abc123",
        "activated": 1592577642,
        "isServicing": false,
        "info": {},
        "stripeSubscriptionId": "abc123",
        "deleted": 1592577642,
        "username": "abc123",
        "supportAdmin": true,
        "belongsToGroupId": HashedId,
        "lastLogin": "2007-12-03T10:15:30Z",
        "services": [{}],
        "dashboard": {},
        "notifications": [{}],
        "notificationIds": [HashedId],
        "checkPassword": true,
        "loginInterrupts": {},
        "loginInterruptIds": [HashedId],
        "subscription": StripeSubscriptionPlan,
        "belongsToGroup": Group,
        "group": Group,
        "role": Role,
        "teams": [Team],
        "unavailability": [UserUnavailability],
        "settings": {}
      }
    ]
  }
}

createWebhook

Response

Returns a Webhook!

Arguments
Name Description
input - WebhookCreateInput!

Example

Query
mutation createWebhook($input: WebhookCreateInput!) {
  createWebhook(input: $input) {
    id
    created
    updated
    groupId
    url
    forTickets
    forSites
    forAssets
    forWorkOrders
  }
}
Variables
{"input": WebhookCreateInput}
Response
{
  "data": {
    "createWebhook": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "groupId": HashedId,
      "url": "xyz789",
      "forTickets": false,
      "forSites": true,
      "forAssets": true,
      "forWorkOrders": false
    }
  }
}

createWorkOrder

Response

Returns a WorkOrderV2!

Arguments
Name Description
workOrder - WorkOrderCreateInput!

Example

Query
mutation createWorkOrder($workOrder: WorkOrderCreateInput!) {
  createWorkOrder(workOrder: $workOrder) {
    id
    created
    updated
    name
    startDate
    endDate
    createdByGroupId
    procedureTemplateId
    creatorId
    creationDate
    customerName
    status
    notesId
    costCenter
    siteId
    creator {
      ...UserFragment
    }
    procedureTemplate {
      ...ProcedureTemplateFragment
    }
    site {
      ...SiteFragment
    }
    workOrderNumber
    notes {
      ...TranslationFragment
    }
    sourceTicketId
    assignee {
      ...WorkOrderPersonnelV2Fragment
    }
    followers {
      ...WorkOrderPersonnelV2Fragment
    }
    workers {
      ...WorkOrderPersonnelV2Fragment
    }
    costs {
      ...WorkOrderCostFragment
    }
    dailyRate {
      ...WorkOrderCostFragment
    }
    assetCollections {
      ...WorkOrderAssetCollectionFragment
    }
    locations {
      ...WorkOrderLocationFragment
    }
    history {
      ...WorkOrderHistoryEntryFragment
    }
  }
}
Variables
{"workOrder": WorkOrderCreateInput}
Response
{
  "data": {
    "createWorkOrder": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "name": "xyz789",
      "startDate": "2007-12-03T10:15:30Z",
      "endDate": "2007-12-03T10:15:30Z",
      "createdByGroupId": HashedId,
      "procedureTemplateId": HashedId,
      "creatorId": HashedId,
      "creationDate": "2007-12-03T10:15:30Z",
      "customerName": "xyz789",
      "status": "PENDING",
      "notesId": HashedId,
      "costCenter": "xyz789",
      "siteId": HashedId,
      "creator": User,
      "procedureTemplate": ProcedureTemplate,
      "site": Site,
      "workOrderNumber": 123,
      "notes": Translation,
      "sourceTicketId": HashedId,
      "assignee": WorkOrderPersonnelV2,
      "followers": [WorkOrderPersonnelV2],
      "workers": [WorkOrderPersonnelV2],
      "costs": [WorkOrderCost],
      "dailyRate": WorkOrderCost,
      "assetCollections": [WorkOrderAssetCollection],
      "locations": [WorkOrderLocation],
      "history": [WorkOrderHistoryEntry]
    }
  }
}

createWorkOrderFromTicket

Response

Returns a WorkOrderV2!

Arguments
Name Description
ticket - IdInput!

Example

Query
mutation createWorkOrderFromTicket($ticket: IdInput!) {
  createWorkOrderFromTicket(ticket: $ticket) {
    id
    created
    updated
    name
    startDate
    endDate
    createdByGroupId
    procedureTemplateId
    creatorId
    creationDate
    customerName
    status
    notesId
    costCenter
    siteId
    creator {
      ...UserFragment
    }
    procedureTemplate {
      ...ProcedureTemplateFragment
    }
    site {
      ...SiteFragment
    }
    workOrderNumber
    notes {
      ...TranslationFragment
    }
    sourceTicketId
    assignee {
      ...WorkOrderPersonnelV2Fragment
    }
    followers {
      ...WorkOrderPersonnelV2Fragment
    }
    workers {
      ...WorkOrderPersonnelV2Fragment
    }
    costs {
      ...WorkOrderCostFragment
    }
    dailyRate {
      ...WorkOrderCostFragment
    }
    assetCollections {
      ...WorkOrderAssetCollectionFragment
    }
    locations {
      ...WorkOrderLocationFragment
    }
    history {
      ...WorkOrderHistoryEntryFragment
    }
  }
}
Variables
{"ticket": IdInput}
Response
{
  "data": {
    "createWorkOrderFromTicket": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "name": "xyz789",
      "startDate": "2007-12-03T10:15:30Z",
      "endDate": "2007-12-03T10:15:30Z",
      "createdByGroupId": HashedId,
      "procedureTemplateId": HashedId,
      "creatorId": HashedId,
      "creationDate": "2007-12-03T10:15:30Z",
      "customerName": "xyz789",
      "status": "PENDING",
      "notesId": HashedId,
      "costCenter": "abc123",
      "siteId": HashedId,
      "creator": User,
      "procedureTemplate": ProcedureTemplate,
      "site": Site,
      "workOrderNumber": 123,
      "notes": Translation,
      "sourceTicketId": HashedId,
      "assignee": WorkOrderPersonnelV2,
      "followers": [WorkOrderPersonnelV2],
      "workers": [WorkOrderPersonnelV2],
      "costs": [WorkOrderCost],
      "dailyRate": WorkOrderCost,
      "assetCollections": [WorkOrderAssetCollection],
      "locations": [WorkOrderLocation],
      "history": [WorkOrderHistoryEntry]
    }
  }
}

deactivateTerms

Description

Terms can be deactivated, thus rendering them not to be requested to accept anymore. True return value means successful operation

Response

Returns a Boolean

Arguments
Name Description
id - [HashedId!]!

Example

Query
mutation deactivateTerms($id: [HashedId!]!) {
  deactivateTerms(id: $id)
}
Variables
{"id": [HashedId]}
Response
{"data": {"deactivateTerms": false}}

deactivateTicketComment

Response

Returns a Boolean

Arguments
Name Description
id - HashedId!

Example

Query
mutation deactivateTicketComment($id: HashedId!) {
  deactivateTicketComment(id: $id)
}
Variables
{"id": HashedId}
Response
{"data": {"deactivateTicketComment": true}}

deleteAsset

Response

Returns [Boolean]

Arguments
Name Description
id - HashedId!

Example

Query
mutation deleteAsset($id: HashedId!) {
  deleteAsset(id: $id)
}
Variables
{"id": HashedId}
Response
{"data": {"deleteAsset": [false]}}

deleteAssetCategory

Response

Returns [Boolean!]

Arguments
Name Description
id - HashedId!

Example

Query
mutation deleteAssetCategory($id: HashedId!) {
  deleteAssetCategory(id: $id)
}
Variables
{"id": HashedId}
Response
{"data": {"deleteAssetCategory": [false]}}

deleteAssetIntegrationById

Response

Returns a Boolean!

Arguments
Name Description
id - HashedId!

Example

Query
mutation deleteAssetIntegrationById($id: HashedId!) {
  deleteAssetIntegrationById(id: $id)
}
Variables
{"id": HashedId}
Response
{"data": {"deleteAssetIntegrationById": true}}

deleteAssetType

Response

Returns [Boolean]

Arguments
Name Description
id - HashedId!

Example

Query
mutation deleteAssetType($id: HashedId!) {
  deleteAssetType(id: $id)
}
Variables
{"id": HashedId}
Response
{"data": {"deleteAssetType": [true]}}

deleteAssetV2

Response

Returns [Boolean!]!

Arguments
Name Description
id - HashedId!

Example

Query
mutation deleteAssetV2($id: HashedId!) {
  deleteAssetV2(id: $id)
}
Variables
{"id": HashedId}
Response
{"data": {"deleteAssetV2": [false]}}

deleteBrandById

Response

Returns a Boolean!

Arguments
Name Description
id - HashedId!

Example

Query
mutation deleteBrandById($id: HashedId!) {
  deleteBrandById(id: $id)
}
Variables
{"id": HashedId}
Response
{"data": {"deleteBrandById": false}}

deleteCost

Response

Returns a Cost

Arguments
Name Description
id - HashedId!

Example

Query
mutation deleteCost($id: HashedId!) {
  deleteCost(id: $id) {
    id
    created
    updated
    assetId
    costTypeId
    createdByUserId
    currency
    originatingFromEventId
    originatingFromCommentId
    value
    costType {
      ...CostTypeFragment
    }
  }
}
Variables
{"id": HashedId}
Response
{
  "data": {
    "deleteCost": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "assetId": HashedId,
      "costTypeId": HashedId,
      "createdByUserId": HashedId,
      "currency": "xyz789",
      "originatingFromEventId": HashedId,
      "originatingFromCommentId": HashedId,
      "value": 987.65,
      "costType": CostType
    }
  }
}

deleteDashboard

Response

Returns a DeletedResponse!

Arguments
Name Description
id - HashedId!

Example

Query
mutation deleteDashboard($id: HashedId!) {
  deleteDashboard(id: $id) {
    affected_rows
  }
}
Variables
{"id": HashedId}
Response
{"data": {"deleteDashboard": {"affected_rows": 123}}}

deleteDocument

Response

Returns [Boolean]

Arguments
Name Description
id - HashedId!

Example

Query
mutation deleteDocument($id: HashedId!) {
  deleteDocument(id: $id)
}
Variables
{"id": HashedId}
Response
{"data": {"deleteDocument": [true]}}

deleteEvent

Response

Returns an Event

Arguments
Name Description
id - HashedId!

Example

Query
mutation deleteEvent($id: HashedId!) {
  deleteEvent(id: $id) {
    id
    createdByRule {
      ...RuleFragment
    }
    createdByRuleId
    createdByFlowResponse {
      ...FlowResponseFragment
    }
    createdByFlowResponseId
    createdByTicket {
      ...TicketFragment
    }
    createdByTicketId
    createdByWorkOrder {
      ...WorkOrderSummaryFragment
    }
    createdByWorkOrderId
    createdBySiteId
    originatingFromAsset {
      ...AssetFragment
    }
    originatingFromAssetId
    originatingFromModule {
      ...ModuleFragment
    }
    createdByPartId
    originatingFromModuleId
    title {
      ...TranslationFragment
    }
    titleId
    description {
      ...TranslationFragment
    }
    descriptionId
    createdByUser {
      ...UserFragment
    }
    createdByUserId
    stoppedByUser {
      ...UserFragment
    }
    stoppedByUserId
    eventStyle {
      ...EventStyleFragment
    }
    eventStyleId
    startTime
    endTime
    isCritical
    isImmediateNotification
    shouldNotify
    manualDeactivation
    isOngoing
    created
    updated
    responseState {
      ...TicketStateFragment
    }
    eventMeta
    serviceName {
      ...TranslationFragment
    }
    ticketId
    tag
    cost {
      ...CostFragment
    }
    costs {
      ...CostFragment
    }
    documents {
      ...DocumentFragment
    }
    workOrderNotifications {
      ...WorkOrderNotificationsFragment
    }
    connectedComment {
      ...TicketCommentFragment
    }
    authorEmail
    lastEvent
    createdByPart {
      ...PartFragment
    }
    data {
      ...EventEntityDataDtoFragment
    }
  }
}
Variables
{"id": HashedId}
Response
{
  "data": {
    "deleteEvent": {
      "id": HashedId,
      "createdByRule": Rule,
      "createdByRuleId": HashedId,
      "createdByFlowResponse": FlowResponse,
      "createdByFlowResponseId": HashedId,
      "createdByTicket": Ticket,
      "createdByTicketId": HashedId,
      "createdByWorkOrder": WorkOrderSummary,
      "createdByWorkOrderId": HashedId,
      "createdBySiteId": HashedId,
      "originatingFromAsset": Asset,
      "originatingFromAssetId": HashedId,
      "originatingFromModule": Module,
      "createdByPartId": HashedId,
      "originatingFromModuleId": HashedId,
      "title": Translation,
      "titleId": HashedId,
      "description": Translation,
      "descriptionId": HashedId,
      "createdByUser": User,
      "createdByUserId": HashedId,
      "stoppedByUser": User,
      "stoppedByUserId": HashedId,
      "eventStyle": EventStyle,
      "eventStyleId": "xyz789",
      "startTime": 1592577642,
      "endTime": 1592577642,
      "isCritical": false,
      "isImmediateNotification": true,
      "shouldNotify": false,
      "manualDeactivation": true,
      "isOngoing": true,
      "created": 1592577642,
      "updated": 1592577642,
      "responseState": TicketState,
      "eventMeta": {},
      "serviceName": Translation,
      "ticketId": 987,
      "tag": ["asset"],
      "cost": Cost,
      "costs": [Cost],
      "documents": [Document],
      "workOrderNotifications": WorkOrderNotifications,
      "connectedComment": TicketComment,
      "authorEmail": "abc123",
      "lastEvent": 1592577642,
      "createdByPart": Part,
      "data": EventEntityDataDto
    }
  }
}

deleteGroup

Use groups.deleteById instead
Response

Returns [Boolean!]!

Arguments
Name Description
id - HashedId!

Example

Query
mutation deleteGroup($id: HashedId!) {
  deleteGroup(id: $id)
}
Variables
{"id": HashedId}
Response
{"data": {"deleteGroup": [false]}}

deleteGroupById

Response

Returns a Boolean!

Arguments
Name Description
id - HashedId!

Example

Query
mutation deleteGroupById($id: HashedId!) {
  deleteGroupById(id: $id)
}
Variables
{"id": HashedId}
Response
{"data": {"deleteGroupById": false}}

deleteManufacturerById

Response

Returns a Boolean!

Arguments
Name Description
id - HashedId!

Example

Query
mutation deleteManufacturerById($id: HashedId!) {
  deleteManufacturerById(id: $id)
}
Variables
{"id": HashedId}
Response
{"data": {"deleteManufacturerById": true}}

deleteModuleById

Response

Returns a Boolean!

Arguments
Name Description
id - HashedId!

Example

Query
mutation deleteModuleById($id: HashedId!) {
  deleteModuleById(id: $id)
}
Variables
{"id": HashedId}
Response
{"data": {"deleteModuleById": true}}

deletePart

Response

Returns a Boolean!

Arguments
Name Description
part - IdInput!

Example

Query
mutation deletePart($part: IdInput!) {
  deletePart(part: $part)
}
Variables
{"part": IdInput}
Response
{"data": {"deletePart": true}}

deleteProcedureTemplateById

Response

Returns a Boolean!

Arguments
Name Description
id - HashedId!

Example

Query
mutation deleteProcedureTemplateById($id: HashedId!) {
  deleteProcedureTemplateById(id: $id)
}
Variables
{"id": HashedId}
Response
{"data": {"deleteProcedureTemplateById": true}}

deleteReservation

Response

Returns [Boolean!]

Arguments
Name Description
id - HashedId!

Example

Query
mutation deleteReservation($id: HashedId!) {
  deleteReservation(id: $id)
}
Variables
{"id": HashedId}
Response
{"data": {"deleteReservation": [false]}}

deleteServicePackage

Response

Returns [Boolean!]

Arguments
Name Description
id - HashedId!
newServicePackageId - HashedId

Example

Query
mutation deleteServicePackage(
  $id: HashedId!,
  $newServicePackageId: HashedId
) {
  deleteServicePackage(
    id: $id,
    newServicePackageId: $newServicePackageId
  )
}
Variables
{
  "id": HashedId,
  "newServicePackageId": HashedId
}
Response
{"data": {"deleteServicePackage": [false]}}

deleteSite

Response

Returns a Boolean

Arguments
Name Description
id - HashedId!

Example

Query
mutation deleteSite($id: HashedId!) {
  deleteSite(id: $id)
}
Variables
{"id": HashedId}
Response
{"data": {"deleteSite": true}}

deleteTeamById

Response

Returns a Boolean!

Arguments
Name Description
id - HashedId!

Example

Query
mutation deleteTeamById($id: HashedId!) {
  deleteTeamById(id: $id)
}
Variables
{"id": HashedId}
Response
{"data": {"deleteTeamById": false}}

deleteTicketById

Response

Returns a Boolean!

Arguments
Name Description
id - HashedId!

Example

Query
mutation deleteTicketById($id: HashedId!) {
  deleteTicketById(id: $id)
}
Variables
{"id": HashedId}
Response
{"data": {"deleteTicketById": false}}

deleteUser

Response

Returns [Boolean!]!

Arguments
Name Description
id - [HashedId!]!

Example

Query
mutation deleteUser($id: [HashedId!]!) {
  deleteUser(id: $id)
}
Variables
{"id": [HashedId]}
Response
{"data": {"deleteUser": [false]}}

deleteView

Description

delete a view

Response

Returns a Boolean!

Arguments
Name Description
view - IdInput!

Example

Query
mutation deleteView($view: IdInput!) {
  deleteView(view: $view)
}
Variables
{"view": IdInput}
Response
{"data": {"deleteView": true}}

deleteViewShareStatus

Description

Delete a view's share status for current group, and return whether this operation affected anything (result is false if the view had no previous share status for the current group)

Response

Returns a Boolean!

Arguments
Name Description
view - IdInput!

Example

Query
mutation deleteViewShareStatus($view: IdInput!) {
  deleteViewShareStatus(view: $view)
}
Variables
{"view": IdInput}
Response
{"data": {"deleteViewShareStatus": true}}

deleteWebhook

Response

Returns a Boolean!

Arguments
Name Description
input - IdInput!

Example

Query
mutation deleteWebhook($input: IdInput!) {
  deleteWebhook(input: $input)
}
Variables
{"input": IdInput}
Response
{"data": {"deleteWebhook": false}}

deleteWorkOrder

Response

Returns a Boolean!

Arguments
Name Description
workOrder - IdInput!

Example

Query
mutation deleteWorkOrder($workOrder: IdInput!) {
  deleteWorkOrder(workOrder: $workOrder)
}
Variables
{"workOrder": IdInput}
Response
{"data": {"deleteWorkOrder": true}}

importEntity

Description

Allow to import multiple entities at once

Response

Returns an ExpectedResultType!

Arguments
Name Description
entity - String!
data - [JSON]!

Example

Query
mutation importEntity(
  $entity: String!,
  $data: [JSON]!
) {
  importEntity(
    entity: $entity,
    data: $data
  ) {
    status
    error
    message
    id
  }
}
Variables
{"entity": "abc123", "data": [{}]}
Response
{
  "data": {
    "importEntity": {
      "status": true,
      "error": "xyz789",
      "message": "abc123",
      "id": "xyz789"
    }
  }
}

incrementPageviewCount

Response

Returns a Boolean!

Example

Query
mutation incrementPageviewCount {
  incrementPageviewCount
}
Response
{"data": {"incrementPageviewCount": true}}

notificationConfig

Response

Returns a NotificationConfigDto!

Arguments
Name Description
config - NotificationConfigInput!

Example

Query
mutation notificationConfig($config: NotificationConfigInput!) {
  notificationConfig(config: $config) {
    ticketPush
    ticketEmail
  }
}
Variables
{"config": NotificationConfigInput}
Response
{"data": {"notificationConfig": {"ticketPush": false, "ticketEmail": true}}}

processAssetRequest

Response

Returns a Boolean!

Arguments
Name Description
requests - [AssetRequestItem!]

Example

Query
mutation processAssetRequest($requests: [AssetRequestItem!]) {
  processAssetRequest(requests: $requests)
}
Variables
{"requests": [AssetRequestItem]}
Response
{"data": {"processAssetRequest": false}}

processRegistrationRequest

Response

Returns a RegistrationRequest!

Arguments
Name Description
id - HashedId!
activationRoute - String!
denialMessage - String
username - String
targetGroup - RequestGroupInput

Example

Query
mutation processRegistrationRequest(
  $id: HashedId!,
  $activationRoute: String!,
  $denialMessage: String,
  $username: String,
  $targetGroup: RequestGroupInput
) {
  processRegistrationRequest(
    id: $id,
    activationRoute: $activationRoute,
    denialMessage: $denialMessage,
    username: $username,
    targetGroup: $targetGroup
  ) {
    id
    forGroup {
      ...GroupFragment
    }
    forGroupId
    firstname
    lastname
    email
    phone
    companyAddress
    customerNumber
    dealerName
    groupName
    acceptedTermsVersionId
    salesRepresentative
    vatNumber
    languageId
    isProcessed
    isActive
    assetsCount
    resultingUserId
    resultingUser {
      ...UserFragment
    }
    isDenied
    denialMessage
    processedByUserId
    processedByUser {
      ...UserFragment
    }
    resultingGroupId
    resultingGroup {
      ...GroupFragment
    }
    created
    updated
  }
}
Variables
{
  "id": HashedId,
  "activationRoute": "abc123",
  "denialMessage": "xyz789",
  "username": "abc123",
  "targetGroup": RequestGroupInput
}
Response
{
  "data": {
    "processRegistrationRequest": {
      "id": HashedId,
      "forGroup": Group,
      "forGroupId": HashedId,
      "firstname": "xyz789",
      "lastname": "abc123",
      "email": "abc123",
      "phone": "abc123",
      "companyAddress": "xyz789",
      "customerNumber": "abc123",
      "dealerName": "xyz789",
      "groupName": "abc123",
      "acceptedTermsVersionId": HashedId,
      "salesRepresentative": "xyz789",
      "vatNumber": "abc123",
      "languageId": HashedId,
      "isProcessed": false,
      "isActive": true,
      "assetsCount": 987,
      "resultingUserId": HashedId,
      "resultingUser": User,
      "isDenied": true,
      "denialMessage": "abc123",
      "processedByUserId": HashedId,
      "processedByUser": User,
      "resultingGroupId": HashedId,
      "resultingGroup": Group,
      "created": 1592577642,
      "updated": 1592577642
    }
  }
}

registerAssetRequest

Response

Returns a Boolean!

Arguments
Name Description
requests - [RequestForAsset!]!

Example

Query
mutation registerAssetRequest($requests: [RequestForAsset!]!) {
  registerAssetRequest(requests: $requests)
}
Variables
{"requests": [RequestForAsset]}
Response
{"data": {"registerAssetRequest": true}}

removeCheckSchedule

Response

Returns a Boolean

Arguments
Name Description
id - HashedId!

Example

Query
mutation removeCheckSchedule($id: HashedId!) {
  removeCheckSchedule(id: $id)
}
Variables
{"id": HashedId}
Response
{"data": {"removeCheckSchedule": false}}

removeHandlerById

Response

Returns a Boolean!

Arguments
Name Description
id - HashedId!

Example

Query
mutation removeHandlerById($id: HashedId!) {
  removeHandlerById(id: $id)
}
Variables
{"id": HashedId}
Response
{"data": {"removeHandlerById": true}}

removeMaintenanceSchedule

Response

Returns a Boolean

Arguments
Name Description
id - HashedId!

Example

Query
mutation removeMaintenanceSchedule($id: HashedId!) {
  removeMaintenanceSchedule(id: $id)
}
Variables
{"id": HashedId}
Response
{"data": {"removeMaintenanceSchedule": false}}

removePushToken

Response

Returns a Boolean!

Arguments
Name Description
deviceId - String!

Example

Query
mutation removePushToken($deviceId: String!) {
  removePushToken(deviceId: $deviceId)
}
Variables
{"deviceId": "xyz789"}
Response
{"data": {"removePushToken": true}}

removeTicketRelation

use "removeHandlerById" instead
Response

Returns a Boolean!

Arguments
Name Description
ticketId - HashedId!
relationId - HashedId!

Example

Query
mutation removeTicketRelation(
  $ticketId: HashedId!,
  $relationId: HashedId!
) {
  removeTicketRelation(
    ticketId: $ticketId,
    relationId: $relationId
  )
}
Variables
{
  "ticketId": HashedId,
  "relationId": HashedId
}
Response
{"data": {"removeTicketRelation": false}}

reorderAllViews

Description

set the order for all views for the logged in user

Response

Returns [HashedId!]!

Arguments
Name Description
viewIds - [HashedId!]!

Example

Query
mutation reorderAllViews($viewIds: [HashedId!]!) {
  reorderAllViews(viewIds: $viewIds)
}
Variables
{"viewIds": [HashedId]}
Response
{"data": {"reorderAllViews": [HashedId]}}

rescheduleAssetEvent

Response

Returns an Event!

Arguments
Name Description
input - EventRescheduleInput!

Example

Query
mutation rescheduleAssetEvent($input: EventRescheduleInput!) {
  rescheduleAssetEvent(input: $input) {
    id
    createdByRule {
      ...RuleFragment
    }
    createdByRuleId
    createdByFlowResponse {
      ...FlowResponseFragment
    }
    createdByFlowResponseId
    createdByTicket {
      ...TicketFragment
    }
    createdByTicketId
    createdByWorkOrder {
      ...WorkOrderSummaryFragment
    }
    createdByWorkOrderId
    createdBySiteId
    originatingFromAsset {
      ...AssetFragment
    }
    originatingFromAssetId
    originatingFromModule {
      ...ModuleFragment
    }
    createdByPartId
    originatingFromModuleId
    title {
      ...TranslationFragment
    }
    titleId
    description {
      ...TranslationFragment
    }
    descriptionId
    createdByUser {
      ...UserFragment
    }
    createdByUserId
    stoppedByUser {
      ...UserFragment
    }
    stoppedByUserId
    eventStyle {
      ...EventStyleFragment
    }
    eventStyleId
    startTime
    endTime
    isCritical
    isImmediateNotification
    shouldNotify
    manualDeactivation
    isOngoing
    created
    updated
    responseState {
      ...TicketStateFragment
    }
    eventMeta
    serviceName {
      ...TranslationFragment
    }
    ticketId
    tag
    cost {
      ...CostFragment
    }
    costs {
      ...CostFragment
    }
    documents {
      ...DocumentFragment
    }
    workOrderNotifications {
      ...WorkOrderNotificationsFragment
    }
    connectedComment {
      ...TicketCommentFragment
    }
    authorEmail
    lastEvent
    createdByPart {
      ...PartFragment
    }
    data {
      ...EventEntityDataDtoFragment
    }
  }
}
Variables
{"input": EventRescheduleInput}
Response
{
  "data": {
    "rescheduleAssetEvent": {
      "id": HashedId,
      "createdByRule": Rule,
      "createdByRuleId": HashedId,
      "createdByFlowResponse": FlowResponse,
      "createdByFlowResponseId": HashedId,
      "createdByTicket": Ticket,
      "createdByTicketId": HashedId,
      "createdByWorkOrder": WorkOrderSummary,
      "createdByWorkOrderId": HashedId,
      "createdBySiteId": HashedId,
      "originatingFromAsset": Asset,
      "originatingFromAssetId": HashedId,
      "originatingFromModule": Module,
      "createdByPartId": HashedId,
      "originatingFromModuleId": HashedId,
      "title": Translation,
      "titleId": HashedId,
      "description": Translation,
      "descriptionId": HashedId,
      "createdByUser": User,
      "createdByUserId": HashedId,
      "stoppedByUser": User,
      "stoppedByUserId": HashedId,
      "eventStyle": EventStyle,
      "eventStyleId": "abc123",
      "startTime": 1592577642,
      "endTime": 1592577642,
      "isCritical": true,
      "isImmediateNotification": false,
      "shouldNotify": false,
      "manualDeactivation": true,
      "isOngoing": true,
      "created": 1592577642,
      "updated": 1592577642,
      "responseState": TicketState,
      "eventMeta": {},
      "serviceName": Translation,
      "ticketId": 987,
      "tag": ["asset"],
      "cost": Cost,
      "costs": [Cost],
      "documents": [Document],
      "workOrderNotifications": WorkOrderNotifications,
      "connectedComment": TicketComment,
      "authorEmail": "abc123",
      "lastEvent": 1592577642,
      "createdByPart": Part,
      "data": EventEntityDataDto
    }
  }
}

savePushToken

Response

Returns a Boolean!

Arguments
Name Description
token - String!
deviceId - String!
platform - PushPlatformTypeEnum!

Example

Query
mutation savePushToken(
  $token: String!,
  $deviceId: String!,
  $platform: PushPlatformTypeEnum!
) {
  savePushToken(
    token: $token,
    deviceId: $deviceId,
    platform: $platform
  )
}
Variables
{
  "token": "xyz789",
  "deviceId": "abc123",
  "platform": "ANDROID"
}
Response
{"data": {"savePushToken": true}}

sendTestPushNotification

Response

Returns a Boolean

Example

Query
mutation sendTestPushNotification {
  sendTestPushNotification
}
Response
{"data": {"sendTestPushNotification": false}}

setViewActive

Description

Set whether a view is active for the current user and return new activation status.

Response

Returns a Boolean!

Arguments
Name Description
view - IdInput!
active - Boolean! Default = true

Example

Query
mutation setViewActive(
  $view: IdInput!,
  $active: Boolean!
) {
  setViewActive(
    view: $view,
    active: $active
  )
}
Variables
{"view": IdInput, "active": true}
Response
{"data": {"setViewActive": false}}

setupBrand

Response

Returns a Brand!

Arguments
Name Description
input - BrandUpsertInput!

Example

Query
mutation setupBrand($input: BrandUpsertInput!) {
  setupBrand(input: $input) {
    id
    created
    updated
    groupId
    logoWidth
    key
    systemName
    colorDark
    colorLight
    faviconUrl
    loginBackground
    name
    appUrlAndroid
    appUrlIos
    logo
    color
    symbol
    ownURL
    supportEmail
    activationMailVideo
    logoIsSquare
    group {
      ...GroupFragment
    }
    sso
    loginLanguageFallback
    projects
  }
}
Variables
{"input": BrandUpsertInput}
Response
{
  "data": {
    "setupBrand": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "groupId": HashedId,
      "logoWidth": 987,
      "key": "xyz789",
      "systemName": "abc123",
      "colorDark": "xyz789",
      "colorLight": "abc123",
      "faviconUrl": "abc123",
      "loginBackground": "abc123",
      "name": "xyz789",
      "appUrlAndroid": "xyz789",
      "appUrlIos": "xyz789",
      "logo": "xyz789",
      "color": "xyz789",
      "symbol": "abc123",
      "ownURL": "xyz789",
      "supportEmail": "xyz789",
      "activationMailVideo": "xyz789",
      "logoIsSquare": false,
      "group": Group,
      "sso": "2007-12-03T10:15:30Z",
      "loginLanguageFallback": HashedId,
      "projects": "xyz789"
    }
  }
}

stopEvent

Response

Returns an Event

Arguments
Name Description
id - HashedId!
date - Date

Example

Query
mutation stopEvent(
  $id: HashedId!,
  $date: Date
) {
  stopEvent(
    id: $id,
    date: $date
  ) {
    id
    createdByRule {
      ...RuleFragment
    }
    createdByRuleId
    createdByFlowResponse {
      ...FlowResponseFragment
    }
    createdByFlowResponseId
    createdByTicket {
      ...TicketFragment
    }
    createdByTicketId
    createdByWorkOrder {
      ...WorkOrderSummaryFragment
    }
    createdByWorkOrderId
    createdBySiteId
    originatingFromAsset {
      ...AssetFragment
    }
    originatingFromAssetId
    originatingFromModule {
      ...ModuleFragment
    }
    createdByPartId
    originatingFromModuleId
    title {
      ...TranslationFragment
    }
    titleId
    description {
      ...TranslationFragment
    }
    descriptionId
    createdByUser {
      ...UserFragment
    }
    createdByUserId
    stoppedByUser {
      ...UserFragment
    }
    stoppedByUserId
    eventStyle {
      ...EventStyleFragment
    }
    eventStyleId
    startTime
    endTime
    isCritical
    isImmediateNotification
    shouldNotify
    manualDeactivation
    isOngoing
    created
    updated
    responseState {
      ...TicketStateFragment
    }
    eventMeta
    serviceName {
      ...TranslationFragment
    }
    ticketId
    tag
    cost {
      ...CostFragment
    }
    costs {
      ...CostFragment
    }
    documents {
      ...DocumentFragment
    }
    workOrderNotifications {
      ...WorkOrderNotificationsFragment
    }
    connectedComment {
      ...TicketCommentFragment
    }
    authorEmail
    lastEvent
    createdByPart {
      ...PartFragment
    }
    data {
      ...EventEntityDataDtoFragment
    }
  }
}
Variables
{
  "id": HashedId,
  "date": "2007-12-03"
}
Response
{
  "data": {
    "stopEvent": {
      "id": HashedId,
      "createdByRule": Rule,
      "createdByRuleId": HashedId,
      "createdByFlowResponse": FlowResponse,
      "createdByFlowResponseId": HashedId,
      "createdByTicket": Ticket,
      "createdByTicketId": HashedId,
      "createdByWorkOrder": WorkOrderSummary,
      "createdByWorkOrderId": HashedId,
      "createdBySiteId": HashedId,
      "originatingFromAsset": Asset,
      "originatingFromAssetId": HashedId,
      "originatingFromModule": Module,
      "createdByPartId": HashedId,
      "originatingFromModuleId": HashedId,
      "title": Translation,
      "titleId": HashedId,
      "description": Translation,
      "descriptionId": HashedId,
      "createdByUser": User,
      "createdByUserId": HashedId,
      "stoppedByUser": User,
      "stoppedByUserId": HashedId,
      "eventStyle": EventStyle,
      "eventStyleId": "abc123",
      "startTime": 1592577642,
      "endTime": 1592577642,
      "isCritical": false,
      "isImmediateNotification": false,
      "shouldNotify": true,
      "manualDeactivation": true,
      "isOngoing": true,
      "created": 1592577642,
      "updated": 1592577642,
      "responseState": TicketState,
      "eventMeta": {},
      "serviceName": Translation,
      "ticketId": 123,
      "tag": ["asset"],
      "cost": Cost,
      "costs": [Cost],
      "documents": [Document],
      "workOrderNotifications": WorkOrderNotifications,
      "connectedComment": TicketComment,
      "authorEmail": "xyz789",
      "lastEvent": 1592577642,
      "createdByPart": Part,
      "data": EventEntityDataDto
    }
  }
}

submitFlow

Description

Accepts a valid response flow definition, and an array of attached documents. Will return true on successful operation.

Response

Returns a Boolean

Arguments
Name Description
definition - FlowResponseDefinitionInput!
documents - [Upload!]

Example

Query
mutation submitFlow(
  $definition: FlowResponseDefinitionInput!,
  $documents: [Upload!]
) {
  submitFlow(
    definition: $definition,
    documents: $documents
  )
}
Variables
{
  "definition": FlowResponseDefinitionInput,
  "documents": [Upload]
}
Response
{"data": {"submitFlow": false}}

unassignServicesToServicePackage

Description

This can only be used by TS platform admins for now

Response

Returns a Boolean!

Arguments
Name Description
servicesIds - [HashedId!]
servicePackageId - HashedId!

Example

Query
mutation unassignServicesToServicePackage(
  $servicesIds: [HashedId!],
  $servicePackageId: HashedId!
) {
  unassignServicesToServicePackage(
    servicesIds: $servicesIds,
    servicePackageId: $servicePackageId
  )
}
Variables
{
  "servicesIds": [HashedId],
  "servicePackageId": HashedId
}
Response
{"data": {"unassignServicesToServicePackage": false}}

updateAsset

Response

Returns [Asset!]

Arguments
Name Description
allowReservations - Boolean
assetTypeId - HashedId Set this to update the site's type
assignedToGroupId - HashedId
assignedToSiteId - HashedId Set this to assign the asset to a different site, set to null to unassign
availability - AssetAvailability
BLE - String
client - String
commissionDate - Date
costCenter - String
currency - String
customerEditable - Boolean
description - TranslationInput
disableWebhooks - Boolean
externalId - String External id should only be filled by a machine. This is used to couple an external asset with an internal asset. An external Asset is an asset that represents the same physical thing but in a different system.
fixedAssetNumber - String
floorRoom - String
id - HashedId!
imei - String
initialValue - String
inventoryNumber - String
isInStationaryGateway - Boolean
leasingCostTermination - String
leasingEnd - Date
leasingLevel - String
leasingMonthlyCost - String
leasingPartner - String
leasingPartnerContractNumber - String
leasingPartnerContractPositionNumber - String
leasingRenewalDate - Date
leasingRenewalRate - String
leasingStart - Date
optionalAssetID - String
ownership - AssetOwnership
parameterOffsets - [AssetParameterOffsetInput!]
partsNumber - String Specific identifier of a certain part of an asset
previousSiteId - HashedId
projectNumber - String
purchaseCost - String
purchaseDepriciation - Int
purchaseInvoiceNumber - String
purchaseLowValueAsset - Boolean
purchaseStart - Date
purchaseWarrantyEnd - Date
purchaseWarrantyPeriod - Int
purchaseWarrantyStart - Date
qrAttached - Boolean
quantity - Int
rentalCostTermination - String
rentalEnd - Date
rentalMonthlyCost - String
rentalRenewalDate - Date
rentalRenewalRate - String
rentalStart - Date
responsiblePerson - String
serial - String
serviceContract - Boolean
serviceContractCostPerYear - String
serviceContractDocuments - [Upload!]
serviceContractEmail - String
serviceContractEnd - Date
serviceContractFrom - Timestamp
serviceContractLevel - String
serviceContractPartner - String
serviceContractStart - Date
serviceContractTo - Timestamp
subscription - String Change service tier for this asset. See SubscriptionPlan for a full list of services - only submit the name.
supplier - String
syncSiteGroup - Boolean
workingHoursNotification - [RuleNotificationRelationInput] When a working hours event happens, send notifications to these entities
workingHoursSettings - JSON Updates a working hour setting. See Rules schema for syntax. Set to null to remove working hours.
transferModule - Boolean If set, the asset will be became primary asset of the IOT module with the given IMEI.

Example

Query
mutation updateAsset(
  $allowReservations: Boolean,
  $assetTypeId: HashedId,
  $assignedToGroupId: HashedId,
  $assignedToSiteId: HashedId,
  $availability: AssetAvailability,
  $BLE: String,
  $client: String,
  $commissionDate: Date,
  $costCenter: String,
  $currency: String,
  $customerEditable: Boolean,
  $description: TranslationInput,
  $disableWebhooks: Boolean,
  $externalId: String,
  $fixedAssetNumber: String,
  $floorRoom: String,
  $id: HashedId!,
  $imei: String,
  $initialValue: String,
  $inventoryNumber: String,
  $isInStationaryGateway: Boolean,
  $leasingCostTermination: String,
  $leasingEnd: Date,
  $leasingLevel: String,
  $leasingMonthlyCost: String,
  $leasingPartner: String,
  $leasingPartnerContractNumber: String,
  $leasingPartnerContractPositionNumber: String,
  $leasingRenewalDate: Date,
  $leasingRenewalRate: String,
  $leasingStart: Date,
  $optionalAssetID: String,
  $ownership: AssetOwnership,
  $parameterOffsets: [AssetParameterOffsetInput!],
  $partsNumber: String,
  $previousSiteId: HashedId,
  $projectNumber: String,
  $purchaseCost: String,
  $purchaseDepriciation: Int,
  $purchaseInvoiceNumber: String,
  $purchaseLowValueAsset: Boolean,
  $purchaseStart: Date,
  $purchaseWarrantyEnd: Date,
  $purchaseWarrantyPeriod: Int,
  $purchaseWarrantyStart: Date,
  $qrAttached: Boolean,
  $quantity: Int,
  $rentalCostTermination: String,
  $rentalEnd: Date,
  $rentalMonthlyCost: String,
  $rentalRenewalDate: Date,
  $rentalRenewalRate: String,
  $rentalStart: Date,
  $responsiblePerson: String,
  $serial: String,
  $serviceContract: Boolean,
  $serviceContractCostPerYear: String,
  $serviceContractDocuments: [Upload!],
  $serviceContractEmail: String,
  $serviceContractEnd: Date,
  $serviceContractFrom: Timestamp,
  $serviceContractLevel: String,
  $serviceContractPartner: String,
  $serviceContractStart: Date,
  $serviceContractTo: Timestamp,
  $subscription: String,
  $supplier: String,
  $syncSiteGroup: Boolean,
  $workingHoursNotification: [RuleNotificationRelationInput],
  $workingHoursSettings: JSON,
  $transferModule: Boolean
) {
  updateAsset(
    allowReservations: $allowReservations,
    assetTypeId: $assetTypeId,
    assignedToGroupId: $assignedToGroupId,
    assignedToSiteId: $assignedToSiteId,
    availability: $availability,
    BLE: $BLE,
    client: $client,
    commissionDate: $commissionDate,
    costCenter: $costCenter,
    currency: $currency,
    customerEditable: $customerEditable,
    description: $description,
    disableWebhooks: $disableWebhooks,
    externalId: $externalId,
    fixedAssetNumber: $fixedAssetNumber,
    floorRoom: $floorRoom,
    id: $id,
    imei: $imei,
    initialValue: $initialValue,
    inventoryNumber: $inventoryNumber,
    isInStationaryGateway: $isInStationaryGateway,
    leasingCostTermination: $leasingCostTermination,
    leasingEnd: $leasingEnd,
    leasingLevel: $leasingLevel,
    leasingMonthlyCost: $leasingMonthlyCost,
    leasingPartner: $leasingPartner,
    leasingPartnerContractNumber: $leasingPartnerContractNumber,
    leasingPartnerContractPositionNumber: $leasingPartnerContractPositionNumber,
    leasingRenewalDate: $leasingRenewalDate,
    leasingRenewalRate: $leasingRenewalRate,
    leasingStart: $leasingStart,
    optionalAssetID: $optionalAssetID,
    ownership: $ownership,
    parameterOffsets: $parameterOffsets,
    partsNumber: $partsNumber,
    previousSiteId: $previousSiteId,
    projectNumber: $projectNumber,
    purchaseCost: $purchaseCost,
    purchaseDepriciation: $purchaseDepriciation,
    purchaseInvoiceNumber: $purchaseInvoiceNumber,
    purchaseLowValueAsset: $purchaseLowValueAsset,
    purchaseStart: $purchaseStart,
    purchaseWarrantyEnd: $purchaseWarrantyEnd,
    purchaseWarrantyPeriod: $purchaseWarrantyPeriod,
    purchaseWarrantyStart: $purchaseWarrantyStart,
    qrAttached: $qrAttached,
    quantity: $quantity,
    rentalCostTermination: $rentalCostTermination,
    rentalEnd: $rentalEnd,
    rentalMonthlyCost: $rentalMonthlyCost,
    rentalRenewalDate: $rentalRenewalDate,
    rentalRenewalRate: $rentalRenewalRate,
    rentalStart: $rentalStart,
    responsiblePerson: $responsiblePerson,
    serial: $serial,
    serviceContract: $serviceContract,
    serviceContractCostPerYear: $serviceContractCostPerYear,
    serviceContractDocuments: $serviceContractDocuments,
    serviceContractEmail: $serviceContractEmail,
    serviceContractEnd: $serviceContractEnd,
    serviceContractFrom: $serviceContractFrom,
    serviceContractLevel: $serviceContractLevel,
    serviceContractPartner: $serviceContractPartner,
    serviceContractStart: $serviceContractStart,
    serviceContractTo: $serviceContractTo,
    subscription: $subscription,
    supplier: $supplier,
    syncSiteGroup: $syncSiteGroup,
    workingHoursNotification: $workingHoursNotification,
    workingHoursSettings: $workingHoursSettings,
    transferModule: $transferModule
  ) {
    services {
      ...ServiceFragment
    }
    activity {
      ...AssetActivityFragment
    }
    allowReservations
    assetCategory {
      ...AssetCategoryFragment
    }
    assetCategoryId
    assetType {
      ...AssetTypeFragment
    }
    assetTypeId
    assignedToGroup {
      ...GroupFragment
    }
    assignedToGroupId
    createdByGroupId
    assignedToPreviousSite {
      ...SiteFragment
    }
    assignedToSite {
      ...SiteFragment
    }
    assignedToSiteId
    assignment
    availability
    BLE
    checkSchedule {
      ...AssetCheckScheduleFragment
    }
    checkScheduleRule {
      ...AssetCheckScheduleRuleFragment
    }
    client
    commissionDate
    costCenter
    costsSumBattery
    costsSumRepair
    costsSumMaintenance
    costsSumParts
    costsSumConsumables
    costsSumFuel
    costsSumLabor
    costsSumLogistics
    costsSumTaxes
    costsSumOther
    costsSumCertification
    created
    currency
    customer
    customerEditable
    description {
      ...TranslationFragment
    }
    descriptionId
    displayParameters {
      ...DisplayParameterFragment
    }
    documents {
      ...DocumentFragment
    }
    downloadLink
    eventIds
    events {
      ...EventFragment
    }
    externalId
    fixedAssetNumber
    floorRoom
    id
    image
    imei
    initialValue
    inventoryNumber
    isCommodity
    isInStationaryGateway
    workOrders {
      ...WorkOrderV2Fragment
    }
    lastContacted
    latestAssetData
    leasingCostTermination
    leasingEnd
    leasingLevel
    leasingMonthlyCost
    leasingPartner
    leasingPartnerContractNumber
    leasingPartnerContractPositionNumber
    leasingRenewalDate
    leasingRenewalRate
    leasingStart
    location {
      ...LocationFragment
    }
    maintenanceSchedule {
      ...AssetMaintenanceScheduleFragment
    }
    manufacturer {
      ...ManufacturerFragment
    }
    manufacturerId
    module {
      ...ModuleFragment
    }
    moduleId
    nextService
    optionalAssetID
    ownership
    parameterOffsetIds
    parameterOffsets {
      ...AssetParameterOffsetFragment
    }
    parameterSets {
      ...ParameterSetFragment
    }
    partsNumber
    previousSiteId
    projectNumber
    publicId
    purchaseCost
    purchaseCurrentBookValue
    purchaseDepriciation
    purchaseInvoiceNumber
    purchaseLowValueAsset
    purchaseStart
    purchaseWarrantyEnd
    purchaseWarrantyPeriod
    purchaseWarrantyStart
    qrAttached
    quantity
    relatedGroups {
      ...RelatedGroupFragment
    }
    rentalCostTermination
    rentalEnd
    rentalMonthlyCost
    rentalRenewalDate
    rentalRenewalRate
    rentalStart
    reservationIds
    reservations {
      ...ReservationFragment
    }
    responsiblePerson
    runtimeWithOffsetInSeconds
    serial
    serviceContract
    serviceContractCostPerYear
    serviceContractEmail
    serviceContractEnd
    serviceContractDocuments {
      ...DocumentFragment
    }
    serviceContractFrom
    serviceContractLevel
    serviceContractPartner
    serviceContractStart
    serviceContractTo
    state {
      ...AssetStateFragment
    }
    stateV2 {
      ...StatusItemFragment
    }
    status {
      ...StatusItemFragment
    }
    subscription
    supplier
    tickets {
      ...TicketFragment
    }
    updated
    unavailability {
      ...AssetUnavailabilityFragment
    }
    uuid
    vncTunnelUrl
    workingHoursNotification {
      ...RuleNotificationRelationFragment
    }
    workingHoursSettings
    gatewayAsset {
      ...AssetFragment
    }
    moduleConnectionStatus
    costs {
      ...CostFragment
    }
    costsSum
    totalUtilization
    totalWorkDone
    batteryLevel
    isLocked
    scanTime
    availabilityId
    ownershipId
    siteId
    createdByGroup {
      ...GroupFragment
    }
    site {
      ...SiteFragment
    }
  }
}
Variables
{
  "allowReservations": true,
  "assetTypeId": HashedId,
  "assignedToGroupId": HashedId,
  "assignedToSiteId": HashedId,
  "availability": "READY_TO_USE",
  "BLE": "abc123",
  "client": "abc123",
  "commissionDate": "2007-12-03",
  "costCenter": "xyz789",
  "currency": "xyz789",
  "customerEditable": false,
  "description": TranslationInput,
  "disableWebhooks": true,
  "externalId": "xyz789",
  "fixedAssetNumber": "abc123",
  "floorRoom": "abc123",
  "id": HashedId,
  "imei": "xyz789",
  "initialValue": "abc123",
  "inventoryNumber": "xyz789",
  "isInStationaryGateway": true,
  "leasingCostTermination": "xyz789",
  "leasingEnd": "2007-12-03",
  "leasingLevel": "xyz789",
  "leasingMonthlyCost": "xyz789",
  "leasingPartner": "abc123",
  "leasingPartnerContractNumber": "xyz789",
  "leasingPartnerContractPositionNumber": "xyz789",
  "leasingRenewalDate": "2007-12-03",
  "leasingRenewalRate": "xyz789",
  "leasingStart": "2007-12-03",
  "optionalAssetID": "xyz789",
  "ownership": "PURCHASE",
  "parameterOffsets": [AssetParameterOffsetInput],
  "partsNumber": "xyz789",
  "previousSiteId": HashedId,
  "projectNumber": "xyz789",
  "purchaseCost": "xyz789",
  "purchaseDepriciation": 987,
  "purchaseInvoiceNumber": "xyz789",
  "purchaseLowValueAsset": true,
  "purchaseStart": "2007-12-03",
  "purchaseWarrantyEnd": "2007-12-03",
  "purchaseWarrantyPeriod": 987,
  "purchaseWarrantyStart": "2007-12-03",
  "qrAttached": true,
  "quantity": 123,
  "rentalCostTermination": "xyz789",
  "rentalEnd": "2007-12-03",
  "rentalMonthlyCost": "xyz789",
  "rentalRenewalDate": "2007-12-03",
  "rentalRenewalRate": "xyz789",
  "rentalStart": "2007-12-03",
  "responsiblePerson": "xyz789",
  "serial": "xyz789",
  "serviceContract": true,
  "serviceContractCostPerYear": "abc123",
  "serviceContractDocuments": [Upload],
  "serviceContractEmail": "abc123",
  "serviceContractEnd": "2007-12-03",
  "serviceContractFrom": 1592577642,
  "serviceContractLevel": "xyz789",
  "serviceContractPartner": "xyz789",
  "serviceContractStart": "2007-12-03",
  "serviceContractTo": 1592577642,
  "subscription": "xyz789",
  "supplier": "xyz789",
  "syncSiteGroup": true,
  "workingHoursNotification": [
    RuleNotificationRelationInput
  ],
  "workingHoursSettings": {},
  "transferModule": true
}
Response
{
  "data": {
    "updateAsset": [
      {
        "services": [Service],
        "activity": AssetActivity,
        "allowReservations": false,
        "assetCategory": AssetCategory,
        "assetCategoryId": HashedId,
        "assetType": AssetType,
        "assetTypeId": HashedId,
        "assignedToGroup": Group,
        "assignedToGroupId": HashedId,
        "createdByGroupId": HashedId,
        "assignedToPreviousSite": Site,
        "assignedToSite": Site,
        "assignedToSiteId": HashedId,
        "assignment": "xyz789",
        "availability": "READY_TO_USE",
        "BLE": "xyz789",
        "checkSchedule": AssetCheckSchedule,
        "checkScheduleRule": AssetCheckScheduleRule,
        "client": "abc123",
        "commissionDate": "2007-12-03",
        "costCenter": "abc123",
        "costsSumBattery": 987.65,
        "costsSumRepair": 123.45,
        "costsSumMaintenance": 987.65,
        "costsSumParts": 123.45,
        "costsSumConsumables": 987.65,
        "costsSumFuel": 123.45,
        "costsSumLabor": 123.45,
        "costsSumLogistics": 123.45,
        "costsSumTaxes": 123.45,
        "costsSumOther": 123.45,
        "costsSumCertification": 987.65,
        "created": 1592577642,
        "currency": "abc123",
        "customer": "xyz789",
        "customerEditable": true,
        "description": Translation,
        "descriptionId": HashedId,
        "displayParameters": [DisplayParameter],
        "documents": [Document],
        "downloadLink": "abc123",
        "eventIds": [HashedId],
        "events": [Event],
        "externalId": "xyz789",
        "fixedAssetNumber": "xyz789",
        "floorRoom": "xyz789",
        "id": HashedId,
        "image": "abc123",
        "imei": "xyz789",
        "initialValue": "xyz789",
        "inventoryNumber": "abc123",
        "isCommodity": false,
        "isInStationaryGateway": true,
        "workOrders": [WorkOrderV2],
        "lastContacted": 1592577642,
        "latestAssetData": {},
        "leasingCostTermination": "xyz789",
        "leasingEnd": "2007-12-03",
        "leasingLevel": "abc123",
        "leasingMonthlyCost": "abc123",
        "leasingPartner": "xyz789",
        "leasingPartnerContractNumber": "abc123",
        "leasingPartnerContractPositionNumber": "abc123",
        "leasingRenewalDate": "2007-12-03",
        "leasingRenewalRate": "abc123",
        "leasingStart": "2007-12-03",
        "location": Location,
        "maintenanceSchedule": AssetMaintenanceSchedule,
        "manufacturer": Manufacturer,
        "manufacturerId": HashedId,
        "module": Module,
        "moduleId": HashedId,
        "nextService": 123,
        "optionalAssetID": "abc123",
        "ownership": "PURCHASE",
        "parameterOffsetIds": [HashedId],
        "parameterOffsets": [AssetParameterOffset],
        "parameterSets": [ParameterSet],
        "partsNumber": "abc123",
        "previousSiteId": HashedId,
        "projectNumber": "xyz789",
        "publicId": 987,
        "purchaseCost": "xyz789",
        "purchaseCurrentBookValue": "xyz789",
        "purchaseDepriciation": 123,
        "purchaseInvoiceNumber": "abc123",
        "purchaseLowValueAsset": false,
        "purchaseStart": "2007-12-03",
        "purchaseWarrantyEnd": "2007-12-03",
        "purchaseWarrantyPeriod": 123,
        "purchaseWarrantyStart": "2007-12-03",
        "qrAttached": false,
        "quantity": 987,
        "relatedGroups": [RelatedGroup],
        "rentalCostTermination": "abc123",
        "rentalEnd": "2007-12-03",
        "rentalMonthlyCost": "abc123",
        "rentalRenewalDate": "2007-12-03",
        "rentalRenewalRate": "abc123",
        "rentalStart": "2007-12-03",
        "reservationIds": [HashedId],
        "reservations": [Reservation],
        "responsiblePerson": "abc123",
        "runtimeWithOffsetInSeconds": 987,
        "serial": "abc123",
        "serviceContract": false,
        "serviceContractCostPerYear": "xyz789",
        "serviceContractEmail": "abc123",
        "serviceContractEnd": "2007-12-03",
        "serviceContractDocuments": [Document],
        "serviceContractFrom": 1592577642,
        "serviceContractLevel": "abc123",
        "serviceContractPartner": "abc123",
        "serviceContractStart": "2007-12-03",
        "serviceContractTo": 1592577642,
        "state": AssetState,
        "stateV2": [StatusItem],
        "status": [StatusItem],
        "subscription": "abc123",
        "supplier": "xyz789",
        "tickets": [Ticket],
        "updated": 1592577642,
        "unavailability": [AssetUnavailability],
        "uuid": "abc123",
        "vncTunnelUrl": "abc123",
        "workingHoursNotification": [
          RuleNotificationRelation
        ],
        "workingHoursSettings": {},
        "gatewayAsset": Asset,
        "moduleConnectionStatus": "primary",
        "costs": [Cost],
        "costsSum": 123.45,
        "totalUtilization": "xyz789",
        "totalWorkDone": "xyz789",
        "batteryLevel": "xyz789",
        "isLocked": false,
        "scanTime": "2007-12-03",
        "availabilityId": HashedId,
        "ownershipId": HashedId,
        "siteId": HashedId,
        "createdByGroup": Group,
        "site": Site
      }
    ]
  }
}

updateAssetCategory

Response

Returns [AssetCategory!]

Arguments
Name Description
optimalBatteryVoltage - Float
minimalBatteryVoltage - Float
nominalBatteryVoltage - Float
parentParameterKey - AssetParentParameter
optimalRuntime - Float
workUnitsPerHour - Float
workUnits - TranslationInput
externalId - String
groupId - HashedId
isPrivate - Boolean Listed to users outside this group hierarchy - "publicly" available. May be used for not yet released models
id - HashedId!
name - TranslationInput

Example

Query
mutation updateAssetCategory(
  $optimalBatteryVoltage: Float,
  $minimalBatteryVoltage: Float,
  $nominalBatteryVoltage: Float,
  $parentParameterKey: AssetParentParameter,
  $optimalRuntime: Float,
  $workUnitsPerHour: Float,
  $workUnits: TranslationInput,
  $externalId: String,
  $groupId: HashedId,
  $isPrivate: Boolean,
  $id: HashedId!,
  $name: TranslationInput
) {
  updateAssetCategory(
    optimalBatteryVoltage: $optimalBatteryVoltage,
    minimalBatteryVoltage: $minimalBatteryVoltage,
    nominalBatteryVoltage: $nominalBatteryVoltage,
    parentParameterKey: $parentParameterKey,
    optimalRuntime: $optimalRuntime,
    workUnitsPerHour: $workUnitsPerHour,
    workUnits: $workUnits,
    externalId: $externalId,
    groupId: $groupId,
    isPrivate: $isPrivate,
    id: $id,
    name: $name
  ) {
    id
    created
    updated
    image
    externalId
    forManufacturerId
    groupId
    isPrivate
    nameId
    minimalBatteryVoltage
    nominalBatteryVoltage
    optimalBatteryVoltage
    optimalRuntime
    parentParameterKey
    workUnitsPerHour
    workUnitId
    name {
      ...TranslationFragment
    }
    group {
      ...GroupFragment
    }
    forManufacturer {
      ...ManufacturerFragment
    }
    workUnits {
      ...TranslationFragment
    }
    assetsCount
  }
}
Variables
{
  "optimalBatteryVoltage": 123.45,
  "minimalBatteryVoltage": 123.45,
  "nominalBatteryVoltage": 123.45,
  "parentParameterKey": "runtime",
  "optimalRuntime": 987.65,
  "workUnitsPerHour": 987.65,
  "workUnits": TranslationInput,
  "externalId": "xyz789",
  "groupId": HashedId,
  "isPrivate": true,
  "id": HashedId,
  "name": TranslationInput
}
Response
{
  "data": {
    "updateAssetCategory": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "image": "abc123",
        "externalId": "xyz789",
        "forManufacturerId": HashedId,
        "groupId": HashedId,
        "isPrivate": false,
        "nameId": HashedId,
        "minimalBatteryVoltage": 987.65,
        "nominalBatteryVoltage": 123.45,
        "optimalBatteryVoltage": 123.45,
        "optimalRuntime": 123.45,
        "parentParameterKey": "runtime",
        "workUnitsPerHour": 987.65,
        "workUnitId": HashedId,
        "name": Translation,
        "group": Group,
        "forManufacturer": Manufacturer,
        "workUnits": Translation,
        "assetsCount": 123
      }
    ]
  }
}

updateAssetCategoryImage

Description

Accepts jpg, jpeg, gif, png, webp, heic (case insensitive). Will be contained to a 500px square with white background. 3 images generated:

         - _2x for high dpi screens
                      
                               - no suffix, half of the default size, this url will be provided
                      
                               - _thumb - 100px thumbnail
                      
                               Send an empty value to remove the image.
                      
Response

Returns an AssetCategory!

Arguments
Name Description
id - HashedId!
file - Upload!

Example

Query
mutation updateAssetCategoryImage(
  $id: HashedId!,
  $file: Upload!
) {
  updateAssetCategoryImage(
    id: $id,
    file: $file
  ) {
    id
    created
    updated
    image
    externalId
    forManufacturerId
    groupId
    isPrivate
    nameId
    minimalBatteryVoltage
    nominalBatteryVoltage
    optimalBatteryVoltage
    optimalRuntime
    parentParameterKey
    workUnitsPerHour
    workUnitId
    name {
      ...TranslationFragment
    }
    group {
      ...GroupFragment
    }
    forManufacturer {
      ...ManufacturerFragment
    }
    workUnits {
      ...TranslationFragment
    }
    assetsCount
  }
}
Variables
{"id": HashedId, "file": Upload}
Response
{
  "data": {
    "updateAssetCategoryImage": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "image": "abc123",
      "externalId": "abc123",
      "forManufacturerId": HashedId,
      "groupId": HashedId,
      "isPrivate": true,
      "nameId": HashedId,
      "minimalBatteryVoltage": 987.65,
      "nominalBatteryVoltage": 123.45,
      "optimalBatteryVoltage": 123.45,
      "optimalRuntime": 987.65,
      "parentParameterKey": "runtime",
      "workUnitsPerHour": 123.45,
      "workUnitId": HashedId,
      "name": Translation,
      "group": Group,
      "forManufacturer": Manufacturer,
      "workUnits": Translation,
      "assetsCount": 987
    }
  }
}

updateAssetData

Response

Returns an AssetData

Arguments
Name Description
assetId - HashedId!

Example

Query
mutation updateAssetData($assetId: HashedId!) {
  updateAssetData(assetId: $assetId) {
    id
    createdByModuleImei
    createdByAssetId
    createdByAsset {
      ...AssetFragment
    }
    createdByModuleId
    createdByModule {
      ...ModuleFragment
    }
    data
    boundEvents {
      ...EventFragment
    }
    boundEventIds
    created
  }
}
Variables
{"assetId": HashedId}
Response
{
  "data": {
    "updateAssetData": {
      "id": HashedId,
      "createdByModuleImei": "xyz789",
      "createdByAssetId": HashedId,
      "createdByAsset": Asset,
      "createdByModuleId": HashedId,
      "createdByModule": Module,
      "data": {},
      "boundEvents": [Event],
      "boundEventIds": [HashedId],
      "created": 1592577642
    }
  }
}

updateAssetImage

Description

Accepts jpg, jpeg, gif, png, webp, heic (case insensitive). Will be contained to a 500px square with white background. 3 images generated:

  • _2x for high dpi screens
  • no suffix, half of the default size, this url will be provided
  • _thumb - 100px thumbnail Send an empty value to remove the image.
Response

Returns an Asset

Arguments
Name Description
id - HashedId!
file - Upload!

Example

Query
mutation updateAssetImage(
  $id: HashedId!,
  $file: Upload!
) {
  updateAssetImage(
    id: $id,
    file: $file
  ) {
    services {
      ...ServiceFragment
    }
    activity {
      ...AssetActivityFragment
    }
    allowReservations
    assetCategory {
      ...AssetCategoryFragment
    }
    assetCategoryId
    assetType {
      ...AssetTypeFragment
    }
    assetTypeId
    assignedToGroup {
      ...GroupFragment
    }
    assignedToGroupId
    createdByGroupId
    assignedToPreviousSite {
      ...SiteFragment
    }
    assignedToSite {
      ...SiteFragment
    }
    assignedToSiteId
    assignment
    availability
    BLE
    checkSchedule {
      ...AssetCheckScheduleFragment
    }
    checkScheduleRule {
      ...AssetCheckScheduleRuleFragment
    }
    client
    commissionDate
    costCenter
    costsSumBattery
    costsSumRepair
    costsSumMaintenance
    costsSumParts
    costsSumConsumables
    costsSumFuel
    costsSumLabor
    costsSumLogistics
    costsSumTaxes
    costsSumOther
    costsSumCertification
    created
    currency
    customer
    customerEditable
    description {
      ...TranslationFragment
    }
    descriptionId
    displayParameters {
      ...DisplayParameterFragment
    }
    documents {
      ...DocumentFragment
    }
    downloadLink
    eventIds
    events {
      ...EventFragment
    }
    externalId
    fixedAssetNumber
    floorRoom
    id
    image
    imei
    initialValue
    inventoryNumber
    isCommodity
    isInStationaryGateway
    workOrders {
      ...WorkOrderV2Fragment
    }
    lastContacted
    latestAssetData
    leasingCostTermination
    leasingEnd
    leasingLevel
    leasingMonthlyCost
    leasingPartner
    leasingPartnerContractNumber
    leasingPartnerContractPositionNumber
    leasingRenewalDate
    leasingRenewalRate
    leasingStart
    location {
      ...LocationFragment
    }
    maintenanceSchedule {
      ...AssetMaintenanceScheduleFragment
    }
    manufacturer {
      ...ManufacturerFragment
    }
    manufacturerId
    module {
      ...ModuleFragment
    }
    moduleId
    nextService
    optionalAssetID
    ownership
    parameterOffsetIds
    parameterOffsets {
      ...AssetParameterOffsetFragment
    }
    parameterSets {
      ...ParameterSetFragment
    }
    partsNumber
    previousSiteId
    projectNumber
    publicId
    purchaseCost
    purchaseCurrentBookValue
    purchaseDepriciation
    purchaseInvoiceNumber
    purchaseLowValueAsset
    purchaseStart
    purchaseWarrantyEnd
    purchaseWarrantyPeriod
    purchaseWarrantyStart
    qrAttached
    quantity
    relatedGroups {
      ...RelatedGroupFragment
    }
    rentalCostTermination
    rentalEnd
    rentalMonthlyCost
    rentalRenewalDate
    rentalRenewalRate
    rentalStart
    reservationIds
    reservations {
      ...ReservationFragment
    }
    responsiblePerson
    runtimeWithOffsetInSeconds
    serial
    serviceContract
    serviceContractCostPerYear
    serviceContractEmail
    serviceContractEnd
    serviceContractDocuments {
      ...DocumentFragment
    }
    serviceContractFrom
    serviceContractLevel
    serviceContractPartner
    serviceContractStart
    serviceContractTo
    state {
      ...AssetStateFragment
    }
    stateV2 {
      ...StatusItemFragment
    }
    status {
      ...StatusItemFragment
    }
    subscription
    supplier
    tickets {
      ...TicketFragment
    }
    updated
    unavailability {
      ...AssetUnavailabilityFragment
    }
    uuid
    vncTunnelUrl
    workingHoursNotification {
      ...RuleNotificationRelationFragment
    }
    workingHoursSettings
    gatewayAsset {
      ...AssetFragment
    }
    moduleConnectionStatus
    costs {
      ...CostFragment
    }
    costsSum
    totalUtilization
    totalWorkDone
    batteryLevel
    isLocked
    scanTime
    availabilityId
    ownershipId
    siteId
    createdByGroup {
      ...GroupFragment
    }
    site {
      ...SiteFragment
    }
  }
}
Variables
{"id": HashedId, "file": Upload}
Response
{
  "data": {
    "updateAssetImage": {
      "services": [Service],
      "activity": AssetActivity,
      "allowReservations": false,
      "assetCategory": AssetCategory,
      "assetCategoryId": HashedId,
      "assetType": AssetType,
      "assetTypeId": HashedId,
      "assignedToGroup": Group,
      "assignedToGroupId": HashedId,
      "createdByGroupId": HashedId,
      "assignedToPreviousSite": Site,
      "assignedToSite": Site,
      "assignedToSiteId": HashedId,
      "assignment": "abc123",
      "availability": "READY_TO_USE",
      "BLE": "xyz789",
      "checkSchedule": AssetCheckSchedule,
      "checkScheduleRule": AssetCheckScheduleRule,
      "client": "abc123",
      "commissionDate": "2007-12-03",
      "costCenter": "xyz789",
      "costsSumBattery": 123.45,
      "costsSumRepair": 987.65,
      "costsSumMaintenance": 987.65,
      "costsSumParts": 123.45,
      "costsSumConsumables": 987.65,
      "costsSumFuel": 987.65,
      "costsSumLabor": 987.65,
      "costsSumLogistics": 123.45,
      "costsSumTaxes": 987.65,
      "costsSumOther": 123.45,
      "costsSumCertification": 123.45,
      "created": 1592577642,
      "currency": "abc123",
      "customer": "abc123",
      "customerEditable": false,
      "description": Translation,
      "descriptionId": HashedId,
      "displayParameters": [DisplayParameter],
      "documents": [Document],
      "downloadLink": "abc123",
      "eventIds": [HashedId],
      "events": [Event],
      "externalId": "xyz789",
      "fixedAssetNumber": "xyz789",
      "floorRoom": "abc123",
      "id": HashedId,
      "image": "xyz789",
      "imei": "xyz789",
      "initialValue": "abc123",
      "inventoryNumber": "xyz789",
      "isCommodity": false,
      "isInStationaryGateway": true,
      "workOrders": [WorkOrderV2],
      "lastContacted": 1592577642,
      "latestAssetData": {},
      "leasingCostTermination": "abc123",
      "leasingEnd": "2007-12-03",
      "leasingLevel": "xyz789",
      "leasingMonthlyCost": "abc123",
      "leasingPartner": "xyz789",
      "leasingPartnerContractNumber": "abc123",
      "leasingPartnerContractPositionNumber": "xyz789",
      "leasingRenewalDate": "2007-12-03",
      "leasingRenewalRate": "abc123",
      "leasingStart": "2007-12-03",
      "location": Location,
      "maintenanceSchedule": AssetMaintenanceSchedule,
      "manufacturer": Manufacturer,
      "manufacturerId": HashedId,
      "module": Module,
      "moduleId": HashedId,
      "nextService": 123,
      "optionalAssetID": "xyz789",
      "ownership": "PURCHASE",
      "parameterOffsetIds": [HashedId],
      "parameterOffsets": [AssetParameterOffset],
      "parameterSets": [ParameterSet],
      "partsNumber": "abc123",
      "previousSiteId": HashedId,
      "projectNumber": "abc123",
      "publicId": 987,
      "purchaseCost": "xyz789",
      "purchaseCurrentBookValue": "xyz789",
      "purchaseDepriciation": 123,
      "purchaseInvoiceNumber": "abc123",
      "purchaseLowValueAsset": false,
      "purchaseStart": "2007-12-03",
      "purchaseWarrantyEnd": "2007-12-03",
      "purchaseWarrantyPeriod": 987,
      "purchaseWarrantyStart": "2007-12-03",
      "qrAttached": true,
      "quantity": 987,
      "relatedGroups": [RelatedGroup],
      "rentalCostTermination": "abc123",
      "rentalEnd": "2007-12-03",
      "rentalMonthlyCost": "xyz789",
      "rentalRenewalDate": "2007-12-03",
      "rentalRenewalRate": "abc123",
      "rentalStart": "2007-12-03",
      "reservationIds": [HashedId],
      "reservations": [Reservation],
      "responsiblePerson": "xyz789",
      "runtimeWithOffsetInSeconds": 987,
      "serial": "xyz789",
      "serviceContract": true,
      "serviceContractCostPerYear": "xyz789",
      "serviceContractEmail": "xyz789",
      "serviceContractEnd": "2007-12-03",
      "serviceContractDocuments": [Document],
      "serviceContractFrom": 1592577642,
      "serviceContractLevel": "abc123",
      "serviceContractPartner": "xyz789",
      "serviceContractStart": "2007-12-03",
      "serviceContractTo": 1592577642,
      "state": AssetState,
      "stateV2": [StatusItem],
      "status": [StatusItem],
      "subscription": "abc123",
      "supplier": "xyz789",
      "tickets": [Ticket],
      "updated": 1592577642,
      "unavailability": [AssetUnavailability],
      "uuid": "abc123",
      "vncTunnelUrl": "abc123",
      "workingHoursNotification": [
        RuleNotificationRelation
      ],
      "workingHoursSettings": {},
      "gatewayAsset": Asset,
      "moduleConnectionStatus": "primary",
      "costs": [Cost],
      "costsSum": 123.45,
      "totalUtilization": "xyz789",
      "totalWorkDone": "xyz789",
      "batteryLevel": "xyz789",
      "isLocked": false,
      "scanTime": "2007-12-03",
      "availabilityId": HashedId,
      "ownershipId": HashedId,
      "siteId": HashedId,
      "createdByGroup": Group,
      "site": Site
    }
  }
}

updateAssetIntegrationById

Response

Returns an AssetIntegration!

Arguments
Name Description
id - HashedId!
input - AssetIntegrationUpdateInput!

Example

Query
mutation updateAssetIntegrationById(
  $id: HashedId!,
  $input: AssetIntegrationUpdateInput!
) {
  updateAssetIntegrationById(
    id: $id,
    input: $input
  ) {
    id
    created
    updated
    name
    manufacturerId
    assetCategoryId
    assetCategory {
      ...AssetCategoryFragment
    }
    manufacturer {
      ...ManufacturerFragment
    }
  }
}
Variables
{
  "id": HashedId,
  "input": AssetIntegrationUpdateInput
}
Response
{
  "data": {
    "updateAssetIntegrationById": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "name": "xyz789",
      "manufacturerId": HashedId,
      "assetCategoryId": HashedId,
      "assetCategory": AssetCategory,
      "manufacturer": Manufacturer
    }
  }
}

updateAssetLockStatus

Response

Returns a Boolean!

Arguments
Name Description
id - HashedId!
state - Boolean!

Example

Query
mutation updateAssetLockStatus(
  $id: HashedId!,
  $state: Boolean!
) {
  updateAssetLockStatus(
    id: $id,
    state: $state
  )
}
Variables
{"id": HashedId, "state": true}
Response
{"data": {"updateAssetLockStatus": false}}

updateAssetType

Response

Returns [AssetType]

Arguments
Name Description
optimalBatteryVoltage - Float
minimalBatteryVoltage - Float
nominalBatteryVoltage - Float
parentParameterKey - AssetParentParameter
optimalRuntime - Float
workUnitsPerHour - Float
workUnits - TranslationInput
externalId - String
groupId - HashedId
hasAssortmentList - Boolean
hasVNC - Boolean Certain assets can be accessed over a remote connection. This specifies if this type can be accessed over VNC.
image - String
inAssetIntegrationId - HashedId The asset integration that applies to this type
isApprovedAssetType - Boolean
isLockable - Boolean Certain Asset Types can be locked. This will then lock the asset
isLockedState - Boolean
isPollingAvailable - Boolean
isPrivate - Boolean Listed to users outside this group hierarchy - "publicly" available. May be used for not yet released models
isVehicle - Boolean
lockAssetTypeId - HashedId
manufacturer - String
preset - Boolean
presetInitialValue - String
presetLeasingCostTermination - String
presetLeasingLevel - String
presetLeasingMonthlyCost - String
presetLeasingPartner - String
presetLeasingPartnerContractNumber - String
presetLeasingPartnerContractPositionNumber - String
presetLeasingRenewalRate - String
presetLowValueAsset - Boolean
presetMachineCheckLastCreated - Boolean
presetMachineCheckName - String
presetMachineCheckInterval - Int
presetOwnership - String
presetPurchaseCost - String
presetPurchaseDepriciation - Int
presetRentalCostTermination - String
presetRentalMonthlyCost - String
presetRentalRenewalRate - String
presetServiceContractCostPerYear - String
presetServiceContractEmail - String
presetServiceContractLevel - String
presetServiceContractPartner - String
presetSupplier - String
presetWarrantyPeriod - Int
restrictedType - Boolean
suggestedServicePartner - String
id - HashedId!
name - TranslationInput
inAssetCategoryId - HashedId

Example

Query
mutation updateAssetType(
  $optimalBatteryVoltage: Float,
  $minimalBatteryVoltage: Float,
  $nominalBatteryVoltage: Float,
  $parentParameterKey: AssetParentParameter,
  $optimalRuntime: Float,
  $workUnitsPerHour: Float,
  $workUnits: TranslationInput,
  $externalId: String,
  $groupId: HashedId,
  $hasAssortmentList: Boolean,
  $hasVNC: Boolean,
  $image: String,
  $inAssetIntegrationId: HashedId,
  $isApprovedAssetType: Boolean,
  $isLockable: Boolean,
  $isLockedState: Boolean,
  $isPollingAvailable: Boolean,
  $isPrivate: Boolean,
  $isVehicle: Boolean,
  $lockAssetTypeId: HashedId,
  $manufacturer: String,
  $preset: Boolean,
  $presetInitialValue: String,
  $presetLeasingCostTermination: String,
  $presetLeasingLevel: String,
  $presetLeasingMonthlyCost: String,
  $presetLeasingPartner: String,
  $presetLeasingPartnerContractNumber: String,
  $presetLeasingPartnerContractPositionNumber: String,
  $presetLeasingRenewalRate: String,
  $presetLowValueAsset: Boolean,
  $presetMachineCheckLastCreated: Boolean,
  $presetMachineCheckName: String,
  $presetMachineCheckInterval: Int,
  $presetOwnership: String,
  $presetPurchaseCost: String,
  $presetPurchaseDepriciation: Int,
  $presetRentalCostTermination: String,
  $presetRentalMonthlyCost: String,
  $presetRentalRenewalRate: String,
  $presetServiceContractCostPerYear: String,
  $presetServiceContractEmail: String,
  $presetServiceContractLevel: String,
  $presetServiceContractPartner: String,
  $presetSupplier: String,
  $presetWarrantyPeriod: Int,
  $restrictedType: Boolean,
  $suggestedServicePartner: String,
  $id: HashedId!,
  $name: TranslationInput,
  $inAssetCategoryId: HashedId
) {
  updateAssetType(
    optimalBatteryVoltage: $optimalBatteryVoltage,
    minimalBatteryVoltage: $minimalBatteryVoltage,
    nominalBatteryVoltage: $nominalBatteryVoltage,
    parentParameterKey: $parentParameterKey,
    optimalRuntime: $optimalRuntime,
    workUnitsPerHour: $workUnitsPerHour,
    workUnits: $workUnits,
    externalId: $externalId,
    groupId: $groupId,
    hasAssortmentList: $hasAssortmentList,
    hasVNC: $hasVNC,
    image: $image,
    inAssetIntegrationId: $inAssetIntegrationId,
    isApprovedAssetType: $isApprovedAssetType,
    isLockable: $isLockable,
    isLockedState: $isLockedState,
    isPollingAvailable: $isPollingAvailable,
    isPrivate: $isPrivate,
    isVehicle: $isVehicle,
    lockAssetTypeId: $lockAssetTypeId,
    manufacturer: $manufacturer,
    preset: $preset,
    presetInitialValue: $presetInitialValue,
    presetLeasingCostTermination: $presetLeasingCostTermination,
    presetLeasingLevel: $presetLeasingLevel,
    presetLeasingMonthlyCost: $presetLeasingMonthlyCost,
    presetLeasingPartner: $presetLeasingPartner,
    presetLeasingPartnerContractNumber: $presetLeasingPartnerContractNumber,
    presetLeasingPartnerContractPositionNumber: $presetLeasingPartnerContractPositionNumber,
    presetLeasingRenewalRate: $presetLeasingRenewalRate,
    presetLowValueAsset: $presetLowValueAsset,
    presetMachineCheckLastCreated: $presetMachineCheckLastCreated,
    presetMachineCheckName: $presetMachineCheckName,
    presetMachineCheckInterval: $presetMachineCheckInterval,
    presetOwnership: $presetOwnership,
    presetPurchaseCost: $presetPurchaseCost,
    presetPurchaseDepriciation: $presetPurchaseDepriciation,
    presetRentalCostTermination: $presetRentalCostTermination,
    presetRentalMonthlyCost: $presetRentalMonthlyCost,
    presetRentalRenewalRate: $presetRentalRenewalRate,
    presetServiceContractCostPerYear: $presetServiceContractCostPerYear,
    presetServiceContractEmail: $presetServiceContractEmail,
    presetServiceContractLevel: $presetServiceContractLevel,
    presetServiceContractPartner: $presetServiceContractPartner,
    presetSupplier: $presetSupplier,
    presetWarrantyPeriod: $presetWarrantyPeriod,
    restrictedType: $restrictedType,
    suggestedServicePartner: $suggestedServicePartner,
    id: $id,
    name: $name,
    inAssetCategoryId: $inAssetCategoryId
  ) {
    id
    created
    updated
    flowId
    forManufacturerId
    groupId
    hasAssortmentList
    externalId
    image
    inAssetCategoryId
    inAssetIntegrationId
    isApprovedAssetType
    isPrivate
    isVehicle
    make
    nameId
    restrictedType
    preset
    presetInitialValue
    presetLeasingCostTermination
    presetLeasingLevel
    presetLeasingMonthlyCost
    presetLeasingPartner
    presetLeasingPartnerContractNumber
    presetLeasingPartnerContractPositionNumber
    presetLeasingRenewalRate
    presetLowValueAsset
    presetMachineCheckInterval
    presetMachineCheckLastCreated
    presetMachineCheckName
    presetOwnership
    presetPurchaseCost
    presetPurchaseDepriciation
    presetRentalCostTermination
    presetRentalMonthlyCost
    presetRentalRenewalRate
    presetServiceContractCostPerYear
    presetServiceContractEmail
    presetServiceContractLevel
    presetServiceContractPartner
    presetSupplier
    presetWarrantyPeriod
    isLockable
    isLockedState
    lockAssetTypeId
    hasVNC
    isPollingAvailable
    name {
      ...TranslationFragment
    }
    documents {
      ...DocumentFragment
    }
    flow {
      ...FlowFragment
    }
    minimalBatteryVoltage
    nominalBatteryVoltage
    optimalBatteryVoltage
    optimalRuntime
    parentParameterKey
    workUnits {
      ...TranslationFragment
    }
    workUnitsPerHour
    workUnitId
    inAssetCategory {
      ...AssetCategoryFragment
    }
    group {
      ...GroupFragment
    }
    inAssetIntegration {
      ...AssetIntegrationFragment
    }
    forManufacturer {
      ...ManufacturerFragment
    }
    namespace
    assetsCount
    userManual
    suggestedServicePartner
    lockAssetType {
      ...AssetTypeFragment
    }
  }
}
Variables
{
  "optimalBatteryVoltage": 987.65,
  "minimalBatteryVoltage": 123.45,
  "nominalBatteryVoltage": 123.45,
  "parentParameterKey": "runtime",
  "optimalRuntime": 987.65,
  "workUnitsPerHour": 987.65,
  "workUnits": TranslationInput,
  "externalId": "xyz789",
  "groupId": HashedId,
  "hasAssortmentList": false,
  "hasVNC": false,
  "image": "abc123",
  "inAssetIntegrationId": HashedId,
  "isApprovedAssetType": true,
  "isLockable": false,
  "isLockedState": true,
  "isPollingAvailable": true,
  "isPrivate": true,
  "isVehicle": true,
  "lockAssetTypeId": HashedId,
  "manufacturer": "abc123",
  "preset": false,
  "presetInitialValue": "abc123",
  "presetLeasingCostTermination": "xyz789",
  "presetLeasingLevel": "xyz789",
  "presetLeasingMonthlyCost": "xyz789",
  "presetLeasingPartner": "abc123",
  "presetLeasingPartnerContractNumber": "abc123",
  "presetLeasingPartnerContractPositionNumber": "abc123",
  "presetLeasingRenewalRate": "abc123",
  "presetLowValueAsset": true,
  "presetMachineCheckLastCreated": false,
  "presetMachineCheckName": "abc123",
  "presetMachineCheckInterval": 987,
  "presetOwnership": "abc123",
  "presetPurchaseCost": "abc123",
  "presetPurchaseDepriciation": 123,
  "presetRentalCostTermination": "xyz789",
  "presetRentalMonthlyCost": "xyz789",
  "presetRentalRenewalRate": "xyz789",
  "presetServiceContractCostPerYear": "xyz789",
  "presetServiceContractEmail": "abc123",
  "presetServiceContractLevel": "abc123",
  "presetServiceContractPartner": "xyz789",
  "presetSupplier": "xyz789",
  "presetWarrantyPeriod": 123,
  "restrictedType": true,
  "suggestedServicePartner": "xyz789",
  "id": HashedId,
  "name": TranslationInput,
  "inAssetCategoryId": HashedId
}
Response
{
  "data": {
    "updateAssetType": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "flowId": HashedId,
        "forManufacturerId": HashedId,
        "groupId": HashedId,
        "hasAssortmentList": true,
        "externalId": "xyz789",
        "image": "xyz789",
        "inAssetCategoryId": HashedId,
        "inAssetIntegrationId": HashedId,
        "isApprovedAssetType": false,
        "isPrivate": false,
        "isVehicle": true,
        "make": "xyz789",
        "nameId": HashedId,
        "restrictedType": false,
        "preset": false,
        "presetInitialValue": "abc123",
        "presetLeasingCostTermination": "xyz789",
        "presetLeasingLevel": "abc123",
        "presetLeasingMonthlyCost": "xyz789",
        "presetLeasingPartner": "abc123",
        "presetLeasingPartnerContractNumber": "xyz789",
        "presetLeasingPartnerContractPositionNumber": "xyz789",
        "presetLeasingRenewalRate": "abc123",
        "presetLowValueAsset": true,
        "presetMachineCheckInterval": 987,
        "presetMachineCheckLastCreated": false,
        "presetMachineCheckName": "abc123",
        "presetOwnership": "xyz789",
        "presetPurchaseCost": "xyz789",
        "presetPurchaseDepriciation": 987,
        "presetRentalCostTermination": "xyz789",
        "presetRentalMonthlyCost": "abc123",
        "presetRentalRenewalRate": "abc123",
        "presetServiceContractCostPerYear": "abc123",
        "presetServiceContractEmail": "xyz789",
        "presetServiceContractLevel": "xyz789",
        "presetServiceContractPartner": "abc123",
        "presetSupplier": "xyz789",
        "presetWarrantyPeriod": 123,
        "isLockable": true,
        "isLockedState": false,
        "lockAssetTypeId": HashedId,
        "hasVNC": false,
        "isPollingAvailable": false,
        "name": Translation,
        "documents": [Document],
        "flow": Flow,
        "minimalBatteryVoltage": 987.65,
        "nominalBatteryVoltage": 123.45,
        "optimalBatteryVoltage": 123.45,
        "optimalRuntime": 123.45,
        "parentParameterKey": "runtime",
        "workUnits": Translation,
        "workUnitsPerHour": 987.65,
        "workUnitId": HashedId,
        "inAssetCategory": AssetCategory,
        "group": Group,
        "inAssetIntegration": AssetIntegration,
        "forManufacturer": Manufacturer,
        "namespace": "xyz789",
        "assetsCount": 987,
        "userManual": "abc123",
        "suggestedServicePartner": "abc123",
        "lockAssetType": AssetType
      }
    ]
  }
}

updateAssetTypeImage

Description

Accepts jpg, jpeg, gif, png, webp, heic (case insensitive). Will be contained to a 500px square with white background. 3 images generated:

         - _2x for high dpi screens
                      
                               - no suffix, half of the default size, this url will be provided
                      
                               - _thumb - 100px thumbnail
                      
                               Send an empty value to remove the image.
                      
Response

Returns a File!

Arguments
Name Description
id - HashedId!
file - Upload!

Example

Query
mutation updateAssetTypeImage(
  $id: HashedId!,
  $file: Upload!
) {
  updateAssetTypeImage(
    id: $id,
    file: $file
  ) {
    id
    path
    filename
    mimetype
  }
}
Variables
{"id": HashedId, "file": Upload}
Response
{
  "data": {
    "updateAssetTypeImage": {
      "id": 4,
      "path": "xyz789",
      "filename": "abc123",
      "mimetype": "abc123"
    }
  }
}

updateAssetView

Description

update an asset view

Response

Returns an AssetView!

Arguments
Name Description
view - AssetViewUpdateInput!

Example

Query
mutation updateAssetView($view: AssetViewUpdateInput!) {
  updateAssetView(view: $view) {
    id
    created
    updated
    name
    forEntity
    displayMode
    options {
      ...AssetViewOptionsFragment
    }
    isActive
    isSystemView
    isShared
    isEditable
    isDeletable
    isShareable
    isUnsharedByParentGroup
  }
}
Variables
{"view": AssetViewUpdateInput}
Response
{
  "data": {
    "updateAssetView": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "name": "abc123",
      "forEntity": "ASSET",
      "displayMode": "LIST",
      "options": AssetViewOptions,
      "isActive": false,
      "isSystemView": true,
      "isShared": false,
      "isEditable": true,
      "isDeletable": false,
      "isShareable": false,
      "isUnsharedByParentGroup": true
    }
  }
}

updateBrand

Use separate methods instead: updateBrandById, updateBrandByKey
Response

Returns a Brand

Arguments
Name Description
key - String
id - HashedId
systemName - String Name of the platform for this brand
colorDark - String
colorLight - String
faviconUrl - String A url that provides the favicon image used
loginBackground - String A url that provides the background image shown on the login page
name - String Brand name
appUrlAndroid - String Login Language that should be displayed if the Users target language is not available
appUrlIos - String A url leading to the download/store page of the iOS app of the platform
logo - String An image url containing the logo for the platform
color - String Primary color associated with brand
symbol - String The image displayed when only the symbol is required. E.g. the main menu is collapsed
ownURL - String A custom URL where the application is intended to be available
supportEmail - String A support email address to be displayed across clients
activationMailVideo - String A url leading to the activation email video of the platform
logoIsSquare - Boolean Should be true if the logo image has a 1:1 aspect ratio. Helps with visual alignment.
loginLanguageFallback - HashedId A url leading to the download/store page of the Android app of the platform
projects - String Projects have been dropped completely September 2023

Example

Query
mutation updateBrand(
  $key: String,
  $id: HashedId,
  $systemName: String,
  $colorDark: String,
  $colorLight: String,
  $faviconUrl: String,
  $loginBackground: String,
  $name: String,
  $appUrlAndroid: String,
  $appUrlIos: String,
  $logo: String,
  $color: String,
  $symbol: String,
  $ownURL: String,
  $supportEmail: String,
  $activationMailVideo: String,
  $logoIsSquare: Boolean,
  $loginLanguageFallback: HashedId,
  $projects: String
) {
  updateBrand(
    key: $key,
    id: $id,
    systemName: $systemName,
    colorDark: $colorDark,
    colorLight: $colorLight,
    faviconUrl: $faviconUrl,
    loginBackground: $loginBackground,
    name: $name,
    appUrlAndroid: $appUrlAndroid,
    appUrlIos: $appUrlIos,
    logo: $logo,
    color: $color,
    symbol: $symbol,
    ownURL: $ownURL,
    supportEmail: $supportEmail,
    activationMailVideo: $activationMailVideo,
    logoIsSquare: $logoIsSquare,
    loginLanguageFallback: $loginLanguageFallback,
    projects: $projects
  ) {
    id
    created
    updated
    groupId
    logoWidth
    key
    systemName
    colorDark
    colorLight
    faviconUrl
    loginBackground
    name
    appUrlAndroid
    appUrlIos
    logo
    color
    symbol
    ownURL
    supportEmail
    activationMailVideo
    logoIsSquare
    group {
      ...GroupFragment
    }
    sso
    loginLanguageFallback
    projects
  }
}
Variables
{
  "key": "xyz789",
  "id": HashedId,
  "systemName": "abc123",
  "colorDark": "xyz789",
  "colorLight": "abc123",
  "faviconUrl": "abc123",
  "loginBackground": "xyz789",
  "name": "xyz789",
  "appUrlAndroid": "xyz789",
  "appUrlIos": "abc123",
  "logo": "abc123",
  "color": "abc123",
  "symbol": "abc123",
  "ownURL": "abc123",
  "supportEmail": "xyz789",
  "activationMailVideo": "xyz789",
  "logoIsSquare": true,
  "loginLanguageFallback": HashedId,
  "projects": "abc123"
}
Response
{
  "data": {
    "updateBrand": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "groupId": HashedId,
      "logoWidth": 123,
      "key": "abc123",
      "systemName": "abc123",
      "colorDark": "xyz789",
      "colorLight": "abc123",
      "faviconUrl": "xyz789",
      "loginBackground": "abc123",
      "name": "abc123",
      "appUrlAndroid": "xyz789",
      "appUrlIos": "abc123",
      "logo": "abc123",
      "color": "abc123",
      "symbol": "xyz789",
      "ownURL": "xyz789",
      "supportEmail": "xyz789",
      "activationMailVideo": "abc123",
      "logoIsSquare": false,
      "group": Group,
      "sso": "2007-12-03T10:15:30Z",
      "loginLanguageFallback": HashedId,
      "projects": "abc123"
    }
  }
}

updateBrandById

Response

Returns a Brand!

Arguments
Name Description
id - HashedId!
input - BrandUpdateInput!

Example

Query
mutation updateBrandById(
  $id: HashedId!,
  $input: BrandUpdateInput!
) {
  updateBrandById(
    id: $id,
    input: $input
  ) {
    id
    created
    updated
    groupId
    logoWidth
    key
    systemName
    colorDark
    colorLight
    faviconUrl
    loginBackground
    name
    appUrlAndroid
    appUrlIos
    logo
    color
    symbol
    ownURL
    supportEmail
    activationMailVideo
    logoIsSquare
    group {
      ...GroupFragment
    }
    sso
    loginLanguageFallback
    projects
  }
}
Variables
{
  "id": HashedId,
  "input": BrandUpdateInput
}
Response
{
  "data": {
    "updateBrandById": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "groupId": HashedId,
      "logoWidth": 123,
      "key": "abc123",
      "systemName": "xyz789",
      "colorDark": "abc123",
      "colorLight": "abc123",
      "faviconUrl": "xyz789",
      "loginBackground": "abc123",
      "name": "xyz789",
      "appUrlAndroid": "abc123",
      "appUrlIos": "abc123",
      "logo": "xyz789",
      "color": "abc123",
      "symbol": "xyz789",
      "ownURL": "xyz789",
      "supportEmail": "abc123",
      "activationMailVideo": "xyz789",
      "logoIsSquare": true,
      "group": Group,
      "sso": "2007-12-03T10:15:30Z",
      "loginLanguageFallback": HashedId,
      "projects": "abc123"
    }
  }
}

updateBrandByKey

Response

Returns a Brand!

Arguments
Name Description
key - String!
input - BrandUpdateInput!

Example

Query
mutation updateBrandByKey(
  $key: String!,
  $input: BrandUpdateInput!
) {
  updateBrandByKey(
    key: $key,
    input: $input
  ) {
    id
    created
    updated
    groupId
    logoWidth
    key
    systemName
    colorDark
    colorLight
    faviconUrl
    loginBackground
    name
    appUrlAndroid
    appUrlIos
    logo
    color
    symbol
    ownURL
    supportEmail
    activationMailVideo
    logoIsSquare
    group {
      ...GroupFragment
    }
    sso
    loginLanguageFallback
    projects
  }
}
Variables
{
  "key": "abc123",
  "input": BrandUpdateInput
}
Response
{
  "data": {
    "updateBrandByKey": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "groupId": HashedId,
      "logoWidth": 987,
      "key": "abc123",
      "systemName": "xyz789",
      "colorDark": "xyz789",
      "colorLight": "xyz789",
      "faviconUrl": "abc123",
      "loginBackground": "abc123",
      "name": "abc123",
      "appUrlAndroid": "xyz789",
      "appUrlIos": "abc123",
      "logo": "abc123",
      "color": "xyz789",
      "symbol": "abc123",
      "ownURL": "abc123",
      "supportEmail": "abc123",
      "activationMailVideo": "xyz789",
      "logoIsSquare": false,
      "group": Group,
      "sso": "2007-12-03T10:15:30Z",
      "loginLanguageFallback": HashedId,
      "projects": "abc123"
    }
  }
}

updateCheckSchedule

Response

Returns an AssetCheckSchedule

Arguments
Name Description
id - HashedId!
name - String!
interval - Int!
lastCheck - Date
nextCheck - Date!

Example

Query
mutation updateCheckSchedule(
  $id: HashedId!,
  $name: String!,
  $interval: Int!,
  $lastCheck: Date,
  $nextCheck: Date!
) {
  updateCheckSchedule(
    id: $id,
    name: $name,
    interval: $interval,
    lastCheck: $lastCheck,
    nextCheck: $nextCheck
  ) {
    id
    assetId
    name
    interval
    lastCheck
    nextCheck
    daysToNextCheck
    lastCheckLastEdited {
      ...AssetCheckScheduleEditNoteFragment
    }
    nextCheckLastEdited {
      ...AssetCheckScheduleEditNoteFragment
    }
  }
}
Variables
{
  "id": HashedId,
  "name": "xyz789",
  "interval": 123,
  "lastCheck": "2007-12-03",
  "nextCheck": "2007-12-03"
}
Response
{
  "data": {
    "updateCheckSchedule": {
      "id": HashedId,
      "assetId": HashedId,
      "name": "abc123",
      "interval": 987,
      "lastCheck": "2007-12-03",
      "nextCheck": "2007-12-03",
      "daysToNextCheck": 987,
      "lastCheckLastEdited": AssetCheckScheduleEditNote,
      "nextCheckLastEdited": AssetCheckScheduleEditNote
    }
  }
}

updateCost

Response

Returns a Cost

Arguments
Name Description
assetId - HashedId
costTypeId - HashedId
currency - String
originatingFromEventId - HashedId
originatingFromCommentId - HashedId
value - Float
id - HashedId!

Example

Query
mutation updateCost(
  $assetId: HashedId,
  $costTypeId: HashedId,
  $currency: String,
  $originatingFromEventId: HashedId,
  $originatingFromCommentId: HashedId,
  $value: Float,
  $id: HashedId!
) {
  updateCost(
    assetId: $assetId,
    costTypeId: $costTypeId,
    currency: $currency,
    originatingFromEventId: $originatingFromEventId,
    originatingFromCommentId: $originatingFromCommentId,
    value: $value,
    id: $id
  ) {
    id
    created
    updated
    assetId
    costTypeId
    createdByUserId
    currency
    originatingFromEventId
    originatingFromCommentId
    value
    costType {
      ...CostTypeFragment
    }
  }
}
Variables
{
  "assetId": HashedId,
  "costTypeId": HashedId,
  "currency": "xyz789",
  "originatingFromEventId": HashedId,
  "originatingFromCommentId": HashedId,
  "value": 123.45,
  "id": HashedId
}
Response
{
  "data": {
    "updateCost": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "assetId": HashedId,
      "costTypeId": HashedId,
      "createdByUserId": HashedId,
      "currency": "abc123",
      "originatingFromEventId": HashedId,
      "originatingFromCommentId": HashedId,
      "value": 123.45,
      "costType": CostType
    }
  }
}

updateDashboard

Response

Returns a Dashboard!

Arguments
Name Description
id - HashedId!
title - TranslationInput
grafanaDashboardUID - String
priority - Int
default - Boolean
filters - [DashboardMutationFilterInput!]

Example

Query
mutation updateDashboard(
  $id: HashedId!,
  $title: TranslationInput,
  $grafanaDashboardUID: String,
  $priority: Int,
  $default: Boolean,
  $filters: [DashboardMutationFilterInput!]
) {
  updateDashboard(
    id: $id,
    title: $title,
    grafanaDashboardUID: $grafanaDashboardUID,
    priority: $priority,
    default: $default,
    filters: $filters
  ) {
    id
    title {
      ...TranslationFragment
    }
    priority
    definition
    grafanaDashboardURL
    grafanaDashboardUID
    filters {
      ...DashboardFilterFragment
    }
    snapshotURL
    createdByUserId
    createdByGroupId
    default
  }
}
Variables
{
  "id": HashedId,
  "title": TranslationInput,
  "grafanaDashboardUID": "xyz789",
  "priority": 123,
  "default": false,
  "filters": [DashboardMutationFilterInput]
}
Response
{
  "data": {
    "updateDashboard": {
      "id": HashedId,
      "title": Translation,
      "priority": 123,
      "definition": {},
      "grafanaDashboardURL": "abc123",
      "grafanaDashboardUID": "xyz789",
      "filters": [DashboardFilter],
      "snapshotURL": "xyz789",
      "createdByUserId": HashedId,
      "createdByGroupId": HashedId,
      "default": true
    }
  }
}

updateDocument

Response

Returns [Document!]

Arguments
Name Description
id - HashedId!
name - String
assetId - HashedId
assetTypeId - HashedId
partId - HashedId
purpose - String
isVisibleToCustomer - Boolean
documentLink - String
uploadedByUserId - HashedId
file - Upload

Example

Query
mutation updateDocument(
  $id: HashedId!,
  $name: String,
  $assetId: HashedId,
  $assetTypeId: HashedId,
  $partId: HashedId,
  $purpose: String,
  $isVisibleToCustomer: Boolean,
  $documentLink: String,
  $uploadedByUserId: HashedId,
  $file: Upload
) {
  updateDocument(
    id: $id,
    name: $name,
    assetId: $assetId,
    assetTypeId: $assetTypeId,
    partId: $partId,
    purpose: $purpose,
    isVisibleToCustomer: $isVisibleToCustomer,
    documentLink: $documentLink,
    uploadedByUserId: $uploadedByUserId,
    file: $file
  ) {
    id
    name
    url
    typeKey
    assetId
    assetTypeId
    commentId
    eventId
    partId
    purpose
    isVisibleToCustomer
    uploadedByCustomer
    isExternal
    uploadedByUserId
    uploadedByUser {
      ...UserFragment
    }
    editable
    created
    updated
    isInherited
    fileSize
  }
}
Variables
{
  "id": HashedId,
  "name": "xyz789",
  "assetId": HashedId,
  "assetTypeId": HashedId,
  "partId": HashedId,
  "purpose": "abc123",
  "isVisibleToCustomer": true,
  "documentLink": "abc123",
  "uploadedByUserId": HashedId,
  "file": Upload
}
Response
{
  "data": {
    "updateDocument": [
      {
        "id": HashedId,
        "name": "xyz789",
        "url": "abc123",
        "typeKey": "abc123",
        "assetId": HashedId,
        "assetTypeId": HashedId,
        "commentId": HashedId,
        "eventId": HashedId,
        "partId": HashedId,
        "purpose": "abc123",
        "isVisibleToCustomer": true,
        "uploadedByCustomer": true,
        "isExternal": false,
        "uploadedByUserId": HashedId,
        "uploadedByUser": User,
        "editable": true,
        "created": 1592577642,
        "updated": 1592577642,
        "isInherited": true,
        "fileSize": 123
      }
    ]
  }
}

updateEvent

Response

Returns an Event

Arguments
Name Description
id - HashedId!
title - TranslationInput
description - TranslationInput
assetId - HashedId
newCosts - [NewCostInput!]
changedCosts - [ChangedCostInput!]
costsIdsToDelete - [HashedId!]
newAttachments - [Upload!]
documentsIdsToDelete - [HashedId!]
startTime - Timestamp

Example

Query
mutation updateEvent(
  $id: HashedId!,
  $title: TranslationInput,
  $description: TranslationInput,
  $assetId: HashedId,
  $newCosts: [NewCostInput!],
  $changedCosts: [ChangedCostInput!],
  $costsIdsToDelete: [HashedId!],
  $newAttachments: [Upload!],
  $documentsIdsToDelete: [HashedId!],
  $startTime: Timestamp
) {
  updateEvent(
    id: $id,
    title: $title,
    description: $description,
    assetId: $assetId,
    newCosts: $newCosts,
    changedCosts: $changedCosts,
    costsIdsToDelete: $costsIdsToDelete,
    newAttachments: $newAttachments,
    documentsIdsToDelete: $documentsIdsToDelete,
    startTime: $startTime
  ) {
    id
    createdByRule {
      ...RuleFragment
    }
    createdByRuleId
    createdByFlowResponse {
      ...FlowResponseFragment
    }
    createdByFlowResponseId
    createdByTicket {
      ...TicketFragment
    }
    createdByTicketId
    createdByWorkOrder {
      ...WorkOrderSummaryFragment
    }
    createdByWorkOrderId
    createdBySiteId
    originatingFromAsset {
      ...AssetFragment
    }
    originatingFromAssetId
    originatingFromModule {
      ...ModuleFragment
    }
    createdByPartId
    originatingFromModuleId
    title {
      ...TranslationFragment
    }
    titleId
    description {
      ...TranslationFragment
    }
    descriptionId
    createdByUser {
      ...UserFragment
    }
    createdByUserId
    stoppedByUser {
      ...UserFragment
    }
    stoppedByUserId
    eventStyle {
      ...EventStyleFragment
    }
    eventStyleId
    startTime
    endTime
    isCritical
    isImmediateNotification
    shouldNotify
    manualDeactivation
    isOngoing
    created
    updated
    responseState {
      ...TicketStateFragment
    }
    eventMeta
    serviceName {
      ...TranslationFragment
    }
    ticketId
    tag
    cost {
      ...CostFragment
    }
    costs {
      ...CostFragment
    }
    documents {
      ...DocumentFragment
    }
    workOrderNotifications {
      ...WorkOrderNotificationsFragment
    }
    connectedComment {
      ...TicketCommentFragment
    }
    authorEmail
    lastEvent
    createdByPart {
      ...PartFragment
    }
    data {
      ...EventEntityDataDtoFragment
    }
  }
}
Variables
{
  "id": HashedId,
  "title": TranslationInput,
  "description": TranslationInput,
  "assetId": HashedId,
  "newCosts": [NewCostInput],
  "changedCosts": [ChangedCostInput],
  "costsIdsToDelete": [HashedId],
  "newAttachments": [Upload],
  "documentsIdsToDelete": [HashedId],
  "startTime": 1592577642
}
Response
{
  "data": {
    "updateEvent": {
      "id": HashedId,
      "createdByRule": Rule,
      "createdByRuleId": HashedId,
      "createdByFlowResponse": FlowResponse,
      "createdByFlowResponseId": HashedId,
      "createdByTicket": Ticket,
      "createdByTicketId": HashedId,
      "createdByWorkOrder": WorkOrderSummary,
      "createdByWorkOrderId": HashedId,
      "createdBySiteId": HashedId,
      "originatingFromAsset": Asset,
      "originatingFromAssetId": HashedId,
      "originatingFromModule": Module,
      "createdByPartId": HashedId,
      "originatingFromModuleId": HashedId,
      "title": Translation,
      "titleId": HashedId,
      "description": Translation,
      "descriptionId": HashedId,
      "createdByUser": User,
      "createdByUserId": HashedId,
      "stoppedByUser": User,
      "stoppedByUserId": HashedId,
      "eventStyle": EventStyle,
      "eventStyleId": "abc123",
      "startTime": 1592577642,
      "endTime": 1592577642,
      "isCritical": true,
      "isImmediateNotification": true,
      "shouldNotify": true,
      "manualDeactivation": true,
      "isOngoing": false,
      "created": 1592577642,
      "updated": 1592577642,
      "responseState": TicketState,
      "eventMeta": {},
      "serviceName": Translation,
      "ticketId": 987,
      "tag": ["asset"],
      "cost": Cost,
      "costs": [Cost],
      "documents": [Document],
      "workOrderNotifications": WorkOrderNotifications,
      "connectedComment": TicketComment,
      "authorEmail": "xyz789",
      "lastEvent": 1592577642,
      "createdByPart": Part,
      "data": EventEntityDataDto
    }
  }
}

updateEventStyle

Response

Returns an EventStyle!

Arguments
Name Description
id - HashedId!
name - TranslationInput
iconIndex - Int
color - String

Example

Query
mutation updateEventStyle(
  $id: HashedId!,
  $name: TranslationInput,
  $iconIndex: Int,
  $color: String
) {
  updateEventStyle(
    id: $id,
    name: $name,
    iconIndex: $iconIndex,
    color: $color
  ) {
    id
    key
    nameId
    name {
      ...TranslationFragment
    }
    icon
    color
    createdByGroupId
  }
}
Variables
{
  "id": HashedId,
  "name": TranslationInput,
  "iconIndex": 987,
  "color": "xyz789"
}
Response
{
  "data": {
    "updateEventStyle": {
      "id": HashedId,
      "key": "ERROR",
      "nameId": HashedId,
      "name": Translation,
      "icon": "xyz789",
      "color": "abc123",
      "createdByGroupId": HashedId
    }
  }
}

updateFlow

Description

Note that on updating the flow definition, a new flow is created and returned, with the old one being archived

Response

Returns a Flow!

Arguments
Name Description
id - HashedId!
title - TranslationInput!
description - TranslationInput
definition - JSON

Example

Query
mutation updateFlow(
  $id: HashedId!,
  $title: TranslationInput!,
  $description: TranslationInput,
  $definition: JSON
) {
  updateFlow(
    id: $id,
    title: $title,
    description: $description,
    definition: $definition
  ) {
    id
    title {
      ...TranslationFragment
    }
    titleId
    description {
      ...TranslationFragment
    }
    descriptionId
    flowMaintainers {
      ...NotificationRelationFragment
    }
    definition
    createdByUserId
    created
    updated
    flowId
    assetId
    wasFinished
    submittedByUserId
    submittedByGroupId
  }
}
Variables
{
  "id": HashedId,
  "title": TranslationInput,
  "description": TranslationInput,
  "definition": {}
}
Response
{
  "data": {
    "updateFlow": {
      "id": HashedId,
      "title": Translation,
      "titleId": HashedId,
      "description": Translation,
      "descriptionId": HashedId,
      "flowMaintainers": [NotificationRelation],
      "definition": {},
      "createdByUserId": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "flowId": HashedId,
      "assetId": 987,
      "wasFinished": false,
      "submittedByUserId": 123,
      "submittedByGroupId": 987
    }
  }
}

updateGroup

Use groups.updateById instead
Response

Returns [Group!]!

Arguments
Name Description
id - HashedId!
flowId - HashedId
vatNumber - String
isCustomer - Boolean
getRawFlow - Boolean
servicePackageId - HashedId Can only be changed by internal TS users currently
settingsPath - String
handlerAlias - String
flowsEnabled - Boolean
defaultCurrency - String
userRequestNotifiers - [NotificationRelationCreateInput!] Passing empty array will remove all the relations
settings - JSON
internalSettings - JSON
hasTicketHandling - Boolean
identificationNumber - String
assetLocationsHidden - Boolean Only customer administrators can use this flag
name - String
parentGroupId - HashedId
flowMaintainers - [NotificationRelationCreateInput!]

Example

Query
mutation updateGroup(
  $id: HashedId!,
  $flowId: HashedId,
  $vatNumber: String,
  $isCustomer: Boolean,
  $getRawFlow: Boolean,
  $servicePackageId: HashedId,
  $settingsPath: String,
  $handlerAlias: String,
  $flowsEnabled: Boolean,
  $defaultCurrency: String,
  $userRequestNotifiers: [NotificationRelationCreateInput!],
  $settings: JSON,
  $internalSettings: JSON,
  $hasTicketHandling: Boolean,
  $identificationNumber: String,
  $assetLocationsHidden: Boolean,
  $name: String,
  $parentGroupId: HashedId,
  $flowMaintainers: [NotificationRelationCreateInput!]
) {
  updateGroup(
    id: $id,
    flowId: $flowId,
    vatNumber: $vatNumber,
    isCustomer: $isCustomer,
    getRawFlow: $getRawFlow,
    servicePackageId: $servicePackageId,
    settingsPath: $settingsPath,
    handlerAlias: $handlerAlias,
    flowsEnabled: $flowsEnabled,
    defaultCurrency: $defaultCurrency,
    userRequestNotifiers: $userRequestNotifiers,
    settings: $settings,
    internalSettings: $internalSettings,
    hasTicketHandling: $hasTicketHandling,
    identificationNumber: $identificationNumber,
    assetLocationsHidden: $assetLocationsHidden,
    name: $name,
    parentGroupId: $parentGroupId,
    flowMaintainers: $flowMaintainers
  ) {
    flow {
      ...FlowFragment
    }
    flowId
    id
    created
    updated
    name
    parentGroupId
    isRoot
    image
    isCustomer
    identificationNumber
    vatNumber
    rootGroupId
    handlerAlias
    treeRootId
    servicePackageId
    parentGroup {
      ...GroupFragment
    }
    services {
      ...ServiceFragment
    }
    servicesV2 {
      ...ServiceFragment
    }
    servicePackage {
      ...ServicePackageFragment
    }
    internalSettings
    nonCustomerParentGroup {
      ...GroupFragment
    }
    childGroups {
      ...GroupFragment
    }
    childGroupIds
    belongsToCurrentGroup
    customerRootGroup {
      ...GroupFragment
    }
    hasTicketHandling
    flowsEnabled
    rootGroupName
    flowMaintainers {
      ...NotificationRelationFragment
    }
    maintainedManufacturer {
      ...ManufacturerFragment
    }
    maintainedManufacturerId
    settings
    assetLocationsHidden
    users {
      ...UserFragment
    }
    userIds
    assets {
      ...AssetFragment
    }
    assetIds
    userRequestNotifiers {
      ...NotificationRelationFragment
    }
    customerName
    parentName
    groupType {
      ...ServicePackageFragment
    }
    groupTypeId
  }
}
Variables
{
  "id": HashedId,
  "flowId": HashedId,
  "vatNumber": "xyz789",
  "isCustomer": false,
  "getRawFlow": false,
  "servicePackageId": HashedId,
  "settingsPath": "xyz789",
  "handlerAlias": "xyz789",
  "flowsEnabled": true,
  "defaultCurrency": "abc123",
  "userRequestNotifiers": [
    NotificationRelationCreateInput
  ],
  "settings": {},
  "internalSettings": {},
  "hasTicketHandling": true,
  "identificationNumber": "abc123",
  "assetLocationsHidden": false,
  "name": "abc123",
  "parentGroupId": HashedId,
  "flowMaintainers": [NotificationRelationCreateInput]
}
Response
{
  "data": {
    "updateGroup": [
      {
        "flow": Flow,
        "flowId": HashedId,
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "name": "abc123",
        "parentGroupId": HashedId,
        "isRoot": true,
        "image": "xyz789",
        "isCustomer": true,
        "identificationNumber": "xyz789",
        "vatNumber": "xyz789",
        "rootGroupId": HashedId,
        "handlerAlias": "xyz789",
        "treeRootId": HashedId,
        "servicePackageId": HashedId,
        "parentGroup": Group,
        "services": [Service],
        "servicesV2": [Service],
        "servicePackage": ServicePackage,
        "internalSettings": {},
        "nonCustomerParentGroup": Group,
        "childGroups": [Group],
        "childGroupIds": [HashedId],
        "belongsToCurrentGroup": true,
        "customerRootGroup": Group,
        "hasTicketHandling": false,
        "flowsEnabled": false,
        "rootGroupName": "xyz789",
        "flowMaintainers": [NotificationRelation],
        "maintainedManufacturer": [Manufacturer],
        "maintainedManufacturerId": [HashedId],
        "settings": {},
        "assetLocationsHidden": false,
        "users": [User],
        "userIds": [HashedId],
        "assets": [Asset],
        "assetIds": [HashedId],
        "userRequestNotifiers": [NotificationRelation],
        "customerName": "xyz789",
        "parentName": "xyz789",
        "groupType": ServicePackage,
        "groupTypeId": HashedId
      }
    ]
  }
}

updateGroupById

Response

Returns a Group!

Arguments
Name Description
id - HashedId!
input - GroupUpdateInput!

Example

Query
mutation updateGroupById(
  $id: HashedId!,
  $input: GroupUpdateInput!
) {
  updateGroupById(
    id: $id,
    input: $input
  ) {
    flow {
      ...FlowFragment
    }
    flowId
    id
    created
    updated
    name
    parentGroupId
    isRoot
    image
    isCustomer
    identificationNumber
    vatNumber
    rootGroupId
    handlerAlias
    treeRootId
    servicePackageId
    parentGroup {
      ...GroupFragment
    }
    services {
      ...ServiceFragment
    }
    servicesV2 {
      ...ServiceFragment
    }
    servicePackage {
      ...ServicePackageFragment
    }
    internalSettings
    nonCustomerParentGroup {
      ...GroupFragment
    }
    childGroups {
      ...GroupFragment
    }
    childGroupIds
    belongsToCurrentGroup
    customerRootGroup {
      ...GroupFragment
    }
    hasTicketHandling
    flowsEnabled
    rootGroupName
    flowMaintainers {
      ...NotificationRelationFragment
    }
    maintainedManufacturer {
      ...ManufacturerFragment
    }
    maintainedManufacturerId
    settings
    assetLocationsHidden
    users {
      ...UserFragment
    }
    userIds
    assets {
      ...AssetFragment
    }
    assetIds
    userRequestNotifiers {
      ...NotificationRelationFragment
    }
    customerName
    parentName
    groupType {
      ...ServicePackageFragment
    }
    groupTypeId
  }
}
Variables
{
  "id": HashedId,
  "input": GroupUpdateInput
}
Response
{
  "data": {
    "updateGroupById": {
      "flow": Flow,
      "flowId": HashedId,
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "name": "xyz789",
      "parentGroupId": HashedId,
      "isRoot": true,
      "image": "abc123",
      "isCustomer": false,
      "identificationNumber": "abc123",
      "vatNumber": "xyz789",
      "rootGroupId": HashedId,
      "handlerAlias": "abc123",
      "treeRootId": HashedId,
      "servicePackageId": HashedId,
      "parentGroup": Group,
      "services": [Service],
      "servicesV2": [Service],
      "servicePackage": ServicePackage,
      "internalSettings": {},
      "nonCustomerParentGroup": Group,
      "childGroups": [Group],
      "childGroupIds": [HashedId],
      "belongsToCurrentGroup": false,
      "customerRootGroup": Group,
      "hasTicketHandling": false,
      "flowsEnabled": true,
      "rootGroupName": "xyz789",
      "flowMaintainers": [NotificationRelation],
      "maintainedManufacturer": [Manufacturer],
      "maintainedManufacturerId": [HashedId],
      "settings": {},
      "assetLocationsHidden": false,
      "users": [User],
      "userIds": [HashedId],
      "assets": [Asset],
      "assetIds": [HashedId],
      "userRequestNotifiers": [NotificationRelation],
      "customerName": "abc123",
      "parentName": "xyz789",
      "groupType": ServicePackage,
      "groupTypeId": HashedId
    }
  }
}

updateGroupImage

Description

Accepts jpg, jpeg, webp, gif, png (case insensitive). Will be contained to a 500px square with white background. 3 images generated:

  • _2x for high dpi screens
  • no suffix, half of the default size, this url will be provided
  • _thumb - 100px thumbnail Send an empty value to remove the image.
Response

Returns a Group!

Arguments
Name Description
id - HashedId!
file - Upload!

Example

Query
mutation updateGroupImage(
  $id: HashedId!,
  $file: Upload!
) {
  updateGroupImage(
    id: $id,
    file: $file
  ) {
    flow {
      ...FlowFragment
    }
    flowId
    id
    created
    updated
    name
    parentGroupId
    isRoot
    image
    isCustomer
    identificationNumber
    vatNumber
    rootGroupId
    handlerAlias
    treeRootId
    servicePackageId
    parentGroup {
      ...GroupFragment
    }
    services {
      ...ServiceFragment
    }
    servicesV2 {
      ...ServiceFragment
    }
    servicePackage {
      ...ServicePackageFragment
    }
    internalSettings
    nonCustomerParentGroup {
      ...GroupFragment
    }
    childGroups {
      ...GroupFragment
    }
    childGroupIds
    belongsToCurrentGroup
    customerRootGroup {
      ...GroupFragment
    }
    hasTicketHandling
    flowsEnabled
    rootGroupName
    flowMaintainers {
      ...NotificationRelationFragment
    }
    maintainedManufacturer {
      ...ManufacturerFragment
    }
    maintainedManufacturerId
    settings
    assetLocationsHidden
    users {
      ...UserFragment
    }
    userIds
    assets {
      ...AssetFragment
    }
    assetIds
    userRequestNotifiers {
      ...NotificationRelationFragment
    }
    customerName
    parentName
    groupType {
      ...ServicePackageFragment
    }
    groupTypeId
  }
}
Variables
{"id": HashedId, "file": Upload}
Response
{
  "data": {
    "updateGroupImage": {
      "flow": Flow,
      "flowId": HashedId,
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "name": "abc123",
      "parentGroupId": HashedId,
      "isRoot": true,
      "image": "xyz789",
      "isCustomer": true,
      "identificationNumber": "xyz789",
      "vatNumber": "xyz789",
      "rootGroupId": HashedId,
      "handlerAlias": "xyz789",
      "treeRootId": HashedId,
      "servicePackageId": HashedId,
      "parentGroup": Group,
      "services": [Service],
      "servicesV2": [Service],
      "servicePackage": ServicePackage,
      "internalSettings": {},
      "nonCustomerParentGroup": Group,
      "childGroups": [Group],
      "childGroupIds": [HashedId],
      "belongsToCurrentGroup": true,
      "customerRootGroup": Group,
      "hasTicketHandling": false,
      "flowsEnabled": true,
      "rootGroupName": "xyz789",
      "flowMaintainers": [NotificationRelation],
      "maintainedManufacturer": [Manufacturer],
      "maintainedManufacturerId": [HashedId],
      "settings": {},
      "assetLocationsHidden": false,
      "users": [User],
      "userIds": [HashedId],
      "assets": [Asset],
      "assetIds": [HashedId],
      "userRequestNotifiers": [NotificationRelation],
      "customerName": "xyz789",
      "parentName": "abc123",
      "groupType": ServicePackage,
      "groupTypeId": HashedId
    }
  }
}

updateIntegrationConfig

Response

Returns an Integration!

Arguments
Name Description
name - IntegrationNamesEnum!
configInput - [IntegrationUpdateInput!]!

Example

Query
mutation updateIntegrationConfig(
  $name: IntegrationNamesEnum!,
  $configInput: [IntegrationUpdateInput!]!
) {
  updateIntegrationConfig(
    name: $name,
    configInput: $configInput
  ) {
    id
    created
    updated
    name
    config {
      ...IntegrationConfigKeyFragment
    }
  }
}
Variables
{"name": "WISAG", "configInput": [IntegrationUpdateInput]}
Response
{
  "data": {
    "updateIntegrationConfig": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "name": "WISAG",
      "config": [IntegrationConfigKey]
    }
  }
}

updateLoginInterrupt

Response

Returns a LoginInterrupt

Arguments
Name Description
title - String!

Example

Query
mutation updateLoginInterrupt($title: String!) {
  updateLoginInterrupt(title: $title) {
    id
    title {
      ...TranslationFragment
    }
    titleId
    content {
      ...TranslationFragment
    }
    contentId
    visibleToGroupIds
    visibleToGroups {
      ...GroupFragment
    }
    created
    updated
  }
}
Variables
{"title": "xyz789"}
Response
{
  "data": {
    "updateLoginInterrupt": {
      "id": HashedId,
      "title": Translation,
      "titleId": HashedId,
      "content": Translation,
      "contentId": HashedId,
      "visibleToGroupIds": [HashedId],
      "visibleToGroups": [Group],
      "created": 1592577642,
      "updated": 1592577642
    }
  }
}

updateMaintenanceSchedule

Response

Returns an AssetMaintenanceSchedule

Arguments
Name Description
id - HashedId!
interval - Int!
lastMaintenance - Date
nextMaintenance - Date!

Example

Query
mutation updateMaintenanceSchedule(
  $id: HashedId!,
  $interval: Int!,
  $lastMaintenance: Date,
  $nextMaintenance: Date!
) {
  updateMaintenanceSchedule(
    id: $id,
    interval: $interval,
    lastMaintenance: $lastMaintenance,
    nextMaintenance: $nextMaintenance
  ) {
    id
    assetId
    interval
    lastMaintenance
    nextMaintenance
    lastMaintenanceLastEdited {
      ...AssetMaintenanceScheduleEditNoteFragment
    }
    nextMaintenanceLastEdited {
      ...AssetMaintenanceScheduleEditNoteFragment
    }
  }
}
Variables
{
  "id": HashedId,
  "interval": 987,
  "lastMaintenance": "2007-12-03",
  "nextMaintenance": "2007-12-03"
}
Response
{
  "data": {
    "updateMaintenanceSchedule": {
      "id": HashedId,
      "assetId": HashedId,
      "interval": 123,
      "lastMaintenance": "2007-12-03",
      "nextMaintenance": "2007-12-03",
      "lastMaintenanceLastEdited": AssetMaintenanceScheduleEditNote,
      "nextMaintenanceLastEdited": AssetMaintenanceScheduleEditNote
    }
  }
}

updateManufacturerById

Response

Returns a Manufacturer!

Arguments
Name Description
id - HashedId!
input - ManufacturerUpdateInput!

Example

Query
mutation updateManufacturerById(
  $id: HashedId!,
  $input: ManufacturerUpdateInput!
) {
  updateManufacturerById(
    id: $id,
    input: $input
  ) {
    id
    created
    updated
    name
    nameKey
    notificationsEnabled
    maintainedByGroupId
    maintainedByGroup {
      ...GroupFragment
    }
    assetIntegrations {
      ...AssetIntegrationFragment
    }
    assetIntegrationIds
  }
}
Variables
{
  "id": HashedId,
  "input": ManufacturerUpdateInput
}
Response
{
  "data": {
    "updateManufacturerById": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "name": "xyz789",
      "nameKey": "xyz789",
      "notificationsEnabled": true,
      "maintainedByGroupId": 123,
      "maintainedByGroup": Group,
      "assetIntegrations": [AssetIntegration],
      "assetIntegrationIds": [HashedId]
    }
  }
}

updateModule

Response

Returns a Module

Arguments
Name Description
id - HashedId
imei - String
stripeCustomerId - String
stripePriceId - String
moduleRevision - String
isFake - Boolean

Example

Query
mutation updateModule(
  $id: HashedId,
  $imei: String,
  $stripeCustomerId: String,
  $stripePriceId: String,
  $moduleRevision: String,
  $isFake: Boolean
) {
  updateModule(
    id: $id,
    imei: $imei,
    stripeCustomerId: $stripeCustomerId,
    stripePriceId: $stripePriceId,
    moduleRevision: $moduleRevision,
    isFake: $isFake
  ) {
    id
    imei
    stripeCustomerId
    stripePriceId
    moduleType {
      ...ModuleTypeFragment
    }
    moduleTypeId
    moduleRevision
    moduleVersionNr
    assetVersionNr
    assignedToAsset {
      ...AssetFragment
    }
    assignedToAssetId
    assignedToAssets {
      ...AssetFragment
    }
    assignedToAssetIds
    currentPrice
    price {
      ...StripePriceFragment
    }
    isFake
    created
    updated
  }
}
Variables
{
  "id": HashedId,
  "imei": "xyz789",
  "stripeCustomerId": "abc123",
  "stripePriceId": "xyz789",
  "moduleRevision": "abc123",
  "isFake": true
}
Response
{
  "data": {
    "updateModule": {
      "id": HashedId,
      "imei": "abc123",
      "stripeCustomerId": "xyz789",
      "stripePriceId": "abc123",
      "moduleType": ModuleType,
      "moduleTypeId": HashedId,
      "moduleRevision": "abc123",
      "moduleVersionNr": "xyz789",
      "assetVersionNr": "xyz789",
      "assignedToAsset": Asset,
      "assignedToAssetId": HashedId,
      "assignedToAssets": [Asset],
      "assignedToAssetIds": [HashedId],
      "currentPrice": 123.45,
      "price": StripePrice,
      "isFake": true,
      "created": 1592577642,
      "updated": 1592577642
    }
  }
}

updateNotificationByTicketId

Response

Returns a NotificationFilter!

Arguments
Name Description
id - HashedId!
input - NotificationFilterUpdateInput!

Example

Query
mutation updateNotificationByTicketId(
  $id: HashedId!,
  $input: NotificationFilterUpdateInput!
) {
  updateNotificationByTicketId(
    id: $id,
    input: $input
  ) {
    id
    state
    preferences
  }
}
Variables
{
  "id": HashedId,
  "input": NotificationFilterUpdateInput
}
Response
{
  "data": {
    "updateNotificationByTicketId": {
      "id": HashedId,
      "state": false,
      "preferences": {}
    }
  }
}

updateOTAUpdate

Response

Returns an OTAUpdate

Arguments
Name Description
assetIntegrationId - HashedId!

Example

Query
mutation updateOTAUpdate($assetIntegrationId: HashedId!) {
  updateOTAUpdate(assetIntegrationId: $assetIntegrationId) {
    id
    fileName
    versionName
    assetIntegration {
      ...AssetIntegrationFragment
    }
    assetIntegrationId
    description {
      ...TranslationFragment
    }
    descriptionId
    created
    updated
  }
}
Variables
{"assetIntegrationId": HashedId}
Response
{
  "data": {
    "updateOTAUpdate": {
      "id": HashedId,
      "fileName": "xyz789",
      "versionName": "abc123",
      "assetIntegration": AssetIntegration,
      "assetIntegrationId": HashedId,
      "description": Translation,
      "descriptionId": HashedId,
      "created": 1592577642,
      "updated": 1592577642
    }
  }
}

updatePart

Response

Returns a Part!

Arguments
Name Description
part - PartUpdateInput!

Example

Query
mutation updatePart($part: PartUpdateInput!) {
  updatePart(part: $part) {
    id
    created
    updated
    publicId
    type
    nameId
    name {
      ...TranslationFragment
    }
    descriptionId
    description {
      ...TranslationFragment
    }
    siteId
    site {
      ...SiteFragment
    }
    area
    availableQuantity
    minQuantity
    maxQuantity
    unitOfMeasure
    unitCost
    currency
    totalStockValue
    groupId
    group {
      ...GroupFragment
    }
    customerId
    customer {
      ...GroupFragment
    }
    externalId
    uuid
    qrAttached
    brand
    responsiblePerson
    vendor
    image
    shouldNotifyCriticalStockLevel
    sendNotificationsTo {
      ...RuleNotificationRelationFragment
    }
    documents {
      ...DocumentFragment
    }
    events {
      ...EventFragment
    }
    createdByGroupId
    createdByGroup {
      ...GroupFragment
    }
    createdByUserId
    createdByUser {
      ...UserFragment
    }
    isArchived
  }
}
Variables
{"part": PartUpdateInput}
Response
{
  "data": {
    "updatePart": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "publicId": 987,
      "type": "abc123",
      "nameId": HashedId,
      "name": Translation,
      "descriptionId": HashedId,
      "description": Translation,
      "siteId": HashedId,
      "site": Site,
      "area": "xyz789",
      "availableQuantity": 987,
      "minQuantity": 987,
      "maxQuantity": 123,
      "unitOfMeasure": "abc123",
      "unitCost": 987.65,
      "currency": "abc123",
      "totalStockValue": 123.45,
      "groupId": HashedId,
      "group": Group,
      "customerId": HashedId,
      "customer": Group,
      "externalId": "xyz789",
      "uuid": "xyz789",
      "qrAttached": false,
      "brand": "xyz789",
      "responsiblePerson": "xyz789",
      "vendor": "abc123",
      "image": "abc123",
      "shouldNotifyCriticalStockLevel": false,
      "sendNotificationsTo": [RuleNotificationRelation],
      "documents": [Document],
      "events": [Event],
      "createdByGroupId": HashedId,
      "createdByGroup": Group,
      "createdByUserId": HashedId,
      "createdByUser": User,
      "isArchived": true
    }
  }
}

updatePartImage

Response

Returns a Part!

Arguments
Name Description
part - FileUpdateInput!

Example

Query
mutation updatePartImage($part: FileUpdateInput!) {
  updatePartImage(part: $part) {
    id
    created
    updated
    publicId
    type
    nameId
    name {
      ...TranslationFragment
    }
    descriptionId
    description {
      ...TranslationFragment
    }
    siteId
    site {
      ...SiteFragment
    }
    area
    availableQuantity
    minQuantity
    maxQuantity
    unitOfMeasure
    unitCost
    currency
    totalStockValue
    groupId
    group {
      ...GroupFragment
    }
    customerId
    customer {
      ...GroupFragment
    }
    externalId
    uuid
    qrAttached
    brand
    responsiblePerson
    vendor
    image
    shouldNotifyCriticalStockLevel
    sendNotificationsTo {
      ...RuleNotificationRelationFragment
    }
    documents {
      ...DocumentFragment
    }
    events {
      ...EventFragment
    }
    createdByGroupId
    createdByGroup {
      ...GroupFragment
    }
    createdByUserId
    createdByUser {
      ...UserFragment
    }
    isArchived
  }
}
Variables
{"part": FileUpdateInput}
Response
{
  "data": {
    "updatePartImage": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "publicId": 987,
      "type": "abc123",
      "nameId": HashedId,
      "name": Translation,
      "descriptionId": HashedId,
      "description": Translation,
      "siteId": HashedId,
      "site": Site,
      "area": "abc123",
      "availableQuantity": 123,
      "minQuantity": 987,
      "maxQuantity": 123,
      "unitOfMeasure": "abc123",
      "unitCost": 987.65,
      "currency": "xyz789",
      "totalStockValue": 987.65,
      "groupId": HashedId,
      "group": Group,
      "customerId": HashedId,
      "customer": Group,
      "externalId": "abc123",
      "uuid": "xyz789",
      "qrAttached": true,
      "brand": "xyz789",
      "responsiblePerson": "abc123",
      "vendor": "xyz789",
      "image": "xyz789",
      "shouldNotifyCriticalStockLevel": true,
      "sendNotificationsTo": [RuleNotificationRelation],
      "documents": [Document],
      "events": [Event],
      "createdByGroupId": HashedId,
      "createdByGroup": Group,
      "createdByUserId": HashedId,
      "createdByUser": User,
      "isArchived": false
    }
  }
}

updateReservation

Response

Returns [Reservation!]

Arguments
Name Description
id - HashedId!
from - Timestamp
until - Timestamp
assetIds - [HashedId]
reserverName - String
notes - TranslationInput
workingHoursSettings - JSON Updates a working hour setting. See Rules schema for syntax. Set to null to remove working hours.
workingHoursNotification - [RuleNotificationRelationInput] When a working hours event happens, send notifications to these entities

Example

Query
mutation updateReservation(
  $id: HashedId!,
  $from: Timestamp,
  $until: Timestamp,
  $assetIds: [HashedId],
  $reserverName: String,
  $notes: TranslationInput,
  $workingHoursSettings: JSON,
  $workingHoursNotification: [RuleNotificationRelationInput]
) {
  updateReservation(
    id: $id,
    from: $from,
    until: $until,
    assetIds: $assetIds,
    reserverName: $reserverName,
    notes: $notes,
    workingHoursSettings: $workingHoursSettings,
    workingHoursNotification: $workingHoursNotification
  ) {
    id
    from
    until
    reserverName
    assets {
      ...AssetFragment
    }
    assetIds
    workingHoursSettings
    workingHoursNotification {
      ...RuleNotificationRelationFragment
    }
    notes {
      ...TranslationFragment
    }
    notesId
    createdByUser {
      ...UserFragment
    }
    createdByUserId
    createdByGroup {
      ...GroupFragment
    }
    createdByGroupId
    created
    updated
  }
}
Variables
{
  "id": HashedId,
  "from": 1592577642,
  "until": 1592577642,
  "assetIds": [HashedId],
  "reserverName": "xyz789",
  "notes": TranslationInput,
  "workingHoursSettings": {},
  "workingHoursNotification": [
    RuleNotificationRelationInput
  ]
}
Response
{
  "data": {
    "updateReservation": [
      {
        "id": HashedId,
        "from": 1592577642,
        "until": 1592577642,
        "reserverName": "abc123",
        "assets": [Asset],
        "assetIds": [HashedId],
        "workingHoursSettings": {},
        "workingHoursNotification": [
          RuleNotificationRelation
        ],
        "notes": Translation,
        "notesId": HashedId,
        "createdByUser": User,
        "createdByUserId": HashedId,
        "createdByGroup": Group,
        "createdByGroupId": HashedId,
        "created": 1592577642,
        "updated": 1592577642
      }
    ]
  }
}

updateRule

Response

Returns a Rule!

Arguments
Name Description
id - HashedId!
title - TranslationInput
description - TranslationInput
definition - JSON
isActive - Boolean
isOneshot - Boolean
source - RuleSource!
assetIds - [HashedId!]
assetTypeIds - [HashedId!]
assignedToGroupId - HashedId
duration - JSON
relations - RuleRelationInput!
isCritical - Boolean
isImmediateNotification - Boolean
isOnetime - Boolean
isGlobalRule - Boolean
manualDeactivation - Boolean
eventStyleId - HashedId!
assetBlacklistIds - [HashedId!]
sendNotificationsTo - [RuleNotificationRelationInput] Add entities who will be notified when this rule is triggered. See type for possibilities.
eventsConfigs - [EventConfigInput]
serviceIds - [HashedId]

Example

Query
mutation updateRule(
  $id: HashedId!,
  $title: TranslationInput,
  $description: TranslationInput,
  $definition: JSON,
  $isActive: Boolean,
  $isOneshot: Boolean,
  $source: RuleSource!,
  $assetIds: [HashedId!],
  $assetTypeIds: [HashedId!],
  $assignedToGroupId: HashedId,
  $duration: JSON,
  $relations: RuleRelationInput!,
  $isCritical: Boolean,
  $isImmediateNotification: Boolean,
  $isOnetime: Boolean,
  $isGlobalRule: Boolean,
  $manualDeactivation: Boolean,
  $eventStyleId: HashedId!,
  $assetBlacklistIds: [HashedId!],
  $sendNotificationsTo: [RuleNotificationRelationInput],
  $eventsConfigs: [EventConfigInput],
  $serviceIds: [HashedId]
) {
  updateRule(
    id: $id,
    title: $title,
    description: $description,
    definition: $definition,
    isActive: $isActive,
    isOneshot: $isOneshot,
    source: $source,
    assetIds: $assetIds,
    assetTypeIds: $assetTypeIds,
    assignedToGroupId: $assignedToGroupId,
    duration: $duration,
    relations: $relations,
    isCritical: $isCritical,
    isImmediateNotification: $isImmediateNotification,
    isOnetime: $isOnetime,
    isGlobalRule: $isGlobalRule,
    manualDeactivation: $manualDeactivation,
    eventStyleId: $eventStyleId,
    assetBlacklistIds: $assetBlacklistIds,
    sendNotificationsTo: $sendNotificationsTo,
    eventsConfigs: $eventsConfigs,
    serviceIds: $serviceIds
  ) {
    definition
    module {
      ...ModuleFragment
    }
    moduleId
    assetBlacklist {
      ...AssetFragment
    }
    assetBlacklistIds
    sendNotificationsTo {
      ...RuleNotificationRelationFragment
    }
    duration
    relations {
      ...RuleRelationFragment
    }
    eventsConfigs {
      ...EventConfigFragment
    }
    id
    created
    updated
    title {
      ...TranslationFragment
    }
    description {
      ...TranslationFragment
    }
    createdByUser {
      ...UserFragment
    }
    createdByGroup {
      ...GroupFragment
    }
    assignedToGroup {
      ...GroupFragment
    }
    eventStyle {
      ...EventStyleFragment
    }
    titleId
    descriptionId
    createdByGroupId
    createdByUserId
    assignedToGroupId
    eventStyleId
    isCritical
    isOnetime
    isImmediateNotification
    isGlobalRule
    manualDeactivation
    isArchived
    isOneshot
    isActive
    source
    enabled
    purpose
    servicesV2 {
      ...ServiceFragment
    }
    services {
      ...ServiceFragment
    }
    publicId
  }
}
Variables
{
  "id": HashedId,
  "title": TranslationInput,
  "description": TranslationInput,
  "definition": {},
  "isActive": false,
  "isOneshot": false,
  "source": "DATA",
  "assetIds": [HashedId],
  "assetTypeIds": [HashedId],
  "assignedToGroupId": HashedId,
  "duration": {},
  "relations": RuleRelationInput,
  "isCritical": true,
  "isImmediateNotification": false,
  "isOnetime": true,
  "isGlobalRule": true,
  "manualDeactivation": true,
  "eventStyleId": HashedId,
  "assetBlacklistIds": [HashedId],
  "sendNotificationsTo": [RuleNotificationRelationInput],
  "eventsConfigs": [EventConfigInput],
  "serviceIds": [HashedId]
}
Response
{
  "data": {
    "updateRule": {
      "definition": {},
      "module": [Module],
      "moduleId": [HashedId],
      "assetBlacklist": [Asset],
      "assetBlacklistIds": [HashedId],
      "sendNotificationsTo": [RuleNotificationRelation],
      "duration": {},
      "relations": [RuleRelation],
      "eventsConfigs": [EventConfig],
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "title": Translation,
      "description": Translation,
      "createdByUser": User,
      "createdByGroup": Group,
      "assignedToGroup": Group,
      "eventStyle": EventStyle,
      "titleId": HashedId,
      "descriptionId": HashedId,
      "createdByGroupId": HashedId,
      "createdByUserId": HashedId,
      "assignedToGroupId": HashedId,
      "eventStyleId": HashedId,
      "isCritical": true,
      "isOnetime": false,
      "isImmediateNotification": false,
      "isGlobalRule": true,
      "manualDeactivation": true,
      "isArchived": false,
      "isOneshot": true,
      "isActive": true,
      "source": "DATA",
      "enabled": false,
      "purpose": "GEOFENCE",
      "servicesV2": [Service],
      "services": [Service],
      "publicId": "abc123"
    }
  }
}

updateRuleAddCheck

Description

A light-weight rule update mutation, specifically intended to add new asset checks and avoid redundantly overwriting anything that remains unchanged

Response

Returns a Rule!

Arguments
Name Description
id - HashedId!
relations - RuleRelationInput!
eventsConfigs - [EventConfigInput]

Example

Query
mutation updateRuleAddCheck(
  $id: HashedId!,
  $relations: RuleRelationInput!,
  $eventsConfigs: [EventConfigInput]
) {
  updateRuleAddCheck(
    id: $id,
    relations: $relations,
    eventsConfigs: $eventsConfigs
  ) {
    definition
    module {
      ...ModuleFragment
    }
    moduleId
    assetBlacklist {
      ...AssetFragment
    }
    assetBlacklistIds
    sendNotificationsTo {
      ...RuleNotificationRelationFragment
    }
    duration
    relations {
      ...RuleRelationFragment
    }
    eventsConfigs {
      ...EventConfigFragment
    }
    id
    created
    updated
    title {
      ...TranslationFragment
    }
    description {
      ...TranslationFragment
    }
    createdByUser {
      ...UserFragment
    }
    createdByGroup {
      ...GroupFragment
    }
    assignedToGroup {
      ...GroupFragment
    }
    eventStyle {
      ...EventStyleFragment
    }
    titleId
    descriptionId
    createdByGroupId
    createdByUserId
    assignedToGroupId
    eventStyleId
    isCritical
    isOnetime
    isImmediateNotification
    isGlobalRule
    manualDeactivation
    isArchived
    isOneshot
    isActive
    source
    enabled
    purpose
    servicesV2 {
      ...ServiceFragment
    }
    services {
      ...ServiceFragment
    }
    publicId
  }
}
Variables
{
  "id": HashedId,
  "relations": RuleRelationInput,
  "eventsConfigs": [EventConfigInput]
}
Response
{
  "data": {
    "updateRuleAddCheck": {
      "definition": {},
      "module": [Module],
      "moduleId": [HashedId],
      "assetBlacklist": [Asset],
      "assetBlacklistIds": [HashedId],
      "sendNotificationsTo": [RuleNotificationRelation],
      "duration": {},
      "relations": [RuleRelation],
      "eventsConfigs": [EventConfig],
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "title": Translation,
      "description": Translation,
      "createdByUser": User,
      "createdByGroup": Group,
      "assignedToGroup": Group,
      "eventStyle": EventStyle,
      "titleId": HashedId,
      "descriptionId": HashedId,
      "createdByGroupId": HashedId,
      "createdByUserId": HashedId,
      "assignedToGroupId": HashedId,
      "eventStyleId": HashedId,
      "isCritical": true,
      "isOnetime": false,
      "isImmediateNotification": true,
      "isGlobalRule": true,
      "manualDeactivation": false,
      "isArchived": true,
      "isOneshot": true,
      "isActive": false,
      "source": "DATA",
      "enabled": false,
      "purpose": "GEOFENCE",
      "servicesV2": [Service],
      "services": [Service],
      "publicId": "abc123"
    }
  }
}

updateService

Description

This can only be used by TS platform admins for now

Response

Returns a Service!

Arguments
Name Description
id - HashedId!
keys - [String]
title - TranslationInput
formId - String
iconUrl - String
isServiceCheck - Boolean
procedureTemplateId - HashedId
assigneeAutomationId - Int
suggestedServicePartner - String

Example

Query
mutation updateService(
  $id: HashedId!,
  $keys: [String],
  $title: TranslationInput,
  $formId: String,
  $iconUrl: String,
  $isServiceCheck: Boolean,
  $procedureTemplateId: HashedId,
  $assigneeAutomationId: Int,
  $suggestedServicePartner: String
) {
  updateService(
    id: $id,
    keys: $keys,
    title: $title,
    formId: $formId,
    iconUrl: $iconUrl,
    isServiceCheck: $isServiceCheck,
    procedureTemplateId: $procedureTemplateId,
    assigneeAutomationId: $assigneeAutomationId,
    suggestedServicePartner: $suggestedServicePartner
  ) {
    id
    created
    updated
    title {
      ...TranslationFragment
    }
    titleId
    procedureTemplateId
    publicProcedureTemplateId
    keys
    contentType
    iconUrl
    formId
    isServiceCheck
    assigneeAutomationId
    createdByGroupId
    suggestedServicePartner
    servicePackage {
      ...ServicePackageFragment
    }
    servicePackages {
      ...ServicePackageFragment
    }
    procedureTemplate {
      ...ProcedureTemplateFragment
    }
    belongsToGroupTypeId
    rules {
      ...RuleFragment
    }
    canBeDeleted
  }
}
Variables
{
  "id": HashedId,
  "keys": ["abc123"],
  "title": TranslationInput,
  "formId": "xyz789",
  "iconUrl": "xyz789",
  "isServiceCheck": false,
  "procedureTemplateId": HashedId,
  "assigneeAutomationId": 987,
  "suggestedServicePartner": "xyz789"
}
Response
{
  "data": {
    "updateService": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "title": Translation,
      "titleId": HashedId,
      "procedureTemplateId": HashedId,
      "publicProcedureTemplateId": 123,
      "keys": ["abc123"],
      "contentType": "formHtml",
      "iconUrl": "xyz789",
      "formId": "abc123",
      "isServiceCheck": false,
      "assigneeAutomationId": 987,
      "createdByGroupId": HashedId,
      "suggestedServicePartner": "abc123",
      "servicePackage": ServicePackage,
      "servicePackages": [ServicePackage],
      "procedureTemplate": ProcedureTemplate,
      "belongsToGroupTypeId": HashedId,
      "rules": [Rule],
      "canBeDeleted": true
    }
  }
}

updateServicePackage

Response

Returns [ServicePackage!]

Arguments
Name Description
id - HashedId!
title - TranslationInput
flowTitle - TranslationInput
flowDefinition - JSON
getRawFlow - Boolean

Example

Query
mutation updateServicePackage(
  $id: HashedId!,
  $title: TranslationInput,
  $flowTitle: TranslationInput,
  $flowDefinition: JSON,
  $getRawFlow: Boolean
) {
  updateServicePackage(
    id: $id,
    title: $title,
    flowTitle: $flowTitle,
    flowDefinition: $flowDefinition,
    getRawFlow: $getRawFlow
  ) {
    id
    titleId
    createdByUserId
    createdByGroupId
    createdByGroup {
      ...GroupFragment
    }
    flow {
      ...FlowFragment
    }
    flowId
    services {
      ...ServiceFragment
    }
    created
    updated
    deleted
    assignedGroupsCount
    assignedSitesCount
    canBeDeleted
    title {
      ...TranslationFragment
    }
    createdByUser {
      ...UserFragment
    }
  }
}
Variables
{
  "id": HashedId,
  "title": TranslationInput,
  "flowTitle": TranslationInput,
  "flowDefinition": {},
  "getRawFlow": true
}
Response
{
  "data": {
    "updateServicePackage": [
      {
        "id": HashedId,
        "titleId": HashedId,
        "createdByUserId": HashedId,
        "createdByGroupId": HashedId,
        "createdByGroup": Group,
        "flow": Flow,
        "flowId": HashedId,
        "services": [Service],
        "created": 1592577642,
        "updated": 1592577642,
        "deleted": 1592577642,
        "assignedGroupsCount": 987,
        "assignedSitesCount": 987,
        "canBeDeleted": false,
        "title": Translation,
        "createdByUser": User
      }
    ]
  }
}

updateServices

Description

This can only be used by TS platform admins for now

Response

Returns [Service]

Arguments
Name Description
services - [UpdateServiceInput]

Example

Query
mutation updateServices($services: [UpdateServiceInput]) {
  updateServices(services: $services) {
    id
    created
    updated
    title {
      ...TranslationFragment
    }
    titleId
    procedureTemplateId
    publicProcedureTemplateId
    keys
    contentType
    iconUrl
    formId
    isServiceCheck
    assigneeAutomationId
    createdByGroupId
    suggestedServicePartner
    servicePackage {
      ...ServicePackageFragment
    }
    servicePackages {
      ...ServicePackageFragment
    }
    procedureTemplate {
      ...ProcedureTemplateFragment
    }
    belongsToGroupTypeId
    rules {
      ...RuleFragment
    }
    canBeDeleted
  }
}
Variables
{"services": [UpdateServiceInput]}
Response
{
  "data": {
    "updateServices": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "title": Translation,
        "titleId": HashedId,
        "procedureTemplateId": HashedId,
        "publicProcedureTemplateId": 123,
        "keys": ["abc123"],
        "contentType": "formHtml",
        "iconUrl": "xyz789",
        "formId": "xyz789",
        "isServiceCheck": true,
        "assigneeAutomationId": 987,
        "createdByGroupId": HashedId,
        "suggestedServicePartner": "xyz789",
        "servicePackage": ServicePackage,
        "servicePackages": [ServicePackage],
        "procedureTemplate": ProcedureTemplate,
        "belongsToGroupTypeId": HashedId,
        "rules": [Rule],
        "canBeDeleted": true
      }
    ]
  }
}

updateSite

Response

Returns [Site!]

Arguments
Name Description
id - HashedId!
externalId - String An id that is referring to some external source. Like an ERP System or another external Task/Order management system This is not a unique identifier in our system. This is technically not feasible!
name - String!

The name of the a site. This is usualy not a clear identifier. Examples of site names would be:

  • Billa
  • WeXelerate
  • Uniqa Wien 1020 This is the name that our customers are using to communicate roughly about what site they mean. To really identify a site they use some kind of contract number.
isFixed - Boolean! Specifies if the site is tied to a fixed location - like a building. Not fixed locations could be a moving vehicle or a team.
locationText - String
accountNumber - String Account number - arbitrary, for the Manufacturer to assign them their interal description
address - String Formatted address consisting of street and street number
country - String
customerNumber - String Customer number - arbitrary, for the Customer to manage their own Customers
siteManagerName - String Name of the contact person of the site
email - String Email address of the contact person of the site
postalCode - String
telephone - String Telephone number of the contact person of the site
geofenceSettings - JSON Geofence settings, if set. See Rules schema for syntax.
containsAssetsToModifyByGroup - Boolean If it has associated assets which group needs to be updated to the new one
assignedToGroupId - HashedId
coordinates - CoordinatesInput
disableWebhooks - Boolean
geofenceNotification - [RuleNotificationRelationInput] When a geofence event happens, send notifications to these entities

Example

Query
mutation updateSite(
  $id: HashedId!,
  $externalId: String,
  $name: String!,
  $isFixed: Boolean!,
  $locationText: String,
  $accountNumber: String,
  $address: String,
  $country: String,
  $customerNumber: String,
  $siteManagerName: String,
  $email: String,
  $postalCode: String,
  $telephone: String,
  $geofenceSettings: JSON,
  $containsAssetsToModifyByGroup: Boolean,
  $assignedToGroupId: HashedId,
  $coordinates: CoordinatesInput,
  $disableWebhooks: Boolean,
  $geofenceNotification: [RuleNotificationRelationInput]
) {
  updateSite(
    id: $id,
    externalId: $externalId,
    name: $name,
    isFixed: $isFixed,
    locationText: $locationText,
    accountNumber: $accountNumber,
    address: $address,
    country: $country,
    customerNumber: $customerNumber,
    siteManagerName: $siteManagerName,
    email: $email,
    postalCode: $postalCode,
    telephone: $telephone,
    geofenceSettings: $geofenceSettings,
    containsAssetsToModifyByGroup: $containsAssetsToModifyByGroup,
    assignedToGroupId: $assignedToGroupId,
    coordinates: $coordinates,
    disableWebhooks: $disableWebhooks,
    geofenceNotification: $geofenceNotification
  ) {
    id
    externalId
    name
    isFixed
    locationText
    address
    coordinates {
      ...CoordinatesFragment
    }
    assignedToGroup {
      ...GroupFragment
    }
    assignedToGroupId
    createdByGroup {
      ...GroupFragment
    }
    createdByGroupId
    accountNumber
    customerNumber
    siteManagerName
    email
    telephone
    postalCode
    country
    geofenceSettings
    geofenceNotification {
      ...RuleNotificationRelationFragment
    }
    containsAssetsToModifyByGroup
    created
    assetsCount
    updated
    note
    image
    parentSite {
      ...SiteFragment
    }
    parentSiteId
    servicePackageId
    shouldInheritServicePackage
    servicePackage {
      ...ServicePackageFragment
    }
    shouldInheritGeofenceSettings
    shouldInheritManagerDetails
    groupTreeRootId
    lat
    lng
    siteTypeId
    qrAttached
    uuid
    events {
      ...EventFragment
    }
    publicId
    siteType {
      ...SiteTypeFragment
    }
  }
}
Variables
{
  "id": HashedId,
  "externalId": "xyz789",
  "name": "abc123",
  "isFixed": true,
  "locationText": "xyz789",
  "accountNumber": "xyz789",
  "address": "abc123",
  "country": "abc123",
  "customerNumber": "xyz789",
  "siteManagerName": "abc123",
  "email": "xyz789",
  "postalCode": "abc123",
  "telephone": "xyz789",
  "geofenceSettings": {},
  "containsAssetsToModifyByGroup": false,
  "assignedToGroupId": HashedId,
  "coordinates": CoordinatesInput,
  "disableWebhooks": true,
  "geofenceNotification": [RuleNotificationRelationInput]
}
Response
{
  "data": {
    "updateSite": [
      {
        "id": HashedId,
        "externalId": "xyz789",
        "name": "xyz789",
        "isFixed": true,
        "locationText": "abc123",
        "address": "xyz789",
        "coordinates": Coordinates,
        "assignedToGroup": Group,
        "assignedToGroupId": HashedId,
        "createdByGroup": Group,
        "createdByGroupId": HashedId,
        "accountNumber": "xyz789",
        "customerNumber": "abc123",
        "siteManagerName": "xyz789",
        "email": "abc123",
        "telephone": "abc123",
        "postalCode": "abc123",
        "country": "xyz789",
        "geofenceSettings": {},
        "geofenceNotification": [
          RuleNotificationRelation
        ],
        "containsAssetsToModifyByGroup": false,
        "created": 1592577642,
        "assetsCount": 123,
        "updated": 1592577642,
        "note": "xyz789",
        "image": "abc123",
        "parentSite": Site,
        "parentSiteId": HashedId,
        "servicePackageId": HashedId,
        "shouldInheritServicePackage": true,
        "servicePackage": ServicePackage,
        "shouldInheritGeofenceSettings": false,
        "shouldInheritManagerDetails": true,
        "groupTreeRootId": HashedId,
        "lat": "abc123",
        "lng": "xyz789",
        "siteTypeId": HashedId,
        "qrAttached": true,
        "uuid": "xyz789",
        "events": [Event],
        "publicId": 987,
        "siteType": SiteType
      }
    ]
  }
}

updateSiteImage

Response

Returns a Site!

Arguments
Name Description
siteId - HashedId!
file - Upload!

Example

Query
mutation updateSiteImage(
  $siteId: HashedId!,
  $file: Upload!
) {
  updateSiteImage(
    siteId: $siteId,
    file: $file
  ) {
    id
    externalId
    name
    isFixed
    locationText
    address
    coordinates {
      ...CoordinatesFragment
    }
    assignedToGroup {
      ...GroupFragment
    }
    assignedToGroupId
    createdByGroup {
      ...GroupFragment
    }
    createdByGroupId
    accountNumber
    customerNumber
    siteManagerName
    email
    telephone
    postalCode
    country
    geofenceSettings
    geofenceNotification {
      ...RuleNotificationRelationFragment
    }
    containsAssetsToModifyByGroup
    created
    assetsCount
    updated
    note
    image
    parentSite {
      ...SiteFragment
    }
    parentSiteId
    servicePackageId
    shouldInheritServicePackage
    servicePackage {
      ...ServicePackageFragment
    }
    shouldInheritGeofenceSettings
    shouldInheritManagerDetails
    groupTreeRootId
    lat
    lng
    siteTypeId
    qrAttached
    uuid
    events {
      ...EventFragment
    }
    publicId
    siteType {
      ...SiteTypeFragment
    }
  }
}
Variables
{"siteId": HashedId, "file": Upload}
Response
{
  "data": {
    "updateSiteImage": {
      "id": HashedId,
      "externalId": "abc123",
      "name": "xyz789",
      "isFixed": true,
      "locationText": "xyz789",
      "address": "abc123",
      "coordinates": Coordinates,
      "assignedToGroup": Group,
      "assignedToGroupId": HashedId,
      "createdByGroup": Group,
      "createdByGroupId": HashedId,
      "accountNumber": "xyz789",
      "customerNumber": "xyz789",
      "siteManagerName": "abc123",
      "email": "abc123",
      "telephone": "abc123",
      "postalCode": "xyz789",
      "country": "xyz789",
      "geofenceSettings": {},
      "geofenceNotification": [RuleNotificationRelation],
      "containsAssetsToModifyByGroup": false,
      "created": 1592577642,
      "assetsCount": 123,
      "updated": 1592577642,
      "note": "xyz789",
      "image": "abc123",
      "parentSite": Site,
      "parentSiteId": HashedId,
      "servicePackageId": HashedId,
      "shouldInheritServicePackage": false,
      "servicePackage": ServicePackage,
      "shouldInheritGeofenceSettings": false,
      "shouldInheritManagerDetails": true,
      "groupTreeRootId": HashedId,
      "lat": "xyz789",
      "lng": "abc123",
      "siteTypeId": HashedId,
      "qrAttached": true,
      "uuid": "xyz789",
      "events": [Event],
      "publicId": 123,
      "siteType": SiteType
    }
  }
}

updateSiteV2

Response

Returns a Site

Arguments
Name Description
siteInput - SiteUpdateInput!
optionsInput - SiteUpdateOptionsInput

Example

Query
mutation updateSiteV2(
  $siteInput: SiteUpdateInput!,
  $optionsInput: SiteUpdateOptionsInput
) {
  updateSiteV2(
    siteInput: $siteInput,
    optionsInput: $optionsInput
  ) {
    id
    externalId
    name
    isFixed
    locationText
    address
    coordinates {
      ...CoordinatesFragment
    }
    assignedToGroup {
      ...GroupFragment
    }
    assignedToGroupId
    createdByGroup {
      ...GroupFragment
    }
    createdByGroupId
    accountNumber
    customerNumber
    siteManagerName
    email
    telephone
    postalCode
    country
    geofenceSettings
    geofenceNotification {
      ...RuleNotificationRelationFragment
    }
    containsAssetsToModifyByGroup
    created
    assetsCount
    updated
    note
    image
    parentSite {
      ...SiteFragment
    }
    parentSiteId
    servicePackageId
    shouldInheritServicePackage
    servicePackage {
      ...ServicePackageFragment
    }
    shouldInheritGeofenceSettings
    shouldInheritManagerDetails
    groupTreeRootId
    lat
    lng
    siteTypeId
    qrAttached
    uuid
    events {
      ...EventFragment
    }
    publicId
    siteType {
      ...SiteTypeFragment
    }
  }
}
Variables
{
  "siteInput": SiteUpdateInput,
  "optionsInput": SiteUpdateOptionsInput
}
Response
{
  "data": {
    "updateSiteV2": {
      "id": HashedId,
      "externalId": "xyz789",
      "name": "xyz789",
      "isFixed": false,
      "locationText": "abc123",
      "address": "xyz789",
      "coordinates": Coordinates,
      "assignedToGroup": Group,
      "assignedToGroupId": HashedId,
      "createdByGroup": Group,
      "createdByGroupId": HashedId,
      "accountNumber": "abc123",
      "customerNumber": "xyz789",
      "siteManagerName": "xyz789",
      "email": "xyz789",
      "telephone": "abc123",
      "postalCode": "xyz789",
      "country": "abc123",
      "geofenceSettings": {},
      "geofenceNotification": [RuleNotificationRelation],
      "containsAssetsToModifyByGroup": false,
      "created": 1592577642,
      "assetsCount": 123,
      "updated": 1592577642,
      "note": "abc123",
      "image": "xyz789",
      "parentSite": Site,
      "parentSiteId": HashedId,
      "servicePackageId": HashedId,
      "shouldInheritServicePackage": true,
      "servicePackage": ServicePackage,
      "shouldInheritGeofenceSettings": true,
      "shouldInheritManagerDetails": true,
      "groupTreeRootId": HashedId,
      "lat": "abc123",
      "lng": "abc123",
      "siteTypeId": HashedId,
      "qrAttached": true,
      "uuid": "xyz789",
      "events": [Event],
      "publicId": 987,
      "siteType": SiteType
    }
  }
}

updateStateByTicketId

Response

Returns a Boolean!

Arguments
Name Description
id - HashedId!
input - TicketStateUpdateInput!

Example

Query
mutation updateStateByTicketId(
  $id: HashedId!,
  $input: TicketStateUpdateInput!
) {
  updateStateByTicketId(
    id: $id,
    input: $input
  )
}
Variables
{
  "id": HashedId,
  "input": TicketStateUpdateInput
}
Response
{"data": {"updateStateByTicketId": true}}

updateTeamById

Response

Returns a Team!

Arguments
Name Description
id - HashedId!
input - TeamCreateInput!

Example

Query
mutation updateTeamById(
  $id: HashedId!,
  $input: TeamCreateInput!
) {
  updateTeamById(
    id: $id,
    input: $input
  ) {
    id
    created
    updated
    nameId
    groupId
    createdByUserId
    createdByGroupId
    assignedToActiveTicketIds
    name {
      ...TranslationFragment
    }
    group {
      ...GroupFragment
    }
    createdByUser {
      ...UserFragment
    }
    createdByGroup {
      ...GroupFragment
    }
    members {
      ...TeamMemberFragment
    }
  }
}
Variables
{
  "id": HashedId,
  "input": TeamCreateInput
}
Response
{
  "data": {
    "updateTeamById": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "nameId": HashedId,
      "groupId": HashedId,
      "createdByUserId": HashedId,
      "createdByGroupId": HashedId,
      "assignedToActiveTicketIds": [123],
      "name": Translation,
      "group": Group,
      "createdByUser": User,
      "createdByGroup": Group,
      "members": [TeamMember]
    }
  }
}

updateTerms

Response

Returns a Terms!

Arguments
Name Description
id - HashedId!
title - TranslationInput
content - TranslationInput

Example

Query
mutation updateTerms(
  $id: HashedId!,
  $title: TranslationInput,
  $content: TranslationInput
) {
  updateTerms(
    id: $id,
    title: $title,
    content: $content
  ) {
    content {
      ...TranslationFragment
    }
    contentId
    created
    id
    isActive
    title {
      ...TranslationFragment
    }
    titleId
    type
    updated
    version
    versions {
      ...TermsFragment
    }
  }
}
Variables
{
  "id": HashedId,
  "title": TranslationInput,
  "content": TranslationInput
}
Response
{
  "data": {
    "updateTerms": {
      "content": Translation,
      "contentId": HashedId,
      "created": 1592577642,
      "id": HashedId,
      "isActive": true,
      "title": Translation,
      "titleId": HashedId,
      "type": "EULA",
      "updated": 1592577642,
      "version": 123,
      "versions": [Terms]
    }
  }
}

updateTicketComment

Use "updateTicketCommentById" instead
Response

Returns a TicketComment!

Arguments
Name Description
id - HashedId!
disableWebhooks - Boolean Default = false
attachments - [Upload!]
content - String
documentsIdsToDelete - [HashedId!]
event - UpdateCommentEventInput
newCosts - [NewCostInput!]
changedCosts - [ChangedCostInput!]
costsIdsToDelete - [HashedId!]

Example

Query
mutation updateTicketComment(
  $id: HashedId!,
  $disableWebhooks: Boolean,
  $attachments: [Upload!],
  $content: String,
  $documentsIdsToDelete: [HashedId!],
  $event: UpdateCommentEventInput,
  $newCosts: [NewCostInput!],
  $changedCosts: [ChangedCostInput!],
  $costsIdsToDelete: [HashedId!]
) {
  updateTicketComment(
    id: $id,
    disableWebhooks: $disableWebhooks,
    attachments: $attachments,
    content: $content,
    documentsIdsToDelete: $documentsIdsToDelete,
    event: $event,
    newCosts: $newCosts,
    changedCosts: $changedCosts,
    costsIdsToDelete: $costsIdsToDelete
  ) {
    id
    created
    updated
    createdByUserId
    authorEmail
    createdByUser {
      ...TicketUserFragment
    }
    history {
      ...TicketCommentContentFragment
    }
    content {
      ...TicketCommentContentFragment
    }
    isAutomated
    costs {
      ...CostFragment
    }
    stateEvent {
      ...TicketStateFragment
    }
    attachments {
      ...DocumentFragment
    }
    connectedEventId
    connectedEvent {
      ...EventFragment
    }
    deleted
  }
}
Variables
{
  "id": HashedId,
  "disableWebhooks": false,
  "attachments": [Upload],
  "content": "abc123",
  "documentsIdsToDelete": [HashedId],
  "event": UpdateCommentEventInput,
  "newCosts": [NewCostInput],
  "changedCosts": [ChangedCostInput],
  "costsIdsToDelete": [HashedId]
}
Response
{
  "data": {
    "updateTicketComment": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "createdByUserId": HashedId,
      "authorEmail": "abc123",
      "createdByUser": TicketUser,
      "history": [TicketCommentContent],
      "content": TicketCommentContent,
      "isAutomated": false,
      "costs": [Cost],
      "stateEvent": TicketState,
      "attachments": [Document],
      "connectedEventId": HashedId,
      "connectedEvent": Event,
      "deleted": 1592577642
    }
  }
}

updateTicketCommentById

Response

Returns a TicketComment!

Arguments
Name Description
id - HashedId!
input - TicketCommentUpdateInput!

Example

Query
mutation updateTicketCommentById(
  $id: HashedId!,
  $input: TicketCommentUpdateInput!
) {
  updateTicketCommentById(
    id: $id,
    input: $input
  ) {
    id
    created
    updated
    createdByUserId
    authorEmail
    createdByUser {
      ...TicketUserFragment
    }
    history {
      ...TicketCommentContentFragment
    }
    content {
      ...TicketCommentContentFragment
    }
    isAutomated
    costs {
      ...CostFragment
    }
    stateEvent {
      ...TicketStateFragment
    }
    attachments {
      ...DocumentFragment
    }
    connectedEventId
    connectedEvent {
      ...EventFragment
    }
    deleted
  }
}
Variables
{
  "id": HashedId,
  "input": TicketCommentUpdateInput
}
Response
{
  "data": {
    "updateTicketCommentById": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "createdByUserId": HashedId,
      "authorEmail": "abc123",
      "createdByUser": TicketUser,
      "history": [TicketCommentContent],
      "content": TicketCommentContent,
      "isAutomated": true,
      "costs": [Cost],
      "stateEvent": TicketState,
      "attachments": [Document],
      "connectedEventId": HashedId,
      "connectedEvent": Event,
      "deleted": 1592577642
    }
  }
}

updateTicketState

use "updateStateByTicketId" instead
Response

Returns a Boolean!

Arguments
Name Description
id - HashedId!
disableWebhooks - Boolean Default = false
note - String
attachments - [Upload!]
event - UpdateTicketStateEventInput
costs - [NewCostInput!]
assignCurrentUser - Boolean Default = false
stateId - HashedId
stateKey - String

Example

Query
mutation updateTicketState(
  $id: HashedId!,
  $disableWebhooks: Boolean,
  $note: String,
  $attachments: [Upload!],
  $event: UpdateTicketStateEventInput,
  $costs: [NewCostInput!],
  $assignCurrentUser: Boolean,
  $stateId: HashedId,
  $stateKey: String
) {
  updateTicketState(
    id: $id,
    disableWebhooks: $disableWebhooks,
    note: $note,
    attachments: $attachments,
    event: $event,
    costs: $costs,
    assignCurrentUser: $assignCurrentUser,
    stateId: $stateId,
    stateKey: $stateKey
  )
}
Variables
{
  "id": HashedId,
  "disableWebhooks": false,
  "note": "abc123",
  "attachments": [Upload],
  "event": UpdateTicketStateEventInput,
  "costs": [NewCostInput],
  "assignCurrentUser": false,
  "stateId": HashedId,
  "stateKey": "xyz789"
}
Response
{"data": {"updateTicketState": false}}

updateUser

Response

Returns [User!]

Arguments
Name Description
dashboardId - HashedId
firstname - String
isSSOEnabled - Boolean
lastname - String
locale - String
phone - String
settings - JSON
settingsPath - String
supportAdmin - Boolean
timezone - String
username - String keeping it for backward compatibility, if passed value for username it will be ignored
label - String
canShareViews - Boolean
info - JSON
id - HashedId!
apiKey - String
password - String
image - String
belongsToGroupId - HashedId
email - String
roleId - HashedId
languageId - HashedId

Example

Query
mutation updateUser(
  $dashboardId: HashedId,
  $firstname: String,
  $isSSOEnabled: Boolean,
  $lastname: String,
  $locale: String,
  $phone: String,
  $settings: JSON,
  $settingsPath: String,
  $supportAdmin: Boolean,
  $timezone: String,
  $username: String,
  $label: String,
  $canShareViews: Boolean,
  $info: JSON,
  $id: HashedId!,
  $apiKey: String,
  $password: String,
  $image: String,
  $belongsToGroupId: HashedId,
  $email: String,
  $roleId: HashedId,
  $languageId: HashedId
) {
  updateUser(
    dashboardId: $dashboardId,
    firstname: $firstname,
    isSSOEnabled: $isSSOEnabled,
    lastname: $lastname,
    locale: $locale,
    phone: $phone,
    settings: $settings,
    settingsPath: $settingsPath,
    supportAdmin: $supportAdmin,
    timezone: $timezone,
    username: $username,
    label: $label,
    canShareViews: $canShareViews,
    info: $info,
    id: $id,
    apiKey: $apiKey,
    password: $password,
    image: $image,
    belongsToGroupId: $belongsToGroupId,
    email: $email,
    roleId: $roleId,
    languageId: $languageId
  ) {
    id
    created
    updated
    firstname
    lastname
    password
    email
    phone
    fullName
    groupId
    roleId
    isSupportAdmin
    canShareViews
    isSSOEnabled
    languageId
    language
    dashboardId
    locale
    timezone
    label
    apiKey
    image
    activated
    isServicing
    info
    stripeSubscriptionId
    deleted
    username
    supportAdmin
    belongsToGroupId
    lastLogin
    services
    dashboard
    notifications
    notificationIds
    checkPassword
    loginInterrupts
    loginInterruptIds
    subscription {
      ...StripeSubscriptionPlanFragment
    }
    belongsToGroup {
      ...GroupFragment
    }
    group {
      ...GroupFragment
    }
    role {
      ...RoleFragment
    }
    teams {
      ...TeamFragment
    }
    unavailability {
      ...UserUnavailabilityFragment
    }
    settings
  }
}
Variables
{
  "dashboardId": HashedId,
  "firstname": "abc123",
  "isSSOEnabled": true,
  "lastname": "abc123",
  "locale": "xyz789",
  "phone": "abc123",
  "settings": {},
  "settingsPath": "abc123",
  "supportAdmin": true,
  "timezone": "xyz789",
  "username": "abc123",
  "label": "xyz789",
  "canShareViews": true,
  "info": {},
  "id": HashedId,
  "apiKey": "xyz789",
  "password": "xyz789",
  "image": "xyz789",
  "belongsToGroupId": HashedId,
  "email": "xyz789",
  "roleId": HashedId,
  "languageId": HashedId
}
Response
{
  "data": {
    "updateUser": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "firstname": "abc123",
        "lastname": "abc123",
        "password": "abc123",
        "email": "abc123",
        "phone": "xyz789",
        "fullName": "xyz789",
        "groupId": HashedId,
        "roleId": HashedId,
        "isSupportAdmin": false,
        "canShareViews": false,
        "isSSOEnabled": false,
        "languageId": HashedId,
        "language": HashedId,
        "dashboardId": HashedId,
        "locale": LanguageTag,
        "timezone": "abc123",
        "label": "abc123",
        "apiKey": "xyz789",
        "image": "abc123",
        "activated": 1592577642,
        "isServicing": true,
        "info": {},
        "stripeSubscriptionId": "xyz789",
        "deleted": 1592577642,
        "username": "xyz789",
        "supportAdmin": false,
        "belongsToGroupId": HashedId,
        "lastLogin": "2007-12-03T10:15:30Z",
        "services": [{}],
        "dashboard": {},
        "notifications": [{}],
        "notificationIds": [HashedId],
        "checkPassword": false,
        "loginInterrupts": {},
        "loginInterruptIds": [HashedId],
        "subscription": StripeSubscriptionPlan,
        "belongsToGroup": Group,
        "group": Group,
        "role": Role,
        "teams": [Team],
        "unavailability": [UserUnavailability],
        "settings": {}
      }
    ]
  }
}

updateUserImage

Description

Accepts jpg, jpeg, webp, gif, png (case insensitive). Will be contained to a 500px square with white background. 3 images generated: - _2x for high dpi screens - no suffix, half of the default size, this url will be provided - _thumb - 100px thumbnail Send an empty value to remove the image.

Response

Returns a File!

Arguments
Name Description
id - HashedId!
file - Upload!

Example

Query
mutation updateUserImage(
  $id: HashedId!,
  $file: Upload!
) {
  updateUserImage(
    id: $id,
    file: $file
  ) {
    id
    path
    filename
    mimetype
  }
}
Variables
{"id": HashedId, "file": Upload}
Response
{
  "data": {
    "updateUserImage": {
      "id": "4",
      "path": "abc123",
      "filename": "abc123",
      "mimetype": "abc123"
    }
  }
}

updateViewShareStatus

Description

Update whether a view is shared with the current group and return new shared status.

Response

Returns a Boolean!

Arguments
Name Description
view - IdInput!
shared - Boolean!

Example

Query
mutation updateViewShareStatus(
  $view: IdInput!,
  $shared: Boolean!
) {
  updateViewShareStatus(
    view: $view,
    shared: $shared
  )
}
Variables
{"view": IdInput, "shared": true}
Response
{"data": {"updateViewShareStatus": true}}

updateWebhook

Response

Returns a Webhook!

Arguments
Name Description
input - WebhookUpdateInput!

Example

Query
mutation updateWebhook($input: WebhookUpdateInput!) {
  updateWebhook(input: $input) {
    id
    created
    updated
    groupId
    url
    forTickets
    forSites
    forAssets
    forWorkOrders
  }
}
Variables
{"input": WebhookUpdateInput}
Response
{
  "data": {
    "updateWebhook": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "groupId": HashedId,
      "url": "xyz789",
      "forTickets": false,
      "forSites": true,
      "forAssets": false,
      "forWorkOrders": true
    }
  }
}

updateWorkOrder

Response

Returns a WorkOrderV2!

Arguments
Name Description
workOrder - WorkOrderUpdateInput!

Example

Query
mutation updateWorkOrder($workOrder: WorkOrderUpdateInput!) {
  updateWorkOrder(workOrder: $workOrder) {
    id
    created
    updated
    name
    startDate
    endDate
    createdByGroupId
    procedureTemplateId
    creatorId
    creationDate
    customerName
    status
    notesId
    costCenter
    siteId
    creator {
      ...UserFragment
    }
    procedureTemplate {
      ...ProcedureTemplateFragment
    }
    site {
      ...SiteFragment
    }
    workOrderNumber
    notes {
      ...TranslationFragment
    }
    sourceTicketId
    assignee {
      ...WorkOrderPersonnelV2Fragment
    }
    followers {
      ...WorkOrderPersonnelV2Fragment
    }
    workers {
      ...WorkOrderPersonnelV2Fragment
    }
    costs {
      ...WorkOrderCostFragment
    }
    dailyRate {
      ...WorkOrderCostFragment
    }
    assetCollections {
      ...WorkOrderAssetCollectionFragment
    }
    locations {
      ...WorkOrderLocationFragment
    }
    history {
      ...WorkOrderHistoryEntryFragment
    }
  }
}
Variables
{"workOrder": WorkOrderUpdateInput}
Response
{
  "data": {
    "updateWorkOrder": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "name": "abc123",
      "startDate": "2007-12-03T10:15:30Z",
      "endDate": "2007-12-03T10:15:30Z",
      "createdByGroupId": HashedId,
      "procedureTemplateId": HashedId,
      "creatorId": HashedId,
      "creationDate": "2007-12-03T10:15:30Z",
      "customerName": "abc123",
      "status": "PENDING",
      "notesId": HashedId,
      "costCenter": "xyz789",
      "siteId": HashedId,
      "creator": User,
      "procedureTemplate": ProcedureTemplate,
      "site": Site,
      "workOrderNumber": 123,
      "notes": Translation,
      "sourceTicketId": HashedId,
      "assignee": WorkOrderPersonnelV2,
      "followers": [WorkOrderPersonnelV2],
      "workers": [WorkOrderPersonnelV2],
      "costs": [WorkOrderCost],
      "dailyRate": WorkOrderCost,
      "assetCollections": [WorkOrderAssetCollection],
      "locations": [WorkOrderLocation],
      "history": [WorkOrderHistoryEntry]
    }
  }
}

Types

Address

Fields
Field Name Description
id - HashedId!
created - Timestamp!
updated - Timestamp
location - String!
latitude - Float!
longitude - Float!
address - String!
translations - JSON!
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "location": "xyz789",
  "latitude": 987.65,
  "longitude": 987.65,
  "address": "xyz789",
  "translations": {}
}

Asset

Description

An asset is any item handled in the Toolsense system. They can be tools, machines or any accessores (like a helmet). Assets can be either tracked (compatible machines with a Toolsense module) and commodity (like the helmet - they just exist for inventorial purposes). Tracked assets with a module have an imei property. Obviously only these assets generate asset data, therefore events.

Fields
Field Name Description
services - [Service!]! Services associated to current group's servicePackage
Arguments
activity - AssetActivity!
allowReservations - Boolean When set, reservations are explicitly allowed for this asset.
assetCategory - AssetCategory!
assetCategoryId - HashedId!
assetType - AssetType!
assetTypeId - HashedId!
assignedToGroup - Group
assignedToGroupId - HashedId!
createdByGroupId - HashedId!
assignedToPreviousSite - Site
assignedToSite - Site Location of the asset, which can be a building (fixed), or unfixed (like a bus)
assignedToSiteId - HashedId
assignment - String Virtual column, only provided in the paginated asset list query
availability - AssetAvailability See if the asset is available
BLE - String The BLEid of the Asset
checkSchedule - AssetCheckSchedule Schedule for next checks on this asset.
checkScheduleRule - AssetCheckScheduleRule
client - String The client who supplied the Asset
commissionDate - Date When the Asset was comissioned
costCenter - String What is the occuring cost
costsSumBattery - Float! Operating costs of each cost type
costsSumRepair - Float!
costsSumMaintenance - Float!
costsSumParts - Float!
costsSumConsumables - Float!
costsSumFuel - Float!
costsSumLabor - Float!
costsSumLogistics - Float!
costsSumTaxes - Float!
costsSumOther - Float!
costsSumCertification - Float!
created - Timestamp!
currency - String An optional currency string that overrides the group currency
customer - String Virtual column, only provided in the paginated asset list query
customerEditable - Boolean With this flag the OEM can allow end-customers to edit assets
description - Translation
descriptionId - HashedId Arbitrary user-defined text information to describe an Asset
displayParameters - [DisplayParameter!] Shorthand for displayAssetData(assetId: $this.id)
documents - [Document]! Assets can have Documents associated with them. This property lists all the documents currently associated. Documents can also be inherited from the asset's assetType. A purpose string can differentiate one or more documents, like a label.
Arguments
purpose - String
downloadLink - String! Generates a link to an xls document containing all sent asset data
Arguments
eventIds - [HashedId!] Lists all the event ids that relate to this asset @eventStyleKey: filter by eventStyleKey. See type EventStyleKey @currentlyActive: filter only ongoing/active events based on the value
Arguments
eventStyleKey - EventStyleKey
createdByUserId - [HashedId]

Only applicable to user-created events

createdByRuleId - [HashedId]

The id of the rule that triggered creating the event

createdByWorkOrderId - [HashedId]
createdByTicketId - [HashedId]

The flow to which a response or state change created the event

currentlyActive - Boolean

Filter only or not currently ongoing/active events based on the value

startDateFilter - EventDateFilter

Filters out events based on the startTime

endDateFilter - EventDateFilter

Filters out events based on the endTime

createdDateFilter - EventDateFilter

Filters out events based on the created time

events - [Event!]! Lists all the events that relate to this asset @eventStyleKey: filter by eventStyleKey. See type EventStyleKey @currentlyActive: filter only ongoing/active events based on the value
Arguments
eventStyleKey - EventStyleKey
createdByUserId - [HashedId]

Only applicable to user-created events

createdByRuleId - [HashedId]

The id of the rule that triggered creating the event

createdByWorkOrderId - [HashedId]
createdByTicketId - [HashedId]

The flow to which a response or state change created the event

currentlyActive - Boolean

Filter only or not currently ongoing/active events based on the value

startDateFilter - EventDateFilter

Filters out events based on the startTime

endDateFilter - EventDateFilter

Filters out events based on the endTime

createdDateFilter - EventDateFilter

Filters out events based on the created time

externalId - String External id should only be filled by a machine. This is used to couple an external asset with an internal asset. An external Asset is an asset that represents the same physical thing but in a different system.
fixedAssetNumber - String A general identifier for the Asset
floorRoom - String Information where the the Asset is
id - HashedId!
image - String Image (url) for this asset
imei - String!
initialValue - String The Initial Asset Value
inventoryNumber - String Inventory number of the Asset to check if it's the right entity
isCommodity - Boolean!

Assets can be either tracked or commodity.

  • Tracked assets are machines that have a ToolSense module inside and thus send data (therefore they have stats like battery, runtime, error codes, etc.) Since they have a module, they have an IMEI number identifying it.
  • Commodity assets are any asset that has no attached module - they only exist in the system for inventory purposes. Such assets can be machines, tools, or any noteworthy work material. With commodity assets, and their assignment to other groups, the interface can be also used as a general inventory/asset management system.

This is a generated value, and reflects if this asset has an associated Module.

isInStationaryGateway - Boolean

Asset can be assigned to the stationary gateway to prevent location jumping.

  • if this field set to true, the asset will be assigned to the stationary gateway and takes the location data from the assigned site even if the FF 'assetNearSiteOverrideLocation' is not styles
workOrders - [WorkOrderV2!]! Get work orders that are connected to this asset (if any)
Arguments
from - Timestamp
to - Timestamp
lastContacted - Timestamp
latestAssetData - JSON How much it costs to terminate the lease
leasingCostTermination - String
leasingEnd - Date When the leasing Date ends
leasingLevel - String What is the current leasing level
leasingMonthlyCost - String How much it costs monthly to lease it
leasingPartner - String Who is the leasing partner
leasingPartnerContractNumber - String Shows the contract number of the leasing partner
leasingPartnerContractPositionNumber - String Shows the contract position number of the leasing partner
leasingRenewalDate - Date Shows the new Renewal Date for the leasing
leasingRenewalRate - String Shows the amount of money it costs to renew the leasing
leasingStart - Date When the leasing Date starts
location - Location The current location of the asset
maintenanceSchedule - AssetMaintenanceSchedule Schedule for maintenance on this asset.
manufacturer - Manufacturer!
manufacturerId - HashedId!
module - Module The currently attached TS module to this Asset
moduleId - HashedId
nextService - Int
optionalAssetID - String Any ID that can identify an asset
ownership - AssetOwnership Shows the relation between Asset Owner and current Asset holder
parameterOffsetIds - [HashedId]
parameterOffsets - [AssetParameterOffset!] Parameter offsets set for this asset
parameterSets - [ParameterSet!]

Assets send data through parameter values - parameters are the keys in a collection of key-value pairs. This prop lists all the parameters currently sent by the module in this asset. As the list may change through module or assetIntegration versions, you can list all the parameters that was ever delivered by this module through the historicalParameters switch in the asset query. Parameters are grouped in Sets, as many of them are closely related (eg. high-low voltage param of the same value). Standalone parameters are in the virtual set called 'Standalone', with a fake 'standalone' id and a single parameters array. Sets with no or filtered parameters are not returned.

  • graphableParameters: only list parameters/parametersets which can be displayed on a graph (eg. hide values like imei, id, or latitude)
Arguments
graphableParameters - Boolean
partsNumber - String partsNumber is a specific identifier for certain parts of a single asset
previousSiteId - HashedId
projectNumber - String The project number associated with the Asset
publicId - Int!
purchaseCost - String How much it cost to purchase the asset
purchaseCurrentBookValue - String How much the current Book Value is
purchaseDepriciation - Int How fast the Asset deprecates
purchaseInvoiceNumber - String The Invoice number of the asset
purchaseLowValueAsset - Boolean Shows if the Asset is in vlaue
purchaseStart - Date When the Asset was purchased
purchaseWarrantyEnd - Date when the Warranty of the Asset ends
purchaseWarrantyPeriod - Int how many months the warranty period is
purchaseWarrantyStart - Date when the Warranty of the Asset starts
qrAttached - Boolean!
quantity - Int How many of the Asset do you have
relatedGroups - [RelatedGroup!]
rentalCostTermination - String How much it costs to terminate the rentalship
rentalEnd - Date When the Asset rental ends
rentalMonthlyCost - String How much the Asset costs to rent
rentalRenewalDate - Date How long you could use the field to renew the rental
rentalRenewalRate - String How much it costs to renew the Rental
rentalStart - Date When the Asset rental start
reservationIds - [HashedId]
reservations - [Reservation] Reservations that contain this asset
responsiblePerson - String The Person who is responsible for the assets well-being
runtimeWithOffsetInSeconds - Int Calculated runtime of the asset
serial - String Unique identifier of this asset. Added by the manufacturer.
serviceContract - Boolean If the Asset has a service contract
serviceContractCostPerYear - String How much the service contract costs per year
serviceContractEmail - String Service contract email
serviceContractEnd - Date When the Service Contract ends
serviceContractDocuments - [Document] Service contract documents
serviceContractFrom - Timestamp Start date of a service contract for this asset
serviceContractLevel - String What level the service contract is
serviceContractPartner - String Who is the partner for the service contract
serviceContractStart - Date When the service Contract started
serviceContractTo - Timestamp End date of a service contract for this asset
state - AssetState Asset state represented in an object. Currently contains error and service fields which summarize recent asset events. Useful for dashboard status displays. stateV2 will respond with more detailed information
stateV2 - [StatusItem!]!
status - [StatusItem] Status values of the asset
subscription - String Subscription plan for this asset in the ToolSense platform. Associated with IMEI. Different plans may change features for this asset - eg. how often data is reported, or what data is reported. Deprecated, maybe used in the future again
supplier - String The organization which supplied the Asset
tickets - [Ticket]!
updated - Timestamp
unavailability - [AssetUnavailability!]!
Arguments
uuid - String! Unique identifier of the module currently attached to this asset.
vncTunnelUrl - String VNC Tunnel URL for supported assets (non-supported assets return null)
workingHoursNotification - [RuleNotificationRelation] When a working hours event happens, send notifications to these entities
workingHoursSettings - JSON Working hours settings, if set. See Rules schema for syntax.
gatewayAsset - Asset Asset that reported location of this asset
moduleConnectionStatus - AssetModuleConnectionStatusEnum! Connection status of asset with the module
costs - [Cost] Money spent on asset
costsSum - Float!
totalUtilization - String
totalWorkDone - String
batteryLevel - String
isLocked - Boolean
scanTime - Date
availabilityId - HashedId!
ownershipId - HashedId
siteId - HashedId
createdByGroup - Group
site - Site!
Example
{
  "services": [Service],
  "activity": AssetActivity,
  "allowReservations": false,
  "assetCategory": AssetCategory,
  "assetCategoryId": HashedId,
  "assetType": AssetType,
  "assetTypeId": HashedId,
  "assignedToGroup": Group,
  "assignedToGroupId": HashedId,
  "createdByGroupId": HashedId,
  "assignedToPreviousSite": Site,
  "assignedToSite": Site,
  "assignedToSiteId": HashedId,
  "assignment": "xyz789",
  "availability": "READY_TO_USE",
  "BLE": "abc123",
  "checkSchedule": AssetCheckSchedule,
  "checkScheduleRule": AssetCheckScheduleRule,
  "client": "abc123",
  "commissionDate": "2007-12-03",
  "costCenter": "abc123",
  "costsSumBattery": 987.65,
  "costsSumRepair": 987.65,
  "costsSumMaintenance": 123.45,
  "costsSumParts": 987.65,
  "costsSumConsumables": 987.65,
  "costsSumFuel": 123.45,
  "costsSumLabor": 987.65,
  "costsSumLogistics": 987.65,
  "costsSumTaxes": 987.65,
  "costsSumOther": 123.45,
  "costsSumCertification": 987.65,
  "created": 1592577642,
  "currency": "xyz789",
  "customer": "xyz789",
  "customerEditable": true,
  "description": Translation,
  "descriptionId": HashedId,
  "displayParameters": [DisplayParameter],
  "documents": [Document],
  "downloadLink": "abc123",
  "eventIds": [HashedId],
  "events": [Event],
  "externalId": "xyz789",
  "fixedAssetNumber": "abc123",
  "floorRoom": "xyz789",
  "id": HashedId,
  "image": "abc123",
  "imei": "abc123",
  "initialValue": "xyz789",
  "inventoryNumber": "abc123",
  "isCommodity": true,
  "isInStationaryGateway": true,
  "workOrders": [WorkOrderV2],
  "lastContacted": 1592577642,
  "latestAssetData": {},
  "leasingCostTermination": "xyz789",
  "leasingEnd": "2007-12-03",
  "leasingLevel": "xyz789",
  "leasingMonthlyCost": "abc123",
  "leasingPartner": "abc123",
  "leasingPartnerContractNumber": "abc123",
  "leasingPartnerContractPositionNumber": "abc123",
  "leasingRenewalDate": "2007-12-03",
  "leasingRenewalRate": "abc123",
  "leasingStart": "2007-12-03",
  "location": Location,
  "maintenanceSchedule": AssetMaintenanceSchedule,
  "manufacturer": Manufacturer,
  "manufacturerId": HashedId,
  "module": Module,
  "moduleId": HashedId,
  "nextService": 987,
  "optionalAssetID": "abc123",
  "ownership": "PURCHASE",
  "parameterOffsetIds": [HashedId],
  "parameterOffsets": [AssetParameterOffset],
  "parameterSets": [ParameterSet],
  "partsNumber": "abc123",
  "previousSiteId": HashedId,
  "projectNumber": "abc123",
  "publicId": 987,
  "purchaseCost": "abc123",
  "purchaseCurrentBookValue": "abc123",
  "purchaseDepriciation": 987,
  "purchaseInvoiceNumber": "xyz789",
  "purchaseLowValueAsset": false,
  "purchaseStart": "2007-12-03",
  "purchaseWarrantyEnd": "2007-12-03",
  "purchaseWarrantyPeriod": 987,
  "purchaseWarrantyStart": "2007-12-03",
  "qrAttached": true,
  "quantity": 123,
  "relatedGroups": [RelatedGroup],
  "rentalCostTermination": "xyz789",
  "rentalEnd": "2007-12-03",
  "rentalMonthlyCost": "xyz789",
  "rentalRenewalDate": "2007-12-03",
  "rentalRenewalRate": "abc123",
  "rentalStart": "2007-12-03",
  "reservationIds": [HashedId],
  "reservations": [Reservation],
  "responsiblePerson": "abc123",
  "runtimeWithOffsetInSeconds": 123,
  "serial": "xyz789",
  "serviceContract": false,
  "serviceContractCostPerYear": "xyz789",
  "serviceContractEmail": "abc123",
  "serviceContractEnd": "2007-12-03",
  "serviceContractDocuments": [Document],
  "serviceContractFrom": 1592577642,
  "serviceContractLevel": "xyz789",
  "serviceContractPartner": "abc123",
  "serviceContractStart": "2007-12-03",
  "serviceContractTo": 1592577642,
  "state": AssetState,
  "stateV2": [StatusItem],
  "status": [StatusItem],
  "subscription": "xyz789",
  "supplier": "abc123",
  "tickets": [Ticket],
  "updated": 1592577642,
  "unavailability": [AssetUnavailability],
  "uuid": "abc123",
  "vncTunnelUrl": "xyz789",
  "workingHoursNotification": [RuleNotificationRelation],
  "workingHoursSettings": {},
  "gatewayAsset": Asset,
  "moduleConnectionStatus": "primary",
  "costs": [Cost],
  "costsSum": 123.45,
  "totalUtilization": "xyz789",
  "totalWorkDone": "xyz789",
  "batteryLevel": "abc123",
  "isLocked": false,
  "scanTime": "2007-12-03",
  "availabilityId": HashedId,
  "ownershipId": HashedId,
  "siteId": HashedId,
  "createdByGroup": Group,
  "site": Site
}

AssetActivity

Fields
Field Name Description
downloadLink - String!
Arguments
locale - LocaleInput!
parameterIds - [HashedId!]!
timeFrom - Timestamp
timeTo - Timestamp
includeOverview - Boolean
includeMonthlySummary - Boolean
includeTimeLog - Boolean
title - String
Example
{"downloadLink": "xyz789"}

AssetAvailability

Values
Enum Value Description

READY_TO_USE

DAMAGED

IN_REPAIR

RETIRED

WAREHOUSE

ORDERED

NEEDS_APPROVAL

BORROWED

IN_TRANSIT

Example
"READY_TO_USE"

AssetBLEChecker

Fields
Field Name Description
msg - String
duplicateAsset - Asset
Example
{
  "msg": "xyz789",
  "duplicateAsset": Asset
}

AssetCategory

Description

Asset category describes what the assets contained in it are - eg. wall saw, floor cleaner, hammer. Categories are specific to manufacturers.

Fields
Field Name Description
id - HashedId!
created - Timestamp!
updated - Timestamp
image - String Image (url) for this category. Should also be used for assettype or asset image if they don't have it provided
externalId - String
forManufacturerId - HashedId!
groupId - HashedId
isPrivate - Boolean Listed to users outside this group hierarchy - 'publicly' available. May be used to contain yet unreleased models
nameId - HashedId!
minimalBatteryVoltage - Float
nominalBatteryVoltage - Float
optimalBatteryVoltage - Float
optimalRuntime - Float
parentParameterKey - AssetParentParameter
workUnitsPerHour - Float
workUnitId - HashedId
name - Translation
group - Group!
forManufacturer - Manufacturer! Categories are specific for a manufacturer
workUnits - Translation
assetsCount - Int
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "image": "xyz789",
  "externalId": "abc123",
  "forManufacturerId": HashedId,
  "groupId": HashedId,
  "isPrivate": false,
  "nameId": HashedId,
  "minimalBatteryVoltage": 123.45,
  "nominalBatteryVoltage": 123.45,
  "optimalBatteryVoltage": 987.65,
  "optimalRuntime": 987.65,
  "parentParameterKey": "runtime",
  "workUnitsPerHour": 987.65,
  "workUnitId": HashedId,
  "name": Translation,
  "group": Group,
  "forManufacturer": Manufacturer,
  "workUnits": Translation,
  "assetsCount": 987
}

AssetCategoryPaginatedDto

Fields
Field Name Description
rows - [AssetCategory!]!
meta - PaginationMeta!
total - Int!
Example
{
  "rows": [AssetCategory],
  "meta": PaginationMeta,
  "total": 987
}

AssetCheckSchedule

Fields
Field Name Description
id - HashedId!
assetId - HashedId!
name - String!
interval - Int
lastCheck - Date
nextCheck - Date!
daysToNextCheck - Int
lastCheckLastEdited - AssetCheckScheduleEditNote
nextCheckLastEdited - AssetCheckScheduleEditNote
Example
{
  "id": HashedId,
  "assetId": HashedId,
  "name": "abc123",
  "interval": 987,
  "lastCheck": "2007-12-03",
  "nextCheck": "2007-12-03",
  "daysToNextCheck": 123,
  "lastCheckLastEdited": AssetCheckScheduleEditNote,
  "nextCheckLastEdited": AssetCheckScheduleEditNote
}

AssetCheckScheduleEditNote

Fields
Field Name Description
user - User
timestamp - Timestamp!
Example
{"user": User, "timestamp": 1592577642}

AssetCheckScheduleRule

Fields
Field Name Description
id - HashedId!
assetId - HashedId!
name - String!
interval - Int!
timeframe - RuleInterval
lastCheck - Date
nextCheck - Date!
daysToNextCheck - Int!
Example
{
  "id": HashedId,
  "assetId": HashedId,
  "name": "abc123",
  "interval": 987,
  "timeframe": "M",
  "lastCheck": "2007-12-03",
  "nextCheck": "2007-12-03",
  "daysToNextCheck": 123
}

AssetData

Description

AssetData is the data object sent from the module attached to this asset. It contains parameters and values (either provided by the Toolsense module or manufacturer inverter) needed for statistics and analysis.

Fields
Field Name Description
id - HashedId!
createdByModuleImei - String
createdByAssetId - HashedId
createdByAsset - Asset
createdByModuleId - HashedId
createdByModule - Module
data - JSON A JSON formated String including the data of the last sending
boundEvents - [Event!] Events created using this AssetData instance
boundEventIds - [HashedId!]
created - Timestamp!
Example
{
  "id": HashedId,
  "createdByModuleImei": "xyz789",
  "createdByAssetId": HashedId,
  "createdByAsset": Asset,
  "createdByModuleId": HashedId,
  "createdByModule": Module,
  "data": {},
  "boundEvents": [Event],
  "boundEventIds": [HashedId],
  "created": 1592577642
}

AssetDataDownloadLocaleInput

Fields
Input Field Description
language - String!
timezone - String!
headerLocal - String!
headerUTC - String!
brandColor - String
Example
{
  "language": "abc123",
  "timezone": "abc123",
  "headerLocal": "xyz789",
  "headerUTC": "abc123",
  "brandColor": "abc123"
}

AssetFilter

Fields
Field Name Description
size - Int!
assets - [Asset]!
created - TemporalFilter!
sentData - TemporalFilter!
Arguments
forParameter - WellKnownParameterKey
valueSliceById - AssetFilter
Arguments
valueSliceByValue - AssetFilter
Arguments
valueSlices - [StatisticValueSlice]!
Arguments
rangeSlice - AssetFilter!
Arguments
usingPeriod - AssetFilter!
Arguments
from - Timestamp!
to - Timestamp!
withEvents - [EventFilter]!
Arguments
eventStyles - [EventStyleKey!]
nonCriticalErrorsAreWarnings - Boolean
withoutEvents - AssetFilter!
runtime - [AssetFilterRanges]! A list of ranges that include assets grouped by their runtime
Arguments
from - Timestamp
to - Timestamp
maintenancePriority - [AssetFilterRanges]!
Arguments
from - Timestamp
to - Timestamp
rangeValues - [AssetFilterRanges]!
Arguments
reservations - ReservationEnd! Filter the reservations in the range provided.
Arguments
from - Timestamp
to - Timestamp
services - AssetFilter!
Arguments
from - Timestamp
to - Timestamp
signalOnline - AssetFilter
weakSignal - AssetFilter
noSignalDay - AssetFilter
noSignalWeek - AssetFilter
spreadsheet - Boolean
Arguments
label - String!
excludeColumns - [ExportBaseColumn!]
additionalColumns - [ExportColumn!]
Example
{
  "size": 123,
  "assets": [Asset],
  "created": TemporalFilter,
  "sentData": TemporalFilter,
  "valueSliceById": AssetFilter,
  "valueSliceByValue": AssetFilter,
  "valueSlices": [StatisticValueSlice],
  "rangeSlice": AssetFilter,
  "usingPeriod": AssetFilter,
  "withEvents": [EventFilter],
  "withoutEvents": AssetFilter,
  "runtime": [AssetFilterRanges],
  "maintenancePriority": [AssetFilterRanges],
  "rangeValues": [AssetFilterRanges],
  "reservations": ReservationEnd,
  "services": AssetFilter,
  "signalOnline": AssetFilter,
  "weakSignal": AssetFilter,
  "noSignalDay": AssetFilter,
  "noSignalWeek": AssetFilter,
  "spreadsheet": false
}

AssetFilterInput

Fields
Input Field Description
searchTerm - String

can search in following fields:

  • serial
  • inventoryNumber
  • imei
  • site name
  • assetType name
  • assetCategory name
  • assignedToGroup name
  • responsiblePerson
  • siteManager name
  • siteManager email
  • assetType make = brand
relatedFilters - [AssetRelatedFilterInput!]
Example
{
  "searchTerm": "abc123",
  "relatedFilters": [AssetRelatedFilterInput]
}

AssetFilterPeriodFilter

Fields
Field Name Description
period - String
quantity - Int
Example
{"period": "xyz789", "quantity": 987}

AssetFilterRanges

Fields
Field Name Description
order - Int! The order of this range, goes from 1 to 5 where 1 means this range includes the assets from 0 to 1/5 of the max value 2 that the range is from 1/5 to 2/5 of the max value and so on
assets - [Asset]!
label - String! A string with the actual values of the range limit. ex: {min} - {max}
Example
{
  "order": 987,
  "assets": [Asset],
  "label": "xyz789"
}

AssetFilterStats

Fields
Field Name Description
rentalEnd - [AssetFilterPeriodFilter]
rentalRemainingMonths - [String]
leasingRemainingMonths - [String]
leasingEnd - [AssetFilterPeriodFilter]
serviceContractRemainingMonths - [String]
Example
{
  "rentalEnd": [AssetFilterPeriodFilter],
  "rentalRemainingMonths": ["xyz789"],
  "leasingRemainingMonths": ["abc123"],
  "leasingEnd": [AssetFilterPeriodFilter],
  "serviceContractRemainingMonths": [
    "xyz789"
  ]
}

AssetIntegration

Fields
Field Name Description
id - HashedId!
created - Timestamp!
updated - Timestamp
name - String!
manufacturerId - HashedId!
assetCategoryId - HashedId
assetCategory - AssetCategory
manufacturer - Manufacturer!
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "name": "abc123",
  "manufacturerId": HashedId,
  "assetCategoryId": HashedId,
  "assetCategory": AssetCategory,
  "manufacturer": Manufacturer
}

AssetIntegrationCreateInput

Fields
Input Field Description
name - String!
manufacturerId - HashedId!
assetCategoryId - HashedId
Example
{
  "name": "abc123",
  "manufacturerId": HashedId,
  "assetCategoryId": HashedId
}

AssetIntegrationUpdateInput

Fields
Input Field Description
name - String
manufacturerId - HashedId
assetCategoryId - HashedId
Example
{
  "name": "xyz789",
  "manufacturerId": HashedId,
  "assetCategoryId": HashedId
}

AssetListExport

Description

A GQL type with subfields that can be selected for filtered/specialized spreadsheet links

Each subfield supports a sheetLabel argument which allows to name the sheet explicitly instead of using an automatically generated sheet name.

Each subfield may return null, iff the root assetListExport query specifies an email timeout and the timeout elapses before the subfield's spreadsheet could be generated. In this case, an email containing the spreadsheet link will be sent to the calling user's email address once the generation is complete (NOTE: if you specify multiple subfields and they all time out, each spreadsheet will be emailed individually.)

Fields
Field Name Description
all - String A link to a spreadsheet listing all assets and a basic set of columns
Arguments
sheetLabel - String
created - String A link to a spreadsheet listing assets created during a certain timespan
Arguments
from - Timestamp
to - Timestamp
sheetLabel - String
lastContacted - String A link to a spreadsheet listing assets which last sent data during a certain timespan
Arguments
from - Timestamp
to - Timestamp
sheetLabel - String
type - String A link to a spreadsheet listing only assets of the specified type
Arguments
assetTypeId - HashedId!
sheetLabel - String
category - String A link to a spreadsheet listing only assets of the specified category
Arguments
assetCategoryId - HashedId!
sheetLabel - String
assetId - String A link to a spreadsheet listing only assets for which the specified well-known parameter falls within the specified range
Arguments
assetId - [HashedId]
sheetLabel - String
parameterRange - String
Arguments
from - Float!
to - Float
sheetLabel - String
unit - String
periodBoxedParameterRange - String
Arguments
from - Float!
to - Float
unit - String
startTime - Timestamp!
endTime - Timestamp!
sheetLabel - String!
periodLabel - String!
parameterValue - String A link to a spreadsheet listing only assets for which the specified well-known parameter has the specified value
Arguments
value - String!
sheetLabel - String
reservationsEnd - String A link to a spreadsheet listing only assets which have reservations that end in the range
Arguments
from - Timestamp
to - Timestamp
sheetLabel - String!
Example
{
  "all": "xyz789",
  "created": "xyz789",
  "lastContacted": "xyz789",
  "type": "abc123",
  "category": "abc123",
  "assetId": "xyz789",
  "parameterRange": "abc123",
  "periodBoxedParameterRange": "xyz789",
  "parameterValue": "abc123",
  "reservationsEnd": "abc123"
}

AssetMaintenanceSchedule

Fields
Field Name Description
id - HashedId!
assetId - HashedId!
interval - Int
lastMaintenance - Date
nextMaintenance - Date!
lastMaintenanceLastEdited - AssetMaintenanceScheduleEditNote
nextMaintenanceLastEdited - AssetMaintenanceScheduleEditNote
Example
{
  "id": HashedId,
  "assetId": HashedId,
  "interval": 123,
  "lastMaintenance": "2007-12-03",
  "nextMaintenance": "2007-12-03",
  "lastMaintenanceLastEdited": AssetMaintenanceScheduleEditNote,
  "nextMaintenanceLastEdited": AssetMaintenanceScheduleEditNote
}

AssetMaintenanceScheduleEditNote

Fields
Field Name Description
user - User
timestamp - Timestamp!
Example
{"user": User, "timestamp": 1592577642}

AssetModuleConnectionStatusEnum

Values
Enum Value Description

primary

secondary

disconnected

Example
"primary"

AssetOwnership

Values
Enum Value Description

PURCHASE

LEASING

RENTAL

CUSTOMER_MACHINE

OTHER

Example
"PURCHASE"

AssetParameterOffset

Description

Parameter offsets offer a way to dynamically adjust summarized parameter values starting from a given point in time - per asset. Note the word summarized: only params with summarized calculation can be offsetted. A common use case would be runtimes: a machine has already a runtime of 34h when the ToolSense module gets built in. When not connected to an inverter, the module would report a runtime of 0h - this can be hand-adjusted to match the valid value. A customer may also want to reset an accumulated value each year or service period. In this cases, a customer can set offsets for the parameter values sent by a specific asset.

The new values offset the existing values starting from the time they're set - they can be positive or negative values. When querying current values, all existing offsets are applied.

Fields
Field Name Description
id - HashedId!
assetId - HashedId! Asset id whose sent parameter values this offset will take effect on
parameterId - HashedId!
offsetValue - Float! The value the parameter value is being offsetted with starting from the timestamp below.
effectiveFrom - Timestamp! The time from which the offset takes effect - any value received past this time will be offsetted
created - Timestamp!
updated - Timestamp
Example
{
  "id": HashedId,
  "assetId": HashedId,
  "parameterId": HashedId,
  "offsetValue": 987.65,
  "effectiveFrom": 1592577642,
  "created": 1592577642,
  "updated": 1592577642
}

AssetParameterOffsetInput

Fields
Input Field Description
parameterId - HashedId!
offsetValue - Float!
effectiveFrom - Timestamp!
Example
{
  "parameterId": HashedId,
  "offsetValue": 987.65,
  "effectiveFrom": 1592577642
}

AssetParentParameter

Values
Enum Value Description

runtime

input2

input3

Example
"runtime"

AssetRelatedFilterInput

Fields
Input Field Description
columnName - String
values - [String!]
ids - [String!]
mustIds - [String!] Typed as String instead of HashedId to allow including non-numeric and custom filters, ie. 'NO_SITE'
sorting - SortDirection Typed as String instead of HashedId to allow including non-numeric and custom filters, ie. 'NO_SITE'
missing - Boolean
Example
{
  "columnName": "abc123",
  "values": ["xyz789"],
  "ids": ["xyz789"],
  "mustIds": ["xyz789"],
  "sorting": "ASC",
  "missing": false
}

AssetRequest

Description

Users of platform customers can request access/assignment for the assets they use or own. These requests are handled by administrators.

Fields
Field Name Description
id - HashedId!
serial - String!
assetId - HashedId! Associated asset against which this asset request is made for
asset - Asset
forGroupId - HashedId! The group targeted with this request, most often the root group
forGroup - Group!
verificationDocumentId - HashedId!
verificationDocument - Document!
isProcessed - Boolean
byRegistrationRequestId - HashedId If the request came bound with a registration request
byRegistrationRequest - RegistrationRequest
requestedByUserId - HashedId The requesting user
requestedByUser - User
requestedByGroupId - HashedId The requesting group
requestedByGroup - Group
processedByUserId - HashedId The user who processed this request
processedByUser - User
isDenied - Boolean
denialMessage - String
permalinkUrl - String!
created - Timestamp
updated - Timestamp
Example
{
  "id": HashedId,
  "serial": "xyz789",
  "assetId": HashedId,
  "asset": Asset,
  "forGroupId": HashedId,
  "forGroup": Group,
  "verificationDocumentId": HashedId,
  "verificationDocument": Document,
  "isProcessed": false,
  "byRegistrationRequestId": HashedId,
  "byRegistrationRequest": RegistrationRequest,
  "requestedByUserId": HashedId,
  "requestedByUser": User,
  "requestedByGroupId": HashedId,
  "requestedByGroup": Group,
  "processedByUserId": HashedId,
  "processedByUser": User,
  "isDenied": true,
  "denialMessage": "xyz789",
  "permalinkUrl": "abc123",
  "created": 1592577642,
  "updated": 1592577642
}

AssetRequestItem

Fields
Input Field Description
id - HashedId!
isDenied - Boolean!
denialMessage - String
Example
{
  "id": HashedId,
  "isDenied": true,
  "denialMessage": "xyz789"
}

AssetState

Description

Representation of Asset State - summarizing/derived values for easy dashboard/widget displays

Fields
Field Name Description
error - Boolean!
priority - Int The priority state for the asset if the user has the feature enabled, -1 otherwise.
service - Boolean!
warning - Boolean!
Example
{"error": false, "priority": 987, "service": true, "warning": true}

AssetSyntheticParameterEnum

Values
Enum Value Description

UTILIZATION

BATTERY

WORK_DONE

Example
"UTILIZATION"

AssetType

Description

Types of assets are specific models in an asset category, like "AFD 1001", "Turbo 100" to the category "Pressure washer".

Fields
Field Name Description
id - HashedId!
created - Timestamp!
updated - Timestamp
flowId - HashedId
forManufacturerId - HashedId!
groupId - HashedId!
hasAssortmentList - Boolean
externalId - String
image - String Image (url) for this asset type. Should also be used for asset if it doesn't have one provided
inAssetCategoryId - HashedId!
inAssetIntegrationId - HashedId!
isApprovedAssetType - Boolean To reduce the amount of duplicate asset types, asset types need to be approved. Everyone can approve an asset type who has access rights to the asset type.
isPrivate - Boolean! Listed to users outside this group hierarchy - "publicly" available. May be used for not yet released models
isVehicle - Boolean! Denotes whether the asset type is a vehicle
make - String A manufacturer is the maker of a machine.
nameId - HashedId!
restrictedType - Boolean
preset - Boolean
presetInitialValue - String
presetLeasingCostTermination - String
presetLeasingLevel - String
presetLeasingMonthlyCost - String
presetLeasingPartner - String
presetLeasingPartnerContractNumber - String
presetLeasingPartnerContractPositionNumber - String
presetLeasingRenewalRate - String
presetLowValueAsset - Boolean
presetMachineCheckInterval - Int
presetMachineCheckLastCreated - Boolean
presetMachineCheckName - String
presetOwnership - String
presetPurchaseCost - String
presetPurchaseDepriciation - Int
presetRentalCostTermination - String
presetRentalMonthlyCost - String
presetRentalRenewalRate - String
presetServiceContractCostPerYear - String
presetServiceContractEmail - String
presetServiceContractLevel - String
presetServiceContractPartner - String
presetSupplier - String
presetWarrantyPeriod - Int
isLockable - Boolean Certain asset types can be locked. This will then lock the asset Only for limited amount of asset types
isLockedState - Boolean Functionality removed
lockAssetTypeId - HashedId Functionality removed
hasVNC - Boolean Certain assets can be accessed over a remote connection. This specifies if this type can be accessed over VNC.
isPollingAvailable - Boolean
name - Translation!
documents - [Document]! AssetTypes can have Documents associated with them. This property lists all the documents currently associated. A purpose string can differentiate one or more documents, like a label.
Arguments
purpose - String
flow - Flow The flow for this asset type, if set
minimalBatteryVoltage - Float
nominalBatteryVoltage - Float
optimalBatteryVoltage - Float
optimalRuntime - Float
parentParameterKey - AssetParentParameter
workUnits - Translation
workUnitsPerHour - Float
workUnitId - HashedId
inAssetCategory - AssetCategory
group - Group
inAssetIntegration - AssetIntegration
forManufacturer - Manufacturer
namespace - String
assetsCount - Int
userManual - String The handbook of the AssetType. URL to a PDF File
suggestedServicePartner - String
lockAssetType - AssetType! This field is deprecated
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "flowId": HashedId,
  "forManufacturerId": HashedId,
  "groupId": HashedId,
  "hasAssortmentList": true,
  "externalId": "xyz789",
  "image": "xyz789",
  "inAssetCategoryId": HashedId,
  "inAssetIntegrationId": HashedId,
  "isApprovedAssetType": false,
  "isPrivate": true,
  "isVehicle": false,
  "make": "xyz789",
  "nameId": HashedId,
  "restrictedType": true,
  "preset": true,
  "presetInitialValue": "xyz789",
  "presetLeasingCostTermination": "xyz789",
  "presetLeasingLevel": "xyz789",
  "presetLeasingMonthlyCost": "abc123",
  "presetLeasingPartner": "abc123",
  "presetLeasingPartnerContractNumber": "abc123",
  "presetLeasingPartnerContractPositionNumber": "xyz789",
  "presetLeasingRenewalRate": "abc123",
  "presetLowValueAsset": false,
  "presetMachineCheckInterval": 987,
  "presetMachineCheckLastCreated": false,
  "presetMachineCheckName": "abc123",
  "presetOwnership": "xyz789",
  "presetPurchaseCost": "xyz789",
  "presetPurchaseDepriciation": 123,
  "presetRentalCostTermination": "xyz789",
  "presetRentalMonthlyCost": "abc123",
  "presetRentalRenewalRate": "xyz789",
  "presetServiceContractCostPerYear": "abc123",
  "presetServiceContractEmail": "xyz789",
  "presetServiceContractLevel": "xyz789",
  "presetServiceContractPartner": "abc123",
  "presetSupplier": "xyz789",
  "presetWarrantyPeriod": 987,
  "isLockable": true,
  "isLockedState": true,
  "lockAssetTypeId": HashedId,
  "hasVNC": false,
  "isPollingAvailable": false,
  "name": Translation,
  "documents": [Document],
  "flow": Flow,
  "minimalBatteryVoltage": 123.45,
  "nominalBatteryVoltage": 123.45,
  "optimalBatteryVoltage": 123.45,
  "optimalRuntime": 987.65,
  "parentParameterKey": "runtime",
  "workUnits": Translation,
  "workUnitsPerHour": 123.45,
  "workUnitId": HashedId,
  "inAssetCategory": AssetCategory,
  "group": Group,
  "inAssetIntegration": AssetIntegration,
  "forManufacturer": Manufacturer,
  "namespace": "abc123",
  "assetsCount": 987,
  "userManual": "abc123",
  "suggestedServicePartner": "abc123",
  "lockAssetType": AssetType
}

AssetTypePaginatedDto

Fields
Field Name Description
rows - [AssetType!]!
meta - PaginationMeta!
total - Int!
Example
{
  "rows": [AssetType],
  "meta": PaginationMeta,
  "total": 987
}

AssetUnavailability

Fields
Field Name Description
id - HashedId!
created - Timestamp!
updated - Timestamp
createdByWorkOrderId - HashedId!
startTime - DateTime!
endTime - DateTime
assetId - HashedId!
asWorkOrderAsset - Boolean!
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "createdByWorkOrderId": HashedId,
  "startTime": "2007-12-03T10:15:30Z",
  "endTime": "2007-12-03T10:15:30Z",
  "assetId": HashedId,
  "asWorkOrderAsset": false
}

AssetUnavailabilityContext

Values
Enum Value Description

AS_WORKORDER_ASSET

Example
"AS_WORKORDER_ASSET"

AssetUnavailabilityFilterInput

Fields
Input Field Description
from - DateTime! filter unavailability records starting from this time.
to - DateTime! filter unavailability records until this time.
filterContext - AssetUnavailabilityContext filter unavailability records to only ones matching this context.
Example
{
  "from": "2007-12-03T10:15:30Z",
  "to": "2007-12-03T10:15:30Z",
  "filterContext": "AS_WORKORDER_ASSET"
}

AssetView

Description

configuration for an asset view

Fields
Field Name Description
id - HashedId! id (hashed) of the view. can be used to re-order the view, or adjust sharing etc.
created - Timestamp!
updated - Timestamp
name - String! human-readable, user-input name that is given upon view creation. EXCEPT when isSystemView is true, then this is a string identifier for the view (e.g. "asset-gantt")
forEntity - ViewEntity! type of entity that this view is for (e.g. ASSET)
displayMode - ViewDisplayMode! display mode that this view uses (e.g. MAP)
options - AssetViewOptions! options describing pagination, filters and columns available in the view
isActive - Boolean! whether this view is enabled for this account
isSystemView - Boolean! whether this is a system view (inherited from toolsense system). System views can only be shared/unshared; they cannot be edited.
isShared - Boolean! whether this view can be seen by other members of this group, and sub-groups
isEditable - Boolean! whether this account can change this view's display mode, name or options
isDeletable - Boolean! whether this account can delete this view
isShareable - Boolean! whether this account can share or unshare this view to this group and sub-groups
isUnsharedByParentGroup - Boolean! whether this view has been unshared by a parent of this group
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "name": "abc123",
  "forEntity": "ASSET",
  "displayMode": "LIST",
  "options": AssetViewOptions,
  "isActive": false,
  "isSystemView": false,
  "isShared": true,
  "isEditable": false,
  "isDeletable": false,
  "isShareable": true,
  "isUnsharedByParentGroup": false
}

AssetViewCreateInput

Description

input used to create a new asset view

Fields
Input Field Description
name - String! human-readable, user-input name that is given upon view creation. EXCEPT when isSystemView is true, then this is a string identifier for the view (e.g. "asset-gantt")
displayMode - ViewDisplayMode! display mode that this view uses (e.g. MAP)
options - AssetViewOptionsInput! display options to be stored with this view
Example
{
  "name": "xyz789",
  "displayMode": "LIST",
  "options": AssetViewOptionsInput
}

AssetViewOptions

Description

options controlling how a view is displayed

Fields
Field Name Description
search - String general search string to filter the items in this view
filters - [ViewFilters] well defined filters for this view
itemsPerPage - Int! number of items per page in this view
columns - [String!]! asset columns enabled for this view
Example
{
  "search": "xyz789",
  "filters": [ViewFilters],
  "itemsPerPage": 987,
  "columns": ["xyz789"]
}

AssetViewOptionsInput

Description

options for displaying a view

Fields
Input Field Description
filters - [FilterParamsInput]
search - String
itemsPerPage - Int! number of assets per page in the view
columns - [String!]! ordered assets columns that are to be displayed in this view
Example
{
  "filters": [FilterParamsInput],
  "search": "abc123",
  "itemsPerPage": 123,
  "columns": ["xyz789"]
}

AssetViewUpdateInput

Description

input for updating an asset view

Fields
Input Field Description
name - String! human-readable, user-input name that is given upon view creation. EXCEPT when isSystemView is true, then this is a string identifier for the view (e.g. "asset-gantt")
displayMode - ViewDisplayMode! display mode that this view uses (e.g. MAP)
id - HashedId!
options - AssetViewOptionsInput! options for displaying assets in this view
Example
{
  "name": "xyz789",
  "displayMode": "LIST",
  "id": HashedId,
  "options": AssetViewOptionsInput
}

AvailabilityValArray

Fields
Field Name Description
data - [AssetAvailability!]!
Example
{"data": ["READY_TO_USE"]}

AvailableHandler

Fields
Field Name Description
id - String!
displayName - String!
handlerType - HandlerTypeEnum!
Example
{
  "id": "abc123",
  "displayName": "xyz789",
  "handlerType": "EXTERNALEMAIL"
}

Boolean

Description

The Boolean scalar type represents true or false.

Brand

Fields
Field Name Description
id - HashedId!
created - Timestamp!
updated - Timestamp
groupId - HashedId! Group associated with the management of this brand
logoWidth - Int!
key - String! A unique identifying string key
systemName - String! Name of the platform for this brand
colorDark - String!
colorLight - String!
faviconUrl - String! A url that provides the favicon image used
loginBackground - String! A url that provides the background image shown on the login page
name - String Brand name
appUrlAndroid - String Login Language that should be displayed if the Users target language is not available
appUrlIos - String A url leading to the download/store page of the iOS app of the platform
logo - String An image url containing the logo for the platform
color - String Primary color associated with brand
symbol - String The image displayed when only the symbol is required. E.g. the main menu is collapsed
ownURL - String A custom URL where the application is intended to be available
supportEmail - String A support email address to be displayed across clients
activationMailVideo - String A url leading to the activation email video of the platform
logoIsSquare - Boolean Should be true if the logo image has a 1:1 aspect ratio. Helps with visual alignment.
group - Group
sso - DateTime
loginLanguageFallback - HashedId A url leading to the download/store page of the Android app of the platform
projects - String Projects have been dropped completely September 2023
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "groupId": HashedId,
  "logoWidth": 123,
  "key": "abc123",
  "systemName": "abc123",
  "colorDark": "xyz789",
  "colorLight": "abc123",
  "faviconUrl": "xyz789",
  "loginBackground": "xyz789",
  "name": "abc123",
  "appUrlAndroid": "abc123",
  "appUrlIos": "xyz789",
  "logo": "xyz789",
  "color": "xyz789",
  "symbol": "xyz789",
  "ownURL": "xyz789",
  "supportEmail": "xyz789",
  "activationMailVideo": "xyz789",
  "logoIsSquare": false,
  "group": Group,
  "sso": "2007-12-03T10:15:30Z",
  "loginLanguageFallback": HashedId,
  "projects": "abc123"
}

BrandCreateInput

Fields
Input Field Description
key - String! A unique identifying string key
systemName - String! Name of the platform for this brand
colorDark - String!
colorLight - String!
faviconUrl - String! A url that provides the favicon image used
loginBackground - String! A url that provides the background image shown on the login page
appUrlIos - String A url leading to the download/store page of the iOS app of the platform
supportEmail - String A support email address to be displayed across clients
appUrlAndroid - String Login Language that should be displayed if the Users target language is not available
logoIsSquare - Boolean Should be true if the logo image has a 1:1 aspect ratio. Helps with visual alignment.
activationMailVideo - String A url leading to the activation email video of the platform
loginLanguageFallback - Int A url leading to the download/store page of the Android app of the platform
logo - String An image url containing the logo for the platform
name - String Brand name
color - String Primary color associated with brand
ownURL - String
symbol - String The image displayed when only the symbol is required. E.g. the main menu is collapsed
groupId - HashedId
Example
{
  "key": "xyz789",
  "systemName": "xyz789",
  "colorDark": "xyz789",
  "colorLight": "abc123",
  "faviconUrl": "xyz789",
  "loginBackground": "abc123",
  "appUrlIos": "xyz789",
  "supportEmail": "abc123",
  "appUrlAndroid": "xyz789",
  "logoIsSquare": true,
  "activationMailVideo": "xyz789",
  "loginLanguageFallback": 987,
  "logo": "abc123",
  "name": "abc123",
  "color": "xyz789",
  "ownURL": "xyz789",
  "symbol": "xyz789",
  "groupId": HashedId
}

BrandUpdateInput

Fields
Input Field Description
key - String
systemName - String Name of the platform for this brand
colorDark - String
colorLight - String
faviconUrl - String A url that provides the favicon image used
loginBackground - String A url that provides the background image shown on the login page
appUrlIos - String A url leading to the download/store page of the iOS app of the platform
supportEmail - String A support email address to be displayed across clients
appUrlAndroid - String Login Language that should be displayed if the Users target language is not available
logoIsSquare - Boolean Should be true if the logo image has a 1:1 aspect ratio. Helps with visual alignment.
activationMailVideo - String A url leading to the activation email video of the platform
loginLanguageFallback - Int A url leading to the download/store page of the Android app of the platform
logo - String An image url containing the logo for the platform
name - String Brand name
color - String Primary color associated with brand
ownURL - String
symbol - String The image displayed when only the symbol is required. E.g. the main menu is collapsed
groupId - HashedId
Example
{
  "key": "abc123",
  "systemName": "xyz789",
  "colorDark": "abc123",
  "colorLight": "abc123",
  "faviconUrl": "xyz789",
  "loginBackground": "abc123",
  "appUrlIos": "abc123",
  "supportEmail": "abc123",
  "appUrlAndroid": "abc123",
  "logoIsSquare": true,
  "activationMailVideo": "xyz789",
  "loginLanguageFallback": 123,
  "logo": "abc123",
  "name": "xyz789",
  "color": "xyz789",
  "ownURL": "xyz789",
  "symbol": "xyz789",
  "groupId": HashedId
}

BrandUpsertInput

Fields
Input Field Description
key - String!
id - HashedId
systemName - String Name of the platform for this brand
colorDark - String
colorLight - String
faviconUrl - String A url that provides the favicon image used
loginBackground - String A url that provides the background image shown on the login page
name - String Brand name
appUrlAndroid - String Login Language that should be displayed if the Users target language is not available
appUrlIos - String A url leading to the download/store page of the iOS app of the platform
logo - String An image url containing the logo for the platform
color - String Primary color associated with brand
symbol - String The image displayed when only the symbol is required. E.g. the main menu is collapsed
ownURL - String A custom URL where the application is intended to be available
supportEmail - String A support email address to be displayed across clients
activationMailVideo - String A url leading to the activation email video of the platform
logoIsSquare - Boolean Should be true if the logo image has a 1:1 aspect ratio. Helps with visual alignment.
loginLanguageFallback - HashedId A url leading to the download/store page of the Android app of the platform
groupId - HashedId! group id of the brand being updated
Example
{
  "key": "abc123",
  "id": HashedId,
  "systemName": "abc123",
  "colorDark": "abc123",
  "colorLight": "xyz789",
  "faviconUrl": "xyz789",
  "loginBackground": "abc123",
  "name": "abc123",
  "appUrlAndroid": "xyz789",
  "appUrlIos": "xyz789",
  "logo": "xyz789",
  "color": "abc123",
  "symbol": "abc123",
  "ownURL": "abc123",
  "supportEmail": "xyz789",
  "activationMailVideo": "xyz789",
  "logoIsSquare": false,
  "loginLanguageFallback": HashedId,
  "groupId": HashedId
}

CellStyle

Description

Styling information for spreadsheet cells

Fields
Input Field Description
fillColor - String
textColor - String
fontSize - Int
bold - Boolean
Example
{
  "fillColor": "xyz789",
  "textColor": "xyz789",
  "fontSize": 987,
  "bold": false
}

ChangedCostInput

Fields
Input Field Description
id - HashedId!
value - Float
currency - Currency
costTypeId - HashedId
assetId - HashedId
Example
{
  "id": HashedId,
  "value": 123.45,
  "currency": "AED",
  "costTypeId": HashedId,
  "assetId": HashedId
}

ColumnConfig

Fields
Field Name Description
columnName - String!
dataType - FilteringDataTypeEnum!
dependsOnFlags - [String]
disableFilter - Boolean
disableSort - Boolean
hashId - Boolean
isNullable - Boolean
label - String!
Example
{
  "columnName": "abc123",
  "dataType": "BOOLEAN",
  "dependsOnFlags": ["xyz789"],
  "disableFilter": false,
  "disableSort": true,
  "hashId": false,
  "isNullable": false,
  "label": "xyz789"
}

ColumnSchemaDropdownOption

Fields
Field Name Description
label - String!
value - String!
originalValue - String
alternativeValues - [String] Use alternativeMatches instead
alternativeMatches - [String]
type - String
metadata - JSON
Example
{
  "label": "abc123",
  "value": "xyz789",
  "originalValue": "xyz789",
  "alternativeValues": ["abc123"],
  "alternativeMatches": ["abc123"],
  "type": "abc123",
  "metadata": {}
}

ColumnSchemaValidations

Fields
Field Name Description
validate - String
columns - [String]
columnValues - JSON
Example
{
  "validate": "abc123",
  "columns": ["xyz789"],
  "columnValues": {}
}

ColumnsSchema

Fields
Field Name Description
key - String!
label - String!
alternativeMatches - [String]
labelSuffix - String
columnType - String
hidden - Boolean
allowCustomOptions - Boolean
description - String
example - String
type - String
validations - [ColumnSchemaValidations]
dropdownOptions - [ColumnSchemaDropdownOption]
Example
{
  "key": "xyz789",
  "label": "xyz789",
  "alternativeMatches": ["xyz789"],
  "labelSuffix": "xyz789",
  "columnType": "abc123",
  "hidden": true,
  "allowCustomOptions": true,
  "description": "xyz789",
  "example": "xyz789",
  "type": "xyz789",
  "validations": [ColumnSchemaValidations],
  "dropdownOptions": [ColumnSchemaDropdownOption]
}

Coordinates

Description

Representing a static place on the map

Fields
Field Name Description
longitude - Float
latitude - Float
Example
{"longitude": 987.65, "latitude": 987.65}

CoordinatesInput

Fields
Input Field Description
longitude - Float
latitude - Float
Example
{"longitude": 987.65, "latitude": 123.45}

Cost

Fields
Field Name Description
id - HashedId!
created - Timestamp!
updated - Timestamp
assetId - HashedId!
costTypeId - HashedId!
createdByUserId - HashedId
currency - String!
originatingFromEventId - HashedId
originatingFromCommentId - HashedId
value - Float!
costType - CostType!
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "assetId": HashedId,
  "costTypeId": HashedId,
  "createdByUserId": HashedId,
  "currency": "xyz789",
  "originatingFromEventId": HashedId,
  "originatingFromCommentId": HashedId,
  "value": 987.65,
  "costType": CostType
}

CostType

Fields
Field Name Description
id - HashedId!
created - Timestamp!
updated - Timestamp
key - String! key is eng trans, use keyV2 enum
keyV2 - CostTypeEnum!
translationId - HashedId!
translation - Translation!
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "key": "xyz789",
  "keyV2": "BATTERY",
  "translationId": HashedId,
  "translation": Translation
}

CostTypeEnum

Values
Enum Value Description

BATTERY

CERTIFICATION

CONSUMABLES

FUEL

INSURANCE_TAXES

LABOR

LOGISTICS

MAINTENANCE

OTHER

REPAIR

SPARE_PARTS

Example
"BATTERY"

CreateCommentEventInput

Fields
Input Field Description
title - TranslationInput!
assetId - HashedId!
Example
{
  "title": TranslationInput,
  "assetId": HashedId
}

CreateServiceInput

Fields
Input Field Description
formId - String Can be submitted in either id or url form
title - TranslationInput!
keys - [String]
iconUrl - String
isServiceCheck - Boolean
procedureTemplateId - HashedId
assigneeAutomationId - Int
suggestedServicePartner - String
Example
{
  "formId": "xyz789",
  "title": TranslationInput,
  "keys": ["xyz789"],
  "iconUrl": "abc123",
  "isServiceCheck": false,
  "procedureTemplateId": HashedId,
  "assigneeAutomationId": 123,
  "suggestedServicePartner": "abc123"
}

Currency

Values
Enum Value Description

AED

AFN

ALL

AMD

ANG

AOA

ARS

AUD

AWG

AZN

BAM

BBD

BDT

BGN

BHD

BIF

BMD

BND

BOB

BOV

BRL

BSD

BTN

BWP

BYN

BZD

CAD

CDF

CHE

CHF

CHW

CLF

CLP

CNY

COP

COU

CRC

CUC

CUP

CVE

CZK

DJF

DKK

DOP

DZD

EEK

EGP

ERN

ETB

EUR

FJD

FKP

GBP

GEL

GHS

GIP

GMD

GNF

GTQ

GYD

HKD

HNL

HRK

HTG

HUF

IDR

ILS

INR

IQD

IRR

ISK

JMD

JOD

JPY

KES

KGS

KHR

KMF

KPW

KRW

KWD

KYD

KZT

LAK

LBP

LKR

LRD

LSL

LTL

LVL

LYD

MAD

MDL

MGA

MKD

MMK

MNT

MOP

MRU

MUR

MVR

MWK

MXN

MXV

MYR

MZN

NAD

NGN

NIO

NOK

NPR

NZD

OMR

PAB

PEN

PGK

PHP

PKR

PLN

PYG

QAR

RON

RSD

RUB

RWF

SAR

SBD

SCR

SDG

SEK

SGD

SHP

SLE

SLL

SOS

SRD

SSP

STN

SVC

SYP

SZL

THB

TJS

TMT

TND

TOP

TRY

TTD

TWD

TZS

UAH

UGX

USD

USN

UYI

UYU

UYW

UZS

VED

VEF

VES

VND

VUV

WST

XAF

XAG

XAU

XBA

XBB

XBC

XBD

XCD

XDR

XOF

XPD

XPF

XPT

XSU

XTS

XUA

XXX

YER

ZAR

ZMK

ZMW

ZWL

Example
"AED"

Dashboard

Description

A flow is a user-defined sequence tree of steps to guide a user through a specific customer support-related funnel. This can be a device service request, a tutorial, a repair guide etc. A flow is a descriptor of a UI that needs to produce a specific set of key-value pairs (with the values being either strings or files). More specifically, a flow is comprised of a JSON tree of nodes which provides instructions for a GUI of pages that the user can traverse, while producing the said output. Ask a ToolSense representative for a documentation about the definition descriptor. A client app presenting flows to the user should result a valid response flow definition, to be submitted on the FlowResponse endpoint.

Flows can be either:

  • associated with a root Group (generic flow - default)
  • associated with an asset type
Fields
Field Name Description
id - HashedId!
title - Translation
priority - Int
definition - JSON JSON. Defines the dashboard content. Ask ToolSense for a documentation on the structure. use grafana dashboards instead
grafanaDashboardURL - String
grafanaDashboardUID - String
filters - [DashboardFilter]
snapshotURL - String
Arguments
forceRefresh - Boolean
createdByUserId - HashedId!
createdByGroupId - HashedId!
default - Boolean
Example
{
  "id": HashedId,
  "title": Translation,
  "priority": 123,
  "definition": {},
  "grafanaDashboardURL": "xyz789",
  "grafanaDashboardUID": "abc123",
  "filters": [DashboardFilter],
  "snapshotURL": "abc123",
  "createdByUserId": HashedId,
  "createdByGroupId": HashedId,
  "default": true
}

DashboardFilter

Description

DashboardFilters are special filters that can be applied to a dashboard. They are defined by the dashboard creator and can be used to filter the dashboard content. For example, a dashboard can be filtered by a specific asset type, or by a specific asset.

Fields
Field Name Description
id - String!
name - Translation!
type - DashboardFilterType!
priority - Int!
defaultValue - String
defaultValueParsed - String
Example
{
  "id": "abc123",
  "name": Translation,
  "type": "ASSET",
  "priority": 123,
  "defaultValue": "abc123",
  "defaultValueParsed": "xyz789"
}

DashboardFilterInput

Fields
Input Field Description
id - String!
value - String
type - DashboardFilterType!
Example
{
  "id": "abc123",
  "value": "abc123",
  "type": "ASSET"
}

DashboardFilterType

Values
Enum Value Description

ASSET

ASSET_CATEGORY

ASSET_TYPE

DATE

GROUP

SITE

Example
"ASSET"

DashboardMutationFilterInput

Fields
Input Field Description
id - String!
name - TranslationInput!
type - DashboardFilterType!
priority - Int!
defaultValue - String
Example
{
  "id": "xyz789",
  "name": TranslationInput,
  "type": "ASSET",
  "priority": 123,
  "defaultValue": "abc123"
}

Date

Description

A string containing an iso-formatted date (without time portions)

Example
"2007-12-03"

DateTime

Description

A date-time string at UTC, such as 2019-12-03T09:54:33Z, compliant with the date-time format.

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

DeletedResponse

Fields
Field Name Description
affected_rows - Int!
Example
{"affected_rows": 987}

DisplayParameter

Description

A collection of basic asset properties collected in an uniform way to easily display them on ui like dashboard screens or overviews. Assets can have different measurements or endpoints for a lot of information like battery level or errors - this endpoint provides a simple and uniform way to query vital stats on every asset the same way.

Fields
Field Name Description
displayType - DisplayType! Denotes how a DisplayParameter should be interpreted
displayName - Translation The name of the property (like Runtime or Battery)
displayText - String! The value in a textual form (like V0.18, Very good, or 455)
displayValue - Float Raw number value for the property. For DisplayType PERCENT a value between 0-1 will be returned
visibility - DisplayParameterVisibility!
parameter - Parameter!
originalValue - Float
syntheticParameter - AssetSyntheticParameterEnum
stackedParameters - [Parameter]! Additional parameters that should displayed on top of this parameter in a bar graph. Enables DisplayType='STACKED' which is not returned by default
Example
{
  "displayType": "ERROR",
  "displayName": Translation,
  "displayText": "abc123",
  "displayValue": 123.45,
  "visibility": DisplayParameterVisibility,
  "parameter": Parameter,
  "originalValue": 123.45,
  "syntheticParameter": "UTILIZATION",
  "stackedParameters": [Parameter]
}

DisplayParameterInfo

Description

The DisplayParameterInfo includes information about how an assetIntegrations parameter should be displayed in a client application. This endpoint should only be used for maintenance usecases. Although it can be used to get a list of displayParamters from a specific asset.

Fields
Field Name Description
id - HashedId!
parameterId - HashedId!
parameter - Parameter!
assetType - [AssetType!]
assetTypeId - [HashedId!]
assetIntegration - AssetIntegration!
assetIntegrationId - HashedId!
sortPosition - Int
displayUnit - String
displayType - String
domainValue - Int
parameterSetId - HashedId
key - String
title - Translation
titleId - HashedId!
Example
{
  "id": HashedId,
  "parameterId": HashedId,
  "parameter": Parameter,
  "assetType": [AssetType],
  "assetTypeId": [HashedId],
  "assetIntegration": AssetIntegration,
  "assetIntegrationId": HashedId,
  "sortPosition": 987,
  "displayUnit": "abc123",
  "displayType": "abc123",
  "domainValue": 123,
  "parameterSetId": HashedId,
  "key": "abc123",
  "title": Translation,
  "titleId": HashedId
}

DisplayParameterVisibility

Fields
Field Name Description
list - Boolean!
activityLog - Boolean!
graphMonth - Boolean!
graphWeek - Boolean!
graphDay - Boolean!
Example
{
  "list": false,
  "activityLog": true,
  "graphMonth": false,
  "graphWeek": false,
  "graphDay": true
}

DisplayType

Description

Denotes how this display value should be interpreted on an ui

Values
Enum Value Description

ERROR

Property denotes an error

SERVICE

Property denotes an information/soft warning (usually service value, like service time)

PERCENT

Property denotes a percentage value (0-1)

DEFAULT

Property is a simple textual property-value pair

STACKED

Property denotes a stacked parameter
Example
"ERROR"

Document

Description

ToolSense system allows handling documents/files attached to a specific Asset. Documents can also be inherited to the asset through assetTypes. These could be certificates, manuals, images, etc. Currently the API accepts common image and office document file types.

Fields
Field Name Description
id - HashedId!
name - String! Name of the attachment
url - String! Direct file url
typeKey - String! Type key for the file. One of: document, image, audio, video, weblink
assetId - HashedId Id of the associated asset. Mutually exclusive with other associations.
assetTypeId - HashedId Id of the associated assetType. Mutually exclusive with other associations.
commentId - HashedId Id of the associated TicketComment. Mutually exclusive with other associations.
eventId - HashedId
partId - HashedId Id of the associated part. Mutually exclusive with other associations.
purpose - String A string 'label' to define the purpose of the document. Can only be one of the items of a predefined constant array.
isVisibleToCustomer - Boolean Indicates whether the document is served/visible to users of customer groups.
uploadedByCustomer - Boolean! Indicates whether the document was uploaded by a customer
isExternal - Boolean Defines if the document has an external web address not served by the ToolSense system
uploadedByUserId - HashedId
uploadedByUser - User
editable - Boolean! Indicates whether the document may be edited.
created - Timestamp!
updated - Timestamp
isInherited - Boolean Is true if the document is associated with a parent category of the item, not the item itself. Documents can be associated with an item through category inheritance - eg. assets can inherit documents through its assetType.
fileSize - Int Document size, in bytes, using header from the file uri. If the file is external or not found, this will be null.
Example
{
  "id": HashedId,
  "name": "abc123",
  "url": "abc123",
  "typeKey": "abc123",
  "assetId": HashedId,
  "assetTypeId": HashedId,
  "commentId": HashedId,
  "eventId": HashedId,
  "partId": HashedId,
  "purpose": "abc123",
  "isVisibleToCustomer": false,
  "uploadedByCustomer": true,
  "isExternal": true,
  "uploadedByUserId": HashedId,
  "uploadedByUser": User,
  "editable": false,
  "created": 1592577642,
  "updated": 1592577642,
  "isInherited": false,
  "fileSize": 987
}

EntityEnum

Description

Enum to specify what handler should be used. e.g. if handler is set to SUBSCRIPTION_USER path to handler will be Subscription/SubscriptionUser

Values
Enum Value Description

ASSET

ASSETTYPE

ASSETCATEGORY

PROCEDURETEMPLATE

PART

SITE

SUBSCRIPTION_MODULE

SUBSCRIPTION_USER

TICKET

USER

WORKORDER

TEAM

Example
"ASSET"

Event

Description

An event is a historical entry, allowing the listing of all noteworthy changes or alerts for an asset. It can be created when one of the cases below happens:

  • automatically when conditions defined in an internal or user-created Rule have been met
  • automatically when a new service request ("flow response") was sent
  • manually by users ("custom events")
Fields
Field Name Description
id - HashedId!
createdByRule - Rule The rule (and therefore conditions) which triggered the creation of this event
createdByRuleId - HashedId
createdByFlowResponse - FlowResponse The flow response which triggered the creation of this event
createdByFlowResponseId - HashedId
createdByTicket - Ticket
createdByTicketId - HashedId
createdByWorkOrder - WorkOrderSummary
createdByWorkOrderId - HashedId
createdBySiteId - HashedId
originatingFromAsset - Asset The asset that sent the data that triggered this event
originatingFromAssetId - HashedId
originatingFromModule - Module! The module that sent the data that triggered this event
createdByPartId - HashedId
originatingFromModuleId - HashedId
title - Translation Title of the event - in case of an IoT rule, same title as the rule - in case of a Ticket event, dynamically generated
titleId - HashedId! Note that this could be a dummy in case of a dynamically generated title. Please use the "title" attribute instead Use the always available "title" attribute
description - Translation A description of the event
descriptionId - HashedId
createdByUser - User The value is present if the event was created explicitly by a user
createdByUserId - HashedId
stoppedByUser - User The value is present if the event was stopped explicitly by a user
stoppedByUserId - HashedId
eventStyle - EventStyle! Defines visual style for UIs for this event like color or icon
eventStyleId - String!
startTime - Timestamp! When this event started - when the rule first triggered in a continous streak
endTime - Timestamp When the event stopped - when the rule first didn't trigger after the start, thus breaking the continous streak
isCritical - Boolean Denotes severity. Critical events should have a different, emphasized styling on the ui.
isImmediateNotification - Boolean
shouldNotify - Boolean!
manualDeactivation - Boolean
isOngoing - Boolean Some events behind the scenes are not "one-time" occurances - they are states that are triggered, then removed. Eg. a machine may send an error code continuously for weeks - obviously triggering only one event. An "ongoing" event means that with its last sent data pack, the asset still triggered this rule (which may be one or many times since the event's creation) - therefore it's an "active" event.
created - Timestamp!
updated - Timestamp
responseState - TicketState If the event generated from a ticket update return the state this event represent
eventMeta - JSON Expose any meta information which can be utilized by requesting client
serviceName - Translation
ticketId - Int
tag - [EventEntityTagEnum!]!
cost - Cost Use costs
costs - [Cost]
documents - [Document!]! Events can have Documents associated with them. This property lists all the documents currently associated. A purpose string can differentiate one or more documents, like a label.
workOrderNotifications - WorkOrderNotifications
connectedComment - TicketComment
authorEmail - String
lastEvent - Timestamp
createdByPart - Part
data - EventEntityDataDto!
Example
{
  "id": HashedId,
  "createdByRule": Rule,
  "createdByRuleId": HashedId,
  "createdByFlowResponse": FlowResponse,
  "createdByFlowResponseId": HashedId,
  "createdByTicket": Ticket,
  "createdByTicketId": HashedId,
  "createdByWorkOrder": WorkOrderSummary,
  "createdByWorkOrderId": HashedId,
  "createdBySiteId": HashedId,
  "originatingFromAsset": Asset,
  "originatingFromAssetId": HashedId,
  "originatingFromModule": Module,
  "createdByPartId": HashedId,
  "originatingFromModuleId": HashedId,
  "title": Translation,
  "titleId": HashedId,
  "description": Translation,
  "descriptionId": HashedId,
  "createdByUser": User,
  "createdByUserId": HashedId,
  "stoppedByUser": User,
  "stoppedByUserId": HashedId,
  "eventStyle": EventStyle,
  "eventStyleId": "abc123",
  "startTime": 1592577642,
  "endTime": 1592577642,
  "isCritical": true,
  "isImmediateNotification": false,
  "shouldNotify": false,
  "manualDeactivation": false,
  "isOngoing": false,
  "created": 1592577642,
  "updated": 1592577642,
  "responseState": TicketState,
  "eventMeta": {},
  "serviceName": Translation,
  "ticketId": 987,
  "tag": ["asset"],
  "cost": Cost,
  "costs": [Cost],
  "documents": [Document],
  "workOrderNotifications": WorkOrderNotifications,
  "connectedComment": TicketComment,
  "authorEmail": "xyz789",
  "lastEvent": 1592577642,
  "createdByPart": Part,
  "data": EventEntityDataDto
}

EventConfig

Fields
Field Name Description
assetId - HashedId!
lastEvent - Date
nextEvent - Date!
Example
{
  "assetId": HashedId,
  "lastEvent": "2007-12-03",
  "nextEvent": "2007-12-03"
}

EventConfigInput

Fields
Input Field Description
assetId - HashedId!
lastEvent - Date
nextEvent - Date!
Example
{
  "assetId": HashedId,
  "lastEvent": "2007-12-03",
  "nextEvent": "2007-12-03"
}

EventDateFilter

Fields
Input Field Description
from - Timestamp! The date from which to start listing events
to - Timestamp! The date until which to list events
Example
{"from": 1592577642, "to": 1592577642}

EventEntityDataDto

Fields
Field Name Description
stateId - Int
isAutomated - Boolean
initialState - Boolean
oldDate - Timestamp
newDate - Timestamp
rescheduledEventId - Int
handler - EventEntityDataHandlerDto
type - EventEntityDataTypeEnum
action - HandlerUpdateActionEnum
rescheduled - RescheduledEventDataDto
part - Part
site - Site
stockInfo - Part
machineCheck - MachineCheckEventDataDto
machineMaintenance - JSON
Example
{
  "stateId": 123,
  "isAutomated": false,
  "initialState": true,
  "oldDate": 1592577642,
  "newDate": 1592577642,
  "rescheduledEventId": 987,
  "handler": EventEntityDataHandlerDto,
  "type": "RESPONSIBLE_UPDATE",
  "action": "ADD",
  "rescheduled": RescheduledEventDataDto,
  "part": Part,
  "site": Site,
  "stockInfo": Part,
  "machineCheck": MachineCheckEventDataDto,
  "machineMaintenance": {}
}

EventEntityDataHandlerDto

Fields
Field Name Description
id - String!
handlerType - HandlerTypeEnum!
relationType - HandlerRelationTypeEnum!
Example
{
  "id": "xyz789",
  "handlerType": "EXTERNALEMAIL",
  "relationType": "ASSIGNEE"
}

EventEntityDataTypeEnum

Values
Enum Value Description

RESPONSIBLE_UPDATE

CREATED

UPDATED

DELETED

SITE_CHANGED

STOCK_LEVEL_CHANGED

STOCK_LEVEL_WARNING

SITE_ASSET_ASSIGNED

SITE_ASSET_UNASSIGNED

SITE_CREATED

SITE_FIELDS_CHANGE

SITE_FIXED_CHANGE

SITE_GEOFENCE_ALERT_CHANGE

SITE_GEOFENCE_CHANGE

SITE_PART_ASSIGNED

SITE_PART_UNASSIGNED

SITE_QR_CODE_ATTACHED

SITE_WORK_ORDER_MENTION

SITE_WORK_ORDER_STATUS_CHANGE

SITE_PARENT_ASSIGNED

SITE_PARENT_UNASSIGNED

SITE_CHILD_ADDED

SITE_CHILD_REMOVED

SITE_SERVICE_PACKAGE_ASSIGNED

GEOFENCE_ASSET_INSIDE

GEOFENCE_ASSET_OUTSIDE

Example
"RESPONSIBLE_UPDATE"

EventEntityTagEnum

Values
Enum Value Description

asset

assetSerialChanged

assetAssetTypeChanged

assetCreated

checkRule

intervalRule

iotRule

machineCheck

machineMaintenance

servicePackage

part

STOCK_LEVEL_CHANGED

STOCK_LEVEL_WARNING

workOrder

rescheduled

customEvent

created

ownershipChanged

bleLinked

bleRemoved

moduleChanged

RESPONSIBLE_UPDATE

qrCodeAttached

updated

deleted

site

parentSite

SITE_CHANGED

SITE_ASSET_ASSIGNED

SITE_ASSET_UNASSIGNED

SITE_CREATED

SITE_FIELDS_CHANGE

SITE_FIXED_CHANGE

SITE_GEOFENCE_ALERT_CHANGE

SITE_GEOFENCE_CHANGE

SITE_PART_ASSIGNED

SITE_PART_UNASSIGNED

SITE_WORK_ORDER_MENTION

SITE_WORK_ORDER_STATUS_CHANGE

GEOFENCE_ASSET_INSIDE

GEOFENCE_ASSET_OUTSIDE

Example
"asset"

EventFilter

Fields
Field Name Description
styleKey - EventStyleKey!
ongoing - AssetFilter!
notOngoing - AssetFilter!
Example
{
  "styleKey": "ERROR",
  "ongoing": AssetFilter,
  "notOngoing": AssetFilter
}

EventPoint

Description

Denotes a driving event like hard braking, cornering, etc.

Fields
Field Name Description
id - Int! Flespi location id
lat - Float Resolved location latitude
lng - Float Resolved location longitude
eventStart - Float! Event start time
eventType - String! Event type
speed - Float! Point speed in kmh
distance - Float! Distance from previous point in km
Example
{
  "id": 123,
  "lat": 987.65,
  "lng": 987.65,
  "eventStart": 987.65,
  "eventType": "xyz789",
  "speed": 123.45,
  "distance": 123.45
}

EventRescheduleInput

Fields
Input Field Description
id - HashedId!
date - String!
note - TranslationInput!
Example
{
  "id": HashedId,
  "date": "xyz789",
  "note": TranslationInput
}

EventStateCounter

Fields
Field Name Description
total - Int!
assetIds - [HashedId]!
Example
{"total": 987, "assetIds": [HashedId]}

EventStatusCounter

Fields
Field Name Description
style - EventStyleKey!
ongoing - EventStateCounter!
notOngoing - EventStateCounter!
Example
{
  "style": "ERROR",
  "ongoing": EventStateCounter,
  "notOngoing": EventStateCounter
}

EventStyle

Description

Event styles are arbitrary categories for events. They define styling information for representing the events and their notifications. Examples are Error, Service or Location.

Fields
Field Name Description
id - HashedId!
key - EventTypeEnum! A handle for this style. These fixed styles are listed in EventStyleKey type and are available to all groups.
nameId - HashedId!
name - Translation
icon - String An url to a square icon image. Can be selected from a predefined list from the eventStyleIcons query.
color - String A hexadecimal color value
createdByGroupId - HashedId
Example
{
  "id": HashedId,
  "key": "ERROR",
  "nameId": HashedId,
  "name": Translation,
  "icon": "xyz789",
  "color": "xyz789",
  "createdByGroupId": HashedId
}

EventStyleKey

Description

The default event styles set by Toolsense.

Values
Enum Value Description

ERROR

WARNING

INFO

SERVICE

LOCATION

MACHINE_CHECK

MACHINE_MAINTENANCE

COST

WORK_ORDER

Example
"ERROR"

EventTypeEnum

Values
Enum Value Description

ERROR

WARNING

INFO

SERVICE

LOCATION

TICKET

MACHINE_CHECK

MACHINE_MAINTENANCE

COST

WORK_ORDER

Example
"ERROR"

ExcelDownloadLocaleInput

Description

Information about the locale under which the spreadsheet is generated

Fields
Input Field Description
language - String! e.g. en_us or de_de
timezone - String! A Intl timezone. e.g. Europe/Vienna
Example
{
  "language": "xyz789",
  "timezone": "xyz789"
}

ExcelDownloadStylesInput

Description

Styling information for different classes of spreadsheet cells

Fields
Input Field Description
normal - CellStyle Style that is used for cells that are neither headers nor highlighted
highlight - CellStyle Style that is used for non-header highlighted cells
header - CellStyle Style that is used for non-highlighted header cells
headerHighlight - CellStyle Style that is used for highlighted header cells
Example
{
  "normal": CellStyle,
  "highlight": CellStyle,
  "header": CellStyle,
  "headerHighlight": CellStyle
}

ExpectedResultType

Fields
Field Name Description
status - Boolean!
error - String
message - String
id - String
Example
{
  "status": false,
  "error": "xyz789",
  "message": "abc123",
  "id": "abc123"
}

ExportBaseColumn

Description

Describes a column in an excel export.

Values
Enum Value Description

type

serial

siteName

siteAddress

group

lastContacted

lastUsed

Example
"type"

ExportColumn

Fields
Input Field Description
title - String
key - String!
type - ExportColumnKeyType!
format - ExportColumnFormat
highlighted - Boolean
unit - String
Example
{
  "title": "abc123",
  "key": "xyz789",
  "type": "parameter",
  "format": "none",
  "highlighted": false,
  "unit": "xyz789"
}

ExportColumnFormat

Values
Enum Value Description

none

dateTime

translated

Example
"none"

ExportColumnKeyType

Values
Enum Value Description

parameter

assetResolver

Example
"parameter"

File

Description

Representing a static place on the map

Fields
Field Name Description
id - ID!
path - String!
filename - String!
mimetype - String!
Example
{
  "id": 4,
  "path": "xyz789",
  "filename": "xyz789",
  "mimetype": "abc123"
}

FileUpdateInput

Fields
Input Field Description
id - HashedId!
file - Upload!
Example
{"id": HashedId, "file": Upload}

FilterOption

Fields
Field Name Description
value - String!
label - String!
count - Int
source - String
id - String!
Example
{
  "value": "abc123",
  "label": "abc123",
  "count": 123,
  "source": "xyz789",
  "id": "abc123"
}

FilterParamsInput

Fields
Input Field Description
columnName - String!
values - [String!]
sorting - SortDirection
Example
{
  "columnName": "xyz789",
  "values": ["abc123"],
  "sorting": "ASC"
}

FilteringDataTypeEnum

Description

Filtering data type enum

Values
Enum Value Description

BOOLEAN

CURRENCY

DATE

ID

LOCALES

YEAR_AND_MONTH

YEAR_MONTH_AND_DAY

MONTH_LABEL

NUMBER

REMAINING

TEXT

OTHER

Example
"BOOLEAN"

Float

Description

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

Example
123.45

Flow

Description

A flow is a user-defined sequence tree of steps to guide a user through a specific customer support-related funnel. This can be a device service request, a tutorial, a repair guide etc. A flow is a descriptor of a UI that needs to produce a specific set of key-value pairs (with the values being either strings or files). More specifically, a flow is comprised of a JSON tree of nodes which provides instructions for a GUI of pages that the user can traverse, while producing the said output. Ask a ToolSense representative for a documentation about the definition descriptor. A client app presenting flows to the user should result a valid response flow definition, to be submitted on the FlowResponse endpoint.

Flows can be either:

  • associated with a root Group (generic flow - default)
  • associated with an asset type
Fields
Field Name Description
id - HashedId!
title - Translation
titleId - HashedId!
description - Translation
descriptionId - HashedId
flowMaintainers - [NotificationRelation] A list of contacts that get notification about responses for the flow
definition - JSON! JSON. Defines the flow content. Ask ToolSense for a documentation on the structure.
createdByUserId - HashedId
created - Timestamp!
updated - Timestamp
flowId - HashedId!
assetId - Int
wasFinished - Boolean
submittedByUserId - Int
submittedByGroupId - Int!
Example
{
  "id": HashedId,
  "title": Translation,
  "titleId": HashedId,
  "description": Translation,
  "descriptionId": HashedId,
  "flowMaintainers": [NotificationRelation],
  "definition": {},
  "createdByUserId": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "flowId": HashedId,
  "assetId": 123,
  "wasFinished": true,
  "submittedByUserId": 123,
  "submittedByGroupId": 987
}

FlowResponse

Description

Flow responses are the result of a user traversing a flow-defined progress in a client app. They content metadata on the flow traversal, if it was finished in a valid way or prematurely ended, and response values - either global or attached to a certain page. The structure of the responses, and possible values should be defined by the associated flow (eg. if a certain responseName is associated with a dropdown value, valid response value can only be one of the dropdown elements). Values can be text strings or files (documents).

Fields
Field Name Description
id - HashedId!
flow - Flow!
flowId - HashedId!
wasFinished - Boolean
documents - [Document!] Documents attached to this flow response
definition - FlowResponseDefinition! Contains the raw values as reported by the client. The possible responses and their content is defined by the associated flow.
assetId - HashedId An asset's id this response is being submitted for
asset - Asset
submittedByUserId - HashedId The user id submitting the request. Note that this can be null if the user is unavailable - deleted or moved in the tree where it is unavailable for the current user.
submittedByUser - User The user submitting the request. Note that this can be null if the user is unavailable - deleted or moved in the tree where it is unavailable for the current user.
submittedByGroupId - HashedId The group id of the user submitting the request. Note that this can be null if the group is unavailable - deleted or moved in the tree where it is unavailable for the current user.
submittedByGroup - Group The group of the user submitting the request. Note that this can be null if the group is unavailable - deleted or moved in the tree where it is unavailable for the current user.
createdDate - Timestamp
finishedDate - Timestamp The time the flow was processed by an administrator
parsedResponse - JSON The full response object, as parsed with the associated flow - all responses are parsed to a list of pages, with their associated labels. Intended to display the responses in an UI.
state - String Use currentState
Example
{
  "id": HashedId,
  "flow": Flow,
  "flowId": HashedId,
  "wasFinished": false,
  "documents": [Document],
  "definition": FlowResponseDefinition,
  "assetId": HashedId,
  "asset": Asset,
  "submittedByUserId": HashedId,
  "submittedByUser": User,
  "submittedByGroupId": HashedId,
  "submittedByGroup": Group,
  "createdDate": 1592577642,
  "finishedDate": 1592577642,
  "parsedResponse": {},
  "state": "xyz789"
}

FlowResponseDefinition

Fields
Field Name Description
id - HashedId!
language - String
visitedPages - [Int!]!
wasFinished - Boolean
assetId - HashedId
assetTypeId - HashedId
assetCategoryId - HashedId
siteId - HashedId
userId - HashedId!
groupId - HashedId!
flowStartTime - Timestamp! The time the flow was being started to be filled by the user
flowEndTime - Timestamp The time the flow was filled out and sent by the user
response - [FlowResponseDefinitionValue!]!
Example
{
  "id": HashedId,
  "language": "xyz789",
  "visitedPages": [123],
  "wasFinished": true,
  "assetId": HashedId,
  "assetTypeId": HashedId,
  "assetCategoryId": HashedId,
  "siteId": HashedId,
  "userId": HashedId,
  "groupId": HashedId,
  "flowStartTime": 1592577642,
  "flowEndTime": 1592577642,
  "response": [FlowResponseDefinitionValue]
}

FlowResponseDefinitionInput

Fields
Input Field Description
id - HashedId!
language - String
visitedPages - [Int!]!
wasFinished - Boolean
assetId - HashedId
assetTypeId - HashedId
assetCategoryId - HashedId
siteId - HashedId
userId - HashedId!
groupId - HashedId!
flowStartTime - Timestamp!
flowEndTime - Timestamp
response - [FlowResponseDefinitionValueInput!]!
Example
{
  "id": HashedId,
  "language": "abc123",
  "visitedPages": [123],
  "wasFinished": true,
  "assetId": HashedId,
  "assetTypeId": HashedId,
  "assetCategoryId": HashedId,
  "siteId": HashedId,
  "userId": HashedId,
  "groupId": HashedId,
  "flowStartTime": 1592577642,
  "flowEndTime": 1592577642,
  "response": [FlowResponseDefinitionValueInput]
}

FlowResponseDefinitionValue

Fields
Field Name Description
pageId - Int
name - String
value - String
Example
{
  "pageId": 987,
  "name": "abc123",
  "value": "abc123"
}

FlowResponseDefinitionValueInput

Fields
Input Field Description
pageId - Int
name - String!
value - String!
Example
{
  "pageId": 987,
  "name": "abc123",
  "value": "abc123"
}

Group

Description

Groups are the basic organizational structures of the Toolsense system. They are the entities that bind together users, assets and their properties, and are the unit of visibility and authorization. Groups form independent tree hierarchies - they may have parent groups and subgroups.

Visibility of both assets and users is downwards-only.

Group hierarchies can have a relation to each other connecting any two groups between the two tree structures. The connections describe transfer and visibility to resources, currently assets. A real world example would be the hierarchy Acme Corp -> Acme West -> Acme Germany. Acme Germany sells an asset to Excel Corp, which may or may not exist in the TS System. When it does, Acme Corp would still like to supervise the asset for error events - the relation which the transfer created provides this access.

Fields
Field Name Description
flow - Flow The generic flow for group, if set use flow from associated group type instead
flowId - HashedId use flow from associated group type instead
id - HashedId!
created - Timestamp!
updated - Timestamp
name - String!
parentGroupId - HashedId
isRoot - Boolean!
image - String Image (url) for this group - eg. company logo or picture
isCustomer - Boolean!
identificationNumber - String A unique group identifier, eg. a customer number
vatNumber - String The legal VAT number for the organization represented by this group
rootGroupId - HashedId Use treeRootId instead
handlerAlias - String Groups can be set as a target for tickets and ticket assignments. In this case, it appears among possible ticket handlers. This is an optional alternative name for the group when appearing in the list of ticket handlers.
treeRootId - HashedId!
servicePackageId - HashedId! Service package contain specific pre-set configurations for groups
parentGroup - Group The group above the selected group in the hierarchy
services - [Service!]! Services associated to current group's servicePackage
Arguments
excludeQRLandingPage - Boolean
servicesV2 - [Service!]! Services associated to current group's servicePackage
Arguments
excludeQRLandingPage - Boolean
servicePackage - ServicePackage!
internalSettings - JSON Platform-specific settings for the group. Can only be accessed by designated admins.
nonCustomerParentGroup - Group 1st rooted non-customer parent group in the hierarchy, returns top most customer, non-customer group if impersonated with a group lower in hierarchy
childGroups - [Group!]! The groups below the selected group in the hierarchy
childGroupIds - [HashedId!]!
belongsToCurrentGroup - Boolean! Expose the level of access to the group. This is used to determine if the group is directly accessible to the user. Currently only currentGroup and child groups are marked as belonging to the current group. any other group if accessible will be marked as group from other group.
customerRootGroup - Group Topmost customer group in the hierarchy. Returns the topmost customer group under the hierarchy of impersonated group. Returns null if current group or above is non-customer group
hasTicketHandling - Boolean! Toggles if this group is a target of tickets coming from users in its own group and below
flowsEnabled - Boolean!
rootGroupName - String The root group's name in the group's hierarchy. Returns null if the group is a root group
flowMaintainers - [NotificationRelation!]! Users or email addresses who will receive flow notifications
maintainedManufacturer - [Manufacturer!]! Groups may maintain one or more manufacturers
maintainedManufacturerId - [HashedId!]!
settings - JSON!

Settings are configuration values for the platform. They can be used to store ad-hoc client settings. Some properties are already pre-set internally and can not be changed. They are saved and retrieved automatically.

Settings for groups are inherited - if a group doesn't have settings set, it will inherit from its parent. The inheritance is also true per each property. A null value for a property is considered valid and is inherited.

assetLocationsHidden - Boolean! Customers can obfuscate the location of their assets to the manufacturers
users - [User!]! Users currently assigned to this group
userIds - [HashedId!]!
assets - [Asset!]! Assets currently assigned to this group
assetIds - [HashedId!]!
userRequestNotifiers - [NotificationRelation!]! email addresses who will receive customer signup emails
customerName - String
parentName - String!
groupType - ServicePackage! use service package instead
groupTypeId - HashedId! use service package id instead
Example
{
  "flow": Flow,
  "flowId": HashedId,
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "name": "abc123",
  "parentGroupId": HashedId,
  "isRoot": true,
  "image": "abc123",
  "isCustomer": true,
  "identificationNumber": "abc123",
  "vatNumber": "abc123",
  "rootGroupId": HashedId,
  "handlerAlias": "abc123",
  "treeRootId": HashedId,
  "servicePackageId": HashedId,
  "parentGroup": Group,
  "services": [Service],
  "servicesV2": [Service],
  "servicePackage": ServicePackage,
  "internalSettings": {},
  "nonCustomerParentGroup": Group,
  "childGroups": [Group],
  "childGroupIds": [HashedId],
  "belongsToCurrentGroup": false,
  "customerRootGroup": Group,
  "hasTicketHandling": false,
  "flowsEnabled": true,
  "rootGroupName": "abc123",
  "flowMaintainers": [NotificationRelation],
  "maintainedManufacturer": [Manufacturer],
  "maintainedManufacturerId": [HashedId],
  "settings": {},
  "assetLocationsHidden": false,
  "users": [User],
  "userIds": [HashedId],
  "assets": [Asset],
  "assetIds": [HashedId],
  "userRequestNotifiers": [NotificationRelation],
  "customerName": "xyz789",
  "parentName": "abc123",
  "groupType": ServicePackage,
  "groupTypeId": HashedId
}

GroupCreateInput

Fields
Input Field Description
name - String!
isCustomer - Boolean
identificationNumber - String A unique group identifier, eg. a customer number
vatNumber - String The legal VAT number for the organization represented by this group
handlerAlias - String Groups can be set as a target for tickets and ticket assignments. In this case, it appears among possible ticket handlers. This is an optional alternative name for the group when appearing in the list of ticket handlers.
servicePackageId - HashedId Service package contain specific pre-set configurations for groups
parentGroupId - HashedId!
generalSettings - GroupGeneralSettingsCreateInput
internalSettings - GroupInternalSettingsCreateInput
getRawFlow - Boolean
defaultCurrency - String
flowMaintainers - [NotificationRelationCreateInput!]
Example
{
  "name": "xyz789",
  "isCustomer": false,
  "identificationNumber": "abc123",
  "vatNumber": "abc123",
  "handlerAlias": "xyz789",
  "servicePackageId": HashedId,
  "parentGroupId": HashedId,
  "generalSettings": GroupGeneralSettingsCreateInput,
  "internalSettings": GroupInternalSettingsCreateInput,
  "getRawFlow": false,
  "defaultCurrency": "abc123",
  "flowMaintainers": [NotificationRelationCreateInput]
}

GroupGeneralSettingsCreateInput

Fields
Input Field Description
defaultCurrency - String!
hasTicketHandling - Boolean!
flowNotifications - [NotificationRelationCreateInput!]!
customWelcomeContent - TranslationInput
paymentPlan - String!
features - GroupSettingsFeatureFlagsCreateInput
Example
{
  "defaultCurrency": "abc123",
  "hasTicketHandling": true,
  "flowNotifications": [NotificationRelationCreateInput],
  "customWelcomeContent": TranslationInput,
  "paymentPlan": "xyz789",
  "features": GroupSettingsFeatureFlagsCreateInput
}

GroupGeneralSettingsUpdateInput

Fields
Input Field Description
hasTicketHandling - Boolean
paymentPlan - Boolean
defaultCurrency - Boolean
customWelcomeContent - TranslationInput
flowNotifications - [NotificationRelationCreateInput!]
features - GroupSettingsFeatureFlagsCreateInput
Example
{
  "hasTicketHandling": false,
  "paymentPlan": false,
  "defaultCurrency": true,
  "customWelcomeContent": TranslationInput,
  "flowNotifications": [NotificationRelationCreateInput],
  "features": GroupSettingsFeatureFlagsCreateInput
}

GroupInternalSettingsCreateInput

Fields
Input Field Description
features - GroupSettingsFeatureFlagsCreateInput
stripe_settings - StripeSettingsCreateInput
Example
{
  "features": GroupSettingsFeatureFlagsCreateInput,
  "stripe_settings": StripeSettingsCreateInput
}

GroupInternalSettingsUpdateInput

Fields
Input Field Description
features - GroupSettingsFeatureFlagsCreateInput
stripe_settings - StripeSettingsCreateInput
sso - JSON
Example
{
  "features": GroupSettingsFeatureFlagsCreateInput,
  "stripe_settings": StripeSettingsCreateInput,
  "sso": {}
}

GroupServicesFilterInput

Fields
Input Field Description
isServiceCheck - Boolean if true, only services that are service checks are returned
type - ServiceType
excludeQRLandingPage - Boolean
Example
{"isServiceCheck": false, "type": "JOT_FORM", "excludeQRLandingPage": false}

GroupSettingsFeatureFlagsCreateInput

Fields
Input Field Description
hideAssetTypes - Boolean
hideAssetCategories - Boolean
showReservations - Boolean
hideAssetDocuments - Boolean
qrSiteReqq - Boolean
usersSeeAllTickets - Boolean
adminsSeeAllTickets - Boolean
hasAssetsChartView - Boolean
hideWorkOrders - Boolean
hideTickets - Boolean
hideUserSubscriptionPage - Boolean
hideExternalId - Boolean
partsInventory - Boolean
hideExtraFieldsInAssetForm - Boolean
alwaysHideCustomerTypes - Boolean
hasAccessToTrips - Boolean
webhooksEnabled - Boolean
hasAccessToVehicles - Boolean
defaultCurrency - String
isGroupTypeEditor - Boolean
useOldSiteAccessRule - Boolean
sitesBatchUpdate - Boolean
costsEnabled - Boolean
assetsBatchUpdate - Boolean
uncertaintyLimit - Int
hasApprovedAssetTypeSettings - Boolean
isAssetPollingAvailable - Boolean
disableTicketUuidInEmail - Boolean
extraFields - Boolean
advancedAssetStates - Boolean
hasLanguage - [String!]
showMaintenanceRequiredColumn - Boolean
allowEndCustomerEditAsset - Boolean
customerIotRules - Boolean
canObfuscateLocation - Boolean
assetRequestsEnabled - Boolean
linkHelp - String
linkAbout - String
useAlternateReservationName - Boolean
canAccessInternalSettings - Boolean
hideServicePackageForCustomers - Boolean
hideModuleSubscriptionPage - Boolean
showBothSiteNumbers - Boolean
workOrderDailyRate - Boolean
subsitesDisabled - Boolean
linkTermsOfService - String
signupRequestsEnabled - Boolean
allowedBrands - [String!]
useAlternateAssetName - Boolean
allowCustomerAddGroup - Boolean
serialNumberOptional - Boolean
machineChecks - Boolean
flowsEnabled - Boolean
assetsBatchUploadNuvo - Boolean
assetsBatchUpload - Boolean
sitesBatchUpload - Boolean
deleteEventsEnabled - [String!]
assetNearSiteOverridesLocation - Boolean
hasAccessToIntegrationService - Boolean
disableCustomerGroup - Boolean
hasVNC - Boolean
hideGroupSelector - Boolean
hasLockableTypes - Boolean
hubspotHidden - Boolean
showAssetIntegrations - Boolean
enableIMEIDuplicationFromOtherGroups - Boolean
enableIMEIDuplicationToOtherGroups - Boolean
assetOverviewErrorCodeDescription - Boolean
disableQRCodeGeneration - Boolean
siteManagerTodoDisabled - Boolean
hideReleaseNotes - Boolean
proceduresEnabled - Boolean
linkShopLabelProtection - String
linkShopPaper - String
linkShopPrinter - String
assortmentList - Boolean
grafanaDashboard - Boolean
assetVNCClient - Boolean
hasQRCode - Boolean
qrAttachmentOptional - Boolean
qrIMEI - Boolean
excludeWarrantyTodos - Boolean
excludeServiceContractTodos - Boolean
excludeOwnershipTodos - Boolean
restrictReservation - Boolean
showNonNullableFilterOption - Boolean
bypassPrivateCheck - Boolean
releaseUserSubscriptions - Boolean
ticketEmailNotificationsDisabled - Boolean
ticketPushNotificationsDisabled - Boolean
editEventsEnabled - [String!]
moduleSubscriptionFailedDisabled - Boolean
Example
{
  "hideAssetTypes": true,
  "hideAssetCategories": true,
  "showReservations": true,
  "hideAssetDocuments": true,
  "qrSiteReqq": true,
  "usersSeeAllTickets": true,
  "adminsSeeAllTickets": false,
  "hasAssetsChartView": false,
  "hideWorkOrders": false,
  "hideTickets": true,
  "hideUserSubscriptionPage": false,
  "hideExternalId": false,
  "partsInventory": true,
  "hideExtraFieldsInAssetForm": true,
  "alwaysHideCustomerTypes": true,
  "hasAccessToTrips": true,
  "webhooksEnabled": true,
  "hasAccessToVehicles": true,
  "defaultCurrency": "xyz789",
  "isGroupTypeEditor": false,
  "useOldSiteAccessRule": false,
  "sitesBatchUpdate": true,
  "costsEnabled": true,
  "assetsBatchUpdate": true,
  "uncertaintyLimit": 123,
  "hasApprovedAssetTypeSettings": false,
  "isAssetPollingAvailable": true,
  "disableTicketUuidInEmail": false,
  "extraFields": true,
  "advancedAssetStates": false,
  "hasLanguage": ["xyz789"],
  "showMaintenanceRequiredColumn": false,
  "allowEndCustomerEditAsset": true,
  "customerIotRules": true,
  "canObfuscateLocation": false,
  "assetRequestsEnabled": true,
  "linkHelp": "xyz789",
  "linkAbout": "abc123",
  "useAlternateReservationName": true,
  "canAccessInternalSettings": false,
  "hideServicePackageForCustomers": true,
  "hideModuleSubscriptionPage": false,
  "showBothSiteNumbers": false,
  "workOrderDailyRate": true,
  "subsitesDisabled": true,
  "linkTermsOfService": "xyz789",
  "signupRequestsEnabled": true,
  "allowedBrands": ["abc123"],
  "useAlternateAssetName": true,
  "allowCustomerAddGroup": true,
  "serialNumberOptional": true,
  "machineChecks": true,
  "flowsEnabled": false,
  "assetsBatchUploadNuvo": true,
  "assetsBatchUpload": true,
  "sitesBatchUpload": false,
  "deleteEventsEnabled": ["xyz789"],
  "assetNearSiteOverridesLocation": true,
  "hasAccessToIntegrationService": true,
  "disableCustomerGroup": false,
  "hasVNC": false,
  "hideGroupSelector": true,
  "hasLockableTypes": false,
  "hubspotHidden": false,
  "showAssetIntegrations": true,
  "enableIMEIDuplicationFromOtherGroups": false,
  "enableIMEIDuplicationToOtherGroups": true,
  "assetOverviewErrorCodeDescription": false,
  "disableQRCodeGeneration": true,
  "siteManagerTodoDisabled": true,
  "hideReleaseNotes": true,
  "proceduresEnabled": false,
  "linkShopLabelProtection": "abc123",
  "linkShopPaper": "xyz789",
  "linkShopPrinter": "xyz789",
  "assortmentList": true,
  "grafanaDashboard": false,
  "assetVNCClient": true,
  "hasQRCode": false,
  "qrAttachmentOptional": false,
  "qrIMEI": false,
  "excludeWarrantyTodos": false,
  "excludeServiceContractTodos": false,
  "excludeOwnershipTodos": true,
  "restrictReservation": true,
  "showNonNullableFilterOption": false,
  "bypassPrivateCheck": true,
  "releaseUserSubscriptions": false,
  "ticketEmailNotificationsDisabled": true,
  "ticketPushNotificationsDisabled": false,
  "editEventsEnabled": ["abc123"],
  "moduleSubscriptionFailedDisabled": false
}

GroupUpdateInput

Fields
Input Field Description
name - String
parentGroupId - HashedId
isCustomer - Boolean
identificationNumber - String
vatNumber - String
handlerAlias - String
servicePackageId - HashedId Can only be changed by internal TS users currently
flowId - HashedId
getRawFlow - Boolean
assetLocationsHidden - Boolean
userRequestNotifiers - [NotificationRelationCreateInput!] Passing empty array will remove all the relations
generalSettings - GroupGeneralSettingsUpdateInput
internalSettings - GroupInternalSettingsUpdateInput
flowMaintainers - [NotificationRelationCreateInput!]
Example
{
  "name": "abc123",
  "parentGroupId": HashedId,
  "isCustomer": false,
  "identificationNumber": "abc123",
  "vatNumber": "xyz789",
  "handlerAlias": "xyz789",
  "servicePackageId": HashedId,
  "flowId": HashedId,
  "getRawFlow": true,
  "assetLocationsHidden": true,
  "userRequestNotifiers": [
    NotificationRelationCreateInput
  ],
  "generalSettings": GroupGeneralSettingsUpdateInput,
  "internalSettings": GroupInternalSettingsUpdateInput,
  "flowMaintainers": [NotificationRelationCreateInput]
}

HandlerRelationTypeEnum

Values
Enum Value Description

ASSIGNEE

FOLLOWER

CONVERTED_TO_WORK_ORDER

SUGGESTED_PARTNER

Example
"ASSIGNEE"

HandlerTarget

Values
Enum Value Description

TICKET

WORKORDER

Example
"TICKET"

HandlerTypeEnum

Values
Enum Value Description

EXTERNALEMAIL

GROUP

SITEMANAGER

USER

WORK_ORDER

TEAM

Example
"EXTERNALEMAIL"

HandlerUpdateActionEnum

Values
Enum Value Description

ADD

REMOVE

Example
"ADD"

HashedId

Description

Obfuscated id for client use

Example
HashedId

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"

IdInput

Fields
Input Field Description
id - HashedId!
Example
{"id": HashedId}

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

Integration

Fields
Field Name Description
id - HashedId!
created - Timestamp!
updated - Timestamp
name - IntegrationNamesEnum!
config - [IntegrationConfigKey!]!
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "name": "WISAG",
  "config": [IntegrationConfigKey]
}

IntegrationConfigKey

Fields
Field Name Description
id - HashedId!
created - Timestamp!
updated - Timestamp
key - String!
value - String!
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "key": "abc123",
  "value": "abc123"
}

IntegrationNamesEnum

Values
Enum Value Description

WISAG

ASEBB

INTELLI_TRAIL

Example
"WISAG"

IntegrationUpdateInput

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

JSON

Description

The JSON scalar type represents JSON values as specified by ECMA-404.

Example
{}

Language

Description

A list of languages currently supported by the ToolSense system

Fields
Field Name Description
id - HashedId!
code - String ISO 639-1 code for the language with an underscore, followed by ISO 3166-1 alpha 2 for locale, eg en_us
name - String English name of the language
nameNative - String Native name of the language
Example
{
  "id": HashedId,
  "code": "xyz789",
  "name": "xyz789",
  "nameNative": "abc123"
}

LanguageTag

Description

String identified representing a language in format <2l-langcode>_<2l-locale>

Example
LanguageTag

Locale

Description

String identified representing a language in format <2l-langcode>_<2l-locale>

Example
"zh-cmn-Hans-CN"

LocaleInput

Fields
Input Field Description
language - String!
timezone - String!
Example
{
  "language": "xyz789",
  "timezone": "abc123"
}

Location

Description

Representing a reported location on the map

Fields
Field Name Description
id - HashedId!
longitude - String!
latitude - String!
uncertainty - Float!
timestamp - Timestamp!
status - LocationStatus Depenging on the status you can give an interpratation to the location data
gatewayAsset - Asset
locationSource - LocationSource
Example
{
  "id": HashedId,
  "longitude": "xyz789",
  "latitude": "xyz789",
  "uncertainty": 123.45,
  "timestamp": 1592577642,
  "status": "NORMAL",
  "gatewayAsset": Asset,
  "locationSource": "GPS"
}

LocationSource

Values
Enum Value Description

GPS

WIFI

TRIANGULATION

SITE

UNKNOWN

Example
"GPS"

LocationStatus

Description

Describes the state of the supplied location data

Values
Enum Value Description

NORMAL

HIDDEN

Example
"NORMAL"

LoginInterrupt

Description

Users of every Toolsense app may get a message on each login, most often containing product updates.

Fields
Field Name Description
id - HashedId!
title - Translation
titleId - HashedId
content - Translation The message body in HTML
contentId - HashedId!
visibleToGroupIds - [HashedId!]
visibleToGroups - [Group!]
created - Timestamp
updated - Timestamp
Example
{
  "id": HashedId,
  "title": Translation,
  "titleId": HashedId,
  "content": Translation,
  "contentId": HashedId,
  "visibleToGroupIds": [HashedId],
  "visibleToGroups": [Group],
  "created": 1592577642,
  "updated": 1592577642
}

MachineCheckEventDataDto

Fields
Field Name Description
lastCheckLastEditedByUserId - Int
nextCheckLastEditedByUserId - Int
lastCheckLastEditedOn - Timestamp
nextCheckLastEditedOn - Timestamp
id - Int!
name - String!
dueOn - Timestamp!
autoScheduled - Boolean
completedOn - Timestamp!
completedByUserId - Int
rescheduled - RescheduledEventDataDto!
Example
{
  "lastCheckLastEditedByUserId": 987,
  "nextCheckLastEditedByUserId": 987,
  "lastCheckLastEditedOn": 1592577642,
  "nextCheckLastEditedOn": 1592577642,
  "id": 123,
  "name": "xyz789",
  "dueOn": 1592577642,
  "autoScheduled": true,
  "completedOn": 1592577642,
  "completedByUserId": 987,
  "rescheduled": RescheduledEventDataDto
}

MachineCheckStat

Fields
Field Name Description
period - String!
quantity - Int!
Example
{"period": "abc123", "quantity": 123}

MachineMaintenanceStat

Fields
Field Name Description
period - String!
quantity - Int!
Example
{"period": "xyz789", "quantity": 123}

Manufacturer

Description

Manufacturer in the TS system is an entity/brand that (may or may not be) materialising as a group (maintainer), that actually creates assets and manages manufacturer properties.

Fields
Field Name Description
id - HashedId!
created - Timestamp!
updated - Timestamp
name - String!
nameKey - String!
notificationsEnabled - Boolean!
maintainedByGroupId - Int!
maintainedByGroup - Group! The group that can create assetTypes and assetCategories as this manufacturer, and can manage this manufacturer's properties.
assetIntegrations - [AssetIntegration!]! Loads assetIntegrations connected to this manufacturer. Note that assets could use other integrations as well, eg. default ones provided by ToolSense.
assetIntegrationIds - [HashedId!]!
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "name": "abc123",
  "nameKey": "xyz789",
  "notificationsEnabled": true,
  "maintainedByGroupId": 123,
  "maintainedByGroup": Group,
  "assetIntegrations": [AssetIntegration],
  "assetIntegrationIds": [HashedId]
}

ManufacturerCreateInput

Fields
Input Field Description
name - String!
nameKey - String!
notificationsEnabled - Boolean!
Example
{
  "name": "xyz789",
  "nameKey": "abc123",
  "notificationsEnabled": true
}

ManufacturerUpdateInput

Fields
Input Field Description
name - String
nameKey - String
notificationsEnabled - Boolean
Example
{
  "name": "abc123",
  "nameKey": "xyz789",
  "notificationsEnabled": true
}

Module

Description

Representation of the TS Module that is integrated in an asset. Modules are the entities sending data packets to the system, triggering events. To provide data, modules have to be attached to an asset. How module data is interpreted is determined by the AssetIntegration in effect and thus values of Parameter/ParameterValue

Fields
Field Name Description
id - HashedId!
imei - String! Unique identifier of the module
stripeCustomerId - String Used to connect the Module to a Stripe Customer
stripePriceId - String Used to connect the Module to a Stripe Product
moduleType - ModuleType can be ignored
moduleTypeId - HashedId can be ignored
moduleRevision - String Some value that is specifying what kind of module this is
moduleVersionNr - String
assetVersionNr - String
assignedToAsset - Asset The assets this module is currently built into/registered to Use assignedToAssets instead
assignedToAssetId - HashedId Use assignedToAssetsIds instead
assignedToAssets - [Asset] Not needed and not implemented, returns empty array
assignedToAssetIds - [HashedId] Not needed and not implemented, returns empty array
currentPrice - Float
price - StripePrice
isFake - Boolean specifying if this is a real ToolSense module or not (also usually true if the imei is fake but the module is real, e.g. Hako Module)
created - Timestamp
updated - Timestamp
Example
{
  "id": HashedId,
  "imei": "xyz789",
  "stripeCustomerId": "xyz789",
  "stripePriceId": "abc123",
  "moduleType": ModuleType,
  "moduleTypeId": HashedId,
  "moduleRevision": "xyz789",
  "moduleVersionNr": "xyz789",
  "assetVersionNr": "abc123",
  "assignedToAsset": Asset,
  "assignedToAssetId": HashedId,
  "assignedToAssets": [Asset],
  "assignedToAssetIds": [HashedId],
  "currentPrice": 123.45,
  "price": StripePrice,
  "isFake": true,
  "created": 1592577642,
  "updated": 1592577642
}

ModuleSubscription

Fields
Field Name Description
id - HashedId!
moduleId - HashedId!
module - Module
assetId - HashedId!
asset - Asset
startTime - Date
endTime - Date
renewalMonth - Int
groupId - HashedId
group - Group
customer - String
subscription - StripeSubscriptionPlan
Example
{
  "id": HashedId,
  "moduleId": HashedId,
  "module": Module,
  "assetId": HashedId,
  "asset": Asset,
  "startTime": "2007-12-03",
  "endTime": "2007-12-03",
  "renewalMonth": 987,
  "groupId": HashedId,
  "group": Group,
  "customer": "abc123",
  "subscription": StripeSubscriptionPlan
}

ModuleSubscriptionsPaginatedResult

Fields
Field Name Description
meta - PaginationMeta!
rows - [ModuleSubscription!]
Example
{
  "meta": PaginationMeta,
  "rows": [ModuleSubscription]
}

ModuleType

Description

Model/Type of a TS Module

Fields
Field Name Description
id - HashedId!
name - String
specification - String Specification for this model
sensors - String Sensors contained within this model
created - Timestamp!
updated - Timestamp
Example
{
  "id": HashedId,
  "name": "abc123",
  "specification": "abc123",
  "sensors": "abc123",
  "created": 1592577642,
  "updated": 1592577642
}

ModuleUsageInfo

Fields
Field Name Description
hasConnectedAssets - Boolean
canBeReused - Boolean
canBeTransferred - Boolean
primarySerial - String
Example
{
  "hasConnectedAssets": false,
  "canBeReused": false,
  "canBeTransferred": false,
  "primarySerial": "xyz789"
}

MqttMessageType

Values
Enum Value Description

LOCK

UNLOCK

POLL

Example
"LOCK"

NewCostInput

Fields
Input Field Description
assetId - HashedId!
costTypeId - HashedId!
currency - String!
originatingFromEventId - HashedId
originatingFromCommentId - HashedId
value - Float!
Example
{
  "assetId": HashedId,
  "costTypeId": HashedId,
  "currency": "abc123",
  "originatingFromEventId": HashedId,
  "originatingFromCommentId": HashedId,
  "value": 123.45
}

NotificationConfigDto

Fields
Field Name Description
ticketPush - Boolean!
ticketEmail - Boolean!
Example
{"ticketPush": true, "ticketEmail": false}

NotificationConfigInput

Fields
Input Field Description
ticketPush - Boolean
ticketEmail - Boolean
Example
{"ticketPush": false, "ticketEmail": true}

NotificationFilter

Fields
Field Name Description
id - HashedId!
state - Boolean!
preferences - JSON Not used
Example
{"id": HashedId, "state": true, "preferences": {}}

NotificationFilterUpdateInput

Fields
Input Field Description
state - Boolean!
Example
{"state": false}

NotificationRelation

Description

Makes possible to specify entities who receive flow notifications - like emails or push messages

Fields
Field Name Description
relation - NotificationRelationType! Defines the type of entity
relationValue - String Optionally required per type - specifies entity property
relationId - HashedId Optionally required per type - specifies entity id
Example
{
  "relation": "EXTERNALEMAIL",
  "relationValue": "xyz789",
  "relationId": HashedId
}

NotificationRelationCreateInput

Fields
Input Field Description
relationValue - String
relationId - HashedId
relation - NotificationRelationType!
Example
{
  "relationValue": "xyz789",
  "relationId": HashedId,
  "relation": "EXTERNALEMAIL"
}

NotificationRelationType

Values
Enum Value Description

EXTERNALEMAIL

Arbitrary email address, email provided in relationValue is required

SITEMANAGER

A site manager, used when the request is related to an asset that is assigned to his site

USERID

A user in the TS platform. Id provided in relationId is required

GROUP

USER

TEAM

Example
"EXTERNALEMAIL"

OTAUpdate

Description

An Over-the-air update to the TS module.

Fields
Field Name Description
id - HashedId!
fileName - String
versionName - String
assetIntegration - AssetIntegration
assetIntegrationId - HashedId!
description - Translation
descriptionId - HashedId!
created - Timestamp
updated - Timestamp
Example
{
  "id": HashedId,
  "fileName": "abc123",
  "versionName": "xyz789",
  "assetIntegration": AssetIntegration,
  "assetIntegrationId": HashedId,
  "description": Translation,
  "descriptionId": HashedId,
  "created": 1592577642,
  "updated": 1592577642
}

OwnershipValArray

Fields
Field Name Description
data - [AssetOwnership]
Example
{"data": ["PURCHASE"]}

PaginatedAssets

Fields
Field Name Description
meta - PaginationMeta!
rows - [Asset!]
total - Int!
assets - [Asset!]
Example
{
  "meta": PaginationMeta,
  "rows": [Asset],
  "total": 987,
  "assets": [Asset]
}

PaginationMeta

Fields
Field Name Description
count - Int
offset - Int
limit - Int
orderBy - String
order - String
Example
{
  "count": 987,
  "offset": 123,
  "limit": 123,
  "orderBy": "abc123",
  "order": "xyz789"
}

PaginationParams

Fields
Input Field Description
additionalItemId - HashedId if provided the result will also include this item (offset+1)
first - Int Only return the first [n] results
limit - Int! The number of items to return
offset - Int! The number of items to skip before starting to collect the result set
Example
{
  "additionalItemId": HashedId,
  "first": 123,
  "limit": 123,
  "offset": 987
}

Parameter

Fields
Field Name Description
id - HashedId!
savedName - String
title - Translation
unit - String
receivedName - String
shortDescription - String
receivedDescriptionId - HashedId
receivedDescription - Translation
description - Translation
descriptionId - HashedId
minValue - String Maximum possible value for this parameter
maxValue - String Maximum possible value for this parameter
visualisationGroup - String
visualisationMinRange - String
visualisationMaxRange - String
visualisationScale - String
visualisationRangeStepSize - String
interpolationMethod - String
interpolationFrequency - String
interpolationMaxGap - String
parameterSetId - HashedId
created - Timestamp
updated - Timestamp
isSummedValue - Boolean! Parameter is a summarized value
isAverageValue - Boolean!
isLastValue - Boolean!
isCalculatedValue - Boolean
isNoGraphValue - Boolean! False for parameters which can be displayed on a graph (eg. values like imei, id, or latitude)
Example
{
  "id": HashedId,
  "savedName": "xyz789",
  "title": Translation,
  "unit": "xyz789",
  "receivedName": "abc123",
  "shortDescription": "abc123",
  "receivedDescriptionId": HashedId,
  "receivedDescription": Translation,
  "description": Translation,
  "descriptionId": HashedId,
  "minValue": "abc123",
  "maxValue": "abc123",
  "visualisationGroup": "abc123",
  "visualisationMinRange": "xyz789",
  "visualisationMaxRange": "abc123",
  "visualisationScale": "xyz789",
  "visualisationRangeStepSize": "abc123",
  "interpolationMethod": "xyz789",
  "interpolationFrequency": "xyz789",
  "interpolationMaxGap": "xyz789",
  "parameterSetId": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "isSummedValue": false,
  "isAverageValue": true,
  "isLastValue": false,
  "isCalculatedValue": false,
  "isNoGraphValue": true
}

ParameterResult

Fields
Field Name Description
assetId - HashedId
parameter - [Parameter!]
Example
{
  "assetId": HashedId,
  "parameter": [Parameter]
}

ParameterSet

Description

Parameters that "belong together", are thematically similar or dependent can be grouped as Sets. For example params wich represent stacked/separated values of the same value - like a high/low usage runtime, or battery load (with separate parameters for 0-5A, 5-10A, etc). Sets may have no parameters returned.

Fields
Field Name Description
id - HashedId!
title - Translation
titleId - HashedId
description - Translation
descriptionId - HashedId
parameters - [Parameter]
Example
{
  "id": HashedId,
  "title": Translation,
  "titleId": HashedId,
  "description": Translation,
  "descriptionId": HashedId,
  "parameters": [Parameter]
}

Part

Description

The Part entity represents spare parts that you can buy separately to replace old or broken parts in a piece of equipment. They are usually parts that are designed to be easily removed or fitted.

Fields
Field Name Description
id - HashedId! Entity identifier
created - Timestamp!
updated - Timestamp
publicId - Int
type - String!
nameId - HashedId!
name - Translation!
descriptionId - HashedId
description - Translation
siteId - HashedId
site - Site
area - String
availableQuantity - Int
minQuantity - Int
maxQuantity - Int
unitOfMeasure - String
unitCost - Float
currency - String
totalStockValue - Float
groupId - HashedId
group - Group
customerId - HashedId
customer - Group
externalId - String
uuid - String
qrAttached - Boolean!
brand - String
responsiblePerson - String
vendor - String
image - String
shouldNotifyCriticalStockLevel - Boolean!
sendNotificationsTo - [RuleNotificationRelation!]! Add entities who will be notified when stock level is changed.
documents - [Document!]! Parts can have Documents associated with them. This property lists all the documents currently associated. A purpose string can differentiate one or more documents, like a label.
events - [Event!]! Lists all the events that relate to this asset @eventStyleKey: filter by eventStyleKey. See type EventStyleKey @currentlyActive: filter only ongoing/active events based on the value
createdByGroupId - HashedId!
createdByGroup - Group!
createdByUserId - HashedId!
createdByUser - User
isArchived - Boolean!
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "publicId": 123,
  "type": "xyz789",
  "nameId": HashedId,
  "name": Translation,
  "descriptionId": HashedId,
  "description": Translation,
  "siteId": HashedId,
  "site": Site,
  "area": "abc123",
  "availableQuantity": 123,
  "minQuantity": 987,
  "maxQuantity": 987,
  "unitOfMeasure": "xyz789",
  "unitCost": 123.45,
  "currency": "xyz789",
  "totalStockValue": 987.65,
  "groupId": HashedId,
  "group": Group,
  "customerId": HashedId,
  "customer": Group,
  "externalId": "xyz789",
  "uuid": "abc123",
  "qrAttached": false,
  "brand": "xyz789",
  "responsiblePerson": "abc123",
  "vendor": "abc123",
  "image": "xyz789",
  "shouldNotifyCriticalStockLevel": true,
  "sendNotificationsTo": [RuleNotificationRelation],
  "documents": [Document],
  "events": [Event],
  "createdByGroupId": HashedId,
  "createdByGroup": Group,
  "createdByUserId": HashedId,
  "createdByUser": User,
  "isArchived": true
}

PartCreateInput

Fields
Input Field Description
type - String!
siteId - HashedId
area - String
availableQuantity - Int
minQuantity - Int
maxQuantity - Int
unitOfMeasure - String
unitCost - Float
currency - String
totalStockValue - Float
groupId - HashedId
customerId - HashedId
externalId - String
uuid - String
qrAttached - Boolean!
brand - String
responsiblePerson - String
vendor - String
shouldNotifyCriticalStockLevel - Boolean!
name - TranslationInput!
description - TranslationInput
sendNotificationsTo - [RuleNotificationRelationInput!]!
Example
{
  "type": "xyz789",
  "siteId": HashedId,
  "area": "xyz789",
  "availableQuantity": 123,
  "minQuantity": 987,
  "maxQuantity": 123,
  "unitOfMeasure": "abc123",
  "unitCost": 123.45,
  "currency": "abc123",
  "totalStockValue": 123.45,
  "groupId": HashedId,
  "customerId": HashedId,
  "externalId": "xyz789",
  "uuid": "xyz789",
  "qrAttached": true,
  "brand": "abc123",
  "responsiblePerson": "xyz789",
  "vendor": "abc123",
  "shouldNotifyCriticalStockLevel": false,
  "name": TranslationInput,
  "description": TranslationInput,
  "sendNotificationsTo": [RuleNotificationRelationInput]
}

PartMoving

Description

Part Moving collects the history of changes: quantity, contentQuantity, unitCost, totalValue. All records store those parameters in context of part, site and operationDate.

Fields
Field Name Description
id - HashedId!
created - Timestamp!
updated - Timestamp
partId - HashedId!
part - Part!
siteId - HashedId!
site - Site!
operationDate - DateTime
unitCost - Float!
quantity - Float!
contentQuantity - Float!
totalValue - Float!
createdByUserId - HashedId!
createdByUser - User!
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "partId": HashedId,
  "part": Part,
  "siteId": HashedId,
  "site": Site,
  "operationDate": "2007-12-03T10:15:30Z",
  "unitCost": 987.65,
  "quantity": 123.45,
  "contentQuantity": 987.65,
  "totalValue": 123.45,
  "createdByUserId": HashedId,
  "createdByUser": User
}

PartMovingCreateInput

Fields
Input Field Description
partId - HashedId!
siteId - HashedId!
operationDate - DateTime!
unitCost - Float!
quantity - Float!
contentQuantity - Float!
quantityStock - Float!
contentQuantityStock - Float!
notificationsListChanged - Boolean
shouldSkipPartMoving - Boolean
Example
{
  "partId": HashedId,
  "siteId": HashedId,
  "operationDate": "2007-12-03T10:15:30Z",
  "unitCost": 123.45,
  "quantity": 123.45,
  "contentQuantity": 123.45,
  "quantityStock": 987.65,
  "contentQuantityStock": 987.65,
  "notificationsListChanged": true,
  "shouldSkipPartMoving": false
}

PartPaginatedResult

Fields
Field Name Description
meta - PaginationMeta!
rows - [Part!]!
Example
{
  "meta": PaginationMeta,
  "rows": [Part]
}

PartParameter

Fields
Field Name Description
id - HashedId!
savedName - String
title - Translation
unit - String
minValue - String
maxValue - String
visualisationGroup - String
visualisationMinRange - String
visualisationMaxRange - String
visualisationScale - String
visualisationRangeStepSize - String
interpolationMethod - String
interpolationFrequency - String
interpolationMaxGap - String
parameterSetId - HashedId
isSummedValue - Boolean!
isAverageValue - Boolean!
isLastValue - Boolean!
isCalculatedValue - Boolean
isNoGraphValue - Boolean!
Example
{
  "id": HashedId,
  "savedName": "xyz789",
  "title": Translation,
  "unit": "xyz789",
  "minValue": "abc123",
  "maxValue": "xyz789",
  "visualisationGroup": "abc123",
  "visualisationMinRange": "abc123",
  "visualisationMaxRange": "abc123",
  "visualisationScale": "xyz789",
  "visualisationRangeStepSize": "xyz789",
  "interpolationMethod": "abc123",
  "interpolationFrequency": "abc123",
  "interpolationMaxGap": "xyz789",
  "parameterSetId": HashedId,
  "isSummedValue": false,
  "isAverageValue": false,
  "isLastValue": true,
  "isCalculatedValue": false,
  "isNoGraphValue": true
}

PartStatisticData

Fields
Field Name Description
part - Part!
parameters - [PartParameter!]!
timestamps - [Timestamp!]!
values - [Float!]!
Example
{
  "part": Part,
  "parameters": [PartParameter],
  "timestamps": [1592577642],
  "values": [123.45]
}

PartUpdateInput

Fields
Input Field Description
type - String
siteId - HashedId
area - String
availableQuantity - Int
minQuantity - Int
maxQuantity - Int
unitOfMeasure - String
unitCost - Float
currency - String
totalStockValue - Float
groupId - HashedId
customerId - HashedId
externalId - String
uuid - String
qrAttached - Boolean
brand - String
responsiblePerson - String
vendor - String
shouldNotifyCriticalStockLevel - Boolean
name - TranslationInput!
description - TranslationInput
sendNotificationsTo - [RuleNotificationRelationInput!]!
id - HashedId!
Example
{
  "type": "xyz789",
  "siteId": HashedId,
  "area": "abc123",
  "availableQuantity": 987,
  "minQuantity": 987,
  "maxQuantity": 123,
  "unitOfMeasure": "xyz789",
  "unitCost": 123.45,
  "currency": "xyz789",
  "totalStockValue": 987.65,
  "groupId": HashedId,
  "customerId": HashedId,
  "externalId": "xyz789",
  "uuid": "xyz789",
  "qrAttached": false,
  "brand": "abc123",
  "responsiblePerson": "xyz789",
  "vendor": "abc123",
  "shouldNotifyCriticalStockLevel": true,
  "name": TranslationInput,
  "description": TranslationInput,
  "sendNotificationsTo": [RuleNotificationRelationInput],
  "id": HashedId
}

ProcedureComponentChoice

Values
Enum Value Description

na

good

notGood

needsAttention

Example
"na"

ProcedureComponentContentType

Values
Enum Value Description

text

date

site

part

asset

number

section

heading

scanned

dropdown

checkbox

signature

attachment

multi_choice

single_choice

yes_no_choice

Example
"text"

ProcedureComponentYesNo

Values
Enum Value Description

na

no

yes

Example
"na"

ProcedureInstance

Fields
Field Name Description
id - HashedId!
created - Timestamp!
updated - Timestamp
templateId - HashedId!
serviceId - HashedId!
createdByGroupId - HashedId!
createdByUserId - HashedId!
scannedAssetId - HashedId
scannedAsset - Asset
service - Service!
createdByUser - User!
createdByGroup - Group!
template - ProcedureTemplate!
components - [ProcedureInstanceComponent!]!
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "templateId": HashedId,
  "serviceId": HashedId,
  "createdByGroupId": HashedId,
  "createdByUserId": HashedId,
  "scannedAssetId": HashedId,
  "scannedAsset": Asset,
  "service": Service,
  "createdByUser": User,
  "createdByGroup": Group,
  "template": ProcedureTemplate,
  "components": [ProcedureInstanceComponent]
}

ProcedureInstanceComponent

Fields
Field Name Description
id - HashedId!
created - Timestamp!
updated - Timestamp
dateValue - DateTime
comment - String
textValue - String
numberValue - Int
checkedValue - Boolean
yesNoValue - ProcedureComponentYesNo
choiceValue - ProcedureComponentChoice
instanceId - HashedId!
parentId - HashedId
templateComponentId - HashedId!
children - [ProcedureInstanceComponent!]!
assets - [Asset!]!
sites - [Site!]!
templateComponent - ProcedureTemplateComponent!
choiceOptions - [ProcedureInstanceComponentChoiceOption!]!
documents - [Document!]!
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "dateValue": "2007-12-03T10:15:30Z",
  "comment": "abc123",
  "textValue": "abc123",
  "numberValue": 987,
  "checkedValue": true,
  "yesNoValue": "na",
  "choiceValue": "na",
  "instanceId": HashedId,
  "parentId": HashedId,
  "templateComponentId": HashedId,
  "children": [ProcedureInstanceComponent],
  "assets": [Asset],
  "sites": [Site],
  "templateComponent": ProcedureTemplateComponent,
  "choiceOptions": [
    ProcedureInstanceComponentChoiceOption
  ],
  "documents": [Document]
}

ProcedureInstanceComponentChoiceOption

Fields
Field Name Description
id - HashedId!
created - Timestamp!
updated - Timestamp
componentId - HashedId!
choiceOptionId - HashedId!
choiceOption - ProcedureTemplateComponentChoiceOption!
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "componentId": HashedId,
  "choiceOptionId": HashedId,
  "choiceOption": ProcedureTemplateComponentChoiceOption
}

ProcedureInstanceComponentCreateInput

Fields
Input Field Description
dateValue - DateTime
comment - String
textValue - String
numberValue - Int
checkedValue - Boolean
yesNoValue - ProcedureComponentYesNo
choiceValue - ProcedureComponentChoice
templateComponentId - HashedId!
documents - [Upload!]
assetIds - [HashedId!]
siteIds - [HashedId!]
choiceOptionIds - [HashedId!]
children - [ProcedureInstanceComponentCreateInput!]
Example
{
  "dateValue": "2007-12-03T10:15:30Z",
  "comment": "abc123",
  "textValue": "abc123",
  "numberValue": 987,
  "checkedValue": true,
  "yesNoValue": "na",
  "choiceValue": "na",
  "templateComponentId": HashedId,
  "documents": [Upload],
  "assetIds": [HashedId],
  "siteIds": [HashedId],
  "choiceOptionIds": [HashedId],
  "children": [ProcedureInstanceComponentCreateInput]
}

ProcedureInstanceCreateInput

Fields
Input Field Description
templateId - HashedId!
serviceId - HashedId!
scannedAssetId - HashedId
components - [ProcedureInstanceComponentCreateInput!]!
Example
{
  "templateId": HashedId,
  "serviceId": HashedId,
  "scannedAssetId": HashedId,
  "components": [ProcedureInstanceComponentCreateInput]
}

ProcedureTemplate

Fields
Field Name Description
id - HashedId!
created - Timestamp!
updated - Timestamp
type - ProcedureTemplateType!
preset - ProcedureTemplatePreset!
accessLevel - ProcedureTemplateAccessLevel!
iconUrl - String
createdByGroupId - HashedId!
createdByUserId - HashedId!
titleId - HashedId!
descriptionId - HashedId
rootId - HashedId
parentId - HashedId
publicId - Int!
publicRootId - Int
servicePackages - [ServicePackage!]!
title - Translation!
createdByUser - User!
createdByGroup - Group!
description - Translation
components - [ProcedureTemplateComponent!]!
instances - [ProcedureInstance!]!
root - ProcedureTemplate
parent - ProcedureTemplate
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "type": "tickets",
  "preset": "check",
  "accessLevel": "tree",
  "iconUrl": "xyz789",
  "createdByGroupId": HashedId,
  "createdByUserId": HashedId,
  "titleId": HashedId,
  "descriptionId": HashedId,
  "rootId": HashedId,
  "parentId": HashedId,
  "publicId": 987,
  "publicRootId": 987,
  "servicePackages": [ServicePackage],
  "title": Translation,
  "createdByUser": User,
  "createdByGroup": Group,
  "description": Translation,
  "components": [ProcedureTemplateComponent],
  "instances": [ProcedureInstance],
  "root": ProcedureTemplate,
  "parent": ProcedureTemplate
}

ProcedureTemplateAccessLevel

Values
Enum Value Description

tree

local

branch

Example
"tree"

ProcedureTemplateComponent

Fields
Field Name Description
id - HashedId!
created - Timestamp!
updated - Timestamp
order - Int!
parentId - HashedId
templateId - HashedId!
isRequired - Boolean!
contentType - ProcedureComponentContentType!
isHiddenInResult - Boolean!
includeTime - Boolean!
title - Translation!
description - Translation
documents - [Document!]!
children - [ProcedureTemplateComponent!]!
choiceOptions - [ProcedureTemplateComponentChoiceOption!]!
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "order": 123,
  "parentId": HashedId,
  "templateId": HashedId,
  "isRequired": true,
  "contentType": "text",
  "isHiddenInResult": true,
  "includeTime": true,
  "title": Translation,
  "description": Translation,
  "documents": [Document],
  "children": [ProcedureTemplateComponent],
  "choiceOptions": [
    ProcedureTemplateComponentChoiceOption
  ]
}

ProcedureTemplateComponentChoiceOption

Fields
Field Name Description
id - HashedId!
created - Timestamp!
updated - Timestamp
componentId - HashedId!
nameId - HashedId!
order - Int!
name - Translation!
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "componentId": HashedId,
  "nameId": HashedId,
  "order": 123,
  "name": Translation
}

ProcedureTemplateComponentChoiceOptionCreateInput

Fields
Input Field Description
name - TranslationInput!
Example
{"name": TranslationInput}

ProcedureTemplateComponentCreateInput

Fields
Input Field Description
isRequired - Boolean!
contentType - ProcedureComponentContentType!
isHiddenInResult - Boolean!
includeTime - Boolean!
title - TranslationInput!
description - TranslationInput
documents - [Upload!]!
children - [ProcedureTemplateComponentCreateInput!]
choiceOptions - [ProcedureTemplateComponentChoiceOptionCreateInput!]!
Example
{
  "isRequired": false,
  "contentType": "text",
  "isHiddenInResult": false,
  "includeTime": true,
  "title": TranslationInput,
  "description": TranslationInput,
  "documents": [Upload],
  "children": [ProcedureTemplateComponentCreateInput],
  "choiceOptions": [
    ProcedureTemplateComponentChoiceOptionCreateInput
  ]
}

ProcedureTemplateCreateInput

Fields
Input Field Description
type - ProcedureTemplateType!
preset - ProcedureTemplatePreset!
accessLevel - ProcedureTemplateAccessLevel!
iconUrl - String
parentId - HashedId
title - TranslationInput!
description - TranslationInput
components - [ProcedureTemplateComponentCreateInput!]!
Example
{
  "type": "tickets",
  "preset": "check",
  "accessLevel": "tree",
  "iconUrl": "abc123",
  "parentId": HashedId,
  "title": TranslationInput,
  "description": TranslationInput,
  "components": [ProcedureTemplateComponentCreateInput]
}

ProcedureTemplatePaginatedDto

Fields
Field Name Description
rows - [ProcedureTemplate!]!
meta - PaginationMeta!
total - Int!
Example
{
  "rows": [ProcedureTemplate],
  "meta": PaginationMeta,
  "total": 123
}

ProcedureTemplatePreset

Values
Enum Value Description

check

service

landing

Example
"check"

ProcedureTemplateType

Values
Enum Value Description

tickets

work_orders

Example
"tickets"

ProcessHandler

Fields
Field Name Description
id - HashedId!
displayName - String!
relationValue - String
relationType - HandlerRelationTypeEnum!
handlerType - HandlerTypeEnum!
isDeletable - Boolean!
Example
{
  "id": HashedId,
  "displayName": "xyz789",
  "relationValue": "abc123",
  "relationType": "ASSIGNEE",
  "handlerType": "EXTERNALEMAIL",
  "isDeletable": true
}

ProcessedAssetData

Description

The result of the processedAssetData query Contains a list of parameters A list values for each requested parameter in the same order as the parameters A list of timestamps in the same order and amount as the values. example query and result could be: processedAssetData (assetId: [], parameterId: [], from: 1539077400000, to: 1539586800000) [{ asset: { id: , ...}, parameters: [{ id: 1 savedName: bat, ... }], values: [["","","",""]], timestamps: [1539077400000,1539583200000,1539585000000,1539586800000] }]

Fields
Field Name Description
asset - Asset!
parameters - [Parameter!]
values - [Float]
timestamps - [Timestamp]
Example
{
  "asset": Asset,
  "parameters": [Parameter],
  "values": [987.65],
  "timestamps": [1592577642]
}

PushPlatformTypeEnum

Values
Enum Value Description

ANDROID

IOS

WEB

Example
"ANDROID"

RegistrationRequest

Description

Registration requests provide a way for the users of ToolSense platform's first-party customers to request their registration. Through the clients, the users are able to provide necessary information for the creation of their own (sub)group, and the first user in this group. The request is processed by a customer administrator who actually creates these items.

Fields
Field Name Description
id - HashedId!
forGroup - Group! The group for which this request is for - user and group will be created under its hierarchy
forGroupId - HashedId!
firstname - String!
lastname - String!
email - String!
phone - String!
companyAddress - String
customerNumber - String
dealerName - String
groupName - String! The name of the proposed group - the requested user will be created as its first administrator
acceptedTermsVersionId - HashedId! The version of the terms that the user accepted at the time of making the registration request
salesRepresentative - String
vatNumber - String
languageId - HashedId
isProcessed - Boolean
isActive - Boolean
assetsCount - Int
resultingUserId - HashedId The user created as per the request
resultingUser - User
isDenied - Boolean
denialMessage - String
processedByUserId - HashedId The user who processed this request
processedByUser - User
resultingGroupId - HashedId The group created as per the request
resultingGroup - Group
created - Timestamp!
updated - Timestamp
Example
{
  "id": HashedId,
  "forGroup": Group,
  "forGroupId": HashedId,
  "firstname": "xyz789",
  "lastname": "abc123",
  "email": "xyz789",
  "phone": "abc123",
  "companyAddress": "abc123",
  "customerNumber": "abc123",
  "dealerName": "abc123",
  "groupName": "abc123",
  "acceptedTermsVersionId": HashedId,
  "salesRepresentative": "abc123",
  "vatNumber": "xyz789",
  "languageId": HashedId,
  "isProcessed": false,
  "isActive": true,
  "assetsCount": 987,
  "resultingUserId": HashedId,
  "resultingUser": User,
  "isDenied": false,
  "denialMessage": "xyz789",
  "processedByUserId": HashedId,
  "processedByUser": User,
  "resultingGroupId": HashedId,
  "resultingGroup": Group,
  "created": 1592577642,
  "updated": 1592577642
}

RelatedGroup

Fields
Field Name Description
id - HashedId!
name - String!
depth - Int!
Example
{
  "id": HashedId,
  "name": "abc123",
  "depth": 123
}

RequestForAsset

Fields
Input Field Description
serial - String!
permalink - String!
document - Upload!
Example
{
  "serial": "abc123",
  "permalink": "xyz789",
  "document": Upload
}

RequestGroupInput

Fields
Input Field Description
id - HashedId
name - String
isCustomer - Boolean
parentGroupId - HashedId
customerNumber - String
vatNumber - String
Example
{
  "id": HashedId,
  "name": "xyz789",
  "isCustomer": false,
  "parentGroupId": HashedId,
  "customerNumber": "abc123",
  "vatNumber": "abc123"
}

RescheduledEventDataDto

Fields
Field Name Description
noteId - Int
byUserId - Int
newDate - Timestamp!
oldDate - Timestamp!
created - Timestamp!
Example
{
  "noteId": 987,
  "byUserId": 123,
  "newDate": 1592577642,
  "oldDate": 1592577642,
  "created": 1592577642
}

Reservation

Description

Assets can be reserved for certain time periods. During their durations, reservations are exclusive and can not overlap for the same asset.

Fields
Field Name Description
id - HashedId!
from - Timestamp! Starting time of reservation
until - Timestamp! Ending time of reservation
reserverName - String! Name of the reserver
assets - [Asset!]! Assets assigned to this reservation
assetIds - [HashedId]!
workingHoursSettings - JSON Working hours settings, if set. See Rules schema for syntax.
workingHoursNotification - [RuleNotificationRelation] When a working hours event happens, send notifications to these entities
notes - Translation Arbitrary notes for storing info about the reservation
notesId - HashedId
createdByUser - User!
createdByUserId - HashedId!
createdByGroup - Group!
createdByGroupId - HashedId!
created - Timestamp!
updated - Timestamp
Example
{
  "id": HashedId,
  "from": 1592577642,
  "until": 1592577642,
  "reserverName": "xyz789",
  "assets": [Asset],
  "assetIds": [HashedId],
  "workingHoursSettings": {},
  "workingHoursNotification": [RuleNotificationRelation],
  "notes": Translation,
  "notesId": HashedId,
  "createdByUser": User,
  "createdByUserId": HashedId,
  "createdByGroup": Group,
  "createdByGroupId": HashedId,
  "created": 1592577642,
  "updated": 1592577642
}

ReservationEnd

Fields
Field Name Description
size - Int! The number of the reservations
reservations - [Reservation]!
assets - [Asset]! The list of the assets. Note it may have a different length from size because one asset can have more than 1 reservation Use filtered.assets.
percentage - Int! The percentage of the assets (0 - 100) that have reservations in the range
filtered - AssetFilter
Example
{
  "size": 987,
  "reservations": [Reservation],
  "assets": [Asset],
  "percentage": 987,
  "filtered": AssetFilter
}

Role

Fields
Field Name Description
id - HashedId!
groupId - HashedId
key - RoleKey!
nameId - HashedId
name - Translation
created - Timestamp!
updated - Timestamp
Example
{
  "id": HashedId,
  "groupId": HashedId,
  "key": "SuperUser",
  "nameId": HashedId,
  "name": Translation,
  "created": 1592577642,
  "updated": 1592577642
}

RoleKey

Values
Enum Value Description

SuperUser

EditorUser

User

ToolSenseUser

Example
"SuperUser"

RoutePoint

Description

Waypoints are location snapshots taken at certain intervals that also provide event and other information

Fields
Field Name Description
id - Int! Flespi location id
lat - Float Resolved location latitude
lng - Float Resolved location longitude
distance - Float! Event or point distance in km
speed - Float Vehicle speed at this waypoint
time - Float! Time
Example
{
  "id": 123,
  "lat": 123.45,
  "lng": 987.65,
  "distance": 123.45,
  "speed": 123.45,
  "time": 987.65
}

Rule

Description

A Rule contains a set of conditions that is evaluated either at the receiving of a new data package from the module installed in an Asset, or on specified time intervals.

When all conditions are met, an Event is created, and the actions defined in the rule (like sending of notifications, emails...) occur.

Conditions are represented by blocks (RuleBlock) - one or more can be chained together with operational logic to form the definition property of a Rule.

The logic tree can contain blocks or operations (containing further blocks). Operations currently supported: and, or, not.

Rules are differentiated between from which source their evaluation stems from them within the platform. See RuleSources enum.

Rules are assigned to AssetTypes - through them, to a single AssetIntegration. This defines which RuleBlocks are available when building the Definition.

Fields
Field Name Description
definition - JSON!

The definition is a logic tree containing operations and RuleBlock instances. It's evaluated according to the tree and the end result is a boolean value, which, if true, will trigger this rule and create events and notifications. It is a JSON object, containing either operator with nested blocks (op: 'and', 'or', 'not'), or a standalone block (op: 'block'). See RuleBlock type for more info. Note that the available valid ruleBlocks are dependent on the source of the rule.

{ op: 'or', items: [ {op: 'block', settings: },{ op: 'block', settings: }, {op: 'or',blocks: [ {op: 'block', settings: },{op: 'block', settings: }]} ] }

module - [Module!] Module for which this rule is checked for
moduleId - [HashedId!]
assetBlacklist - [Asset!] List of assets for which this Rule will not trigger.
assetBlacklistIds - [HashedId!]
sendNotificationsTo - [RuleNotificationRelation] Add entities who will be notified when this rule is triggered. See type for possibilities.
duration - JSON

A collection of from-to timestamps, that, if set, defines timespans during which time this rule is considered active. Any data sent outside the set timeframes will be ignored by the rule. If isActive is false, this setting is ignored. Each duration timespan has to be at least 1 minute long. Durations can overlap.

[{from:1576675434, to: 1576676662 }]

relations - [RuleRelation!] rule relations - for instance associated asset, assettypes
eventsConfigs - [EventConfig]
id - HashedId!
created - Timestamp!
updated - Timestamp
title - Translation
description - Translation
createdByUser - User
createdByGroup - Group
assignedToGroup - Group
eventStyle - EventStyle! Visual style for the event created by this rule. Defines custom ui display like color, icon url.
titleId - HashedId
descriptionId - HashedId
createdByGroupId - HashedId
createdByUserId - HashedId
assignedToGroupId - HashedId!
eventStyleId - HashedId!
isCritical - Boolean! Denotes severity. This rule will create 'critical' notifications that are styled differently.
isOnetime - Boolean! One time rules trigger only once per asset. Once a rule is triggered, the asset emitting it is set on a blacklist for this rule.
isImmediateNotification - Boolean!
isGlobalRule - Boolean! Apply rule for custom assets
manualDeactivation - Boolean! Events created by manualDeactivation rules can only be deactivated (=not ongoing) "manually" through explicit request. They can not be deactivated by incoming module data.
isArchived - Boolean! Archived rules are 'deleted', they can't be edited anymore. Either they were directly deleted, or their definition changed. Whenever a definition changes, a new rule is created and the old is archived. By default archived rules are not retrieved, use the isArchived parameter to also access those.
isOneshot - Boolean! One-shot rules are only triggered once. After this, they are deactivated (isActive is false)
isActive - Boolean! Rules can be temporarily disabled. Disabled rules are not evaluated.
source - RuleSource! Source of evaluation. This defines WHEN the rule is evaluated internally, and what RuleBlocks can be used.
enabled - Boolean! This property shows if the Rule details are updateable to the requesting user. Take note on the group hierarchy of the currently assigned group for this Rule in regards to this.
purpose - RulePurpose System-set flag, denoting automatically created rules through associated functions, like asset working hours
servicesV2 - [Service!]!
Arguments
includeServiceCheck - Boolean
assetId - HashedId
services - [Service!]!
publicId - String!
Example
{
  "definition": {},
  "module": [Module],
  "moduleId": [HashedId],
  "assetBlacklist": [Asset],
  "assetBlacklistIds": [HashedId],
  "sendNotificationsTo": [RuleNotificationRelation],
  "duration": {},
  "relations": [RuleRelation],
  "eventsConfigs": [EventConfig],
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "title": Translation,
  "description": Translation,
  "createdByUser": User,
  "createdByGroup": Group,
  "assignedToGroup": Group,
  "eventStyle": EventStyle,
  "titleId": HashedId,
  "descriptionId": HashedId,
  "createdByGroupId": HashedId,
  "createdByUserId": HashedId,
  "assignedToGroupId": HashedId,
  "eventStyleId": HashedId,
  "isCritical": false,
  "isOnetime": false,
  "isImmediateNotification": false,
  "isGlobalRule": true,
  "manualDeactivation": false,
  "isArchived": true,
  "isOneshot": false,
  "isActive": false,
  "source": "DATA",
  "enabled": false,
  "purpose": "GEOFENCE",
  "servicesV2": [Service],
  "services": [Service],
  "publicId": "xyz789"
}

RuleBlock

Description

A RuleBlock defines a single condition (within a logical tree) to evaluate when the asset sends data.

The types of rule block is queryable per asset integration. Values and settings within a block are always customizeable.

Note that except for values of type, and within the settings, parameterId, valuePreset, title, all values will be null and are listed here for reference only.

The client is expected to fill these values and save it as a part of a Rule definition. Evaluation of the different blocks and how these properties are used depend on the Rules Engine, documented in the RuleBlockType.

All the above settings can be inserted in logical trees like this. An item can either be a 'block', or another logical element with items. Supported logical op-s are: and, or, not

{ op: 'or', items: [ { op: 'block', type: 'parameter_math', settings: }, { op: 'block', type: 'parameter_math', locked: true, settings: } ] }

Fields
Field Name Description
id - HashedId!
title - Translation
titleId - HashedId
type - RuleBlockType! The type defines the format of the block settings. See the types to get a description
parameterIdPreset - HashedId The parameterId to be used for this ruleBlock, either in compareSource or compareTo part
op - String! Will always yield 'block', only here for syntax correctness
settings - JSON! Depends on the type. Yields example settings for given type.
Example
{
  "id": HashedId,
  "title": Translation,
  "titleId": HashedId,
  "type": "parameter_math",
  "parameterIdPreset": HashedId,
  "op": "xyz789",
  "settings": {}
}

RuleBlockType

Description

A fixed list defining the types of Blocks possible within a Rule. Each trigger different equation functions as described below.

Values
Enum Value Description

parameter_math

For all parameter* types:

{compareSource: { target: self parameterId: ''}, compareTo: {target: '4d,5s', parameterId:'', value: 45}, comparison: '=',matchCount: 3,matchCountComparison: '='}

compareSource describes the data object being evaluated. compareTo describes the data object or value that the source is being compared to. Value of target property can be:

  • 'self' to use only the parameters of the single latest incoming data pack (optional - this is the default),

  • timespan, like '4d,5h' a timespan to define a range of time to inspect. The format of this is one or two time string divided by acomma, like '4d' or '5d,5h'. Supported postfixes: d,h,m,s - day, hour, minutes, seconds, Divided by a | character, two timestamps can also be added. In this case, the time amount of the second part is is counted back from the time of the first element. All data packs within this timeframe will be inspected, block will be true if there is a positive equation for any. Note that either compareSource/compareTo has to be 'self'/non-timeframe, two date ranges can't be compared.

  • parameterId: An id for a parameter name to be used on either side of the equation (compareSource, compareTo). Can only be set in compareSource. It refers to a parameter, for which a name property is searched as a field in the last received data pack. If the value is prefilled by this query, it has to be used - this is the case eg. for differing error params per AssetIntegration.

  • Otherwise get the possible list of parameter names by querying the Parameter endpoint with the assetIntegrationId defined by one of the assetTypeIds assigned to the Rule (they have to be of the same). To display for the user, use the title property of the parameter. To save it in a block, use the id property of the parameter.

  • matchCount - Can be used if source or value is timespan-referenced (multiple packs inspected). By default a single match will trigger true, you can change this here for a higher number (> 1). With this, you can set rules like "parameter 'unc' = 50 on 3 occassions in the last 30 days.

  • value - User input - a raw value used for comparison in compareTo. ParameterId, if set, is ignored in this case.


Math equation. Supported comparisons: = > < <= >= != An optional 'difference' property can be used to compare difference between source and target values instead of the values themselves.

parameter_stringequality

Simple string comparison. Supported comparisons: =, !=. See parameter_math for full description.

parameter_isnull

Existence of a the source parameter in the target data pack - true if the parameter is not defined, or its a null/0 value. compareTo part is ignored/not necessary. See parameter_math for full description.

parameter_binaryvalue

Checks summarized binary error values against pow2 hex codes - an error format often used in electronics. Compares binary values on the left side and hex target numbers that have to be a power of 2 (converted to binary) on the left side. Eg. an asset data value of 111010100 will trigger a ruleBlock which defines (0x) 40 (= 64 = 1000000) as a value to check for. As this is a summarized property, the same data value will also trigger blocks defining binary equivalents of 16 (10000) and 4 100 on the same property. See parameter_math for full description. Note: this mode is just for comparing a raw value to asset data! To compare two data params, use math mode.

workinghours

Checks whether the asset reported activity on a given logged parameter within an "allowed", pre-set timeframe - based on a weekly schedule. Results in true if asset activity log shows activity that is is NOT within the given timespan boundaries. For example, an asset is only allowed to work between each monday and tuesday between 6:00 to 18:00. Any activity reported outside this timespans will result in true for this block.

{activityParameterId: 123, weekdays:{0:[[21600000, 64800000]],1:[[21600000, 64800000]],2:[],3:[],4:[],5:[],6:[]}}

geofence

If the sent data object contains a location, this rule inspects whether this location is within a static boundary. Supported comparisons: '=', '!=' { shape: { type: 'circle', radius: 1000, coordinates: [ { latitude: 50.106549, longitude: 8.634346 } ] }, comparison: '='}

contractInterval_service

Checks if the service start is older than a certain frequency time amount, on the same interval Usable date keywords: m, h, d, w, M, y - minute, hour, day, week, month, year { frequency: '2m' }

contractInterval_creation

See contractInterval_service - difference that this checks creation date

contractInterval_serviceOrCreation

See contractInterval_service - difference that this checks creation date OR service start date
Example
"parameter_math"

RuleInterval

Values
Enum Value Description

M

d

y

Example
"M"

RuleNotificationRelation

Description

Makes possible to specify entities who receive rule notifications - like emails or push messages - when the rule is triggered.

Fields
Field Name Description
relation - RuleNotificationRelationType! Defines the type of entity
relationValue - String Optionally required per type - specifies entity property
relationId - HashedId Optionally required per type - specifies entity id
Example
{
  "relation": "EXTERNALEMAIL",
  "relationValue": "xyz789",
  "relationId": HashedId
}

RuleNotificationRelationInput

Fields
Input Field Description
relation - RuleNotificationRelationType! Defines the type of entity
relationValue - String Optionally required per type - specifies entity property
relationId - HashedId Optionally required per type - specifies entity id
Example
{
  "relation": "EXTERNALEMAIL",
  "relationValue": "abc123",
  "relationId": HashedId
}

RuleNotificationRelationType

Values
Enum Value Description

EXTERNALEMAIL

Arbitrary email address, email provided in relationValue is required

SITEMANAGER

Specified site manager, if the asset is assigned to a site and the site has a site manager specified. No value or id required.

USERID

A user in the TS platform. Id provided in relationId is required
Example
"EXTERNALEMAIL"

RulePurpose

Values
Enum Value Description

GEOFENCE

WORKINGHOURS

Example
"GEOFENCE"

RuleRelation

Fields
Field Name Description
relation - RuleRelationType!
allAssets - Boolean Denotes if rule is associated with all assets assigned to its group, regardless of other asset related relations
asset - Asset Associated asset if current relation is ASSETID
assetType - AssetType Associated assetType if current relation is ASSETTYPEID
reservationWorkinghours - Reservation Associated reservation if current relation is RESERVATIONWORKINGHOURS
siteGeofence - Site Associated site if current relation is SITEGEOFENCE
assetWorkinghours - Asset Associated asset for ASSETWORKINGHOURS relation
Example
{
  "relation": "ASSETID",
  "allAssets": false,
  "asset": Asset,
  "assetType": AssetType,
  "reservationWorkinghours": Reservation,
  "siteGeofence": Site,
  "assetWorkinghours": Asset
}

RuleRelationInput

Fields
Input Field Description
assetTypeIds - [HashedId!]
assetIds - [HashedId!]
allAssets - Boolean
Example
{
  "assetTypeIds": [HashedId],
  "assetIds": [HashedId],
  "allAssets": false
}

RuleRelationType

Values
Enum Value Description

ASSETID

ASSETTYPEID

ALLASSETS

RESERVATIONWORKINGHOURS

ASSETWORKINGHOURS

SITEGEOFENCE

Example
"ASSETID"

RuleServicesFilterArgs

Fields
Input Field Description
isServiceCheck - Boolean if true, only services that are service checks are returned
type - ServiceType
Example
{"isServiceCheck": true, "type": "JOT_FORM"}

RuleSource

Values
Enum Value Description

DATA

will get evaluated whenever an associated asset submits module data - can be used for rules inspecting
the submitted data

CHECK

Check like INTERVAL but with asset relation

INTERVAL

Will get evaluated on a scheduled, fixed internal time interval - can be used for rules that are evaluating
asset properties based on a certain time or in time periods
Example
"DATA"

Service

Description

A Service is essentially a form, used to submit data or make requests to the group. It is a standard multipart form which can contain various input fields like text input, multi-choice selection, geolocation or file upload. It's the functional successor of Flows.

Services are associated with the servicePackage of the group of the requesting user. The service is presented based on ServiceContentType, this defines how it should be rendered to the user.

Fields
Field Name Description
id - HashedId!
created - Timestamp!
updated - Timestamp
title - Translation!
titleId - HashedId!
procedureTemplateId - HashedId
publicProcedureTemplateId - Int
keys - [String!]! Keys are special keywords that can point to how the service is used on the platform. Eg. if a service is used as a QR code landing page, or is highlighted in the mobile app menu.
contentType - ServiceContentType Defines how to render the service, when requested. See ServiceContentType.
iconUrl - String
formId - String! This is displayed for CRUD reference only. Do not utilize this id in any other way.
isServiceCheck - Boolean
assigneeAutomationId - Int
createdByGroupId - HashedId!
suggestedServicePartner - String
servicePackage - ServicePackage!
servicePackages - [ServicePackage!]!
procedureTemplate - ProcedureTemplate
belongsToGroupTypeId - HashedId We don't use this field anymore. It is only here for backwards compatibility.
rules - [Rule!]!
canBeDeleted - Boolean!
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "title": Translation,
  "titleId": HashedId,
  "procedureTemplateId": HashedId,
  "publicProcedureTemplateId": 123,
  "keys": ["xyz789"],
  "contentType": "formHtml",
  "iconUrl": "abc123",
  "formId": "abc123",
  "isServiceCheck": false,
  "assigneeAutomationId": 123,
  "createdByGroupId": HashedId,
  "suggestedServicePartner": "abc123",
  "servicePackage": ServicePackage,
  "servicePackages": [ServicePackage],
  "procedureTemplate": ProcedureTemplate,
  "belongsToGroupTypeId": HashedId,
  "rules": [Rule],
  "canBeDeleted": true
}

ServiceContent

Fields
Field Name Description
contentType - ServiceContentType Defines how to render the service, when requested. See ServiceContentType.
content - String
Example
{
  "contentType": "formHtml",
  "content": "abc123"
}

ServiceContentType

Values
Enum Value Description

formHtml

HTML source code for a service. Client needs to render this and present this to the user, who to then completes the request using the form UI provided by it.
Example
"formHtml"

ServicePackage

Description

ServicePackage defines overall properties for a Group - it eases setting up a new group. A Group can have a single ServicePackage defined.

Fields
Field Name Description
id - HashedId!
titleId - HashedId!
createdByUserId - HashedId!
createdByGroupId - HashedId!
createdByGroup - Group!
flow - Flow The generic flow for service package, if set
Arguments
getRawFlow - Boolean
flowId - HashedId!
services - [Service!]!
Arguments
includeServiceCheck - Boolean
assetId - HashedId
created - Timestamp!
updated - Timestamp
deleted - Timestamp
assignedGroupsCount - Int! Total number of groups this service package is assigned to
assignedSitesCount - Int! Total number of sites this service package is assigned to
canBeDeleted - Boolean! Checks if the service package can be deleted
title - Translation!
createdByUser - User
Example
{
  "id": HashedId,
  "titleId": HashedId,
  "createdByUserId": HashedId,
  "createdByGroupId": HashedId,
  "createdByGroup": Group,
  "flow": Flow,
  "flowId": HashedId,
  "services": [Service],
  "created": 1592577642,
  "updated": 1592577642,
  "deleted": 1592577642,
  "assignedGroupsCount": 987,
  "assignedSitesCount": 123,
  "canBeDeleted": false,
  "title": Translation,
  "createdByUser": User
}

ServicePackageServicesFilterInput

Fields
Input Field Description
isServiceCheck - Boolean if true, only services that are service checks are returned
type - ServiceType
excludeQRLandingPage - Boolean
Example
{"isServiceCheck": false, "type": "JOT_FORM", "excludeQRLandingPage": false}

ServiceType

Values
Enum Value Description

JOT_FORM

PROCEDURE

Example
"JOT_FORM"

ServicesFilterInput

Fields
Input Field Description
isServiceCheck - Boolean if true, only services that are service checks are returned
type - ServiceType
excludeQRLandingPage - Boolean
Example
{"isServiceCheck": true, "type": "JOT_FORM", "excludeQRLandingPage": false}

Site

Description

Sites are objects where Assets are used/stored/assigned to. They can be either fixed - typically workplaces - warehouses, buildings, construction sites - or not fixed, meaning not tied to a specific location - crews, teams or a moving site like a bus or a ship.

Fields
Field Name Description
id - HashedId!
externalId - String An id that is referring to some external source. Like an ERP System or another external Task/Order management system This is not a unique identifier in our system. This is technically not feasible!
name - String!

The name of the a site. This is usualy not a clear identifier. Examples of site names would be:

  • Billa
  • WeXelerate
  • Uniqa Wien 1020 This is the name that our customers are using to communicate roughly about what site they mean. To really identify a site they use some kind of contract number.
isFixed - Boolean! Specifies if the site is tied to a fixed location - like a building. Not fixed locations could be a moving vehicle or a team.
locationText - String
address - String Formatted address consisting of street and street number
coordinates - Coordinates
assignedToGroup - Group Is not provided for customer groups, since this value is equal to the requesting user's group
assignedToGroupId - HashedId Use assignedToGroup property
createdByGroup - Group!
createdByGroupId - HashedId!
accountNumber - String Account number - arbitrary, for the Manufacturer to assign them their interal description
customerNumber - String Customer number - arbitrary, for the Customer to manage their own Customers
siteManagerName - String Name of the contact person of the site
email - String Email address of the contact person of the site
telephone - String Telephone number of the contact person of the site
postalCode - String
country - String
geofenceSettings - JSON Geofence settings, if set. See Rules schema for syntax.
geofenceNotification - [RuleNotificationRelation] When a geofence event happens, send notifications to these entities
containsAssetsToModifyByGroup - Boolean If it has associated assets which group needs to be updated to the new one The logic was refactored to CQRS, this field is not needed anymore
created - Timestamp!
assetsCount - Int!
updated - Timestamp
note - String
image - String
parentSite - Site
parentSiteId - HashedId
servicePackageId - HashedId
shouldInheritServicePackage - Boolean!
servicePackage - ServicePackage
shouldInheritGeofenceSettings - Boolean!
shouldInheritManagerDetails - Boolean!
groupTreeRootId - HashedId!
lat - String
lng - String
siteTypeId - HashedId
qrAttached - Boolean!
uuid - String!
events - [Event]
publicId - Int!
siteType - SiteType
Example
{
  "id": HashedId,
  "externalId": "xyz789",
  "name": "abc123",
  "isFixed": true,
  "locationText": "xyz789",
  "address": "xyz789",
  "coordinates": Coordinates,
  "assignedToGroup": Group,
  "assignedToGroupId": HashedId,
  "createdByGroup": Group,
  "createdByGroupId": HashedId,
  "accountNumber": "abc123",
  "customerNumber": "xyz789",
  "siteManagerName": "xyz789",
  "email": "xyz789",
  "telephone": "xyz789",
  "postalCode": "abc123",
  "country": "abc123",
  "geofenceSettings": {},
  "geofenceNotification": [RuleNotificationRelation],
  "containsAssetsToModifyByGroup": true,
  "created": 1592577642,
  "assetsCount": 123,
  "updated": 1592577642,
  "note": "xyz789",
  "image": "abc123",
  "parentSite": Site,
  "parentSiteId": HashedId,
  "servicePackageId": HashedId,
  "shouldInheritServicePackage": false,
  "servicePackage": ServicePackage,
  "shouldInheritGeofenceSettings": false,
  "shouldInheritManagerDetails": false,
  "groupTreeRootId": HashedId,
  "lat": "abc123",
  "lng": "xyz789",
  "siteTypeId": HashedId,
  "qrAttached": true,
  "uuid": "xyz789",
  "events": [Event],
  "publicId": 123,
  "siteType": SiteType
}

SiteAttachQrCodeInput

Fields
Input Field Description
scannedUuid - String!
Example
{"scannedUuid": "xyz789"}

SiteCreateInput

Fields
Input Field Description
externalId - String An id that is referring to some external source. Like an ERP System or another external Task/Order management system This is not a unique identifier in our system. This is technically not feasible!
name - String!

The name of the a site. This is usualy not a clear identifier. Examples of site names would be:

  • Billa
  • WeXelerate
  • Uniqa Wien 1020 This is the name that our customers are using to communicate roughly about what site they mean. To really identify a site they use some kind of contract number.
note - String
isFixed - Boolean!
locationText - String
accountNumber - String Account number - arbitrary, for the Manufacturer to assign them their interal description
address - String Formatted address consisting of street and street number
country - String
parentSiteId - HashedId
servicePackageId - HashedId
shouldInheritServicePackage - Boolean!
shouldInheritGeofenceSettings - Boolean!
shouldInheritManagerDetails - Boolean!
customerNumber - String Customer number - arbitrary, for the Customer to manage their own Customers
siteManagerName - String Name of the contact person of the site
email - String Email address of the contact person of the site
postalCode - String
telephone - String Telephone number of the contact person of the site
lat - Float
lng - Float
Example
{
  "externalId": "abc123",
  "name": "xyz789",
  "note": "xyz789",
  "isFixed": true,
  "locationText": "xyz789",
  "accountNumber": "xyz789",
  "address": "xyz789",
  "country": "abc123",
  "parentSiteId": HashedId,
  "servicePackageId": HashedId,
  "shouldInheritServicePackage": true,
  "shouldInheritGeofenceSettings": false,
  "shouldInheritManagerDetails": true,
  "customerNumber": "abc123",
  "siteManagerName": "abc123",
  "email": "xyz789",
  "postalCode": "xyz789",
  "telephone": "xyz789",
  "lat": 987.65,
  "lng": 987.65
}

SiteCreateOptionsInput

Fields
Input Field Description
assignedToGroupId - HashedId
geofenceSettings - JSON Geofence settings, if set. See Rules schema for syntax.
disableWebhooks - Boolean
geofenceNotification - [RuleNotificationRelationInput!]
siteType - SiteTypeInput
Example
{
  "assignedToGroupId": HashedId,
  "geofenceSettings": {},
  "disableWebhooks": true,
  "geofenceNotification": [RuleNotificationRelationInput],
  "siteType": SiteTypeInput
}

SiteManagerTodos

Fields
Field Name Description
checkRequired - [Asset!]
checkRequiredCount - Int!
checkRequiredFilterLink - String!
checkThisMonth - [Asset!]
checkThisMonthCount - Int!
checkThisMonthFilterLink - String!
checkThisWeek - [Asset!]
checkThisWeekCount - Int!
checkThisWeekFilterLink - String!
checkUpcoming - [Asset!]
checkUpcomingCount - Int!
checkUpcomingFilterLink - String!
damaged - [Asset!]
damagedCount - Int!
damagedFilterLink - String!
inRepair - [Asset!]
inRepairCount - Int!
inRepairFilterLink - String!
leasingEndExceeded - [Asset!]
leasingEndExceededCount - Int!
leasingEndExceededFilterLink - String!
leasingEndThisMonth - [Asset!]
leasingEndThisMonthCount - Int!
leasingEndThisMonthFilterLink - String!
leasingEndThisWeek - [Asset!]
leasingEndThisWeekCount - Int!
leasingEndThisWeekFilterLink - String!
leasingEndUpcoming - [Asset!]
leasingEndUpcomingCount - Int!
leasingEndUpcomingFilterLink - String!
maintenanceRequired - [Asset!]
maintenanceRequiredCount - Int!
maintenanceRequiredFilterLink - String!
maintenanceThisMonth - [Asset!]
maintenanceThisMonthCount - Int!
maintenanceThisMonthFilterLink - String!
maintenanceThisWeek - [Asset!]
maintenanceThisWeekCount - Int!
maintenanceThisWeekFilterLink - String!
maintenanceUpcoming - [Asset!]
maintenanceUpcomingCount - Int!
maintenanceUpcomingFilterLink - String!
noAction - [Asset!]
noActionCount - Int!
noActionFilterLink - String!
noCheckPlanned - [Asset!]
noCheckPlannedCount - Int!
noCheckPlannedFilterLink - String!
noLeasingEnd - [Asset!]
noLeasingEndCount - Int!
noLeasingEndFilterLink - String!
noMaintenancePlanned - [Asset!]
noMaintenancePlannedCount - Int!
noMaintenancePlannedFilterLink - String!
noRentalEnd - [Asset!]
noRentalEndCount - Int!
noRentalEndFilterLink - String!
noServiceContractEnd - [Asset!]
noServiceContractEndCount - Int!
noServiceContractEndFilterLink - String!
noWarrantyEnd - [Asset!]
noWarrantyEndCount - Int!
noWarrantyEndFilterLink - String!
ordered - [Asset!]
orderedCount - Int!
orderedFilterLink - String!
readyToUse - [Asset!]
readyToUseCount - Int!
readyToUseFilterLink - String!
rentalEndExceeded - [Asset!]
rentalEndExceededCount - Int!
rentalEndExceededFilterLink - String!
rentalEndThisMonth - [Asset!]
rentalEndThisMonthCount - Int!
rentalEndThisMonthFilterLink - String!
rentalEndThisWeek - [Asset!]
rentalEndThisWeekCount - Int!
rentalEndThisWeekFilterLink - String!
rentalEndUpcoming - [Asset!]
rentalEndUpcomingCount - Int!
rentalEndUpcomingFilterLink - String!
retired - [Asset!]
retiredCount - Int!
retiredFilterLink - String!
serviceContractEndExceeded - [Asset!]
serviceContractEndExceededCount - Int!
serviceContractEndExceededFilterLink - String!
serviceContractEndThisMonth - [Asset!]
serviceContractEndThisMonthCount - Int!
serviceContractEndThisMonthFilterLink - String!
serviceContractEndThisWeek - [Asset!]
serviceContractEndThisWeekCount - Int!
serviceContractEndThisWeekFilterLink - String!
serviceContractEndUpcoming - [Asset!]
serviceContractEndUpcomingCount - Int!
serviceContractEndUpcomingFilterLink - String!
siteManagerEmail - String!
warehouse - [Asset!]
warehouseCount - Int!
warehouseFilterLink - String!
warrantyEndExceeded - [Asset!]
warrantyEndExceededCount - Int!
warrantyEndExceededFilterLink - String!
warrantyEndThisMonth - [Asset!]
warrantyEndThisMonthCount - Int!
warrantyEndThisMonthFilterLink - String!
warrantyEndThisWeek - [Asset!]
warrantyEndThisWeekCount - Int!
warrantyEndThisWeekFilterLink - String!
warrantyEndUpcoming - [Asset!]
warrantyEndUpcomingCount - Int!
warrantyEndUpcomingFilterLink - String!
Example
{
  "checkRequired": [Asset],
  "checkRequiredCount": 987,
  "checkRequiredFilterLink": "abc123",
  "checkThisMonth": [Asset],
  "checkThisMonthCount": 123,
  "checkThisMonthFilterLink": "xyz789",
  "checkThisWeek": [Asset],
  "checkThisWeekCount": 987,
  "checkThisWeekFilterLink": "abc123",
  "checkUpcoming": [Asset],
  "checkUpcomingCount": 123,
  "checkUpcomingFilterLink": "xyz789",
  "damaged": [Asset],
  "damagedCount": 987,
  "damagedFilterLink": "abc123",
  "inRepair": [Asset],
  "inRepairCount": 123,
  "inRepairFilterLink": "abc123",
  "leasingEndExceeded": [Asset],
  "leasingEndExceededCount": 123,
  "leasingEndExceededFilterLink": "abc123",
  "leasingEndThisMonth": [Asset],
  "leasingEndThisMonthCount": 123,
  "leasingEndThisMonthFilterLink": "abc123",
  "leasingEndThisWeek": [Asset],
  "leasingEndThisWeekCount": 123,
  "leasingEndThisWeekFilterLink": "abc123",
  "leasingEndUpcoming": [Asset],
  "leasingEndUpcomingCount": 987,
  "leasingEndUpcomingFilterLink": "abc123",
  "maintenanceRequired": [Asset],
  "maintenanceRequiredCount": 123,
  "maintenanceRequiredFilterLink": "xyz789",
  "maintenanceThisMonth": [Asset],
  "maintenanceThisMonthCount": 123,
  "maintenanceThisMonthFilterLink": "xyz789",
  "maintenanceThisWeek": [Asset],
  "maintenanceThisWeekCount": 987,
  "maintenanceThisWeekFilterLink": "abc123",
  "maintenanceUpcoming": [Asset],
  "maintenanceUpcomingCount": 123,
  "maintenanceUpcomingFilterLink": "abc123",
  "noAction": [Asset],
  "noActionCount": 123,
  "noActionFilterLink": "xyz789",
  "noCheckPlanned": [Asset],
  "noCheckPlannedCount": 987,
  "noCheckPlannedFilterLink": "xyz789",
  "noLeasingEnd": [Asset],
  "noLeasingEndCount": 123,
  "noLeasingEndFilterLink": "xyz789",
  "noMaintenancePlanned": [Asset],
  "noMaintenancePlannedCount": 123,
  "noMaintenancePlannedFilterLink": "abc123",
  "noRentalEnd": [Asset],
  "noRentalEndCount": 987,
  "noRentalEndFilterLink": "abc123",
  "noServiceContractEnd": [Asset],
  "noServiceContractEndCount": 987,
  "noServiceContractEndFilterLink": "abc123",
  "noWarrantyEnd": [Asset],
  "noWarrantyEndCount": 123,
  "noWarrantyEndFilterLink": "abc123",
  "ordered": [Asset],
  "orderedCount": 123,
  "orderedFilterLink": "xyz789",
  "readyToUse": [Asset],
  "readyToUseCount": 987,
  "readyToUseFilterLink": "abc123",
  "rentalEndExceeded": [Asset],
  "rentalEndExceededCount": 123,
  "rentalEndExceededFilterLink": "abc123",
  "rentalEndThisMonth": [Asset],
  "rentalEndThisMonthCount": 987,
  "rentalEndThisMonthFilterLink": "xyz789",
  "rentalEndThisWeek": [Asset],
  "rentalEndThisWeekCount": 987,
  "rentalEndThisWeekFilterLink": "xyz789",
  "rentalEndUpcoming": [Asset],
  "rentalEndUpcomingCount": 987,
  "rentalEndUpcomingFilterLink": "xyz789",
  "retired": [Asset],
  "retiredCount": 987,
  "retiredFilterLink": "xyz789",
  "serviceContractEndExceeded": [Asset],
  "serviceContractEndExceededCount": 987,
  "serviceContractEndExceededFilterLink": "xyz789",
  "serviceContractEndThisMonth": [Asset],
  "serviceContractEndThisMonthCount": 987,
  "serviceContractEndThisMonthFilterLink": "abc123",
  "serviceContractEndThisWeek": [Asset],
  "serviceContractEndThisWeekCount": 987,
  "serviceContractEndThisWeekFilterLink": "xyz789",
  "serviceContractEndUpcoming": [Asset],
  "serviceContractEndUpcomingCount": 123,
  "serviceContractEndUpcomingFilterLink": "abc123",
  "siteManagerEmail": "xyz789",
  "warehouse": [Asset],
  "warehouseCount": 987,
  "warehouseFilterLink": "xyz789",
  "warrantyEndExceeded": [Asset],
  "warrantyEndExceededCount": 123,
  "warrantyEndExceededFilterLink": "xyz789",
  "warrantyEndThisMonth": [Asset],
  "warrantyEndThisMonthCount": 123,
  "warrantyEndThisMonthFilterLink": "abc123",
  "warrantyEndThisWeek": [Asset],
  "warrantyEndThisWeekCount": 123,
  "warrantyEndThisWeekFilterLink": "xyz789",
  "warrantyEndUpcoming": [Asset],
  "warrantyEndUpcomingCount": 987,
  "warrantyEndUpcomingFilterLink": "abc123"
}

SiteSectionEnum

Values
Enum Value Description

GEOFENCE_SETTINGS

SITE_MANAGER_DETAILS

SERVICE_PACKAGE

Example
"GEOFENCE_SETTINGS"

SiteType

Fields
Field Name Description
id - HashedId!
key - String!
Example
{
  "id": HashedId,
  "key": "xyz789"
}

SiteTypeInput

Fields
Input Field Description
key - String!
id - HashedId
Example
{
  "key": "xyz789",
  "id": HashedId
}

SiteUpdateInput

Fields
Input Field Description
id - HashedId!
externalId - String An id that is referring to some external source. Like an ERP System or another external Task/Order management system This is not a unique identifier in our system. This is technically not feasible!
name - String!

The name of the a site. This is usualy not a clear identifier. Examples of site names would be:

  • Billa
  • WeXelerate
  • Uniqa Wien 1020 This is the name that our customers are using to communicate roughly about what site they mean. To really identify a site they use some kind of contract number.
note - String
isFixed - Boolean! Specifies if the site is tied to a fixed location - like a building. Not fixed locations could be a moving vehicle or a team.
locationText - String
accountNumber - String Account number - arbitrary, for the Manufacturer to assign them their interal description
address - String Formatted address consisting of street and street number
country - String
parentSiteId - HashedId
servicePackageId - HashedId
shouldInheritServicePackage - Boolean!
shouldInheritGeofenceSettings - Boolean!
shouldInheritManagerDetails - Boolean!
customerNumber - String Customer number - arbitrary, for the Customer to manage their own Customers
siteManagerName - String Name of the contact person of the site
email - String Email address of the contact person of the site
postalCode - String
telephone - String Telephone number of the contact person of the site
lat - Float
lng - Float
Example
{
  "id": HashedId,
  "externalId": "abc123",
  "name": "abc123",
  "note": "abc123",
  "isFixed": true,
  "locationText": "xyz789",
  "accountNumber": "xyz789",
  "address": "xyz789",
  "country": "abc123",
  "parentSiteId": HashedId,
  "servicePackageId": HashedId,
  "shouldInheritServicePackage": true,
  "shouldInheritGeofenceSettings": false,
  "shouldInheritManagerDetails": true,
  "customerNumber": "abc123",
  "siteManagerName": "abc123",
  "email": "abc123",
  "postalCode": "abc123",
  "telephone": "xyz789",
  "lat": 987.65,
  "lng": 987.65
}

SiteUpdateOptionsInput

Fields
Input Field Description
assignedToGroupId - HashedId
geofenceSettings - JSON Geofence settings, if set. See Rules schema for syntax.
containsAssetsToModifyByGroup - Boolean If it has associated assets which group needs to be updated to the new one
disableWebhooks - Boolean
geofenceNotification - [RuleNotificationRelationInput!]
siteType - SiteTypeInput
shouldSkipGeofenceUpdate - Boolean
Example
{
  "assignedToGroupId": HashedId,
  "geofenceSettings": {},
  "containsAssetsToModifyByGroup": false,
  "disableWebhooks": false,
  "geofenceNotification": [RuleNotificationRelationInput],
  "siteType": SiteTypeInput,
  "shouldSkipGeofenceUpdate": true
}

SitesPaginatedResult

Fields
Field Name Description
meta - PaginationMeta!
rows - [Site!]
Example
{
  "meta": PaginationMeta,
  "rows": [Site]
}

SortDirection

Values
Enum Value Description

ASC

DESC

Example
"ASC"

SortParams

Description

Deprecated. Use FilterParamsInput instead

Fields
Input Field Description
field - String
order - String
Example
{
  "field": "xyz789",
  "order": "xyz789"
}

StatisticRangeSliceKey

Values
Enum Value Description

battery

signal

runtime

chargingCycle

Example
"battery"

StatisticRangeSliceUnit

Values
Enum Value Description

hours

minutes

seconds

milliseconds

percentage

rssi

Example
"hours"

StatisticValueSlice

Fields
Field Name Description
value - Translation This is the value of the statitistic
result - AssetFilter! The number of times that this value occurs
associatedId - HashedId If the value for this slice is associated with another type (e.g. AssetType), this will be its id
Example
{
  "value": Translation,
  "result": AssetFilter,
  "associatedId": HashedId
}

StatisticValueSliceKey

Values
Enum Value Description

type

category

version

Example
"type"

StatusItem

Fields
Field Name Description
id - HashedId!
key - String
displayText - String
displayValue - String
displayName - Translation
icon - String
Example
{
  "id": HashedId,
  "key": "xyz789",
  "displayText": "abc123",
  "displayValue": "abc123",
  "displayName": Translation,
  "icon": "abc123"
}

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"

StripePrice

Description

StripePrice entity it`s payed amount for subscription directly from stripe.

Fields
Field Name Description
id - String!
amount - Float
currency - String!
updated - DateTime!
Example
{
  "id": "xyz789",
  "amount": 123.45,
  "currency": "abc123",
  "updated": "2007-12-03T10:15:30Z"
}

StripeSettingsCreateInput

Fields
Input Field Description
stripeCustomerId - String
groupForIOTActivation - String
gracePeriodIOT - Int
stripeUserPriceId - StripeUserPriceIdCreateInput
Example
{
  "stripeCustomerId": "xyz789",
  "groupForIOTActivation": "xyz789",
  "gracePeriodIOT": 123,
  "stripeUserPriceId": StripeUserPriceIdCreateInput
}

StripeSubscriptionPlan

Description

StripePrice entity it`s payed amount for subscription directly from stripe.

Fields
Field Name Description
id - String! The id of the subscription.
subKey - String The id of the customer.
type - String The type of the subscription.
lastInvoiceId - String The id of the last invoice.
lastInvoiceDate - DateTime The date of the last invoice.
nextInvoiceDate - DateTime The date of the next invoice.
created - DateTime The date of the subscription start.
updated - DateTime The date of the subscription update.
Example
{
  "id": "xyz789",
  "subKey": "abc123",
  "type": "xyz789",
  "lastInvoiceId": "xyz789",
  "lastInvoiceDate": "2007-12-03T10:15:30Z",
  "nextInvoiceDate": "2007-12-03T10:15:30Z",
  "created": "2007-12-03T10:15:30Z",
  "updated": "2007-12-03T10:15:30Z"
}

StripeUserPriceIdCreateInput

Fields
Input Field Description
ALL - String
EditorUser - String
SuperUser - String
User - String
Example
{
  "ALL": "xyz789",
  "EditorUser": "xyz789",
  "SuperUser": "abc123",
  "User": "xyz789"
}

SubscriptionPlan

Description

The ToolSense platform is providing different level of service tiers (currently mostly tied to frequency and content of asset data being sent) that is dependent on the manufacturer / service providing customer / root group. The service tier can be set and changed anytime per Asset.

Fields
Field Name Description
key - String!
name - String!
Example
{
  "key": "abc123",
  "name": "abc123"
}

Team

Fields
Field Name Description
id - HashedId!
created - Timestamp!
updated - Timestamp
nameId - HashedId!
groupId - HashedId!
createdByUserId - HashedId!
createdByGroupId - HashedId!
assignedToActiveTicketIds - [Int!]!
name - Translation!
group - Group!
createdByUser - User!
createdByGroup - Group!
members - [TeamMember!]!
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "nameId": HashedId,
  "groupId": HashedId,
  "createdByUserId": HashedId,
  "createdByGroupId": HashedId,
  "assignedToActiveTicketIds": [123],
  "name": Translation,
  "group": Group,
  "createdByUser": User,
  "createdByGroup": Group,
  "members": [TeamMember]
}

TeamCreateInput

Fields
Input Field Description
groupId - HashedId!
name - TranslationInput!
memberEmails - [String!]!
Example
{
  "groupId": HashedId,
  "name": TranslationInput,
  "memberEmails": ["abc123"]
}

TeamMember

Fields
Field Name Description
userId - HashedId
firstname - String
lastname - String
email - String!
Example
{
  "userId": HashedId,
  "firstname": "xyz789",
  "lastname": "abc123",
  "email": "xyz789"
}

TeamPaginatedResult

Fields
Field Name Description
meta - PaginationMeta!
rows - [Team!]!
Example
{
  "meta": PaginationMeta,
  "rows": [Team]
}

TemporalFilter

Fields
Field Name Description
never - AssetFilter!
Arguments
from - Timestamp
to - Timestamp
withinPeriod - AssetFilter!
Arguments
from - Timestamp!
to - Timestamp!
Example
{
  "never": AssetFilter,
  "withinPeriod": AssetFilter
}

Terms

Description

A Terms document is a legal listing that the user has to accept. It can currently be associated with a root group - once associated, all members of the root group or one of its subgroups must fetch and accept these terms (through the terms endpoint) before being legally able to use the platform. After creating a Terms document, only the title or the content is updateable. When changing the content, a new version of the terms is created, which all related users need to accept again. Types and types handling is fixed within the platform.

Fields
Field Name Description
content - Translation
contentId - HashedId!
created - Timestamp
id - HashedId!
isActive - Boolean
title - Translation
titleId - HashedId!
type - TermsTypeKey!
updated - Timestamp
version - Int!
versions - [Terms] Archived terms versions
Example
{
  "content": Translation,
  "contentId": HashedId,
  "created": 1592577642,
  "id": HashedId,
  "isActive": false,
  "title": Translation,
  "titleId": HashedId,
  "type": "EULA",
  "updated": 1592577642,
  "version": 987,
  "versions": [Terms]
}

TermsTypeKey

Description

Terms

Values
Enum Value Description

EULA

EULA-s can currently only be attached to the user's root group
Example
"EULA"

Ticket

Description
Tickets can be seen as traditional support tickets, reacting to service requests.
They are created by Services or Flows.
Fields
Field Name Description
id - HashedId!
created - Timestamp!
updated - Timestamp
content - JSON The full response from the submitting user or entity, that the ticket is about, and tries to resolve.
uuid - String!
flowResponseId - HashedId
serviceResponseId - HashedId
createdByUserId - HashedId
createdByGroupId - HashedId!
procedureInstanceId - HashedId
titleId - HashedId
ticketId - Int! id of the ticket in the database.
assignee - ProcessHandler
responsibles - [ProcessHandler!]!
createdByUser - User
createdByGroup - Group
currentState - TicketCurrentState
ticketComments - [TicketComment!]!
associatedAssets - [Asset!]!
documents - [Document!]!
pdfCertificateLink - Document In May 2023 we switched to on-demand generated (and directly transmitted) PDF documents.
service - Service
title - Translation
lastStatusChange - Timestamp
notifications - NotificationFilter
batteryCosts - String!
certificationCosts - String!
consumablesCosts - String!
fuelCosts - String!
insuranceTaxesCosts - String!
laborCosts - String!
logisticsCosts - String!
otherCosts - String!
repairCosts - String!
sparePartsCosts - String!
ticketTimeline - TicketTimeline!
totalCosts - String!
procedureInstance - ProcedureInstance
associatedSites - [Site!]!
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "content": {},
  "uuid": "xyz789",
  "flowResponseId": HashedId,
  "serviceResponseId": HashedId,
  "createdByUserId": HashedId,
  "createdByGroupId": HashedId,
  "procedureInstanceId": HashedId,
  "titleId": HashedId,
  "ticketId": 987,
  "assignee": ProcessHandler,
  "responsibles": [ProcessHandler],
  "createdByUser": User,
  "createdByGroup": Group,
  "currentState": TicketCurrentState,
  "ticketComments": [TicketComment],
  "associatedAssets": [Asset],
  "documents": [Document],
  "pdfCertificateLink": Document,
  "service": Service,
  "title": Translation,
  "lastStatusChange": 1592577642,
  "notifications": NotificationFilter,
  "batteryCosts": "abc123",
  "certificationCosts": "xyz789",
  "consumablesCosts": "xyz789",
  "fuelCosts": "abc123",
  "insuranceTaxesCosts": "xyz789",
  "laborCosts": "abc123",
  "logisticsCosts": "abc123",
  "otherCosts": "xyz789",
  "repairCosts": "abc123",
  "sparePartsCosts": "abc123",
  "ticketTimeline": TicketTimeline,
  "totalCosts": "xyz789",
  "procedureInstance": ProcedureInstance,
  "associatedSites": [Site]
}

TicketComment

Fields
Field Name Description
id - HashedId!
created - Timestamp!
updated - Timestamp
createdByUserId - HashedId
authorEmail - String
createdByUser - TicketUser
history - [TicketCommentContent!]!
content - TicketCommentContent
isAutomated - Boolean!
costs - [Cost!]!
stateEvent - TicketState
attachments - [Document!]!
connectedEventId - HashedId
connectedEvent - Event
deleted - Timestamp
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "createdByUserId": HashedId,
  "authorEmail": "abc123",
  "createdByUser": TicketUser,
  "history": [TicketCommentContent],
  "content": TicketCommentContent,
  "isAutomated": false,
  "costs": [Cost],
  "stateEvent": TicketState,
  "attachments": [Document],
  "connectedEventId": HashedId,
  "connectedEvent": Event,
  "deleted": 1592577642
}

TicketCommentContent

Fields
Field Name Description
id - HashedId!
created - Timestamp!
updated - Timestamp
ticketCommentId - HashedId!
content - String!
deleted - Timestamp
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "ticketCommentId": HashedId,
  "content": "xyz789",
  "deleted": 1592577642
}

TicketCommentCreateInput

Fields
Input Field Description
disableWebhooks - Boolean
ticketId - HashedId!
content - String!
attachments - [Upload!]
event - CreateCommentEventInput
costs - [NewCostInput!]
Example
{
  "disableWebhooks": false,
  "ticketId": HashedId,
  "content": "abc123",
  "attachments": [Upload],
  "event": CreateCommentEventInput,
  "costs": [NewCostInput]
}

TicketCommentUpdateInput

Fields
Input Field Description
disableWebhooks - Boolean
attachments - [Upload!]
content - String
documentsIdsToDelete - [HashedId!]
event - UpdateCommentEventInput
newCosts - [NewCostInput!]
changedCosts - [ChangedCostInput!]
costsIdsToDelete - [HashedId!]
Example
{
  "disableWebhooks": false,
  "attachments": [Upload],
  "content": "abc123",
  "documentsIdsToDelete": [HashedId],
  "event": UpdateCommentEventInput,
  "newCosts": [NewCostInput],
  "changedCosts": [ChangedCostInput],
  "costsIdsToDelete": [HashedId]
}

TicketCurrentState

Fields
Field Name Description
state - TicketState!
processedByUser - User
authorEmail - String
isAutomated - Boolean!
processedAtDate - Timestamp!
Example
{
  "state": TicketState,
  "processedByUser": User,
  "authorEmail": "xyz789",
  "isAutomated": false,
  "processedAtDate": 1592577642
}

TicketDuration

Fields
Field Name Description
from - Timestamp!
to - Timestamp
Example
{"from": 1592577642, "to": 1592577642}

TicketHandler

Fields
Field Name Description
id - HashedId!
displayName - String!
relationValue - String
isDeletable - Boolean!
relationType - TicketHandlerRelationTypeEnum!
handlerType - TicketRelationHandlerTypeEnum!
Example
{
  "id": HashedId,
  "displayName": "xyz789",
  "relationValue": "abc123",
  "isDeletable": true,
  "relationType": "ASSIGNEE",
  "handlerType": "USER"
}

TicketHandlerCreateInput

Fields
Input Field Description
id - String
handlerType - TicketRelationHandlerTypeEnum!
relationType - TicketHandlerRelationTypeEnum!
relationValue - String
Example
{
  "id": "xyz789",
  "handlerType": "USER",
  "relationType": "ASSIGNEE",
  "relationValue": "abc123"
}

TicketHandlerInput

Fields
Input Field Description
id - String
handlerType - TicketRelationHandlerTypeEnum!
relationType - TicketHandlerRelationTypeEnum!
relationValue - String
Example
{
  "id": "abc123",
  "handlerType": "USER",
  "relationType": "ASSIGNEE",
  "relationValue": "abc123"
}

TicketHandlerRelationTypeEnum

Values
Enum Value Description

ASSIGNEE

FOLLOWER

Example
"ASSIGNEE"

TicketHandlerUpdate

Fields
Field Name Description
id - HashedId!
created - Timestamp!
updated - Timestamp
action - HandlerUpdateActionEnum
author - String
isAutomated - Boolean! Not a result of direct user action but of inner workings. No author in this case.
role - HandlerRelationTypeEnum
target - TicketHandlerUpdateTargetEnum!
targetHandler - String
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "action": "ADD",
  "author": "xyz789",
  "isAutomated": true,
  "role": "ASSIGNEE",
  "target": "SELF",
  "targetHandler": "abc123"
}

TicketHandlerUpdateTargetEnum

Values
Enum Value Description

SELF

OTHER

Example
"SELF"

TicketPaginatedResult

Fields
Field Name Description
meta - PaginationMeta!
rows - [Ticket!]!
Example
{
  "meta": PaginationMeta,
  "rows": [Ticket]
}

TicketRelationHandlerTypeEnum

Values
Enum Value Description

USER

GROUP

SITEMANAGER

EXTERNALEMAIL

TEAM

Example
"USER"

TicketState

Description

Denotes a possible state for a request / Ticket

Fields
Field Name Description
id - HashedId!
created - Timestamp!
updated - Timestamp
titleId - HashedId!
title - Translation
key - TicketStateEnum A denoting 'type', used to identify the role and function of a state
order - Int Can be used to define an ordering of state from earliest to latest (from lower to higher number)
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "titleId": HashedId,
  "title": Translation,
  "key": "open",
  "order": 987
}

TicketStateEnum

Values
Enum Value Description

open

declined

closed

inProgress

waitingForInformation

approvalNeeded

onHold

Example
"open"

TicketStateUpdateInput

Fields
Input Field Description
disableWebhooks - Boolean
stateId - HashedId!
note - String
attachments - [Upload!]
event - UpdateTicketStateEventInput
costs - [NewCostInput!]
assignCurrentUser - Boolean
Example
{
  "disableWebhooks": true,
  "stateId": HashedId,
  "note": "abc123",
  "attachments": [Upload],
  "event": UpdateTicketStateEventInput,
  "costs": [NewCostInput],
  "assignCurrentUser": true
}

TicketTimeline

Fields
Field Name Description
dateCreated - Timestamp!
dateInProgress - Timestamp
dateDeclined - Timestamp
dateClosed - Timestamp
dateFirstAssigned - Timestamp
dateFirstCommented - Timestamp
ticketDuration - TicketDuration!
Example
{
  "dateCreated": 1592577642,
  "dateInProgress": 1592577642,
  "dateDeclined": 1592577642,
  "dateClosed": 1592577642,
  "dateFirstAssigned": 1592577642,
  "dateFirstCommented": 1592577642,
  "ticketDuration": TicketDuration
}

TicketUser

Fields
Field Name Description
id - HashedId!
name - String!
Example
{
  "id": HashedId,
  "name": "xyz789"
}

Timestamp

Description

Date type as integer. Type represents date and time as number of milliseconds from start of UNIX epoch.

Example
1592577642

Translation

Description

A generic i18l table providing language strings for every user-created content in various languages, with simple id-to-string linking.

Fields
Field Name Description
id - HashedId!
en_us - String Use languages.
de_de - String Use languages.
languages - [TranslationItem!]!
created - Timestamp!
updated - Timestamp
translations - String
Example
{
  "id": HashedId,
  "en_us": "abc123",
  "de_de": "xyz789",
  "languages": [TranslationItem],
  "created": 1592577642,
  "updated": 1592577642,
  "translations": "xyz789"
}

TranslationInput

Fields
Input Field Description
languages - [TranslationItemInput!]
translations - JSON
de_de - String
en_us - String
id - HashedId
Example
{
  "languages": [TranslationItemInput],
  "translations": {},
  "de_de": "xyz789",
  "en_us": "abc123",
  "id": HashedId
}

TranslationItem

Fields
Field Name Description
id - HashedId!
code - String!
text - String!
Example
{
  "id": HashedId,
  "code": "xyz789",
  "text": "abc123"
}

TranslationItemInput

Fields
Input Field Description
code - Locale!
text - String!
Example
{
  "code": "zh-cmn-Hans-CN",
  "text": "xyz789"
}

Trip

Description

Trips are sets of intervals grouped by the Calculator feature provided by Flespi API: https://flespi.io/docs/#/gw/calculators

Fields
Field Name Description
created - Timestamp!
updated - Timestamp
id - String! Trip identifier
active - Boolean! Whether trip is still ongoing (active)
assetId - HashedId! Associated asset ID
asset - Asset! Associated asset
avgSpeedRaw - Float! Average speed over this trip, kilometers per hour
avgSpeed - Float! Average speed over this trip, in distance units per hour
distanceRaw - Float! Distance traveled in kilometers
distance - Float! Distance traveled in distance units
distanceUnit - String! Distance unit
driverId - String Driver ID associated with this trip
duration - Float! Trip duration in seconds
endLocation - Address Resolved end location
endTime - Float! Trip end time
eventPoints - [EventPoint!]! List of event points
maxSpeedRaw - Float! Maximum speed within this trip, kilometers per hour
maxSpeed - Float! Maximum speed within this trip, in distance units
imei - String! Associated module IMEI
points - [RoutePoint!]! List of trip's route points
route - String! Encoded route string
startLocation - Address Resolved start location
startTime - Float! Trip start time
timestamp - Float! Trip timestamp
tripId - ID! Compound trip ID combining asset ID with Flespi trip ID
pointsInRange - [RoutePoint!]! List of trip's route points within the search area
Arguments
locationFilter - TripLocationFilter
fuelConsumedRaw - Int! Fuel consumption volume, liters
fuelConsumed - Float! Fuel consumption volume, fuel units
fuelConsumedPercentage - Int! Fuel consumption volume, percentage
fuelUnit - String! Fuel unit
linearDistanceRaw - Float! Linear distance traveled in kilometers
linearDistance - Float! Linear distance traveled in distance units
Example
{
  "created": 1592577642,
  "updated": 1592577642,
  "id": "xyz789",
  "active": false,
  "assetId": HashedId,
  "asset": Asset,
  "avgSpeedRaw": 987.65,
  "avgSpeed": 987.65,
  "distanceRaw": 123.45,
  "distance": 987.65,
  "distanceUnit": "abc123",
  "driverId": "xyz789",
  "duration": 123.45,
  "endLocation": Address,
  "endTime": 987.65,
  "eventPoints": [EventPoint],
  "maxSpeedRaw": 123.45,
  "maxSpeed": 987.65,
  "imei": "abc123",
  "points": [RoutePoint],
  "route": "abc123",
  "startLocation": Address,
  "startTime": 123.45,
  "timestamp": 123.45,
  "tripId": 4,
  "pointsInRange": [RoutePoint],
  "fuelConsumedRaw": 987,
  "fuelConsumed": 987.65,
  "fuelConsumedPercentage": 987,
  "fuelUnit": "xyz789",
  "linearDistanceRaw": 987.65,
  "linearDistance": 123.45
}

TripDateFilter

Fields
Input Field Description
from - Int! The date from which to start listing trips
to - Int! The date until which to list trips
Example
{"from": 987, "to": 987}

TripLocationFilter

Fields
Input Field Description
lat - Float! Target location latitude
lng - Float! Target location longitude
radius - Int! Search radius in meters
Example
{"lat": 123.45, "lng": 987.65, "radius": 123}

TripPaginatedResult

Fields
Field Name Description
meta - PaginationMeta!
rows - [Trip!]!
Example
{
  "meta": PaginationMeta,
  "rows": [Trip]
}

UpdateCommentEventInput

Fields
Input Field Description
title - TranslationInput!
assetId - HashedId!
id - HashedId
Example
{
  "title": TranslationInput,
  "assetId": HashedId,
  "id": HashedId
}

UpdateServiceInput

Fields
Input Field Description
id - HashedId!
keys - [String]
title - TranslationInput
formId - String
iconUrl - String
isServiceCheck - Boolean
procedureTemplateId - HashedId
assigneeAutomationId - Int
suggestedServicePartner - String
Example
{
  "id": HashedId,
  "keys": ["xyz789"],
  "title": TranslationInput,
  "formId": "abc123",
  "iconUrl": "xyz789",
  "isServiceCheck": true,
  "procedureTemplateId": HashedId,
  "assigneeAutomationId": 123,
  "suggestedServicePartner": "abc123"
}

UpdateTicketStateEventInput

Fields
Input Field Description
title - TranslationInput!
assetId - HashedId!
Example
{
  "title": TranslationInput,
  "assetId": HashedId
}

Upload

Description

The Upload scalar type represents a file upload.

Example
Upload

User

Fields
Field Name Description
id - HashedId!
created - Timestamp!
updated - Timestamp
firstname - String
lastname - String
password - String!
email - String!
phone - String
fullName - String!
groupId - HashedId! New name for "belongsToGroupId"
roleId - HashedId!
isSupportAdmin - Boolean! New name for "supportAdmin"
canShareViews - Boolean!
isSSOEnabled - Boolean
languageId - HashedId
language - HashedId Use "languageId" instead
dashboardId - HashedId
locale - LanguageTag
timezone - String
label - String
apiKey - String
image - String
activated - Timestamp
isServicing - Boolean!
info - JSON
stripeSubscriptionId - String
deleted - Timestamp
username - String Use "email" instead
supportAdmin - Boolean! Use "isSupportAdmin" instead
belongsToGroupId - HashedId! Use "groupId" instead
lastLogin - DateTime
services - [JSON!] No implementation for this field
dashboard - JSON No implementation for this field
notifications - [JSON!] No implementation for this field
notificationIds - [HashedId!] No implementation for this field
checkPassword - Boolean No implementation for this field
loginInterrupts - JSON No implementation for this field
loginInterruptIds - [HashedId!] No implementation for this field
subscription - StripeSubscriptionPlan
belongsToGroup - Group! Use "group" instead
group - Group!
role - Role!
teams - [Team!]!
unavailability - [UserUnavailability!]!
Arguments
settings - JSON
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "firstname": "xyz789",
  "lastname": "xyz789",
  "password": "abc123",
  "email": "xyz789",
  "phone": "abc123",
  "fullName": "xyz789",
  "groupId": HashedId,
  "roleId": HashedId,
  "isSupportAdmin": false,
  "canShareViews": true,
  "isSSOEnabled": false,
  "languageId": HashedId,
  "language": HashedId,
  "dashboardId": HashedId,
  "locale": LanguageTag,
  "timezone": "abc123",
  "label": "xyz789",
  "apiKey": "xyz789",
  "image": "abc123",
  "activated": 1592577642,
  "isServicing": true,
  "info": {},
  "stripeSubscriptionId": "xyz789",
  "deleted": 1592577642,
  "username": "abc123",
  "supportAdmin": true,
  "belongsToGroupId": HashedId,
  "lastLogin": "2007-12-03T10:15:30Z",
  "services": [{}],
  "dashboard": {},
  "notifications": [{}],
  "notificationIds": [HashedId],
  "checkPassword": true,
  "loginInterrupts": {},
  "loginInterruptIds": [HashedId],
  "subscription": StripeSubscriptionPlan,
  "belongsToGroup": Group,
  "group": Group,
  "role": Role,
  "teams": [Team],
  "unavailability": [UserUnavailability],
  "settings": {}
}

UserPaginatedResult

Fields
Field Name Description
meta - PaginationMeta!
rows - [User!]!
Example
{
  "meta": PaginationMeta,
  "rows": [User]
}

UserUnavailability

Fields
Field Name Description
id - HashedId!
created - Timestamp!
updated - Timestamp
createdByWorkOrderId - HashedId!
startTime - DateTime!
endTime - DateTime
userId - HashedId!
asWorkOrderWorker - Boolean!
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "createdByWorkOrderId": HashedId,
  "startTime": "2007-12-03T10:15:30Z",
  "endTime": "2007-12-03T10:15:30Z",
  "userId": HashedId,
  "asWorkOrderWorker": true
}

UserUnavailabilityContext

Values
Enum Value Description

AS_WORKORDER_WORKER

Example
"AS_WORKORDER_WORKER"

UserUnavailabilityFilterInput

Fields
Input Field Description
from - DateTime! filter unavailability records starting from this time.
to - DateTime! filter unavailability records until this time.
filterContext - UserUnavailabilityContext filter unavailability records to only ones matching this context.
Example
{
  "from": "2007-12-03T10:15:30Z",
  "to": "2007-12-03T10:15:30Z",
  "filterContext": "AS_WORKORDER_WORKER"
}

ViewDisplayMode

Values
Enum Value Description

LIST

MAP

GANTT

Example
"LIST"

ViewEntity

Values
Enum Value Description

ASSET

Example
"ASSET"

ViewFilters

Description

a well defined filter configuration

Fields
Field Name Description
columnName - String! name of column
values - [String!] values to filter this column by; only records with these values are selected
sorting - SortDirection
Example
{
  "columnName": "abc123",
  "values": ["abc123"],
  "sorting": "ASC"
}

Webhook

Fields
Field Name Description
id - HashedId!
created - Timestamp!
updated - Timestamp
groupId - HashedId! group to which this webhook applies
url - String! url of the webhook
forTickets - Boolean! whether this webhook will be called for tickets in the given group.
forSites - Boolean! whether this webhook will be called for sites in the given group.
forAssets - Boolean! whether this webhook will be called for assets in the given group.
forWorkOrders - Boolean! whether this webhook will be called for work orders in the given group.
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "groupId": HashedId,
  "url": "xyz789",
  "forTickets": true,
  "forSites": true,
  "forAssets": false,
  "forWorkOrders": true
}

WebhookCreateInput

Fields
Input Field Description
groupId - HashedId! group to which this webhook applies
url - String! url of the webhook
forTickets - Boolean! whether this webhook will be called for tickets in the given group.
forSites - Boolean! whether this webhook will be called for sites in the given group.
forAssets - Boolean! whether this webhook will be called for assets in the given group.
forWorkOrders - Boolean! whether this webhook will be called for work orders in the given group.
Example
{
  "groupId": HashedId,
  "url": "abc123",
  "forTickets": false,
  "forSites": false,
  "forAssets": false,
  "forWorkOrders": false
}

WebhookUpdateInput

Fields
Input Field Description
id - HashedId!
url - String! url of the webhook
forTickets - Boolean! whether this webhook will be called for tickets in the given group.
forSites - Boolean! whether this webhook will be called for sites in the given group.
forAssets - Boolean! whether this webhook will be called for assets in the given group.
forWorkOrders - Boolean! whether this webhook will be called for work orders in the given group.
Example
{
  "id": HashedId,
  "url": "abc123",
  "forTickets": true,
  "forSites": false,
  "forAssets": true,
  "forWorkOrders": false
}

WellKnownNumericParameterKey

Description

A well-known parameter which has a numeric value

Values
Enum Value Description

runtime

signal

battery

chargingCycle

Example
"runtime"

WellKnownParameterKey

Description

A well-known parameter

Values
Enum Value Description

runtime

signal

battery

fwversion

swversion

Example
"runtime"

WorkOrderAssetCollection

Fields
Field Name Description
workOrderId - HashedId!
widgetHint - String
assets - [Asset!]!
Example
{
  "workOrderId": HashedId,
  "widgetHint": "abc123",
  "assets": [Asset]
}

WorkOrderAssetCollectionInput

Fields
Input Field Description
widgetHint - String
assetIds - [HashedId!]!
Example
{
  "widgetHint": "xyz789",
  "assetIds": [HashedId]
}

WorkOrderAssetsFieldChange

Fields
Field Name Description
field - WorkOrderHistoryField!
addedAssets - [Asset!]!
removedAssets - [Asset!]!
Example
{
  "field": "STATUS",
  "addedAssets": [Asset],
  "removedAssets": [Asset]
}

WorkOrderAssigneeChangeNotification

Fields
Field Name Description
previous - ProcessHandler
current - ProcessHandler
Example
{
  "previous": ProcessHandler,
  "current": ProcessHandler
}

WorkOrderAttachablePersonnel

Fields
Field Name Description
userId - HashedId
groupId - HashedId
displayName - String!
Example
{
  "userId": HashedId,
  "groupId": HashedId,
  "displayName": "xyz789"
}

WorkOrderCost

Fields
Field Name Description
workOrderId - HashedId!
widgetHint - String
id - HashedId!
valueCents - Int! Amount of the work order cost
costType - WorkOrderCostType! What type of cost kind is represented by this object
currency - Currency! Currency of the work order cost
Example
{
  "workOrderId": HashedId,
  "widgetHint": "abc123",
  "id": HashedId,
  "valueCents": 123,
  "costType": "DAILY_RATE",
  "currency": "AED"
}

WorkOrderCostInput

Fields
Input Field Description
widgetHint - String
valueCents - Int! Amount of the work order cost
costType - WorkOrderCostType! What type of cost kind is represented by this object
currency - Currency! Currency of the work order cost
id - HashedId
Example
{
  "widgetHint": "xyz789",
  "valueCents": 987,
  "costType": "DAILY_RATE",
  "currency": "AED",
  "id": HashedId
}

WorkOrderCostStoredHistory

Fields
Field Name Description
valueCents - Int! Amount of the work order cost
currency - Currency! Currency of the work order cost
Example
{"valueCents": 987, "currency": "AED"}

WorkOrderCostType

Values
Enum Value Description

DAILY_RATE

Example
"DAILY_RATE"

WorkOrderCreateInput

Fields
Input Field Description
name - String!
startDate - DateTime!
endDate - DateTime!
procedureTemplateId - HashedId
customerName - String
status - WorkOrderStatus!
costCenter - String
siteId - HashedId
notes - TranslationInput
Example
{
  "name": "abc123",
  "startDate": "2007-12-03T10:15:30Z",
  "endDate": "2007-12-03T10:15:30Z",
  "procedureTemplateId": HashedId,
  "customerName": "xyz789",
  "status": "PENDING",
  "costCenter": "xyz789",
  "siteId": HashedId,
  "notes": TranslationInput
}

WorkOrderDailyRateFieldChange

Fields
Field Name Description
field - WorkOrderHistoryField!
previousDailyRate - WorkOrderCostStoredHistory
currentDailyRate - WorkOrderCostStoredHistory
Example
{
  "field": "STATUS",
  "previousDailyRate": WorkOrderCostStoredHistory,
  "currentDailyRate": WorkOrderCostStoredHistory
}

WorkOrderDateFieldChange

Fields
Field Name Description
field - WorkOrderHistoryField!
previousDate - Timestamp
currentDate - Timestamp!
Example
{"field": "STATUS", "previousDate": 1592577642, "currentDate": 1592577642}

WorkOrderDatesInput

Fields
Input Field Description
id - HashedId!
startDate - DateTime!
endDate - DateTime!
Example
{
  "id": HashedId,
  "startDate": "2007-12-03T10:15:30Z",
  "endDate": "2007-12-03T10:15:30Z"
}

WorkOrderFieldChange

WorkOrderHistoryEntry

Fields
Field Name Description
id - HashedId!
date - DateTime!
type - WorkOrderHistoryEntryType!
createdByUser - User!
changes - [WorkOrderFieldChange!]!
Example
{
  "id": HashedId,
  "date": "2007-12-03T10:15:30Z",
  "type": "ADDED",
  "createdByUser": User,
  "changes": [WorkOrderAssetsFieldChange]
}

WorkOrderHistoryEntryType

Values
Enum Value Description

ADDED

CHANGED

Example
"ADDED"

WorkOrderHistoryField

Values
Enum Value Description

STATUS

ASSIGNEE

FOLLOWERS

WORKERS

START_DATE

END_DATE

SITE

NOTES

ASSETS

LOCATIONS

COST_CENTER

DAILY_RATE

Example
"STATUS"

WorkOrderLocation

Fields
Field Name Description
workOrderId - HashedId!
widgetHint - String
id - HashedId!
name - String!
address - String
lat - String
lng - String
siteId - HashedId
Example
{
  "workOrderId": HashedId,
  "widgetHint": "xyz789",
  "id": HashedId,
  "name": "xyz789",
  "address": "xyz789",
  "lat": "abc123",
  "lng": "abc123",
  "siteId": HashedId
}

WorkOrderLocationInput

Fields
Input Field Description
widgetHint - String
name - String!
address - String
lat - String
lng - String
siteId - HashedId
id - HashedId
Example
{
  "widgetHint": "abc123",
  "name": "xyz789",
  "address": "abc123",
  "lat": "abc123",
  "lng": "xyz789",
  "siteId": HashedId,
  "id": HashedId
}

WorkOrderLocationStoredHistory

Fields
Field Name Description
name - String!
address - String
lat - String
lng - String
siteId - HashedId
Example
{
  "name": "xyz789",
  "address": "xyz789",
  "lat": "abc123",
  "lng": "xyz789",
  "siteId": HashedId
}

WorkOrderLocationsFieldChange

Fields
Field Name Description
field - WorkOrderHistoryField!
addedLocations - [WorkOrderLocationStoredHistory!]!
removedLocations - [WorkOrderLocationStoredHistory!]!
nameChanges - [WorkOrderNameChange!]!
Example
{
  "field": "STATUS",
  "addedLocations": [WorkOrderLocationStoredHistory],
  "removedLocations": [WorkOrderLocationStoredHistory],
  "nameChanges": [WorkOrderNameChange]
}

WorkOrderNameChange

Fields
Field Name Description
previous - String
current - String
Example
{
  "previous": "abc123",
  "current": "abc123"
}

WorkOrderNotesFieldChange

Fields
Field Name Description
field - WorkOrderHistoryField!
previousNotes - Translation
currentNotes - Translation
Example
{
  "field": "STATUS",
  "previousNotes": Translation,
  "currentNotes": Translation
}

WorkOrderNotifications

Fields
Field Name Description
created - WorkOrderV2
followersAdded - [ProcessHandler!]!
followersRemoved - [ProcessHandler!]!
assigneeChanged - WorkOrderAssigneeChangeNotification
statusChanged - WorkOrderStatusChangeNotification
assetsAssigned - [Asset!]!
assetsUnassigned - [Asset!]!
Example
{
  "created": WorkOrderV2,
  "followersAdded": [ProcessHandler],
  "followersRemoved": [ProcessHandler],
  "assigneeChanged": WorkOrderAssigneeChangeNotification,
  "statusChanged": WorkOrderStatusChangeNotification,
  "assetsAssigned": [Asset],
  "assetsUnassigned": [Asset]
}

WorkOrderPersonnelAssigneeInput

Fields
Input Field Description
assigneeType - WorkOrderPersonnelAssigneeType!
id - HashedId!
Example
{"assigneeType": "USER", "id": HashedId}

WorkOrderPersonnelAssigneeType

Values
Enum Value Description

USER

GROUP

Example
"USER"

WorkOrderPersonnelContact

Fields
Field Name Description
type - WorkOrderPersonnelContactValueType!
value - String!
Example
{"type": "EXTERNALEMAIL", "value": "abc123"}

WorkOrderPersonnelContactInput

Fields
Input Field Description
type - WorkOrderPersonnelContactValueType!
value - String!
Example
{"type": "EXTERNALEMAIL", "value": "abc123"}

WorkOrderPersonnelContactValueType

Values
Enum Value Description

EXTERNALEMAIL

SITEMANAGER

NAME

Example
"EXTERNALEMAIL"

WorkOrderPersonnelFollowerCollectionInput

Fields
Input Field Description
userIds - [HashedId!]
contacts - [WorkOrderPersonnelContactInput!]
groupIds - [HashedId!]!
Example
{
  "userIds": [HashedId],
  "contacts": [WorkOrderPersonnelContactInput],
  "groupIds": [HashedId]
}

WorkOrderPersonnelInput

Fields
Input Field Description
assignee - WorkOrderPersonnelAssigneeInput
followers - WorkOrderPersonnelFollowerCollectionInput!
workerCollections - [WorkOrderPersonnelWorkerCollectionInput!]!
Example
{
  "assignee": WorkOrderPersonnelAssigneeInput,
  "followers": WorkOrderPersonnelFollowerCollectionInput,
  "workerCollections": [
    WorkOrderPersonnelWorkerCollectionInput
  ]
}

WorkOrderPersonnelV2

Fields
Field Name Description
workOrderId - HashedId!
widgetHint - String
id - HashedId!
userId - HashedId
groupId - HashedId
user - User
group - Group
contact - WorkOrderPersonnelContact
removable - Boolean!
displayName - String!
Example
{
  "workOrderId": HashedId,
  "widgetHint": "xyz789",
  "id": HashedId,
  "userId": HashedId,
  "groupId": HashedId,
  "user": User,
  "group": Group,
  "contact": WorkOrderPersonnelContact,
  "removable": false,
  "displayName": "abc123"
}

WorkOrderPersonnelWorkerCollectionInput

Fields
Input Field Description
widgetHint - String
userIds - [HashedId!]
contacts - [WorkOrderPersonnelContactInput!]
Example
{
  "widgetHint": "xyz789",
  "userIds": [HashedId],
  "contacts": [WorkOrderPersonnelContactInput]
}

WorkOrderSiteFieldChange

Fields
Field Name Description
field - WorkOrderHistoryField!
previousSite - Site
currentSite - Site
Example
{
  "field": "STATUS",
  "previousSite": Site,
  "currentSite": Site
}

WorkOrderStatus

Values
Enum Value Description

PENDING

CONFIRMED

IN_PROGRESS

ON_HOLD

DONE

CANCELLED

DRAFT

Example
"PENDING"

WorkOrderStatusChangeNotification

Fields
Field Name Description
previous - WorkOrderStatus!
current - WorkOrderStatus!
Example
{"previous": "PENDING", "current": "PENDING"}

WorkOrderStatusFieldChange

Fields
Field Name Description
field - WorkOrderHistoryField!
previousStatus - WorkOrderStatus
currentStatus - WorkOrderStatus!
Example
{"field": "STATUS", "previousStatus": "PENDING", "currentStatus": "PENDING"}

WorkOrderStringArrayFieldChange

Fields
Field Name Description
field - WorkOrderHistoryField!
added - [String!]!
removed - [String!]!
Example
{
  "field": "STATUS",
  "added": ["abc123"],
  "removed": ["abc123"]
}

WorkOrderStringFieldChange

Fields
Field Name Description
field - WorkOrderHistoryField!
previous - String
current - String
Example
{
  "field": "STATUS",
  "previous": "abc123",
  "current": "xyz789"
}

WorkOrderSummary

Fields
Field Name Description
id - HashedId!
name - String!
workOrderNumber - Int!
Example
{
  "id": HashedId,
  "name": "abc123",
  "workOrderNumber": 987
}

WorkOrderUpdateInput

Fields
Input Field Description
name - String
startDate - DateTime
endDate - DateTime
procedureTemplateId - HashedId
customerName - String
status - WorkOrderStatus
costCenter - String
siteId - HashedId
notes - TranslationInput
id - HashedId!
Example
{
  "name": "xyz789",
  "startDate": "2007-12-03T10:15:30Z",
  "endDate": "2007-12-03T10:15:30Z",
  "procedureTemplateId": HashedId,
  "customerName": "xyz789",
  "status": "PENDING",
  "costCenter": "abc123",
  "siteId": HashedId,
  "notes": TranslationInput,
  "id": HashedId
}

WorkOrderV2

Fields
Field Name Description
id - HashedId!
created - Timestamp!
updated - Timestamp
name - String!
startDate - DateTime!
endDate - DateTime!
createdByGroupId - HashedId!
procedureTemplateId - HashedId
creatorId - HashedId!
creationDate - DateTime!
customerName - String
status - WorkOrderStatus!
notesId - HashedId
costCenter - String
siteId - HashedId
creator - User!
procedureTemplate - ProcedureTemplate
site - Site
workOrderNumber - Int!
notes - Translation
sourceTicketId - HashedId
assignee - WorkOrderPersonnelV2
followers - [WorkOrderPersonnelV2!]!
workers - [WorkOrderPersonnelV2!]!
costs - [WorkOrderCost!]! all costs currently attached to this work order.
dailyRate - WorkOrderCost the cost from this work order that is its daily rate, if any.
assetCollections - [WorkOrderAssetCollection!]!
Arguments
widgetHint - String
locations - [WorkOrderLocation!]!
Arguments
widgetHint - String
history - [WorkOrderHistoryEntry!]!
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "name": "abc123",
  "startDate": "2007-12-03T10:15:30Z",
  "endDate": "2007-12-03T10:15:30Z",
  "createdByGroupId": HashedId,
  "procedureTemplateId": HashedId,
  "creatorId": HashedId,
  "creationDate": "2007-12-03T10:15:30Z",
  "customerName": "abc123",
  "status": "PENDING",
  "notesId": HashedId,
  "costCenter": "abc123",
  "siteId": HashedId,
  "creator": User,
  "procedureTemplate": ProcedureTemplate,
  "site": Site,
  "workOrderNumber": 123,
  "notes": Translation,
  "sourceTicketId": HashedId,
  "assignee": WorkOrderPersonnelV2,
  "followers": [WorkOrderPersonnelV2],
  "workers": [WorkOrderPersonnelV2],
  "costs": [WorkOrderCost],
  "dailyRate": WorkOrderCost,
  "assetCollections": [WorkOrderAssetCollection],
  "locations": [WorkOrderLocation],
  "history": [WorkOrderHistoryEntry]
}

WorkOrdersPaginatedResult

Fields
Field Name Description
meta - PaginationMeta!
rows - [WorkOrderV2!]!
Example
{
  "meta": PaginationMeta,
  "rows": [WorkOrderV2]
}