ToolSense GraphQL API Documentation

Queries

OTAUpdate

Description

Retrieve OTA firmware updates, optionally filtered by IDs

Response

Returns [OTAUpdate!]

Arguments
Name Description
id - [HashedId!] Filter by specific OTA update IDs, returns all if omitted

Example

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

allowedDocumentFileTypes

Description

List allowed document file types

Response

Returns [String!]!

Example

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

asset

Use "assetList", "assets", "assetV2" instead
Description

Legacy asset query, use assetList or assetV2 instead

Response

Returns [Asset!]!

Arguments
Name Description
id - [HashedId!] Asset IDs to query
serial - [String!] Serial number of the asset
make - [String!] Filter by asset manufacturer names
imei - [String!] Filter by IoT module IMEI numbers
exceptForReservationId - HashedId Exclude assets booked under this reservation ID
externalId - [String!] Filter by external system identifiers
partsNumber - [String!] Filter by asset part numbers
availableBetween - [Timestamp!] Date range to check asset availability within
includeOperationalCost - Boolean Include operational cost

Example

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

assetActivityDetails

This API is deprecated and will be removed by the end of 2025. Please use the new API instead.
Description

Retrieve activity details

Response

Returns a JSON!

Arguments
Name Description
assetDataId - HashedId! Asset data identifier
parameterSetId - HashedId Parameter set identifier
savedName - String Saved name
from - Timestamp Start timestamp of the date range
to - Timestamp End timestamp of the date range

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": "abc123",
  "from": 1592577642,
  "to": 1592577642
}
Response
{"data": {"assetActivityDetails": {}}}

assetActivityLog

This API is deprecated and will be removed by the end of 2025. Please use the new API instead.
Description

Retrieve a activity log

Response

Returns a String!

Arguments
Name Description
assetId - HashedId! Asset identifier
parameterId - [HashedId!]! Parameter identifier
from - Timestamp Start timestamp of the date range
to - Timestamp End timestamp of the date range

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

Description

Check if a BLE identifier is already assigned to an asset

Response

Returns an AssetBLEChecker!

Arguments
Name Description
BLE - String Bluetooth Low Energy device identifier
assetId - HashedId ID of the asset to check BLE for

Example

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

assetBarCodeSearch

Description

Search assets by barcode fields like asset ID or supplier

Response

Returns [Asset!]!

Arguments
Name Description
filterInput - AssetBarCodeFilterInput Barcode search filter criteria
paginationInput - PaginationInput Pagination settings for barcode search results

Example

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

assetCategoriesMainGroupPaginated

Description

Retrieve editable asset categories from main group with pagination

Response

Returns an AssetCategoryPaginatedDto!

Arguments
Name Description
pagination - PaginationParams! Pagination
search - String Text search query for filtering results
filters - [FilterParamsInput] Filter criteria

Example

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

assetCategoriesPaginated

Description

Retrieve editable asset categories with pagination

Response

Returns an AssetCategoryPaginatedDto!

Arguments
Name Description
pagination - PaginationParams! Pagination
search - String Text search query for filtering results
filters - [FilterParamsInput] Filter criteria

Example

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

assetCategory

Description

List asset categories, optionally filtered by IDs (legacy)

Response

Returns [AssetCategory!]

Arguments
Name Description
id - [HashedId] Filter by asset category IDs

Example

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

assetCategoryById

Description

Fetch a single asset category by its ID

Response

Returns an AssetCategory

Arguments
Name Description
id - HashedId! Unique identifier of the entity

Example

Query
query assetCategoryById($id: HashedId!) {
  assetCategoryById(id: $id) {
    id
    created
    updated
    image
    externalId
    forManufacturerId
    groupId
    servicePackageId
    isPrivate
    publicId
    nameId
    minimalBatteryVoltage
    nominalBatteryVoltage
    optimalBatteryVoltage
    optimalRuntime
    parentParameterKey
    workUnitsPerHour
    workUnitId
    name {
      ...TranslationFragment
    }
    group {
      ...GroupFragment
    }
    manufacturer {
      ...ManufacturerFragment
    }
    workUnits {
      ...TranslationFragment
    }
    assetsCount
    servicePackage {
      ...ServicePackageFragment
    }
    forManufacturer {
      ...ManufacturerFragment
    }
  }
}
Variables
{"id": HashedId}
Response
{
  "data": {
    "assetCategoryById": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "image": "abc123",
      "externalId": "abc123",
      "forManufacturerId": HashedId,
      "groupId": HashedId,
      "servicePackageId": HashedId,
      "isPrivate": false,
      "publicId": 987,
      "nameId": HashedId,
      "minimalBatteryVoltage": 123.45,
      "nominalBatteryVoltage": 123.45,
      "optimalBatteryVoltage": 123.45,
      "optimalRuntime": 987.65,
      "parentParameterKey": "runtime",
      "workUnitsPerHour": 987.65,
      "workUnitId": HashedId,
      "name": Translation,
      "group": Group,
      "manufacturer": Manufacturer,
      "workUnits": Translation,
      "assetsCount": 987,
      "servicePackage": ServicePackage,
      "forManufacturer": Manufacturer
    }
  }
}

assetData

Description

List asset telemetry data with optional date filtering

Response

Returns [AssetDataNew!]!

Arguments
Name Description
assetId - HashedId! ID of the asset to query data for
closestQuery - Boolean Whether to find the closest data point
closest - Boolean Target timestamp to find closest data for
from - DateTime Start of the date range filter
to - DateTime End of the date range filter

Example

Query
query assetData(
  $assetId: HashedId!,
  $closestQuery: Boolean,
  $closest: Boolean,
  $from: DateTime,
  $to: DateTime
) {
  assetData(
    assetId: $assetId,
    closestQuery: $closestQuery,
    closest: $closest,
    from: $from,
    to: $to
  ) {
    id
    created
    updated
    moduleTimestamp
    createdByModuleImei
    createdByAssetId
    createdByAsset {
      ...AssetFragment
    }
    createdByModuleId
    createdByModule {
      ...ModuleFragment
    }
    data
  }
}
Variables
{
  "assetId": HashedId,
  "closestQuery": false,
  "closest": true,
  "from": "2007-12-03T10:15:30Z",
  "to": "2007-12-03T10:15:30Z"
}
Response
{
  "data": {
    "assetData": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "moduleTimestamp": 1592577642,
        "createdByModuleImei": "xyz789",
        "createdByAssetId": HashedId,
        "createdByAsset": Asset,
        "createdByModuleId": HashedId,
        "createdByModule": Module,
        "data": {}
      }
    ]
  }
}

assetEventsPaginated

Description

Paginated asset events

Response

Returns an AssetEventPaginatedDto!

Arguments
Name Description
pagination - PaginationParams! Pagination
search - String Text search query for filtering results
filters - [FilterParamsInput] Filter criteria

Example

Query
query assetEventsPaginated(
  $pagination: PaginationParams!,
  $search: String,
  $filters: [FilterParamsInput]
) {
  assetEventsPaginated(
    pagination: $pagination,
    search: $search,
    filters: $filters
  ) {
    rows {
      ...EventFragment
    }
    meta {
      ...PaginationMetaFragment
    }
    total
  }
}
Variables
{
  "pagination": PaginationParams,
  "search": "xyz789",
  "filters": [FilterParamsInput]
}
Response
{
  "data": {
    "assetEventsPaginated": {
      "rows": [Event],
      "meta": PaginationMeta,
      "total": 987
    }
  }
}

assetFilterStats

Description

Counts and breakdowns for asset filter sidebar options

Response

Returns an AssetFilterStats!

Example

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

assetIntegration

Query will be removed. Use findAssetIntegrationById and findAssetIntegrationByName instead
Description

Find asset integrations by ID or name

Response

Returns [AssetIntegration!]!

Arguments
Name Description
id - [HashedId!] Filter by one or more integration IDs
name - String Filter by exact integration name

Example

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

assetList

Description

Paginated asset list with filtering and sorting

Response

Returns a PaginatedAssets

Arguments
Name Description
first - Int The number of items to return. Has name "first", but used as limit
offset - Int Number of results to skip
filter - AssetFilterInput Asset list filter criteria
extraId - HashedId ID of an extra field to include in results

Example

Query
query assetList(
  $first: Int,
  $offset: Int,
  $filter: AssetFilterInput,
  $extraId: HashedId
) {
  assetList(
    first: $first,
    offset: $offset,
    filter: $filter,
    extraId: $extraId
  ) {
    meta {
      ...PaginationMetaFragment
    }
    rows {
      ...AssetFragment
    }
    total
    assets {
      ...AssetFragment
    }
  }
}
Variables
{
  "first": 123,
  "offset": 987,
  "filter": AssetFilterInput,
  "extraId": HashedId
}
Response
{
  "data": {
    "assetList": {
      "meta": PaginationMeta,
      "rows": [Asset],
      "total": 123,
      "assets": [Asset]
    }
  }
}

assetListMainGroup

Description

Paginated asset list scoped to the main group only

Response

Returns a PaginatedAssets

Arguments
Name Description
first - Int The number of items to return. Has name "first", but used as limit
offset - Int Number of results to skip
filter - AssetFilterInput Asset list filter criteria
extraId - HashedId ID of an extra field to include in results

Example

Query
query assetListMainGroup(
  $first: Int,
  $offset: Int,
  $filter: AssetFilterInput,
  $extraId: HashedId
) {
  assetListMainGroup(
    first: $first,
    offset: $offset,
    filter: $filter,
    extraId: $extraId
  ) {
    meta {
      ...PaginationMetaFragment
    }
    rows {
      ...AssetFragment
    }
    total
    assets {
      ...AssetFragment
    }
  }
}
Variables
{
  "first": 123,
  "offset": 123,
  "filter": AssetFilterInput,
  "extraId": HashedId
}
Response
{
  "data": {
    "assetListMainGroup": {
      "meta": PaginationMeta,
      "rows": [Asset],
      "total": 987,
      "assets": [Asset]
    }
  }
}

assetLocationHistory

This API is deprecated and will be removed by the end of 2025. Please use the new API instead.
Description

Might be deprecated! Endpoint to get historical location in Location type format.

Response

Returns [Location!]!

Arguments
Name Description
assetId - HashedId! Asset identifier
from - Timestamp Can be used in conjunction with to - defines start for query range
to - Timestamp Can be used in conjunction with from - defines end for query range
closest - Timestamp Results in a single dataset closest to the given date, ignoring properties from and to

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
    gatewayAssetId
    gatewayAsset {
      ...AssetFragment
    }
    locationSource
  }
}
Variables
{
  "assetId": HashedId,
  "from": 1592577642,
  "to": 1592577642,
  "closest": 1592577642
}
Response
{
  "data": {
    "assetLocationHistory": [
      {
        "id": HashedId,
        "longitude": "xyz789",
        "latitude": "xyz789",
        "uncertainty": 123.45,
        "timestamp": 1592577642,
        "status": "NORMAL",
        "gatewayAssetId": HashedId,
        "gatewayAsset": Asset,
        "locationSource": "GPS"
      }
    ]
  }
}

assetLocationHistoryDates

This API is deprecated and will be removed by the end of 2025. Please use the new API instead.
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! Asset identifier
tz - String

Example

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

assetRequest

Description

Retrieve asset requests by IDs or registration request

Response

Returns [AssetRequest!]!

Arguments
Name Description
id - [HashedId!] List of unique identifiers
byRegistrationRequestId - [HashedId!] Filter by registration request IDs

Example

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

assetSiteAssignment

Description

Retrieve a single asset site assignment by ID

Response

Returns an AssetSiteAssignment!

Arguments
Name Description
id - HashedId! Unique identifier of the entity

Example

Query
query assetSiteAssignment($id: HashedId!) {
  assetSiteAssignment(id: $id) {
    id
    created
    updated
    assetId
    siteId
    status
    onSiteFrom
    onSiteUntil
    notes
    externalId
    publicId
    asset {
      ...AssetFragment
    }
    site {
      ...SiteFragment
    }
    totalDaysPlanned
    totalDaysUntilNow
    totalDaysPlannedInPeriod
    totalDaysUntilNowInPeriod
    costs {
      ...AssetSiteAssignmentCostDtoFragment
    }
    costCenter
    costCenterSource
    costCenterResolved
    costCenterSourceResolved
    costCenterSelected
    dailyRateInPeriod
    averageDailyRate
    totalDaysBilled
    totalDaysBilledInPeriod
    totalCosts
    totalCostsInPeriod
  }
}
Variables
{"id": HashedId}
Response
{
  "data": {
    "assetSiteAssignment": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "assetId": HashedId,
      "siteId": HashedId,
      "status": "ACTIVE",
      "onSiteFrom": "2007-12-03T10:15:30Z",
      "onSiteUntil": "2007-12-03T10:15:30Z",
      "notes": "xyz789",
      "externalId": "abc123",
      "publicId": 987,
      "asset": Asset,
      "site": Site,
      "totalDaysPlanned": 123,
      "totalDaysUntilNow": 987,
      "totalDaysPlannedInPeriod": 987,
      "totalDaysUntilNowInPeriod": 987,
      "costs": [AssetSiteAssignmentCostDto],
      "costCenter": "xyz789",
      "costCenterSource": "ASSET",
      "costCenterResolved": "xyz789",
      "costCenterSourceResolved": "ASSET",
      "costCenterSelected": "abc123",
      "dailyRateInPeriod": 987.65,
      "averageDailyRate": 123.45,
      "totalDaysBilled": 987,
      "totalDaysBilledInPeriod": 987,
      "totalCosts": 987.65,
      "totalCostsInPeriod": 123.45
    }
  }
}

assetSiteAssignmentPaginated

Description

Retrieve a paginated list of asset site assignments

Arguments
Name Description
pagination - PaginationParams! Pagination
search - String Text search query for filtering results
filters - [FilterParamsInput] Filter criteria
dateRange - AssetSiteAssignmentDateRangeFilterInput Date range to filter site assignments
isArchivedShown - Boolean Whether to include archived assignments in results

Example

Query
query assetSiteAssignmentPaginated(
  $pagination: PaginationParams!,
  $search: String,
  $filters: [FilterParamsInput],
  $dateRange: AssetSiteAssignmentDateRangeFilterInput,
  $isArchivedShown: Boolean
) {
  assetSiteAssignmentPaginated(
    pagination: $pagination,
    search: $search,
    filters: $filters,
    dateRange: $dateRange,
    isArchivedShown: $isArchivedShown
  ) {
    meta {
      ...PaginationMetaFragment
    }
    rows {
      ...AssetSiteAssignmentFragment
    }
  }
}
Variables
{
  "pagination": PaginationParams,
  "search": "xyz789",
  "filters": [FilterParamsInput],
  "dateRange": AssetSiteAssignmentDateRangeFilterInput,
  "isArchivedShown": true
}
Response
{
  "data": {
    "assetSiteAssignmentPaginated": {
      "meta": PaginationMeta,
      "rows": [AssetSiteAssignment]
    }
  }
}

assetType

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

List asset types with optional name and ID filters (deprecated)

Response

Returns [AssetType!]

Arguments
Name Description
id - [HashedId!] Asset type IDs to filter by
name - String Asset type name to search for

Example

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

assetTypeById

Description

Retrieve asset type by id

Response

Returns an AssetType

Arguments
Name Description
id - HashedId! Unique identifier of the entity

Example

Query
query assetTypeById($id: HashedId!) {
  assetTypeById(id: $id) {
    id
    created
    updated
    forManufacturerId
    groupId
    servicePackageId
    hasAssortmentList
    externalId
    image
    inAssetCategoryId
    inAssetIntegrationId
    isApprovedAssetType
    isPrivate
    isVehicle
    isRoom
    make
    publicId
    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
    }
    minimalBatteryVoltage
    nominalBatteryVoltage
    optimalBatteryVoltage
    chargingVoltageThreshold
    optimalRuntime
    parentParameterKey
    workUnits {
      ...TranslationFragment
    }
    workUnitsPerHour
    workUnitId
    dailyRate
    minDaysBilled
    inAssetCategory {
      ...AssetCategoryFragment
    }
    group {
      ...GroupFragment
    }
    inAssetIntegration {
      ...AssetIntegrationFragment
    }
    forManufacturer {
      ...ManufacturerFragment
    }
    namespace
    assetsCount
    userManual
    suggestedServicePartner
    suggestedPartner {
      ...AvailableHandlerFragment
    }
    servicePackage {
      ...ServicePackageFragment
    }
    lockAssetType {
      ...AssetTypeFragment
    }
  }
}
Variables
{"id": HashedId}
Response
{
  "data": {
    "assetTypeById": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "forManufacturerId": HashedId,
      "groupId": HashedId,
      "servicePackageId": HashedId,
      "hasAssortmentList": false,
      "externalId": "abc123",
      "image": "xyz789",
      "inAssetCategoryId": HashedId,
      "inAssetIntegrationId": HashedId,
      "isApprovedAssetType": true,
      "isPrivate": false,
      "isVehicle": true,
      "isRoom": false,
      "make": "xyz789",
      "publicId": 987,
      "nameId": HashedId,
      "restrictedType": true,
      "preset": false,
      "presetInitialValue": "abc123",
      "presetLeasingCostTermination": "abc123",
      "presetLeasingLevel": "xyz789",
      "presetLeasingMonthlyCost": "xyz789",
      "presetLeasingPartner": "abc123",
      "presetLeasingPartnerContractNumber": "xyz789",
      "presetLeasingPartnerContractPositionNumber": "xyz789",
      "presetLeasingRenewalRate": "xyz789",
      "presetLowValueAsset": true,
      "presetMachineCheckInterval": 987,
      "presetMachineCheckLastCreated": true,
      "presetMachineCheckName": "abc123",
      "presetOwnership": "PURCHASE",
      "presetPurchaseCost": "xyz789",
      "presetPurchaseDepriciation": 123,
      "presetRentalCostTermination": "abc123",
      "presetRentalMonthlyCost": "abc123",
      "presetRentalRenewalRate": "abc123",
      "presetServiceContractCostPerYear": "abc123",
      "presetServiceContractEmail": "abc123",
      "presetServiceContractLevel": "xyz789",
      "presetServiceContractPartner": "abc123",
      "presetSupplier": "abc123",
      "presetWarrantyPeriod": 123,
      "isLockable": false,
      "isLockedState": false,
      "lockAssetTypeId": HashedId,
      "hasVNC": true,
      "isPollingAvailable": true,
      "name": Translation,
      "documents": [Document],
      "minimalBatteryVoltage": 987.65,
      "nominalBatteryVoltage": 123.45,
      "optimalBatteryVoltage": 123.45,
      "chargingVoltageThreshold": 987.65,
      "optimalRuntime": 987.65,
      "parentParameterKey": "runtime",
      "workUnits": Translation,
      "workUnitsPerHour": 987.65,
      "workUnitId": HashedId,
      "dailyRate": 987.65,
      "minDaysBilled": 123,
      "inAssetCategory": AssetCategory,
      "group": Group,
      "inAssetIntegration": AssetIntegration,
      "forManufacturer": Manufacturer,
      "namespace": "abc123",
      "assetsCount": 987,
      "userManual": "xyz789",
      "suggestedServicePartner": "xyz789",
      "suggestedPartner": AvailableHandler,
      "servicePackage": ServicePackage,
      "lockAssetType": AssetType
    }
  }
}

assetTypesDiscoverable

Description

Paginated list of discoverable asset types available for use

Response

Returns an AssetTypePaginatedDto!

Arguments
Name Description
pagination - PaginationParams! Pagination
search - String Text search query for filtering results
filters - [FilterParamsInput] Filter criteria

Example

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

assetTypesMainGroupPaginated

Description

Paginated list of editable asset types from main group only

Response

Returns an AssetTypePaginatedDto!

Arguments
Name Description
pagination - PaginationParams! Pagination
search - String Text search query for filtering results
filters - [FilterParamsInput] Filter criteria

Example

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

assetTypesPaginated

Description

Paginated list of editable asset types for management

Response

Returns an AssetTypePaginatedDto!

Arguments
Name Description
pagination - PaginationParams! Pagination
search - String Text search query for filtering results
filters - [FilterParamsInput] Filter criteria

Example

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

assetV2

Description

Fetch a single asset by its ID

Response

Returns an Asset

Arguments
Name Description
id - HashedId! Unique identifier of the entity

Example

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

assets

Description

Fetch multiple assets by their IDs or UUIDs

Response

Returns [Asset!]!

Arguments
Name Description
ids - [HashedId!] List of unique identifiers
uuids - [String!] Filter assets by their UUIDs
filters - [FilterParamsInput!] Dynamic filter parameters for asset query

Example

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

availabilityEnum

Use "availabilityEnumList" instead
Description

Legacy endpoint for asset availability statuses

Response

Returns an AvailabilityValArray

Example

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

availabilityEnumList

Description

List all possible asset availability statuses

Response

Returns [AssetAvailability!]!

Example

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

availableHandlers

Better to user "groupTicketHandlers", "user", "team" queries to get entities that can be assigned to a ticket
Description

List all users, teams, and groups that can be assigned to tickets for the current user

Response

Returns [AvailableHandler!]!

Example

Query
query availableHandlers {
  availableHandlers {
    id
    subLabel
    displayName
    publicId
    handlerType
    maskedEmail
  }
}
Response
{
  "data": {
    "availableHandlers": [
      {
        "id": "xyz789",
        "subLabel": "xyz789",
        "displayName": "xyz789",
        "publicId": 987,
        "handlerType": "EXTERNALEMAIL",
        "maskedEmail": "xyz789"
      }
    ]
  }
}

availableTicketHandlers

Superseded by availableHandlers
Description

List handlers available to process tickets

Response

Returns [AvailableHandler!]!

Example

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

availableUserLabels

Description

Retrieve available user labels

Response

Returns [String!]!

Example

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

brand

Use brandsByGroupIds, brandsByIds, or brandByKey
Description

Retrieve brands by group, key, or ID (deprecated)

Response

Returns [Brand!]!

Arguments
Name Description
key - String Unique string key identifying a brand
groupId - [HashedId!] Filter brands by specific organization groups
id - [HashedId!] Filter brands by specific IDs

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
    }
    hasSso
    loginLanguageFallback
    projects
  }
}
Variables
{
  "key": "xyz789",
  "groupId": [HashedId],
  "id": [HashedId]
}
Response
{
  "data": {
    "brand": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "groupId": HashedId,
        "logoWidth": 123,
        "key": "abc123",
        "systemName": "abc123",
        "colorDark": "abc123",
        "colorLight": "xyz789",
        "faviconUrl": "abc123",
        "loginBackground": "abc123",
        "name": "abc123",
        "appUrlAndroid": "abc123",
        "appUrlIos": "xyz789",
        "logo": "abc123",
        "color": "abc123",
        "symbol": "abc123",
        "ownURL": "abc123",
        "supportEmail": "xyz789",
        "activationMailVideo": "xyz789",
        "logoIsSquare": true,
        "group": Group,
        "hasSso": true,
        "loginLanguageFallback": HashedId,
        "projects": "abc123"
      }
    ]
  }
}

brandByKey

Description

Find a brand by its unique string key

Response

Returns a Brand

Arguments
Name Description
key - String! Unique lookup key

Example

Query
query brandByKey($key: String!) {
  brandByKey(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
    }
    hasSso
    loginLanguageFallback
    projects
  }
}
Variables
{"key": "abc123"}
Response
{
  "data": {
    "brandByKey": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "groupId": HashedId,
      "logoWidth": 123,
      "key": "xyz789",
      "systemName": "xyz789",
      "colorDark": "abc123",
      "colorLight": "abc123",
      "faviconUrl": "abc123",
      "loginBackground": "xyz789",
      "name": "abc123",
      "appUrlAndroid": "xyz789",
      "appUrlIos": "xyz789",
      "logo": "abc123",
      "color": "xyz789",
      "symbol": "xyz789",
      "ownURL": "xyz789",
      "supportEmail": "xyz789",
      "activationMailVideo": "xyz789",
      "logoIsSquare": true,
      "group": Group,
      "hasSso": true,
      "loginLanguageFallback": HashedId,
      "projects": "xyz789"
    }
  }
}

brandsByGroupIds

Description

Retrieve brands belonging to specific organization groups

Response

Returns [Brand!]!

Arguments
Name Description
groupIds - [HashedId!]! Group identifiers

Example

Query
query brandsByGroupIds($groupIds: [HashedId!]!) {
  brandsByGroupIds(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
    }
    hasSso
    loginLanguageFallback
    projects
  }
}
Variables
{"groupIds": [HashedId]}
Response
{
  "data": {
    "brandsByGroupIds": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "groupId": HashedId,
        "logoWidth": 987,
        "key": "xyz789",
        "systemName": "xyz789",
        "colorDark": "abc123",
        "colorLight": "xyz789",
        "faviconUrl": "xyz789",
        "loginBackground": "abc123",
        "name": "abc123",
        "appUrlAndroid": "xyz789",
        "appUrlIos": "abc123",
        "logo": "xyz789",
        "color": "xyz789",
        "symbol": "xyz789",
        "ownURL": "abc123",
        "supportEmail": "xyz789",
        "activationMailVideo": "abc123",
        "logoIsSquare": true,
        "group": Group,
        "hasSso": false,
        "loginLanguageFallback": HashedId,
        "projects": "xyz789"
      }
    ]
  }
}

brandsByIds

Description

Retrieve specific brands by their IDs

Response

Returns [Brand!]!

Arguments
Name Description
ids - [HashedId!]! Brand identifiers to look up

Example

Query
query brandsByIds($ids: [HashedId!]!) {
  brandsByIds(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
    }
    hasSso
    loginLanguageFallback
    projects
  }
}
Variables
{"ids": [HashedId]}
Response
{
  "data": {
    "brandsByIds": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "groupId": HashedId,
        "logoWidth": 123,
        "key": "abc123",
        "systemName": "abc123",
        "colorDark": "xyz789",
        "colorLight": "abc123",
        "faviconUrl": "xyz789",
        "loginBackground": "abc123",
        "name": "xyz789",
        "appUrlAndroid": "xyz789",
        "appUrlIos": "abc123",
        "logo": "xyz789",
        "color": "abc123",
        "symbol": "xyz789",
        "ownURL": "xyz789",
        "supportEmail": "xyz789",
        "activationMailVideo": "abc123",
        "logoIsSquare": true,
        "group": Group,
        "hasSso": false,
        "loginLanguageFallback": HashedId,
        "projects": "xyz789"
      }
    ]
  }
}

checkIfAssetsMatchFilters

Description

Verify all given asset UUIDs match the specified filters

Response

Returns a Boolean!

Arguments
Name Description
ids - [HashedId!] List of unique identifiers
uuids - [String!] Filter assets by their UUIDs
filters - [FilterParamsInput!] Dynamic filter parameters for asset query

Example

Query
query checkIfAssetsMatchFilters(
  $ids: [HashedId!],
  $uuids: [String!],
  $filters: [FilterParamsInput!]
) {
  checkIfAssetsMatchFilters(
    ids: $ids,
    uuids: $uuids,
    filters: $filters
  )
}
Variables
{
  "ids": [HashedId],
  "uuids": ["xyz789"],
  "filters": [FilterParamsInput]
}
Response
{"data": {"checkIfAssetsMatchFilters": true}}

checkQr

Description

Retrieve a details by uuid

Response

Returns a QrCheckResponseUnion!

Arguments
Name Description
uuid - String! Universally unique identifier

Example

Query
query checkQr($uuid: String!) {
  checkQr(uuid: $uuid) {
    ... on QrCheckAssetData {
      ...QrCheckAssetDataFragment
    }
    ... on QrCheckSiteData {
      ...QrCheckSiteDataFragment
    }
    ... on QrCheckPartData {
      ...QrCheckPartDataFragment
    }
    ... on QrCheckBlankData {
      ...QrCheckBlankDataFragment
    }
  }
}
Variables
{"uuid": "xyz789"}
Response
{"data": {"checkQr": QrCheckAssetData}}

commentsByTicketId

Use "comments" resolve-field from ticket instead
Description

List comments for a ticket with optional filtering

Response

Returns [TicketComment!]

Arguments
Name Description
id - HashedId! Unique identifier of the entity
filters - TicketCommentFiltersInput Filters to narrow down returned ticket comments

Example

Query
query commentsByTicketId(
  $id: HashedId!,
  $filters: TicketCommentFiltersInput
) {
  commentsByTicketId(
    id: $id,
    filters: $filters
  ) {
    id
    created
    updated
    createdByUserId
    ticketId
    authorEmail
    createdByUser {
      ...TicketUserFragment
    }
    history {
      ...TicketCommentContentFragment
    }
    content {
      ...TicketCommentContentFragment
    }
    isAutomated
    costs {
      ...CostLineFragment
    }
    stateEvent {
      ...TicketStateFragment
    }
    ticketStatus
    itemsEvent {
      ...TicketItemsChangeFragment
    }
    attachments {
      ...DocumentFragment
    }
    connectedEventId
    connectedEvent {
      ...EventFragment
    }
    internal
    deleted
    ticketHistory {
      ...TicketHistoryFragment
    }
  }
}
Variables
{
  "id": HashedId,
  "filters": TicketCommentFiltersInput
}
Response
{
  "data": {
    "commentsByTicketId": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "createdByUserId": HashedId,
        "ticketId": HashedId,
        "authorEmail": "abc123",
        "createdByUser": TicketUser,
        "history": [TicketCommentContent],
        "content": TicketCommentContent,
        "isAutomated": false,
        "costs": [CostLine],
        "stateEvent": TicketState,
        "ticketStatus": "open",
        "itemsEvent": TicketItemsChange,
        "attachments": [Document],
        "connectedEventId": HashedId,
        "connectedEvent": Event,
        "internal": true,
        "deleted": 1592577642,
        "ticketHistory": TicketHistory
      }
    ]
  }
}

connectedAssetsByIMEI

Description

Retrieve connected assets by i m e i

Response

Returns an Int!

Arguments
Name Description
imei - String! IMEI of the module

Example

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

cost

Description

Retrieve a cost by id

Response

Returns a CostLine

Arguments
Name Description
id - HashedId! Unique identifier of the entity

Example

Query
query cost($id: HashedId!) {
  cost(id: $id) {
    id
    created
    updated
    assetId
    costTypeId
    createdByUserId
    currency
    originatingFromEventId
    originatingFromCommentId
    value
    type
    costType {
      ...CostTypeFragment
    }
    asset {
      ...AssetFragment
    }
    name
    quantity
    costId
    costLines {
      ...CostLineFragment
    }
  }
}
Variables
{"id": HashedId}
Response
{
  "data": {
    "cost": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "assetId": HashedId,
      "costTypeId": HashedId,
      "createdByUserId": HashedId,
      "currency": "xyz789",
      "originatingFromEventId": HashedId,
      "originatingFromCommentId": HashedId,
      "value": 123.45,
      "type": "abc123",
      "costType": CostType,
      "asset": Asset,
      "name": "abc123",
      "quantity": 123,
      "costId": HashedId,
      "costLines": [CostLine]
    }
  }
}

costById

Description

Retrieve a cost by id

Response

Returns a Cost

Arguments
Name Description
id - HashedId! Unique identifier of the entity

Example

Query
query costById($id: HashedId!) {
  costById(id: $id) {
    id
    created
    updated
    assetId
    title
    description
    provider
    invoiceNumber
    invoiceDate
    costCenter
    siteId
    labelId
    ticketId
    createdByUserId
    label {
      ...CostLabelFragment
    }
    createdByUser {
      ...UserFragment
    }
    costLines {
      ...CostLineFragment
    }
    operatingCosts
    site {
      ...SiteFragment
    }
    asset {
      ...AssetFragment
    }
    documents {
      ...DocumentFragment
    }
    history {
      ...CostHistoryFragment
    }
  }
}
Variables
{"id": HashedId}
Response
{
  "data": {
    "costById": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "assetId": HashedId,
      "title": "abc123",
      "description": "xyz789",
      "provider": "xyz789",
      "invoiceNumber": "abc123",
      "invoiceDate": "2007-12-03T10:15:30Z",
      "costCenter": "abc123",
      "siteId": HashedId,
      "labelId": HashedId,
      "ticketId": HashedId,
      "createdByUserId": HashedId,
      "label": CostLabel,
      "createdByUser": User,
      "costLines": [CostLine],
      "operatingCosts": 123.45,
      "site": Site,
      "asset": Asset,
      "documents": [Document],
      "history": [CostHistory]
    }
  }
}

costLabelList

Description

List cost labels with pagination

Response

Returns [CostLabel!]!

Example

Query
query costLabelList {
  costLabelList {
    id
    created
    updated
    label
  }
}
Response
{
  "data": {
    "costLabelList": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "label": "abc123"
      }
    ]
  }
}

costType

Description

Retrieve a cost type by id

Response

Returns a CostType

Arguments
Name Description
id - HashedId! Unique identifier of the entity

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": "abc123",
      "keyV2": "BATTERY",
      "translationId": "abc123",
      "translation": Translation
    }
  }
}

costTypeList

Description

Retrieve a cost type list

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": "abc123",
        "translation": Translation
      }
    ]
  }
}

costsForAsset

Description

Retrieve a costs for asset

Response

Returns [CostLine!]!

Arguments
Name Description
assetId - HashedId! Asset identifier

Example

Query
query costsForAsset($assetId: HashedId!) {
  costsForAsset(assetId: $assetId) {
    id
    created
    updated
    assetId
    costTypeId
    createdByUserId
    currency
    originatingFromEventId
    originatingFromCommentId
    value
    type
    costType {
      ...CostTypeFragment
    }
    asset {
      ...AssetFragment
    }
    name
    quantity
    costId
    costLines {
      ...CostLineFragment
    }
  }
}
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,
        "type": "abc123",
        "costType": CostType,
        "asset": Asset,
        "name": "abc123",
        "quantity": 123,
        "costId": HashedId,
        "costLines": [CostLine]
      }
    ]
  }
}

costsPaginated

Description

Retrieve a costs paginated

Response

Returns a CostPaginatedDto!

Arguments
Name Description
pagination - PaginationParams! Pagination
search - String Text search query for filtering results
filters - [FilterParamsInput] Filter criteria

Example

Query
query costsPaginated(
  $pagination: PaginationParams!,
  $search: String,
  $filters: [FilterParamsInput]
) {
  costsPaginated(
    pagination: $pagination,
    search: $search,
    filters: $filters
  ) {
    rows {
      ...CostFragment
    }
    meta {
      ...PaginationMetaFragment
    }
    total
  }
}
Variables
{
  "pagination": PaginationParams,
  "search": "abc123",
  "filters": [FilterParamsInput]
}
Response
{
  "data": {
    "costsPaginated": {
      "rows": [Cost],
      "meta": PaginationMeta,
      "total": 123
    }
  }
}

currentGroupChildrenWithinOEMOrCustomer

Description

Retrieve child groups within the current OEM or customer scope

Response

Returns [Group!]!

Example

Query
query currentGroupChildrenWithinOEMOrCustomer {
  currentGroupChildrenWithinOEMOrCustomer {
    id
    created
    updated
    name
    parentGroupId
    isRoot
    image
    isCustomer
    identificationNumber
    vatNumber
    rootGroupId
    handlerAlias
    treeRootId
    servicePackageId
    flowId
    roleIds
    activeCustomFields {
      ...CustomFieldFragment
    }
    archivedCustomFields {
      ...CustomFieldFragment
    }
    costSettingsId
    deleted
    parentGroup {
      ...GroupFragment
    }
    services {
      ...ServiceFragment
    }
    servicesV2 {
      ...ServiceFragment
    }
    servicePackage {
      ...ServicePackageFragment
    }
    ticketHandler {
      ...GroupTicketHandlerFragment
    }
    flow {
      ...ServicePackageFragment
    }
    internalSettings
    settings
    costSettings {
      ...GroupCostSettingsFragment
    }
    brand {
      ...BrandFragment
    }
    assetLocationsHidden
    nonCustomerParentGroup {
      ...GroupFragment
    }
    childGroups {
      ...GroupFragment
    }
    childGroupIds
    belongsToCurrentGroup
    customerRootGroup {
      ...GroupFragment
    }
    rootGroupName
    customerName
    parentName
    groupTypeId
    assets {
      ...AssetFragment
    }
    assetIds
    maintainedManufacturer {
      ...ManufacturerFragment
    }
    maintainedManufacturerId
    userRequestNotifiers {
      ...NotificationRelationFragment
    }
    userIds
    users {
      ...UserFragment
    }
    hasTicketHandling
    flowMaintainers {
      ...NotificationRelationFragment
    }
    servicePackageV2 {
      ... on ServicePackage {
        ...ServicePackageFragment
      }
      ... on RestrictedServicePackage {
        ...RestrictedServicePackageFragment
      }
    }
    groupType {
      ...ServicePackageFragment
    }
  }
}
Response
{
  "data": {
    "currentGroupChildrenWithinOEMOrCustomer": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "name": "xyz789",
        "parentGroupId": HashedId,
        "isRoot": true,
        "image": "xyz789",
        "isCustomer": false,
        "identificationNumber": "xyz789",
        "vatNumber": "abc123",
        "rootGroupId": HashedId,
        "handlerAlias": "abc123",
        "treeRootId": HashedId,
        "servicePackageId": HashedId,
        "flowId": HashedId,
        "roleIds": [HashedId],
        "activeCustomFields": [CustomField],
        "archivedCustomFields": [CustomField],
        "costSettingsId": HashedId,
        "deleted": 1592577642,
        "parentGroup": Group,
        "services": [Service],
        "servicesV2": [Service],
        "servicePackage": ServicePackage,
        "ticketHandler": GroupTicketHandler,
        "flow": ServicePackage,
        "internalSettings": {},
        "settings": {},
        "costSettings": GroupCostSettings,
        "brand": Brand,
        "assetLocationsHidden": false,
        "nonCustomerParentGroup": Group,
        "childGroups": [Group],
        "childGroupIds": [HashedId],
        "belongsToCurrentGroup": false,
        "customerRootGroup": Group,
        "rootGroupName": "xyz789",
        "customerName": "xyz789",
        "parentName": "xyz789",
        "groupTypeId": HashedId,
        "assets": [Asset],
        "assetIds": [HashedId],
        "maintainedManufacturer": [Manufacturer],
        "maintainedManufacturerId": [HashedId],
        "userRequestNotifiers": [NotificationRelation],
        "userIds": [HashedId],
        "users": [User],
        "hasTicketHandling": true,
        "flowMaintainers": [NotificationRelation],
        "servicePackageV2": ServicePackage,
        "groupType": ServicePackage
      }
    ]
  }
}

customFieldById

Description

Retrieve a single custom field by its ID

Response

Returns a CustomField!

Arguments
Name Description
id - HashedId! Unique identifier of the entity

Example

Query
query customFieldById($id: HashedId!) {
  customFieldById(id: $id) {
    id
    created
    updated
    nameId
    publicId
    type
    isRequired
    showOnQrLandingPage
    showToNonLoggedInUsers
    groupId
    addToAllAssetsInGroupAndBelow
    customerVisibilityRights
    createdByUserId
    createdByGroupId
    availableCustomerVisibilityRights
    deleted
    name {
      ...TranslationFragment
    }
    group {
      ...GroupFragment
    }
    assetTypes {
      ...AssetTypeFragment
    }
    assetCategories {
      ...AssetCategoryFragment
    }
    assets {
      ...AssetFragment
    }
    createdByUser {
      ...UserFragment
    }
    createdByGroup {
      ...GroupFragment
    }
    values {
      ...CustomFieldValueFragment
    }
  }
}
Variables
{"id": HashedId}
Response
{
  "data": {
    "customFieldById": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "nameId": HashedId,
      "publicId": 987,
      "type": "text",
      "isRequired": true,
      "showOnQrLandingPage": false,
      "showToNonLoggedInUsers": true,
      "groupId": HashedId,
      "addToAllAssetsInGroupAndBelow": false,
      "customerVisibilityRights": "editor",
      "createdByUserId": HashedId,
      "createdByGroupId": HashedId,
      "availableCustomerVisibilityRights": ["editor"],
      "deleted": 1592577642,
      "name": Translation,
      "group": Group,
      "assetTypes": [AssetType],
      "assetCategories": [AssetCategory],
      "assets": [Asset],
      "createdByUser": User,
      "createdByGroup": Group,
      "values": [CustomFieldValue]
    }
  }
}

customFieldsPaginated

Description

Retrieve a paginated list of custom fields with filtering

Response

Returns a CustomFieldPaginatedResult!

Arguments
Name Description
pagination - PaginationParams! Pagination
search - String Text search query for filtering results
filters - [FilterParamsInput] Filter criteria
includeArchived - Boolean Whether to include archived custom fields in results

Example

Query
query customFieldsPaginated(
  $pagination: PaginationParams!,
  $search: String,
  $filters: [FilterParamsInput],
  $includeArchived: Boolean
) {
  customFieldsPaginated(
    pagination: $pagination,
    search: $search,
    filters: $filters,
    includeArchived: $includeArchived
  ) {
    meta {
      ...PaginationMetaFragment
    }
    rows {
      ...CustomFieldFragment
    }
  }
}
Variables
{
  "pagination": PaginationParams,
  "search": "xyz789",
  "filters": [FilterParamsInput],
  "includeArchived": false
}
Response
{
  "data": {
    "customFieldsPaginated": {
      "meta": PaginationMeta,
      "rows": [CustomField]
    }
  }
}

dashboard

Description

Retrieve dashboard by id

Response

Returns a Dashboard!

Arguments
Name Description
id - HashedId! Unique identifier of the entity

Example

Query
query dashboard($id: HashedId!) {
  dashboard(id: $id) {
    id
    created
    updated
    order
    default
    createdByUserId
    titleId
    createdByGroupId
    grafanaDashboardURL
    grafanaDashboardUID
    filters {
      ...DashboardFilterFragment
    }
    createdByUser {
      ...UserFragment
    }
    createdByGroup {
      ...GroupFragment
    }
    title {
      ...TranslationFragment
    }
  }
}
Variables
{"id": HashedId}
Response
{
  "data": {
    "dashboard": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "order": 123,
      "default": true,
      "createdByUserId": HashedId,
      "titleId": HashedId,
      "createdByGroupId": HashedId,
      "grafanaDashboardURL": "abc123",
      "grafanaDashboardUID": "xyz789",
      "filters": [DashboardFilter],
      "createdByUser": User,
      "createdByGroup": Group,
      "title": Translation
    }
  }
}

dashboards

Description

Retrieve all dashboards

Response

Returns [Dashboard!]!

Example

Query
query dashboards {
  dashboards {
    id
    created
    updated
    order
    default
    createdByUserId
    titleId
    createdByGroupId
    grafanaDashboardURL
    grafanaDashboardUID
    filters {
      ...DashboardFilterFragment
    }
    createdByUser {
      ...UserFragment
    }
    createdByGroup {
      ...GroupFragment
    }
    title {
      ...TranslationFragment
    }
  }
}
Response
{
  "data": {
    "dashboards": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "order": 123,
        "default": true,
        "createdByUserId": HashedId,
        "titleId": HashedId,
        "createdByGroupId": HashedId,
        "grafanaDashboardURL": "abc123",
        "grafanaDashboardUID": "abc123",
        "filters": [DashboardFilter],
        "createdByUser": User,
        "createdByGroup": Group,
        "title": Translation
      }
    ]
  }
}

displayAssetData

This API is deprecated and will be removed by the end of 2025. Please use the new API instead.
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 information of an Asset.

Response

Returns [DisplayParameter!]!

Arguments
Name Description
assetId - HashedId! Asset identifier

Example

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

displayMultipleAssetData

This API is deprecated and will be removed by the end of 2025. Please use the new API instead.
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 information of an Asset.

Response

Returns [DisplayParameter!]!

Arguments
Name Description
assetId - [HashedId!]! Asset identifier
visibilityFilter - [String!] Visibility filter

Example

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

displayParameterInfo

This API is deprecated and will be removed by the end of 2025. Please use the new API instead.
Description

Retrieve display parameter info

Response

Returns [DisplayParameterInfo!]!

Arguments
Name Description
id - [HashedId!] Unique identifier
assetTypeId - [HashedId!] Asset type identifier
assetIntegrationId - [HashedId!] Asset integration identifier

Example

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

document

Description

List documents with optional filtering

Response

Returns [Document!]!

Arguments
Name Description
id - [HashedId!]! List of unique identifiers

Example

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

entityColumnSchema

Description

Returns the nuvo schema for the given entity type

Response

Returns [ColumnsSchema!]!

Arguments
Name Description
entity - String! Entity type to retrieve column schema for

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": "xyz789"}
Response
{
  "data": {
    "entityColumnSchema": [
      {
        "key": "xyz789",
        "label": "abc123",
        "alternativeMatches": ["xyz789"],
        "labelSuffix": "abc123",
        "columnType": "xyz789",
        "hidden": true,
        "allowCustomOptions": false,
        "description": "abc123",
        "example": "xyz789",
        "type": "abc123",
        "validations": [ColumnSchemaValidations],
        "dropdownOptions": [ColumnSchemaDropdownOption]
      }
    ]
  }
}

event

Description

Retrieve event by filters

Response

Returns [Event!]!

Arguments
Name Description
id - [HashedId!] List of unique identifiers
assetId - [HashedId!] Asset identifier
partId - [HashedId!] Part identifier
eventStyleKey - EventTypeEnum Event style key
createdByUserId - [HashedId!] Created by user identifier
createdByRuleId - [HashedId!] Created by rule identifier
createdByWorkOrderId - [HashedId!] Created by work order identifier
createdByTicketId - [HashedId!] Created by ticket identifier
currentlyActive - Boolean Currently active
startDateFilter - EventDateFilter Start date filter
endDateFilter - EventDateFilter End date filter
createdDateFilter - EventDateFilter Created date filter
tag - [EventEntityTagEnum!] Classification tag or label

Example

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

eventById

Description

Retrieve a event by id

Response

Returns an Event!

Arguments
Name Description
id - HashedId!

Example

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

eventStyle

Description

Retrieve a event style

Response

Returns [EventStyle!]!

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

Example

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

extensionsWithFileTypes

Description

Map of file extensions to file types

Response

Returns a JSON!

Example

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

filterList

Description

Available filter configurations

Response

Returns [ColumnConfig!]!

Arguments
Name Description
entityName - EntityEnum! Entity name

Example

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

filterOptions

Description

Query filtering option

Response

Returns [FilterOption!]!

Arguments
Name Description
columnName - String! Column name
entityName - EntityEnum! Entity name
filters - [FilterParamsInput] Filter criteria
search - String Text search query for filtering results

Example

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

findAllProcedureTemplates

will be removed in future
Description

Returns all procedure templates accessible to the current user groups

Response

Returns [ProcedureTemplate!]!

Example

Query
query findAllProcedureTemplates {
  findAllProcedureTemplates {
    id
    created
    updated
    type
    itemType
    preset
    accessLevel
    iconUrl
    createdByGroupId
    createdByUserId
    titleId
    descriptionId
    rootId
    publicId
    publicRootId
    servicePackages {
      ...ServicePackageFragment
    }
    title {
      ...TranslationFragment
    }
    createdByUser {
      ...UserFragment
    }
    createdByGroup {
      ...GroupFragment
    }
    description {
      ...TranslationFragment
    }
    components {
      ...ProcedureTemplateComponentFragment
    }
    automations {
      ...ProcedureTemplateAutomationFragment
    }
    conditions {
      ...ProcedureConditionFragment
    }
    parentId
    parent {
      ...ProcedureTemplateFragment
    }
    deleted
  }
}
Response
{
  "data": {
    "findAllProcedureTemplates": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "type": "tickets",
        "itemType": "general",
        "preset": "check",
        "accessLevel": "tree",
        "iconUrl": "xyz789",
        "createdByGroupId": HashedId,
        "createdByUserId": HashedId,
        "titleId": HashedId,
        "descriptionId": HashedId,
        "rootId": HashedId,
        "publicId": 987,
        "publicRootId": 987,
        "servicePackages": [ServicePackage],
        "title": Translation,
        "createdByUser": User,
        "createdByGroup": Group,
        "description": Translation,
        "components": [ProcedureTemplateComponent],
        "automations": [ProcedureTemplateAutomation],
        "conditions": [ProcedureCondition],
        "parentId": HashedId,
        "parent": ProcedureTemplate,
        "deleted": 1592577642
      }
    ]
  }
}

findAssetIntegrationById

Description

Find a single asset integration by its ID

Response

Returns an AssetIntegration

Arguments
Name Description
id - HashedId! ID of the asset integration to find

Example

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

findAssetIntegrationByName

Description

Find a single asset integration by its name

Response

Returns an AssetIntegration

Arguments
Name Description
name - String! Exact name of the integration to look up

Example

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

findManufacturerByName

Description

Find a manufacturer by its display name

Response

Returns a Manufacturer

Arguments
Name Description
name - String! Display name

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": "xyz789",
      "nameKey": "abc123",
      "notificationsEnabled": false,
      "maintainedByGroupId": 987,
      "maintainedByGroup": Group,
      "assetIntegrations": [AssetIntegration],
      "assetIntegrationIds": [HashedId]
    }
  }
}

findManufacturerByNameKey

Description

Find a manufacturer by its unique name key

Response

Returns a Manufacturer

Arguments
Name Description
nameKey - String! Normalized uppercase lookup key

Example

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

findManufacturersByGroupIds

Description

Retrieve manufacturers by group ids

Response

Returns [Manufacturer!]!

Arguments
Name Description
groupIds - [HashedId!]! Group identifiers

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": "xyz789",
        "nameKey": "xyz789",
        "notificationsEnabled": true,
        "maintainedByGroupId": 123,
        "maintainedByGroup": Group,
        "assetIntegrations": [AssetIntegration],
        "assetIntegrationIds": [HashedId]
      }
    ]
  }
}

findManufacturersByIds

Description

Retrieve manufacturers by ids

Response

Returns [Manufacturer!]!

Arguments
Name Description
ids - [HashedId!]! Manufacturer identifiers to look up

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": "abc123",
        "nameKey": "xyz789",
        "notificationsEnabled": false,
        "maintainedByGroupId": 987,
        "maintainedByGroup": Group,
        "assetIntegrations": [AssetIntegration],
        "assetIntegrationIds": [HashedId]
      }
    ]
  }
}

findProcedureTemplateById

Description

Returns a single procedure template by hashed ID, or null if not found

Response

Returns a ProcedureTemplate

Arguments
Name Description
id - HashedId! Unique identifier of the entity

Example

Query
query findProcedureTemplateById($id: HashedId!) {
  findProcedureTemplateById(id: $id) {
    id
    created
    updated
    type
    itemType
    preset
    accessLevel
    iconUrl
    createdByGroupId
    createdByUserId
    titleId
    descriptionId
    rootId
    publicId
    publicRootId
    servicePackages {
      ...ServicePackageFragment
    }
    title {
      ...TranslationFragment
    }
    createdByUser {
      ...UserFragment
    }
    createdByGroup {
      ...GroupFragment
    }
    description {
      ...TranslationFragment
    }
    components {
      ...ProcedureTemplateComponentFragment
    }
    automations {
      ...ProcedureTemplateAutomationFragment
    }
    conditions {
      ...ProcedureConditionFragment
    }
    parentId
    parent {
      ...ProcedureTemplateFragment
    }
    deleted
  }
}
Variables
{"id": HashedId}
Response
{
  "data": {
    "findProcedureTemplateById": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "type": "tickets",
      "itemType": "general",
      "preset": "check",
      "accessLevel": "tree",
      "iconUrl": "abc123",
      "createdByGroupId": HashedId,
      "createdByUserId": HashedId,
      "titleId": HashedId,
      "descriptionId": HashedId,
      "rootId": HashedId,
      "publicId": 987,
      "publicRootId": 123,
      "servicePackages": [ServicePackage],
      "title": Translation,
      "createdByUser": User,
      "createdByGroup": Group,
      "description": Translation,
      "components": [ProcedureTemplateComponent],
      "automations": [ProcedureTemplateAutomation],
      "conditions": [ProcedureCondition],
      "parentId": HashedId,
      "parent": ProcedureTemplate,
      "deleted": 1592577642
    }
  }
}

findProcedureTemplateByIds

Description

Returns procedure templates matching the provided list of hashed IDs

Response

Returns [ProcedureTemplate!]!

Arguments
Name Description
ids - [HashedId!]! List of unique identifiers

Example

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

findProcedureTemplatesPaginated

Description

List templates paginated with optional filtering

Response

Returns a ProcedureTemplatePaginatedDto!

Arguments
Name Description
pagination - PaginationParams! Pagination
search - String Text search query for filtering results
filters - [FilterParamsInput] Filter criteria

Example

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

findRuleById

Description

List rule by id with optional filtering

Response

Returns a Rule

Arguments
Name Description
id - HashedId! Unique identifier of the entity

Example

Query
query findRuleById($id: HashedId!) {
  findRuleById(id: $id) {
    id
    created
    updated
    title {
      ...TranslationFragment
    }
    description {
      ...TranslationFragment
    }
    createdByUser {
      ...UserFragment
    }
    createdByGroup {
      ...GroupFragment
    }
    assignedToGroup {
      ...GroupFragment
    }
    eventStyle {
      ...EventStyleFragment
    }
    titleId
    descriptionId
    createdByGroupId
    createdByUserId
    assignedToGroupId
    eventStyleId
    eventType
    isCritical
    isOnetime
    isImmediateNotification
    isGlobalRule
    manualDeactivation
    isArchived
    isOneshot
    isActive
    source
    enabled
    isCheckAllowedForUnauthorizedUsers
    purpose
    definition
    relations {
      ...RuleRelationFragment
    }
    eventsConfigs {
      ...EventConfigFragment
    }
    services {
      ...ServiceFragment
    }
    checkAssetsPaginated {
      ...PaginatedRuleCheckAssetsFragment
    }
    publicId
    relationsV2 {
      ...RuleRelationFragment
    }
    sendNotificationsTo {
      ...RuleNotificationRelationFragment
    }
    servicesV2 {
      ...ServiceFragment
    }
    assetBlacklist {
      ...AssetFragment
    }
  }
}
Variables
{"id": HashedId}
Response
{
  "data": {
    "findRuleById": {
      "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,
      "eventType": "ERROR",
      "isCritical": true,
      "isOnetime": true,
      "isImmediateNotification": true,
      "isGlobalRule": true,
      "manualDeactivation": false,
      "isArchived": true,
      "isOneshot": false,
      "isActive": false,
      "source": "DATA",
      "enabled": false,
      "isCheckAllowedForUnauthorizedUsers": true,
      "purpose": "GEOFENCE",
      "definition": {},
      "relations": [RuleRelation],
      "eventsConfigs": [EventConfig],
      "services": [Service],
      "checkAssetsPaginated": PaginatedRuleCheckAssets,
      "publicId": "abc123",
      "relationsV2": [RuleRelation],
      "sendNotificationsTo": [RuleNotificationRelation],
      "servicesV2": [Service],
      "assetBlacklist": [Asset]
    }
  }
}

findRulesBySource

Description

List rules by source with optional filtering

Response

Returns [Rule!]!

Arguments
Name Description
source - RuleSource! Evaluation source to filter rules by
assetId - HashedId Asset identifier

Example

Query
query findRulesBySource(
  $source: RuleSource!,
  $assetId: HashedId
) {
  findRulesBySource(
    source: $source,
    assetId: $assetId
  ) {
    id
    created
    updated
    title {
      ...TranslationFragment
    }
    description {
      ...TranslationFragment
    }
    createdByUser {
      ...UserFragment
    }
    createdByGroup {
      ...GroupFragment
    }
    assignedToGroup {
      ...GroupFragment
    }
    eventStyle {
      ...EventStyleFragment
    }
    titleId
    descriptionId
    createdByGroupId
    createdByUserId
    assignedToGroupId
    eventStyleId
    eventType
    isCritical
    isOnetime
    isImmediateNotification
    isGlobalRule
    manualDeactivation
    isArchived
    isOneshot
    isActive
    source
    enabled
    isCheckAllowedForUnauthorizedUsers
    purpose
    definition
    relations {
      ...RuleRelationFragment
    }
    eventsConfigs {
      ...EventConfigFragment
    }
    services {
      ...ServiceFragment
    }
    checkAssetsPaginated {
      ...PaginatedRuleCheckAssetsFragment
    }
    publicId
    relationsV2 {
      ...RuleRelationFragment
    }
    sendNotificationsTo {
      ...RuleNotificationRelationFragment
    }
    servicesV2 {
      ...ServiceFragment
    }
    assetBlacklist {
      ...AssetFragment
    }
  }
}
Variables
{"source": "DATA", "assetId": HashedId}
Response
{
  "data": {
    "findRulesBySource": [
      {
        "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,
        "eventType": "ERROR",
        "isCritical": false,
        "isOnetime": true,
        "isImmediateNotification": false,
        "isGlobalRule": false,
        "manualDeactivation": false,
        "isArchived": false,
        "isOneshot": true,
        "isActive": true,
        "source": "DATA",
        "enabled": false,
        "isCheckAllowedForUnauthorizedUsers": false,
        "purpose": "GEOFENCE",
        "definition": {},
        "relations": [RuleRelation],
        "eventsConfigs": [EventConfig],
        "services": [Service],
        "checkAssetsPaginated": PaginatedRuleCheckAssets,
        "publicId": "abc123",
        "relationsV2": [RuleRelation],
        "sendNotificationsTo": [RuleNotificationRelation],
        "servicesV2": [Service],
        "assetBlacklist": [Asset]
      }
    ]
  }
}

generateGrafanaSnapshot

Description

Generate Grafana snapshot URL

Response

Returns a String

Arguments
Name Description
input - DashboardGenerateSnapshotUrlInput! Dashboard generate snapshot url input fields

Example

Query
query generateGrafanaSnapshot($input: DashboardGenerateSnapshotUrlInput!) {
  generateGrafanaSnapshot(input: $input)
}
Variables
{"input": DashboardGenerateSnapshotUrlInput}
Response
{
  "data": {
    "generateGrafanaSnapshot": "abc123"
  }
}

getAllIntegrationBaseProviders

This functionality is no longer supported, use getIntegrationBaseProviders instead
Description

List deprecated enum-based integration providers that serve as base configurations

Response

Returns [IntegrationProviderDto!]!

Example

Query
query getAllIntegrationBaseProviders {
  getAllIntegrationBaseProviders {
    id
    created
    updated
    name
    config {
      ...IntegrationConfigKeyFragment
    }
    provider
    groupId
    treeRootGroupId
    userId
    isCronActive
  }
}
Response
{
  "data": {
    "getAllIntegrationBaseProviders": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "name": "WISAG",
        "config": [IntegrationConfigKey],
        "provider": "PUDU_PROVIDER",
        "groupId": HashedId,
        "treeRootGroupId": HashedId,
        "userId": HashedId,
        "isCronActive": false
      }
    ]
  }
}

getAllIntegrationProviders

This functionality is no longer supported, use getIntegrationProviders instead
Description

List all deprecated enum-based integration providers with their cron status

Response

Returns [IntegrationProviderDto!]!

Example

Query
query getAllIntegrationProviders {
  getAllIntegrationProviders {
    id
    created
    updated
    name
    config {
      ...IntegrationConfigKeyFragment
    }
    provider
    groupId
    treeRootGroupId
    userId
    isCronActive
  }
}
Response
{
  "data": {
    "getAllIntegrationProviders": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "name": "WISAG",
        "config": [IntegrationConfigKey],
        "provider": "PUDU_PROVIDER",
        "groupId": HashedId,
        "treeRootGroupId": HashedId,
        "userId": HashedId,
        "isCronActive": true
      }
    ]
  }
}

getAllIntegrationProvidersWithoutBase

This functionality is no longer supported, use getIntegrationProviders instead
Description

List deprecated enum-based integration providers excluding base configurations

Response

Returns [IntegrationProviderDto!]!

Example

Query
query getAllIntegrationProvidersWithoutBase {
  getAllIntegrationProvidersWithoutBase {
    id
    created
    updated
    name
    config {
      ...IntegrationConfigKeyFragment
    }
    provider
    groupId
    treeRootGroupId
    userId
    isCronActive
  }
}
Response
{
  "data": {
    "getAllIntegrationProvidersWithoutBase": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "name": "WISAG",
        "config": [IntegrationConfigKey],
        "provider": "PUDU_PROVIDER",
        "groupId": HashedId,
        "treeRootGroupId": HashedId,
        "userId": HashedId,
        "isCronActive": true
      }
    ]
  }
}

getAllObservation

Description

List integration observations

Response

Returns [IntegrationObservation!]!

Example

Query
query getAllObservation {
  getAllObservation {
    id
    created
    updated
    integrationId
    lastStartAt
    lastEndAt
    lastSuccessAt
    duration
    error
    status
    records {
      ...IntegrationObservationRecordFragment
    }
  }
}
Response
{
  "data": {
    "getAllObservation": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "integrationId": HashedId,
        "lastStartAt": "2007-12-03T10:15:30Z",
        "lastEndAt": "2007-12-03T10:15:30Z",
        "lastSuccessAt": "2007-12-03T10:15:30Z",
        "duration": 123,
        "error": "abc123",
        "status": "PENDING",
        "records": [IntegrationObservationRecord]
      }
    ]
  }
}

getAllObservationPaginated

Description

Retrieve paginated integration sync monitoring records

Arguments
Name Description
pagination - PaginationParams! Pagination
search - String Text search query for filtering results
filters - [FilterParamsInput] Filter criteria

Example

Query
query getAllObservationPaginated(
  $pagination: PaginationParams!,
  $search: String,
  $filters: [FilterParamsInput]
) {
  getAllObservationPaginated(
    pagination: $pagination,
    search: $search,
    filters: $filters
  ) {
    rows {
      ...IntegrationObservationFragment
    }
    meta {
      ...PaginationMetaFragment
    }
    total
  }
}
Variables
{
  "pagination": PaginationParams,
  "search": "abc123",
  "filters": [FilterParamsInput]
}
Response
{
  "data": {
    "getAllObservationPaginated": {
      "rows": [IntegrationObservation],
      "meta": PaginationMeta,
      "total": 123
    }
  }
}

getAllUserGroups

Use groups field on user
Description

Retrieve all groups accessible to the current user across the organization hierarchy

Response

Returns [Group!]!

Example

Query
query getAllUserGroups {
  getAllUserGroups {
    id
    created
    updated
    name
    parentGroupId
    isRoot
    image
    isCustomer
    identificationNumber
    vatNumber
    rootGroupId
    handlerAlias
    treeRootId
    servicePackageId
    flowId
    roleIds
    activeCustomFields {
      ...CustomFieldFragment
    }
    archivedCustomFields {
      ...CustomFieldFragment
    }
    costSettingsId
    deleted
    parentGroup {
      ...GroupFragment
    }
    services {
      ...ServiceFragment
    }
    servicesV2 {
      ...ServiceFragment
    }
    servicePackage {
      ...ServicePackageFragment
    }
    ticketHandler {
      ...GroupTicketHandlerFragment
    }
    flow {
      ...ServicePackageFragment
    }
    internalSettings
    settings
    costSettings {
      ...GroupCostSettingsFragment
    }
    brand {
      ...BrandFragment
    }
    assetLocationsHidden
    nonCustomerParentGroup {
      ...GroupFragment
    }
    childGroups {
      ...GroupFragment
    }
    childGroupIds
    belongsToCurrentGroup
    customerRootGroup {
      ...GroupFragment
    }
    rootGroupName
    customerName
    parentName
    groupTypeId
    assets {
      ...AssetFragment
    }
    assetIds
    maintainedManufacturer {
      ...ManufacturerFragment
    }
    maintainedManufacturerId
    userRequestNotifiers {
      ...NotificationRelationFragment
    }
    userIds
    users {
      ...UserFragment
    }
    hasTicketHandling
    flowMaintainers {
      ...NotificationRelationFragment
    }
    servicePackageV2 {
      ... on ServicePackage {
        ...ServicePackageFragment
      }
      ... on RestrictedServicePackage {
        ...RestrictedServicePackageFragment
      }
    }
    groupType {
      ...ServicePackageFragment
    }
  }
}
Response
{
  "data": {
    "getAllUserGroups": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "name": "abc123",
        "parentGroupId": HashedId,
        "isRoot": false,
        "image": "abc123",
        "isCustomer": true,
        "identificationNumber": "xyz789",
        "vatNumber": "abc123",
        "rootGroupId": HashedId,
        "handlerAlias": "abc123",
        "treeRootId": HashedId,
        "servicePackageId": HashedId,
        "flowId": HashedId,
        "roleIds": [HashedId],
        "activeCustomFields": [CustomField],
        "archivedCustomFields": [CustomField],
        "costSettingsId": HashedId,
        "deleted": 1592577642,
        "parentGroup": Group,
        "services": [Service],
        "servicesV2": [Service],
        "servicePackage": ServicePackage,
        "ticketHandler": GroupTicketHandler,
        "flow": ServicePackage,
        "internalSettings": {},
        "settings": {},
        "costSettings": GroupCostSettings,
        "brand": Brand,
        "assetLocationsHidden": true,
        "nonCustomerParentGroup": Group,
        "childGroups": [Group],
        "childGroupIds": [HashedId],
        "belongsToCurrentGroup": false,
        "customerRootGroup": Group,
        "rootGroupName": "abc123",
        "customerName": "xyz789",
        "parentName": "abc123",
        "groupTypeId": HashedId,
        "assets": [Asset],
        "assetIds": [HashedId],
        "maintainedManufacturer": [Manufacturer],
        "maintainedManufacturerId": [HashedId],
        "userRequestNotifiers": [NotificationRelation],
        "userIds": [HashedId],
        "users": [User],
        "hasTicketHandling": false,
        "flowMaintainers": [NotificationRelation],
        "servicePackageV2": ServicePackage,
        "groupType": ServicePackage
      }
    ]
  }
}

getAssetsAffectedByGroupChange

Use site.assetsCount instead
Description

Count assets impacted by a site group reassignment

Response

Returns an Int!

Arguments
Name Description
id - HashedId! Unique identifier of the entity
groupId - HashedId! Target group ID to move the asset to

Example

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

getCurrentGroupChildren

Description

Retrieve direct child groups of the current user primary group

Response

Returns [Group!]!

Example

Query
query getCurrentGroupChildren {
  getCurrentGroupChildren {
    id
    created
    updated
    name
    parentGroupId
    isRoot
    image
    isCustomer
    identificationNumber
    vatNumber
    rootGroupId
    handlerAlias
    treeRootId
    servicePackageId
    flowId
    roleIds
    activeCustomFields {
      ...CustomFieldFragment
    }
    archivedCustomFields {
      ...CustomFieldFragment
    }
    costSettingsId
    deleted
    parentGroup {
      ...GroupFragment
    }
    services {
      ...ServiceFragment
    }
    servicesV2 {
      ...ServiceFragment
    }
    servicePackage {
      ...ServicePackageFragment
    }
    ticketHandler {
      ...GroupTicketHandlerFragment
    }
    flow {
      ...ServicePackageFragment
    }
    internalSettings
    settings
    costSettings {
      ...GroupCostSettingsFragment
    }
    brand {
      ...BrandFragment
    }
    assetLocationsHidden
    nonCustomerParentGroup {
      ...GroupFragment
    }
    childGroups {
      ...GroupFragment
    }
    childGroupIds
    belongsToCurrentGroup
    customerRootGroup {
      ...GroupFragment
    }
    rootGroupName
    customerName
    parentName
    groupTypeId
    assets {
      ...AssetFragment
    }
    assetIds
    maintainedManufacturer {
      ...ManufacturerFragment
    }
    maintainedManufacturerId
    userRequestNotifiers {
      ...NotificationRelationFragment
    }
    userIds
    users {
      ...UserFragment
    }
    hasTicketHandling
    flowMaintainers {
      ...NotificationRelationFragment
    }
    servicePackageV2 {
      ... on ServicePackage {
        ...ServicePackageFragment
      }
      ... on RestrictedServicePackage {
        ...RestrictedServicePackageFragment
      }
    }
    groupType {
      ...ServicePackageFragment
    }
  }
}
Response
{
  "data": {
    "getCurrentGroupChildren": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "name": "abc123",
        "parentGroupId": HashedId,
        "isRoot": true,
        "image": "xyz789",
        "isCustomer": false,
        "identificationNumber": "abc123",
        "vatNumber": "abc123",
        "rootGroupId": HashedId,
        "handlerAlias": "abc123",
        "treeRootId": HashedId,
        "servicePackageId": HashedId,
        "flowId": HashedId,
        "roleIds": [HashedId],
        "activeCustomFields": [CustomField],
        "archivedCustomFields": [CustomField],
        "costSettingsId": HashedId,
        "deleted": 1592577642,
        "parentGroup": Group,
        "services": [Service],
        "servicesV2": [Service],
        "servicePackage": ServicePackage,
        "ticketHandler": GroupTicketHandler,
        "flow": ServicePackage,
        "internalSettings": {},
        "settings": {},
        "costSettings": GroupCostSettings,
        "brand": Brand,
        "assetLocationsHidden": false,
        "nonCustomerParentGroup": Group,
        "childGroups": [Group],
        "childGroupIds": [HashedId],
        "belongsToCurrentGroup": false,
        "customerRootGroup": Group,
        "rootGroupName": "abc123",
        "customerName": "abc123",
        "parentName": "abc123",
        "groupTypeId": HashedId,
        "assets": [Asset],
        "assetIds": [HashedId],
        "maintainedManufacturer": [Manufacturer],
        "maintainedManufacturerId": [HashedId],
        "userRequestNotifiers": [NotificationRelation],
        "userIds": [HashedId],
        "users": [User],
        "hasTicketHandling": true,
        "flowMaintainers": [NotificationRelation],
        "servicePackageV2": ServicePackage,
        "groupType": ServicePackage
      }
    ]
  }
}

getGroupById

Description

Retrieve a single group by its unique identifier including settings and hierarchy information

Response

Returns a Group

Arguments
Name Description
id - HashedId! Unique identifier of the entity

Example

Query
query getGroupById($id: HashedId!) {
  getGroupById(id: $id) {
    id
    created
    updated
    name
    parentGroupId
    isRoot
    image
    isCustomer
    identificationNumber
    vatNumber
    rootGroupId
    handlerAlias
    treeRootId
    servicePackageId
    flowId
    roleIds
    activeCustomFields {
      ...CustomFieldFragment
    }
    archivedCustomFields {
      ...CustomFieldFragment
    }
    costSettingsId
    deleted
    parentGroup {
      ...GroupFragment
    }
    services {
      ...ServiceFragment
    }
    servicesV2 {
      ...ServiceFragment
    }
    servicePackage {
      ...ServicePackageFragment
    }
    ticketHandler {
      ...GroupTicketHandlerFragment
    }
    flow {
      ...ServicePackageFragment
    }
    internalSettings
    settings
    costSettings {
      ...GroupCostSettingsFragment
    }
    brand {
      ...BrandFragment
    }
    assetLocationsHidden
    nonCustomerParentGroup {
      ...GroupFragment
    }
    childGroups {
      ...GroupFragment
    }
    childGroupIds
    belongsToCurrentGroup
    customerRootGroup {
      ...GroupFragment
    }
    rootGroupName
    customerName
    parentName
    groupTypeId
    assets {
      ...AssetFragment
    }
    assetIds
    maintainedManufacturer {
      ...ManufacturerFragment
    }
    maintainedManufacturerId
    userRequestNotifiers {
      ...NotificationRelationFragment
    }
    userIds
    users {
      ...UserFragment
    }
    hasTicketHandling
    flowMaintainers {
      ...NotificationRelationFragment
    }
    servicePackageV2 {
      ... on ServicePackage {
        ...ServicePackageFragment
      }
      ... on RestrictedServicePackage {
        ...RestrictedServicePackageFragment
      }
    }
    groupType {
      ...ServicePackageFragment
    }
  }
}
Variables
{"id": HashedId}
Response
{
  "data": {
    "getGroupById": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "name": "abc123",
      "parentGroupId": HashedId,
      "isRoot": false,
      "image": "xyz789",
      "isCustomer": false,
      "identificationNumber": "xyz789",
      "vatNumber": "abc123",
      "rootGroupId": HashedId,
      "handlerAlias": "xyz789",
      "treeRootId": HashedId,
      "servicePackageId": HashedId,
      "flowId": HashedId,
      "roleIds": [HashedId],
      "activeCustomFields": [CustomField],
      "archivedCustomFields": [CustomField],
      "costSettingsId": HashedId,
      "deleted": 1592577642,
      "parentGroup": Group,
      "services": [Service],
      "servicesV2": [Service],
      "servicePackage": ServicePackage,
      "ticketHandler": GroupTicketHandler,
      "flow": ServicePackage,
      "internalSettings": {},
      "settings": {},
      "costSettings": GroupCostSettings,
      "brand": Brand,
      "assetLocationsHidden": false,
      "nonCustomerParentGroup": Group,
      "childGroups": [Group],
      "childGroupIds": [HashedId],
      "belongsToCurrentGroup": true,
      "customerRootGroup": Group,
      "rootGroupName": "abc123",
      "customerName": "abc123",
      "parentName": "abc123",
      "groupTypeId": HashedId,
      "assets": [Asset],
      "assetIds": [HashedId],
      "maintainedManufacturer": [Manufacturer],
      "maintainedManufacturerId": [HashedId],
      "userRequestNotifiers": [NotificationRelation],
      "userIds": [HashedId],
      "users": [User],
      "hasTicketHandling": false,
      "flowMaintainers": [NotificationRelation],
      "servicePackageV2": ServicePackage,
      "groupType": ServicePackage
    }
  }
}

getGroupByIds

Description

Retrieve multiple groups by their identifiers in a single batch request

Response

Returns [Group!]!

Arguments
Name Description
ids - [HashedId!]! List of unique identifiers

Example

Query
query getGroupByIds($ids: [HashedId!]!) {
  getGroupByIds(ids: $ids) {
    id
    created
    updated
    name
    parentGroupId
    isRoot
    image
    isCustomer
    identificationNumber
    vatNumber
    rootGroupId
    handlerAlias
    treeRootId
    servicePackageId
    flowId
    roleIds
    activeCustomFields {
      ...CustomFieldFragment
    }
    archivedCustomFields {
      ...CustomFieldFragment
    }
    costSettingsId
    deleted
    parentGroup {
      ...GroupFragment
    }
    services {
      ...ServiceFragment
    }
    servicesV2 {
      ...ServiceFragment
    }
    servicePackage {
      ...ServicePackageFragment
    }
    ticketHandler {
      ...GroupTicketHandlerFragment
    }
    flow {
      ...ServicePackageFragment
    }
    internalSettings
    settings
    costSettings {
      ...GroupCostSettingsFragment
    }
    brand {
      ...BrandFragment
    }
    assetLocationsHidden
    nonCustomerParentGroup {
      ...GroupFragment
    }
    childGroups {
      ...GroupFragment
    }
    childGroupIds
    belongsToCurrentGroup
    customerRootGroup {
      ...GroupFragment
    }
    rootGroupName
    customerName
    parentName
    groupTypeId
    assets {
      ...AssetFragment
    }
    assetIds
    maintainedManufacturer {
      ...ManufacturerFragment
    }
    maintainedManufacturerId
    userRequestNotifiers {
      ...NotificationRelationFragment
    }
    userIds
    users {
      ...UserFragment
    }
    hasTicketHandling
    flowMaintainers {
      ...NotificationRelationFragment
    }
    servicePackageV2 {
      ... on ServicePackage {
        ...ServicePackageFragment
      }
      ... on RestrictedServicePackage {
        ...RestrictedServicePackageFragment
      }
    }
    groupType {
      ...ServicePackageFragment
    }
  }
}
Variables
{"ids": [HashedId]}
Response
{
  "data": {
    "getGroupByIds": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "name": "xyz789",
        "parentGroupId": HashedId,
        "isRoot": true,
        "image": "abc123",
        "isCustomer": true,
        "identificationNumber": "xyz789",
        "vatNumber": "xyz789",
        "rootGroupId": HashedId,
        "handlerAlias": "xyz789",
        "treeRootId": HashedId,
        "servicePackageId": HashedId,
        "flowId": HashedId,
        "roleIds": [HashedId],
        "activeCustomFields": [CustomField],
        "archivedCustomFields": [CustomField],
        "costSettingsId": HashedId,
        "deleted": 1592577642,
        "parentGroup": Group,
        "services": [Service],
        "servicesV2": [Service],
        "servicePackage": ServicePackage,
        "ticketHandler": GroupTicketHandler,
        "flow": ServicePackage,
        "internalSettings": {},
        "settings": {},
        "costSettings": GroupCostSettings,
        "brand": Brand,
        "assetLocationsHidden": false,
        "nonCustomerParentGroup": Group,
        "childGroups": [Group],
        "childGroupIds": [HashedId],
        "belongsToCurrentGroup": true,
        "customerRootGroup": Group,
        "rootGroupName": "abc123",
        "customerName": "xyz789",
        "parentName": "xyz789",
        "groupTypeId": HashedId,
        "assets": [Asset],
        "assetIds": [HashedId],
        "maintainedManufacturer": [Manufacturer],
        "maintainedManufacturerId": [HashedId],
        "userRequestNotifiers": [NotificationRelation],
        "userIds": [HashedId],
        "users": [User],
        "hasTicketHandling": true,
        "flowMaintainers": [NotificationRelation],
        "servicePackageV2": ServicePackage,
        "groupType": ServicePackage
      }
    ]
  }
}

getIntegrationBaseProviders

Description

List integration providers that serve as base configurations using string-based names

Example

Query
query getIntegrationBaseProviders {
  getIntegrationBaseProviders {
    id
    created
    updated
    name
    config {
      ...IntegrationConfigKeyFragment
    }
    provider
    groupId
    treeRootGroupId
    userId
    isCronActive
  }
}
Response
{
  "data": {
    "getIntegrationBaseProviders": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "name": "abc123",
        "config": [IntegrationConfigKey],
        "provider": "PUDU_PROVIDER",
        "groupId": HashedId,
        "treeRootGroupId": HashedId,
        "userId": HashedId,
        "isCronActive": true
      }
    ]
  }
}

getIntegrationProviders

Description

List all integration providers with string-based names and cron scheduling status

Example

Query
query getIntegrationProviders {
  getIntegrationProviders {
    id
    created
    updated
    name
    config {
      ...IntegrationConfigKeyFragment
    }
    provider
    groupId
    treeRootGroupId
    userId
    isCronActive
  }
}
Response
{
  "data": {
    "getIntegrationProviders": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "name": "xyz789",
        "config": [IntegrationConfigKey],
        "provider": "PUDU_PROVIDER",
        "groupId": HashedId,
        "treeRootGroupId": HashedId,
        "userId": HashedId,
        "isCronActive": true
      }
    ]
  }
}

getIntegrationProvidersWithoutBase

Description

List integration providers excluding base configurations using string-based names

Example

Query
query getIntegrationProvidersWithoutBase {
  getIntegrationProvidersWithoutBase {
    id
    created
    updated
    name
    config {
      ...IntegrationConfigKeyFragment
    }
    provider
    groupId
    treeRootGroupId
    userId
    isCronActive
  }
}
Response
{
  "data": {
    "getIntegrationProvidersWithoutBase": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "name": "abc123",
        "config": [IntegrationConfigKey],
        "provider": "PUDU_PROVIDER",
        "groupId": HashedId,
        "treeRootGroupId": HashedId,
        "userId": HashedId,
        "isCronActive": false
      }
    ]
  }
}

getIntegrationUsersByGroup

Description

List users belonging to the group associated with a specific integration for sync authentication

Response

Returns [User!]!

Arguments
Name Description
groupId - HashedId! Group to retrieve integration users for

Example

Query
query getIntegrationUsersByGroup($groupId: HashedId!) {
  getIntegrationUsersByGroup(groupId: $groupId) {
    id
    created
    updated
    publicId
    firstname
    lastname
    password
    email
    phone
    fullName
    groupId
    roleId
    isSupportAdmin
    canShareViews
    isSSOEnabled
    isCostEnabled
    canEditOnlyOwnDocuments
    toolsenseAdmin
    languageId
    language
    languageCode
    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
    }
    roleKey
    teams {
      ...TeamFragment
    }
    groups {
      ...GroupFragment
    }
    additionalGroups {
      ...GroupFragment
    }
    settings
    unavailability {
      ...UserUnavailabilityFragment
    }
    hasMultipleGroups
  }
}
Variables
{"groupId": HashedId}
Response
{
  "data": {
    "getIntegrationUsersByGroup": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "publicId": 123,
        "firstname": "abc123",
        "lastname": "xyz789",
        "password": "abc123",
        "email": "abc123",
        "phone": "abc123",
        "fullName": "xyz789",
        "groupId": HashedId,
        "roleId": HashedId,
        "isSupportAdmin": false,
        "canShareViews": false,
        "isSSOEnabled": false,
        "isCostEnabled": false,
        "canEditOnlyOwnDocuments": true,
        "toolsenseAdmin": false,
        "languageId": HashedId,
        "language": HashedId,
        "languageCode": "en_us",
        "dashboardId": HashedId,
        "locale": LanguageTag,
        "timezone": "xyz789",
        "label": "xyz789",
        "apiKey": "abc123",
        "image": "xyz789",
        "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,
        "roleKey": "SuperUser",
        "teams": [Team],
        "groups": [Group],
        "additionalGroups": [Group],
        "settings": {},
        "unavailability": [UserUnavailability],
        "hasMultipleGroups": false
      }
    ]
  }
}

getObservationRecordFailures

Description

Retrieve individual record failures for a specific entity type within an observation run

Arguments
Name Description
observationId - HashedId! Observation run to retrieve failures from
recordName - IntegrationObservationRecordNamesEnum! Entity type this record applies to

Example

Query
query getObservationRecordFailures(
  $observationId: HashedId!,
  $recordName: IntegrationObservationRecordNamesEnum!
) {
  getObservationRecordFailures(
    observationId: $observationId,
    recordName: $recordName
  ) {
    id
    created
    updated
    recordName
    externalKey
    operation
    errorMessage
  }
}
Variables
{"observationId": HashedId, "recordName": "SITE"}
Response
{
  "data": {
    "getObservationRecordFailures": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "recordName": "SITE",
        "externalKey": "xyz789",
        "operation": "CREATE",
        "errorMessage": "xyz789"
      }
    ]
  }
}

getObservationRecords

Description

Retrieve per-entity sync results for a specific observation run

Arguments
Name Description
observationId - HashedId! Observation run to retrieve records from

Example

Query
query getObservationRecords($observationId: HashedId!) {
  getObservationRecords(observationId: $observationId) {
    id
    created
    updated
    name
    createdCount
    updatedCount
    deletedCount
    failedCount
  }
}
Variables
{"observationId": HashedId}
Response
{
  "data": {
    "getObservationRecords": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "name": "SITE",
        "createdCount": 987,
        "updatedCount": 987,
        "deletedCount": 123,
        "failedCount": 123
      }
    ]
  }
}

getQRCodeURLPrefix

Description

Retrieve q r code u r l prefix

Response

Returns a String!

Example

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

getServiceContent

not used. only not to brake the mobile app
Description

Retrieve content configuration and form fields for a specific service

Response

Returns a ServiceContent

Example

Query
query getServiceContent {
  getServiceContent {
    contentType
    content
  }
}
Response
{
  "data": {
    "getServiceContent": {
      "contentType": "xyz789",
      "content": "xyz789"
    }
  }
}

getSiteManagerTodos

Use siteManagerTodos
Description

Retrieve site manager to-do summaries (deprecated, use siteManagerTodos)

Response

Returns [SiteManagerTodos!]!

Arguments
Name Description
emails - [String!] Site manager email addresses to filter by
userIds - [Int!] User identifiers

Example

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

getViews

Description

Retrieve saved views accessible to the current user, filtered by entity type

Response

Returns [AssetView!]!

Arguments
Name Description
forEntity - ViewEntityEnum! Entity type to retrieve views for (e.g. asset, ticket)

Example

Query
query getViews($forEntity: ViewEntityEnum!) {
  getViews(forEntity: $forEntity) {
    id
    created
    updated
    titleId
    forEntity
    displayMode
    options {
      ...AssetViewOptionsFragment
    }
    isActive
    isSystemView
    isShared
    isEditable
    isDeletable
    isShareable
    isUnsharedByParentGroup
    title {
      ...TranslationFragment
    }
  }
}
Variables
{"forEntity": "ASSET"}
Response
{
  "data": {
    "getViews": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "titleId": HashedId,
        "forEntity": "ASSET",
        "displayMode": "LIST",
        "options": AssetViewOptions,
        "isActive": true,
        "isSystemView": false,
        "isShared": true,
        "isEditable": true,
        "isDeletable": true,
        "isShareable": true,
        "isUnsharedByParentGroup": true,
        "title": Translation
      }
    ]
  }
}

group

Use getAll, getAllChildren, getById and getByIds queries instead
Description

Retrieve a group

Response

Returns [Group!]!

Arguments
Name Description
id - [HashedId!] List of unique identifiers
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
  ) {
    id
    created
    updated
    name
    parentGroupId
    isRoot
    image
    isCustomer
    identificationNumber
    vatNumber
    rootGroupId
    handlerAlias
    treeRootId
    servicePackageId
    flowId
    roleIds
    activeCustomFields {
      ...CustomFieldFragment
    }
    archivedCustomFields {
      ...CustomFieldFragment
    }
    costSettingsId
    deleted
    parentGroup {
      ...GroupFragment
    }
    services {
      ...ServiceFragment
    }
    servicesV2 {
      ...ServiceFragment
    }
    servicePackage {
      ...ServicePackageFragment
    }
    ticketHandler {
      ...GroupTicketHandlerFragment
    }
    flow {
      ...ServicePackageFragment
    }
    internalSettings
    settings
    costSettings {
      ...GroupCostSettingsFragment
    }
    brand {
      ...BrandFragment
    }
    assetLocationsHidden
    nonCustomerParentGroup {
      ...GroupFragment
    }
    childGroups {
      ...GroupFragment
    }
    childGroupIds
    belongsToCurrentGroup
    customerRootGroup {
      ...GroupFragment
    }
    rootGroupName
    customerName
    parentName
    groupTypeId
    assets {
      ...AssetFragment
    }
    assetIds
    maintainedManufacturer {
      ...ManufacturerFragment
    }
    maintainedManufacturerId
    userRequestNotifiers {
      ...NotificationRelationFragment
    }
    userIds
    users {
      ...UserFragment
    }
    hasTicketHandling
    flowMaintainers {
      ...NotificationRelationFragment
    }
    servicePackageV2 {
      ... on ServicePackage {
        ...ServicePackageFragment
      }
      ... on RestrictedServicePackage {
        ...RestrictedServicePackageFragment
      }
    }
    groupType {
      ...ServicePackageFragment
    }
  }
}
Variables
{
  "id": [HashedId],
  "getAll": true,
  "getAllChildren": false,
  "related": true,
  "getRawFlow": true
}
Response
{
  "data": {
    "group": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "name": "abc123",
        "parentGroupId": HashedId,
        "isRoot": true,
        "image": "abc123",
        "isCustomer": false,
        "identificationNumber": "xyz789",
        "vatNumber": "xyz789",
        "rootGroupId": HashedId,
        "handlerAlias": "abc123",
        "treeRootId": HashedId,
        "servicePackageId": HashedId,
        "flowId": HashedId,
        "roleIds": [HashedId],
        "activeCustomFields": [CustomField],
        "archivedCustomFields": [CustomField],
        "costSettingsId": HashedId,
        "deleted": 1592577642,
        "parentGroup": Group,
        "services": [Service],
        "servicesV2": [Service],
        "servicePackage": ServicePackage,
        "ticketHandler": GroupTicketHandler,
        "flow": ServicePackage,
        "internalSettings": {},
        "settings": {},
        "costSettings": GroupCostSettings,
        "brand": Brand,
        "assetLocationsHidden": true,
        "nonCustomerParentGroup": Group,
        "childGroups": [Group],
        "childGroupIds": [HashedId],
        "belongsToCurrentGroup": true,
        "customerRootGroup": Group,
        "rootGroupName": "xyz789",
        "customerName": "abc123",
        "parentName": "abc123",
        "groupTypeId": HashedId,
        "assets": [Asset],
        "assetIds": [HashedId],
        "maintainedManufacturer": [Manufacturer],
        "maintainedManufacturerId": [HashedId],
        "userRequestNotifiers": [NotificationRelation],
        "userIds": [HashedId],
        "users": [User],
        "hasTicketHandling": false,
        "flowMaintainers": [NotificationRelation],
        "servicePackageV2": ServicePackage,
        "groupType": ServicePackage
      }
    ]
  }
}

groupSettingsSource

Description

Find the ancestor group from which a given settings property is inherited

Response

Returns a Group

Arguments
Name Description
groupId - HashedId! Starting group from which to search up the hierarchy for the settings property
property - String! Settings property key to look up in the group hierarchy

Example

Query
query groupSettingsSource(
  $groupId: HashedId!,
  $property: String!
) {
  groupSettingsSource(
    groupId: $groupId,
    property: $property
  ) {
    id
    created
    updated
    name
    parentGroupId
    isRoot
    image
    isCustomer
    identificationNumber
    vatNumber
    rootGroupId
    handlerAlias
    treeRootId
    servicePackageId
    flowId
    roleIds
    activeCustomFields {
      ...CustomFieldFragment
    }
    archivedCustomFields {
      ...CustomFieldFragment
    }
    costSettingsId
    deleted
    parentGroup {
      ...GroupFragment
    }
    services {
      ...ServiceFragment
    }
    servicesV2 {
      ...ServiceFragment
    }
    servicePackage {
      ...ServicePackageFragment
    }
    ticketHandler {
      ...GroupTicketHandlerFragment
    }
    flow {
      ...ServicePackageFragment
    }
    internalSettings
    settings
    costSettings {
      ...GroupCostSettingsFragment
    }
    brand {
      ...BrandFragment
    }
    assetLocationsHidden
    nonCustomerParentGroup {
      ...GroupFragment
    }
    childGroups {
      ...GroupFragment
    }
    childGroupIds
    belongsToCurrentGroup
    customerRootGroup {
      ...GroupFragment
    }
    rootGroupName
    customerName
    parentName
    groupTypeId
    assets {
      ...AssetFragment
    }
    assetIds
    maintainedManufacturer {
      ...ManufacturerFragment
    }
    maintainedManufacturerId
    userRequestNotifiers {
      ...NotificationRelationFragment
    }
    userIds
    users {
      ...UserFragment
    }
    hasTicketHandling
    flowMaintainers {
      ...NotificationRelationFragment
    }
    servicePackageV2 {
      ... on ServicePackage {
        ...ServicePackageFragment
      }
      ... on RestrictedServicePackage {
        ...RestrictedServicePackageFragment
      }
    }
    groupType {
      ...ServicePackageFragment
    }
  }
}
Variables
{
  "groupId": HashedId,
  "property": "abc123"
}
Response
{
  "data": {
    "groupSettingsSource": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "name": "abc123",
      "parentGroupId": HashedId,
      "isRoot": false,
      "image": "abc123",
      "isCustomer": true,
      "identificationNumber": "abc123",
      "vatNumber": "abc123",
      "rootGroupId": HashedId,
      "handlerAlias": "xyz789",
      "treeRootId": HashedId,
      "servicePackageId": HashedId,
      "flowId": HashedId,
      "roleIds": [HashedId],
      "activeCustomFields": [CustomField],
      "archivedCustomFields": [CustomField],
      "costSettingsId": HashedId,
      "deleted": 1592577642,
      "parentGroup": Group,
      "services": [Service],
      "servicesV2": [Service],
      "servicePackage": ServicePackage,
      "ticketHandler": GroupTicketHandler,
      "flow": ServicePackage,
      "internalSettings": {},
      "settings": {},
      "costSettings": GroupCostSettings,
      "brand": Brand,
      "assetLocationsHidden": false,
      "nonCustomerParentGroup": Group,
      "childGroups": [Group],
      "childGroupIds": [HashedId],
      "belongsToCurrentGroup": false,
      "customerRootGroup": Group,
      "rootGroupName": "xyz789",
      "customerName": "xyz789",
      "parentName": "abc123",
      "groupTypeId": HashedId,
      "assets": [Asset],
      "assetIds": [HashedId],
      "maintainedManufacturer": [Manufacturer],
      "maintainedManufacturerId": [HashedId],
      "userRequestNotifiers": [NotificationRelation],
      "userIds": [HashedId],
      "users": [User],
      "hasTicketHandling": false,
      "flowMaintainers": [NotificationRelation],
      "servicePackageV2": ServicePackage,
      "groupType": ServicePackage
    }
  }
}

groupTicketHandlers

Description

Retrieve group ticket handlers

Response

Returns [GroupTicketHandler!]!

Example

Query
query groupTicketHandlers {
  groupTicketHandlers {
    id
    created
    updated
    publicId
    isActive
    groupId
    group {
      ...GroupFragment
    }
    groupTicketHandlers {
      ...GroupTicketHandlerGroupFragment
    }
    userTicketHandlers {
      ...GroupTicketHandlerUserFragment
    }
    teamTicketHandlers {
      ...GroupTicketHandlerTeamFragment
    }
    externalEmailTicketHandlers {
      ...GroupTicketHandlerExternalEmailFragment
    }
    hasSiteManagerTicketHandler
    deleted
  }
}
Response
{
  "data": {
    "groupTicketHandlers": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "publicId": 987,
        "isActive": true,
        "groupId": HashedId,
        "group": Group,
        "groupTicketHandlers": [GroupTicketHandlerGroup],
        "userTicketHandlers": [GroupTicketHandlerUser],
        "teamTicketHandlers": [GroupTicketHandlerTeam],
        "externalEmailTicketHandlers": [
          GroupTicketHandlerExternalEmail
        ],
        "hasSiteManagerTicketHandler": true,
        "deleted": 1592577642
      }
    ]
  }
}

groups

Description

List groups with optional filtering

Response

Returns a GroupPaginatedDto!

Arguments
Name Description
pagination - PaginationParams! Pagination
search - String Text search query for filtering results
filters - [FilterParamsInput] Filter criteria

Example

Query
query groups(
  $pagination: PaginationParams!,
  $search: String,
  $filters: [FilterParamsInput]
) {
  groups(
    pagination: $pagination,
    search: $search,
    filters: $filters
  ) {
    rows {
      ...GroupFragment
    }
    meta {
      ...PaginationMetaFragment
    }
    total
  }
}
Variables
{
  "pagination": PaginationParams,
  "search": "abc123",
  "filters": [FilterParamsInput]
}
Response
{
  "data": {
    "groups": {
      "rows": [Group],
      "meta": PaginationMeta,
      "total": 987
    }
  }
}

groupsPaginated

Description

Retrieve groups paginated

Response

Returns a GroupsPaginatedResult!

Arguments
Name Description
pagination - PaginationParams! Pagination
search - String Text search query for filtering results
filters - [FilterParamsInput] Filter criteria

Example

Query
query groupsPaginated(
  $pagination: PaginationParams!,
  $search: String,
  $filters: [FilterParamsInput]
) {
  groupsPaginated(
    pagination: $pagination,
    search: $search,
    filters: $filters
  ) {
    meta {
      ...PaginationMetaFragment
    }
    total
    rows {
      ...GroupFragment
    }
  }
}
Variables
{
  "pagination": PaginationParams,
  "search": "xyz789",
  "filters": [FilterParamsInput]
}
Response
{
  "data": {
    "groupsPaginated": {
      "meta": PaginationMeta,
      "total": 987,
      "rows": [Group]
    }
  }
}

handlers

Better to user "groupTicketHandlers", "user", "team" queries to get entities that can be assigned to a ticket
Description

Search users, teams, and groups eligible for ticket assignment by name or email

Response

Returns [AvailableHandler!]!

Arguments
Name Description
query - String Text to search handlers by name or email
additionalItemId - String Identifier of an additional item to include in search scope

Example

Query
query handlers(
  $query: String,
  $additionalItemId: String
) {
  handlers(
    query: $query,
    additionalItemId: $additionalItemId
  ) {
    id
    subLabel
    displayName
    publicId
    handlerType
    maskedEmail
  }
}
Variables
{
  "query": "xyz789",
  "additionalItemId": "xyz789"
}
Response
{
  "data": {
    "handlers": [
      {
        "id": "abc123",
        "subLabel": "xyz789",
        "displayName": "abc123",
        "publicId": 987,
        "handlerType": "EXTERNALEMAIL",
        "maskedEmail": "xyz789"
      }
    ]
  }
}

integrationConfigs

Description

List all stored configuration parameters for enum-based integrations

Response

Returns [Integration!]!

Example

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

integrationConfigsList

Description

Retrieve all integration configurations using string-based names

Response

Returns [IntegrationNew!]!

Example

Query
query integrationConfigsList {
  integrationConfigsList {
    id
    created
    updated
    name
    config {
      ...IntegrationConfigKeyFragment
    }
    provider
    groupId
    treeRootGroupId
    userId
  }
}
Response
{
  "data": {
    "integrationConfigsList": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "name": "xyz789",
        "config": [IntegrationConfigKey],
        "provider": "PUDU_PROVIDER",
        "groupId": HashedId,
        "treeRootGroupId": HashedId,
        "userId": HashedId
      }
    ]
  }
}

language

Description

Retrieve a language

Response

Returns [LanguageV2!]!

Arguments
Name Description
id - [HashedId] Unique identifier

Example

Query
query language($id: [HashedId]) {
  language(id: $id) {
    id
    created
    updated
    code
    name
    nameNative
  }
}
Variables
{"id": [HashedId]}
Response
{
  "data": {
    "language": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "code": "en_us",
        "name": "English",
        "nameNative": "abc123"
      }
    ]
  }
}

loginInterrupt

Description

Retrieve login interrupt messages, optionally filtered by IDs

Response

Returns [LoginInterrupt!]!

Arguments
Name Description
id - [HashedId!] Filter by specific login interrupt IDs, returns all if omitted

Example

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

machineChecksStats

Description

Aggregated check schedule completion statistics per asset

Response

Returns [MachineCheckStat!]!

Example

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

manufacturer

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

Retrieve manufacturers by ID, group, name, or name key (deprecated)

Response

Returns [Manufacturer!]!

Arguments
Name Description
id - [HashedId!] List of unique identifiers
name - String Display name
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": "abc123",
  "maintainedByGroupId": [HashedId]
}
Response
{
  "data": {
    "manufacturer": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "name": "abc123",
        "nameKey": "abc123",
        "notificationsEnabled": true,
        "maintainedByGroupId": 987,
        "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 Text search query for filtering results

Example

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

module

Description

List by filters with optional filtering

Response

Returns [Module!]!

Arguments
Name Description
id - [HashedId!] Unique identifier
imei - [String!] Imei
stripeCustomerIdDefined - Boolean Stripe customer id defined

Example

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

moduleByExternalIds

Description

List by external ids with optional filtering

Response

Returns [Module!]!

Arguments
Name Description
externalIds - [String!]! External identifiers

Example

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

moduleUsageInfo

Description

Retrieve module usage info

Response

Returns a ModuleUsageInfo!

Arguments
Name Description
imei - String! IMEI of the module
assetId - HashedId Asset identifier

Example

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

modulesSubscriptions

Description

Retrieve modules subscriptions

Arguments
Name Description
pagination - PaginationParams! Pagination
search - String Text search query for filtering results
filters - [FilterParamsInput] Filter criteria

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": "xyz789",
  "filters": [FilterParamsInput]
}
Response
{
  "data": {
    "modulesSubscriptions": {
      "meta": PaginationMeta,
      "rows": [ModuleSubscription]
    }
  }
}

notificationConfig

Description

Retrieve notification config

Response

Returns a NotificationConfigDto!

Example

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

ownershipEnum

Description

List all possible asset ownership types

Response

Returns an OwnershipValArray

Example

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

parameter

Will be replaced by separate queries by asset, integration and id
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
@onlyGraphValues: filter out parameters for which values can't be displayed on a graph (eg. imei, id, or latitude)
@onlyOffsetParams: filter out parameters that are not offset parameters
@historicalParameters (deprecated): by default only currently associated parameters are selected. When set to true,
all parameters ever associated will be listed.
Response

Returns [ParameterResult!]

Arguments
Name Description
id - [HashedId!] Unique identifier
assetId - [HashedId!] Asset identifier
assetIntegrationId - HashedId Asset integration identifier
onlyGraphValues - Boolean Only graph values
onlyOffsetParams - Boolean Only offset params

Example

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

parameterSet

Description

Retrieve parameter sets

Response

Returns [ParameterSet!]!

Arguments
Name Description
id - [HashedId!] Ids
graphableParameters - Boolean only list parameters which can be displayed on a graph (eg. hide values like imei, id, or latitude)

Example

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

part

Description

Retrieve a single spare part by ID

Response

Returns a Part!

Arguments
Name Description
id - HashedId! Unique identifier of the entity

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
    previousQuantity
    responsiblePerson
    vendor
    image
    shouldNotifyCriticalStockLevel
    sendNotificationsTo {
      ...RuleNotificationRelationFragment
    }
    documents {
      ...DocumentFragment
    }
    events {
      ...EventFragment
    }
    createdByGroupId
    createdByGroup {
      ...GroupFragment
    }
    createdByUserId
    createdByUser {
      ...UserFragment
    }
  }
}
Variables
{"id": HashedId}
Response
{
  "data": {
    "part": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "publicId": 123,
      "type": "xyz789",
      "nameId": HashedId,
      "name": Translation,
      "descriptionId": HashedId,
      "description": Translation,
      "siteId": HashedId,
      "site": Site,
      "area": "xyz789",
      "availableQuantity": 123,
      "minQuantity": 123,
      "maxQuantity": 123,
      "unitOfMeasure": "abc123",
      "unitCost": 123.45,
      "currency": "abc123",
      "totalStockValue": 987.65,
      "groupId": HashedId,
      "group": Group,
      "customerId": HashedId,
      "customer": Group,
      "externalId": "xyz789",
      "uuid": "xyz789",
      "qrAttached": false,
      "brand": "abc123",
      "previousQuantity": 987,
      "responsiblePerson": "xyz789",
      "vendor": "abc123",
      "image": "abc123",
      "shouldNotifyCriticalStockLevel": false,
      "sendNotificationsTo": [RuleNotificationRelation],
      "documents": [Document],
      "events": [Event],
      "createdByGroupId": HashedId,
      "createdByGroup": Group,
      "createdByUserId": HashedId,
      "createdByUser": User
    }
  }
}

partList

Description

Retrieve all spare parts for the current group

Response

Returns a PartPaginatedResult!

Arguments
Name Description
search - String Text search query for filtering results
filters - [FilterParamsInput] Filter criteria

Example

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

partPaginated

Description

Retrieve a paginated list of spare parts with filtering

Response

Returns a PartPaginatedResult!

Arguments
Name Description
pagination - PaginationParams! Pagination
search - String Text search query for filtering results
filters - [FilterParamsInput] Filter criteria

Example

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

partStatisticData

Description

Retrieve stock statistics for a spare part

Response

Returns a PartStatisticData!

Arguments
Name Description
partId - HashedId! Part identifier
siteId - HashedId! Site identifier
parameterId - HashedId Parameter identifier

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

Returns processed IoT data for an asset, prepared for chart and display rendering

Response

Returns [ProcessedAssetData!]!

Arguments
Name Description
assetId - [HashedId!]! Asset identifier
parameterId - [HashedId!]! The ids of the parameters which should be loaded for the specified assets
from - Timestamp The from date of the requested data (default first entry of asset)
to - Timestamp The to date of the requested data (default now)
closest - Timestamp Matches a single data closest to the given date, this will ignore properties from and to
onlyOffsetValues - Boolean! Only offset values. Default = false
excludeOffsets - Boolean Exclude offsets
syntheticParameter - AssetSyntheticParameterEnum Synthetic parameter

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": "BATTERY"
}
Response
{
  "data": {
    "processedAssetData": [
      {
        "asset": Asset,
        "parameters": [Parameter],
        "values": [987.65],
        "timestamps": [1592577642]
      }
    ]
  }
}

publishMessageToMqtt

Description

Publish a command message to an asset via MQTT

Response

Returns a Boolean!

Arguments
Name Description
assetId - HashedId! Asset identifier
messageType - MqttMessageType! Type of MQTT command to send to the asset

Example

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

qrLandingAsset

Description

Fetch asset details for public QR code landing page

Response

Returns a QrLandingAsset!

Arguments
Name Description
id - HashedId! Unique identifier of the entity

Example

Query
query qrLandingAsset($id: HashedId!) {
  qrLandingAsset(id: $id) {
    publicId
    assignedToGroupId
    assetCategoryId
    assetTypeId
    BLE
    createdByGroupId
    currency
    descriptionId
    externalId
    image
    inventoryNumber
    plateNumber
    purchaseWarrantyEnd
    qrAttached
    quantity
    responsiblePerson
    serial
    siteId
    groupId
    uuid
    ownership
    services {
      ...ServiceFragment
    }
    activeCustomFields {
      ...CustomFieldFragment
    }
    archivedCustomFields {
      ...CustomFieldFragment
    }
    costLines {
      ...CostLineFragment
    }
    assetType {
      ...AssetTypeFragment
    }
    assetCategory {
      ...AssetCategoryFragment
    }
    group {
      ...GroupFragment
    }
    events {
      ...EventFragment
    }
    checkSchedule {
      ...AssetCheckScheduleFragment
    }
    assetSiteAssignments {
      ...AssetSiteAssignmentFragment
    }
    id
    created
    updated
    availability
    hasCheckRules
    manuals {
      ...DocumentFragment
    }
    activeSiteAssignment {
      ...AssetSiteAssignmentFragment
    }
    lastCheck {
      ...EventFragment
    }
    lastChecks {
      ...EventFragment
    }
    primaryServicePackage {
      ...ServicePackageWithSourceTypeFragment
    }
    costs {
      ...CostLineFragment
    }
    operationalCosts {
      ...CostFragment
    }
    previousSiteId
    site {
      ...SiteFragment
    }
    assignedToPreviousSite {
      ...SiteFragment
    }
    countNonArchivedSiteAssignments
  }
}
Variables
{"id": HashedId}
Response
{
  "data": {
    "qrLandingAsset": {
      "publicId": 987,
      "assignedToGroupId": HashedId,
      "assetCategoryId": HashedId,
      "assetTypeId": HashedId,
      "BLE": "xyz789",
      "createdByGroupId": HashedId,
      "currency": "abc123",
      "descriptionId": HashedId,
      "externalId": "abc123",
      "image": "xyz789",
      "inventoryNumber": "abc123",
      "plateNumber": "abc123",
      "purchaseWarrantyEnd": "2007-12-03",
      "qrAttached": false,
      "quantity": 123,
      "responsiblePerson": "xyz789",
      "serial": "xyz789",
      "siteId": HashedId,
      "groupId": HashedId,
      "uuid": "xyz789",
      "ownership": "PURCHASE",
      "services": [Service],
      "activeCustomFields": [CustomField],
      "archivedCustomFields": [CustomField],
      "costLines": [CostLine],
      "assetType": AssetType,
      "assetCategory": AssetCategory,
      "group": Group,
      "events": [Event],
      "checkSchedule": AssetCheckSchedule,
      "assetSiteAssignments": [AssetSiteAssignment],
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "availability": "READY_TO_USE",
      "hasCheckRules": false,
      "manuals": [Document],
      "activeSiteAssignment": AssetSiteAssignment,
      "lastCheck": Event,
      "lastChecks": [Event],
      "primaryServicePackage": ServicePackageWithSourceType,
      "costs": [CostLine],
      "operationalCosts": [Cost],
      "previousSiteId": HashedId,
      "site": Site,
      "assignedToPreviousSite": Site,
      "countNonArchivedSiteAssignments": 123
    }
  }
}

qrLandingProcedureFormData

Description

Retrieve procedure form data

Response

Returns a QrLandingProcedureFormData!

Arguments
Name Description
serviceId - HashedId! Service identifier
assetId - HashedId Asset identifier
siteId - HashedId Site identifier
checkEventId - HashedId Check event identifier

Example

Query
query qrLandingProcedureFormData(
  $serviceId: HashedId!,
  $assetId: HashedId,
  $siteId: HashedId,
  $checkEventId: HashedId
) {
  qrLandingProcedureFormData(
    serviceId: $serviceId,
    assetId: $assetId,
    siteId: $siteId,
    checkEventId: $checkEventId
  ) {
    service {
      ...QrLandingServiceFragment
    }
    asset {
      ...QrLandingAssetFragment
    }
    site {
      ...SiteFragment
    }
    event {
      ...EventFragment
    }
  }
}
Variables
{
  "serviceId": HashedId,
  "assetId": HashedId,
  "siteId": HashedId,
  "checkEventId": HashedId
}
Response
{
  "data": {
    "qrLandingProcedureFormData": {
      "service": QrLandingService,
      "asset": QrLandingAsset,
      "site": Site,
      "event": Event
    }
  }
}

qrLandingRule

Description

List qr landing rule by id with optional filtering

Response

Returns a QrLandingRule!

Arguments
Name Description
id - HashedId! Unique identifier of the entity

Example

Query
query qrLandingRule($id: HashedId!) {
  qrLandingRule(id: $id) {
    id
    created
    updated
    title {
      ...TranslationFragment
    }
    description {
      ...TranslationFragment
    }
    createdByUser {
      ...UserFragment
    }
    createdByGroup {
      ...GroupFragment
    }
    assignedToGroup {
      ...GroupFragment
    }
    titleId
    descriptionId
    createdByGroupId
    createdByUserId
    assignedToGroupId
    eventType
    isCritical
    isOnetime
    isImmediateNotification
    isGlobalRule
    manualDeactivation
    isArchived
    isOneshot
    isActive
    source
    enabled
    isCheckAllowedForUnauthorizedUsers
    purpose
    services {
      ...ServiceFragment
    }
  }
}
Variables
{"id": HashedId}
Response
{
  "data": {
    "qrLandingRule": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "title": Translation,
      "description": Translation,
      "createdByUser": User,
      "createdByGroup": Group,
      "assignedToGroup": Group,
      "titleId": HashedId,
      "descriptionId": HashedId,
      "createdByGroupId": HashedId,
      "createdByUserId": HashedId,
      "assignedToGroupId": HashedId,
      "eventType": "ERROR",
      "isCritical": true,
      "isOnetime": false,
      "isImmediateNotification": false,
      "isGlobalRule": false,
      "manualDeactivation": true,
      "isArchived": true,
      "isOneshot": true,
      "isActive": false,
      "source": "DATA",
      "enabled": true,
      "isCheckAllowedForUnauthorizedUsers": true,
      "purpose": "GEOFENCE",
      "services": [Service]
    }
  }
}

registrationRequest

Description

Retrieve registration requests, optionally filtered by IDs

Response

Returns [RegistrationRequest!]!

Arguments
Name Description
id - [HashedId!] List of unique identifiers

Example

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

reservation

Description

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

Response

Returns [Reservation!]

Arguments
Name Description
id - [HashedId!] Filter by specific reservation IDs
assetId - [HashedId!] Filter reservations by assigned asset IDs

Example

Query
query reservation(
  $id: [HashedId!],
  $assetId: [HashedId!]
) {
  reservation(
    id: $id,
    assetId: $assetId
  ) {
    id
    created
    updated
    from
    until
    reserverName
    assets {
      ...AssetFragment
    }
    assetIds
    workingHoursSettings
    workingHoursNotification {
      ...RuleNotificationRelationFragment
    }
    notes {
      ...TranslationFragment
    }
    notesId
    createdByUser {
      ...UserFragment
    }
    createdByUserId
    createdByGroup {
      ...GroupFragment
    }
    createdByGroupId
  }
}
Variables
{
  "id": [HashedId],
  "assetId": [HashedId]
}
Response
{
  "data": {
    "reservation": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "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
      }
    ]
  }
}

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 Start of the date range to search for ending reservations
to - Timestamp End of the date range to search for ending reservations

Example

Query
query reservationsEnd(
  $from: Timestamp,
  $to: Timestamp
) {
  reservationsEnd(
    from: $from,
    to: $to
  ) {
    id
    created
    updated
    from
    until
    reserverName
    assets {
      ...AssetFragment
    }
    assetIds
    workingHoursSettings
    workingHoursNotification {
      ...RuleNotificationRelationFragment
    }
    notes {
      ...TranslationFragment
    }
    notesId
    createdByUser {
      ...UserFragment
    }
    createdByUserId
    createdByGroup {
      ...GroupFragment
    }
    createdByGroupId
  }
}
Variables
{"from": 1592577642, "to": 1592577642}
Response
{
  "data": {
    "reservationsEnd": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "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
      }
    ]
  }
}

resolveIntegrationUser

Description

Resolve and return the user and group context linked to an integration by its name

Response

Returns a ResolvedIntegrationUser

Arguments
Name Description
name - String! Free-text integration service name

Example

Query
query resolveIntegrationUser($name: String!) {
  resolveIntegrationUser(name: $name) {
    userId
    groupId
    treeRootGroupId
  }
}
Variables
{"name": "abc123"}
Response
{
  "data": {
    "resolveIntegrationUser": {
      "userId": HashedId,
      "groupId": HashedId,
      "treeRootGroupId": HashedId
    }
  }
}

role

Description

Retrieve available user roles for the current group

Response

Returns [Role!]!

Example

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

rule

Description

List by args with optional filtering

Response

Returns [Rule!]!

Arguments
Name Description
id - [HashedId!] List of unique identifiers
source - RuleSource Source of evaluation. This defines WHEN the rule is evaluated internally, and what RuleBlocks can be used.
relation - String Filter by relation type such as assetId or assetTypeId
relationValue - String Specific relation value matching the relation type

Example

Query
query rule(
  $id: [HashedId!],
  $source: RuleSource,
  $relation: String,
  $relationValue: String
) {
  rule(
    id: $id,
    source: $source,
    relation: $relation,
    relationValue: $relationValue
  ) {
    id
    created
    updated
    title {
      ...TranslationFragment
    }
    description {
      ...TranslationFragment
    }
    createdByUser {
      ...UserFragment
    }
    createdByGroup {
      ...GroupFragment
    }
    assignedToGroup {
      ...GroupFragment
    }
    eventStyle {
      ...EventStyleFragment
    }
    titleId
    descriptionId
    createdByGroupId
    createdByUserId
    assignedToGroupId
    eventStyleId
    eventType
    isCritical
    isOnetime
    isImmediateNotification
    isGlobalRule
    manualDeactivation
    isArchived
    isOneshot
    isActive
    source
    enabled
    isCheckAllowedForUnauthorizedUsers
    purpose
    definition
    relations {
      ...RuleRelationFragment
    }
    eventsConfigs {
      ...EventConfigFragment
    }
    services {
      ...ServiceFragment
    }
    checkAssetsPaginated {
      ...PaginatedRuleCheckAssetsFragment
    }
    publicId
    relationsV2 {
      ...RuleRelationFragment
    }
    sendNotificationsTo {
      ...RuleNotificationRelationFragment
    }
    servicesV2 {
      ...ServiceFragment
    }
    assetBlacklist {
      ...AssetFragment
    }
  }
}
Variables
{
  "id": [HashedId],
  "source": "DATA",
  "relation": "xyz789",
  "relationValue": "abc123"
}
Response
{
  "data": {
    "rule": [
      {
        "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,
        "eventType": "ERROR",
        "isCritical": true,
        "isOnetime": false,
        "isImmediateNotification": false,
        "isGlobalRule": true,
        "manualDeactivation": true,
        "isArchived": false,
        "isOneshot": false,
        "isActive": true,
        "source": "DATA",
        "enabled": true,
        "isCheckAllowedForUnauthorizedUsers": true,
        "purpose": "GEOFENCE",
        "definition": {},
        "relations": [RuleRelation],
        "eventsConfigs": [EventConfig],
        "services": [Service],
        "checkAssetsPaginated": PaginatedRuleCheckAssets,
        "publicId": "abc123",
        "relationsV2": [RuleRelation],
        "sendNotificationsTo": [RuleNotificationRelation],
        "servicesV2": [Service],
        "assetBlacklist": [Asset]
      }
    ]
  }
}

ruleBlock

Description

Retrieve a rule block

Response

Returns [RuleBlock]

Arguments
Name Description
id - [HashedId] Unique identifier
assetIntegrationId - [HashedId] Asset integration identifier

Example

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

ruleChecksByAssetId

Description

List checks by asset id with optional filtering

Response

Returns [Rule!]!

Arguments
Name Description
id - HashedId! Unique identifier of the entity

Example

Query
query ruleChecksByAssetId($id: HashedId!) {
  ruleChecksByAssetId(id: $id) {
    id
    created
    updated
    title {
      ...TranslationFragment
    }
    description {
      ...TranslationFragment
    }
    createdByUser {
      ...UserFragment
    }
    createdByGroup {
      ...GroupFragment
    }
    assignedToGroup {
      ...GroupFragment
    }
    eventStyle {
      ...EventStyleFragment
    }
    titleId
    descriptionId
    createdByGroupId
    createdByUserId
    assignedToGroupId
    eventStyleId
    eventType
    isCritical
    isOnetime
    isImmediateNotification
    isGlobalRule
    manualDeactivation
    isArchived
    isOneshot
    isActive
    source
    enabled
    isCheckAllowedForUnauthorizedUsers
    purpose
    definition
    relations {
      ...RuleRelationFragment
    }
    eventsConfigs {
      ...EventConfigFragment
    }
    services {
      ...ServiceFragment
    }
    checkAssetsPaginated {
      ...PaginatedRuleCheckAssetsFragment
    }
    publicId
    relationsV2 {
      ...RuleRelationFragment
    }
    sendNotificationsTo {
      ...RuleNotificationRelationFragment
    }
    servicesV2 {
      ...ServiceFragment
    }
    assetBlacklist {
      ...AssetFragment
    }
  }
}
Variables
{"id": HashedId}
Response
{
  "data": {
    "ruleChecksByAssetId": [
      {
        "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,
        "eventType": "ERROR",
        "isCritical": false,
        "isOnetime": true,
        "isImmediateNotification": true,
        "isGlobalRule": true,
        "manualDeactivation": false,
        "isArchived": false,
        "isOneshot": false,
        "isActive": true,
        "source": "DATA",
        "enabled": true,
        "isCheckAllowedForUnauthorizedUsers": true,
        "purpose": "GEOFENCE",
        "definition": {},
        "relations": [RuleRelation],
        "eventsConfigs": [EventConfig],
        "services": [Service],
        "checkAssetsPaginated": PaginatedRuleCheckAssets,
        "publicId": "xyz789",
        "relationsV2": [RuleRelation],
        "sendNotificationsTo": [RuleNotificationRelation],
        "servicesV2": [Service],
        "assetBlacklist": [Asset]
      }
    ]
  }
}

ruleEntriesPaginated

Description

List rule entries paginated with optional filtering

Response

Returns a RuleEntryPaginatedResult!

Arguments
Name Description
pagination - PaginationParams! Pagination
search - String Text search query for filtering results
filters - [FilterParamsInput] Filter criteria

Example

Query
query ruleEntriesPaginated(
  $pagination: PaginationParams!,
  $search: String,
  $filters: [FilterParamsInput]
) {
  ruleEntriesPaginated(
    pagination: $pagination,
    search: $search,
    filters: $filters
  ) {
    meta {
      ...PaginationMetaFragment
    }
    total
    rows {
      ...RuleEntryFragment
    }
  }
}
Variables
{
  "pagination": PaginationParams,
  "search": "xyz789",
  "filters": [FilterParamsInput]
}
Response
{
  "data": {
    "ruleEntriesPaginated": {
      "meta": PaginationMeta,
      "total": 987,
      "rows": [RuleEntry]
    }
  }
}

ruleEntry

Description

List rule entry by id or fail with optional filtering

Response

Returns a RuleEntry!

Arguments
Name Description
id - HashedId! Unique identifier of the entity

Example

Query
query ruleEntry($id: HashedId!) {
  ruleEntry(id: $id) {
    id
    created
    updated
    type
    createdByUserId
    createdByGroupId
    groupId
    subType
    isCheckAllowedForUnauthorizedUsers
    geofenceSiteId
    workingHoursAssetId
    activatedAt
    isAssetTriggerForCustomers
    assetFilters {
      ...FiltersFragment
    }
    isForAllAssets
    isAssetAssignNew
    isAssetVehicle
    assetGroupId
    isScheduleFixed
    scheduleStartAt
    scheduleStartPointField
    scheduleStartPointFallback
    scheduleStartPointCustomFieldId
    isScheduleManualDeactivation
    hasNotification
    hasNotificationCritical
    hasNotificationImmediate
    hasNotificationEmail
    hasNotificationPush
    hasNotificationOnNewAsset
    hasNotificationTimingBeforeDue
    hasNotificationTimingWhenDue
    createdByGroup {
      ...GroupFragment
    }
    group {
      ...GroupFragment
    }
    assetGroup {
      ...GroupFragment
    }
    workingHoursAsset {
      ...AssetFragment
    }
    createdByUser {
      ...UserFragment
    }
    site {
      ...SiteFragment
    }
    scheduleStartPointCustomField {
      ...CustomFieldFragment
    }
    name {
      ...TranslationFragment
    }
    description {
      ...TranslationFragment
    }
    manuallyAddedAssets {
      ...AssetFragment
    }
    scheduleTriggers {
      ...RuleEntryScheduleTriggerFragment
    }
    notificationRecipients {
      ...RuleEntryNotificationRecipientFragment
    }
    notificationTimings {
      ...RuleEntryNotificationTimingFragment
    }
  }
}
Variables
{"id": HashedId}
Response
{
  "data": {
    "ruleEntry": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "type": "INSPECTION",
      "createdByUserId": HashedId,
      "createdByGroupId": HashedId,
      "groupId": HashedId,
      "subType": "ERROR",
      "isCheckAllowedForUnauthorizedUsers": true,
      "geofenceSiteId": HashedId,
      "workingHoursAssetId": HashedId,
      "activatedAt": "2007-12-03T10:15:30Z",
      "isAssetTriggerForCustomers": true,
      "assetFilters": [Filters],
      "isForAllAssets": true,
      "isAssetAssignNew": true,
      "isAssetVehicle": false,
      "assetGroupId": HashedId,
      "isScheduleFixed": false,
      "scheduleStartAt": "2007-12-03T10:15:30Z",
      "scheduleStartPointField": "CUSTOM_FIELD",
      "scheduleStartPointFallback": "USE_CREATED_DATE",
      "scheduleStartPointCustomFieldId": HashedId,
      "isScheduleManualDeactivation": false,
      "hasNotification": true,
      "hasNotificationCritical": false,
      "hasNotificationImmediate": false,
      "hasNotificationEmail": false,
      "hasNotificationPush": true,
      "hasNotificationOnNewAsset": false,
      "hasNotificationTimingBeforeDue": true,
      "hasNotificationTimingWhenDue": true,
      "createdByGroup": Group,
      "group": Group,
      "assetGroup": Group,
      "workingHoursAsset": Asset,
      "createdByUser": User,
      "site": Site,
      "scheduleStartPointCustomField": CustomField,
      "name": Translation,
      "description": Translation,
      "manuallyAddedAssets": [Asset],
      "scheduleTriggers": [RuleEntryScheduleTrigger],
      "notificationRecipients": [
        RuleEntryNotificationRecipient
      ],
      "notificationTimings": [RuleEntryNotificationTiming]
    }
  }
}

rulesPaginated

Description

List paginated rules with filtering and search

Response

Returns a PaginatedRules!

Arguments
Name Description
pagination - PaginationParams! Pagination
search - String Text search query for filtering results
filters - [FilterParamsInput] Filter criteria

Example

Query
query rulesPaginated(
  $pagination: PaginationParams!,
  $search: String,
  $filters: [FilterParamsInput]
) {
  rulesPaginated(
    pagination: $pagination,
    search: $search,
    filters: $filters
  ) {
    meta {
      ...PaginationMetaFragment
    }
    total
    rows {
      ...RuleFragment
    }
  }
}
Variables
{
  "pagination": PaginationParams,
  "search": "abc123",
  "filters": [FilterParamsInput]
}
Response
{
  "data": {
    "rulesPaginated": {
      "meta": PaginationMeta,
      "total": 987,
      "rows": [Rule]
    }
  }
}

s3PresignedPutUrl

Response

Returns a S3PresignedUrl!

Arguments
Name Description
fileName - String!
contentType - String!

Example

Query
query s3PresignedPutUrl(
  $fileName: String!,
  $contentType: String!
) {
  s3PresignedPutUrl(
    fileName: $fileName,
    contentType: $contentType
  ) {
    url
    key
    expiresIn
    publicUrl
  }
}
Variables
{
  "fileName": "abc123",
  "contentType": "abc123"
}
Response
{
  "data": {
    "s3PresignedPutUrl": {
      "url": "xyz789",
      "key": "xyz789",
      "expiresIn": 123,
      "publicUrl": "xyz789"
    }
  }
}

searchAssetTypes

Description

Search discoverable asset types by query and ID filters

Response

Returns [AssetType!]

Arguments
Name Description
id - [HashedId!] Asset type IDs to filter by
query - String Search query string
make - String Manufacturer or brand name to filter by

Example

Query
query searchAssetTypes(
  $id: [HashedId!],
  $query: String,
  $make: String
) {
  searchAssetTypes(
    id: $id,
    query: $query,
    make: $make
  ) {
    id
    created
    updated
    forManufacturerId
    groupId
    servicePackageId
    hasAssortmentList
    externalId
    image
    inAssetCategoryId
    inAssetIntegrationId
    isApprovedAssetType
    isPrivate
    isVehicle
    isRoom
    make
    publicId
    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
    }
    minimalBatteryVoltage
    nominalBatteryVoltage
    optimalBatteryVoltage
    chargingVoltageThreshold
    optimalRuntime
    parentParameterKey
    workUnits {
      ...TranslationFragment
    }
    workUnitsPerHour
    workUnitId
    dailyRate
    minDaysBilled
    inAssetCategory {
      ...AssetCategoryFragment
    }
    group {
      ...GroupFragment
    }
    inAssetIntegration {
      ...AssetIntegrationFragment
    }
    forManufacturer {
      ...ManufacturerFragment
    }
    namespace
    assetsCount
    userManual
    suggestedServicePartner
    suggestedPartner {
      ...AvailableHandlerFragment
    }
    servicePackage {
      ...ServicePackageFragment
    }
    lockAssetType {
      ...AssetTypeFragment
    }
  }
}
Variables
{
  "id": [HashedId],
  "query": "abc123",
  "make": "xyz789"
}
Response
{
  "data": {
    "searchAssetTypes": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "forManufacturerId": HashedId,
        "groupId": HashedId,
        "servicePackageId": HashedId,
        "hasAssortmentList": true,
        "externalId": "abc123",
        "image": "xyz789",
        "inAssetCategoryId": HashedId,
        "inAssetIntegrationId": HashedId,
        "isApprovedAssetType": true,
        "isPrivate": true,
        "isVehicle": false,
        "isRoom": true,
        "make": "abc123",
        "publicId": 987,
        "nameId": HashedId,
        "restrictedType": true,
        "preset": true,
        "presetInitialValue": "xyz789",
        "presetLeasingCostTermination": "abc123",
        "presetLeasingLevel": "xyz789",
        "presetLeasingMonthlyCost": "xyz789",
        "presetLeasingPartner": "xyz789",
        "presetLeasingPartnerContractNumber": "abc123",
        "presetLeasingPartnerContractPositionNumber": "abc123",
        "presetLeasingRenewalRate": "xyz789",
        "presetLowValueAsset": true,
        "presetMachineCheckInterval": 987,
        "presetMachineCheckLastCreated": false,
        "presetMachineCheckName": "xyz789",
        "presetOwnership": "PURCHASE",
        "presetPurchaseCost": "abc123",
        "presetPurchaseDepriciation": 123,
        "presetRentalCostTermination": "xyz789",
        "presetRentalMonthlyCost": "abc123",
        "presetRentalRenewalRate": "xyz789",
        "presetServiceContractCostPerYear": "abc123",
        "presetServiceContractEmail": "xyz789",
        "presetServiceContractLevel": "xyz789",
        "presetServiceContractPartner": "abc123",
        "presetSupplier": "abc123",
        "presetWarrantyPeriod": 987,
        "isLockable": false,
        "isLockedState": false,
        "lockAssetTypeId": HashedId,
        "hasVNC": true,
        "isPollingAvailable": true,
        "name": Translation,
        "documents": [Document],
        "minimalBatteryVoltage": 987.65,
        "nominalBatteryVoltage": 123.45,
        "optimalBatteryVoltage": 987.65,
        "chargingVoltageThreshold": 987.65,
        "optimalRuntime": 123.45,
        "parentParameterKey": "runtime",
        "workUnits": Translation,
        "workUnitsPerHour": 123.45,
        "workUnitId": HashedId,
        "dailyRate": 123.45,
        "minDaysBilled": 123,
        "inAssetCategory": AssetCategory,
        "group": Group,
        "inAssetIntegration": AssetIntegration,
        "forManufacturer": Manufacturer,
        "namespace": "xyz789",
        "assetsCount": 123,
        "userManual": "xyz789",
        "suggestedServicePartner": "abc123",
        "suggestedPartner": AvailableHandler,
        "servicePackage": ServicePackage,
        "lockAssetType": AssetType
      }
    ]
  }
}

searchSites

Description

Search for sites by name or other criteria within the current group context

Response

Returns [Site]

Arguments
Name Description
query - String Search query string
extraIds - String Additional site IDs to include in results
excludeSiteIds - [HashedId!] Site IDs to exclude from the search results

Example

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

sendBlankQRSheetDownloadEmail

Description

Retrieve send blank q r sheet download email

Response

Returns a Boolean!

Arguments
Name Description
entity - EntityEnum default value ASSET supportedValues ASSET,PART,SITE
numberOfPages - Int! between "1" and "99"

Example

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

sendQRSheetDownloadEmail

Description

Retrieve send q r sheet download email

Response

Returns a Boolean!

Arguments
Name Description
entity - EntityEnum default value ASSET supportedValues ASSET,PART,SITE
assetId - [HashedId!]! list of ids required entity

Example

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

service

used only in mobile
Description

Retrieve services by IDs or asset association with optional filtering (deprecated, use servicesV2)

Response

Returns [Service!]!

Example

Query
query service {
  service {
    id
    created
    updated
    titleId
    publicId
    procedureTemplateId
    publicProcedureTemplateId
    keys
    contentType
    assigneeAutomation
    preset
    type
    iconUrl
    formId
    jotformId
    jotformSource
    isServiceCheck
    assigneeAutomationId
    createdByGroupId
    belongsToGroupTypeId
    suggestedServicePartner
    servicePartner {
      ...AvailableHandlerFragment
    }
    availableHandlers {
      ...AvailableServiceHandlerDtoFragment
    }
    ticketHandlers {
      ...ServiceTicketHandlerFragment
    }
    title {
      ...TranslationFragment
    }
    servicePackage {
      ...ServicePackageFragment
    }
    servicePackages {
      ...ServicePackageFragment
    }
    procedureTemplate {
      ...ProcedureTemplateFragment
    }
    deleted
    createdByGroup {
      ...GroupFragment
    }
    rules {
      ...RuleFragment
    }
    canBeDeleted
  }
}
Response
{
  "data": {
    "service": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "titleId": HashedId,
        "publicId": 987,
        "procedureTemplateId": HashedId,
        "publicProcedureTemplateId": 123,
        "keys": ["xyz789"],
        "contentType": "formHtml",
        "assigneeAutomation": "SUGGESTED_PARTNER",
        "preset": "BLE",
        "type": "JOT_FORM",
        "iconUrl": "abc123",
        "formId": "abc123",
        "jotformId": "xyz789",
        "jotformSource": "abc123",
        "isServiceCheck": true,
        "assigneeAutomationId": 123,
        "createdByGroupId": HashedId,
        "belongsToGroupTypeId": HashedId,
        "suggestedServicePartner": "xyz789",
        "servicePartner": AvailableHandler,
        "availableHandlers": [AvailableServiceHandlerDto],
        "ticketHandlers": [ServiceTicketHandler],
        "title": Translation,
        "servicePackage": ServicePackage,
        "servicePackages": [ServicePackage],
        "procedureTemplate": ProcedureTemplate,
        "deleted": 1592577642,
        "createdByGroup": Group,
        "rules": [Rule],
        "canBeDeleted": true
      }
    ]
  }
}

servicePackage

Description

List by id with optional filtering

Response

Returns a ServicePackage!

Arguments
Name Description
id - HashedId! Unique identifier of the entity

Example

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

servicePackages

Description

List by ids with optional filtering

Response

Returns [ServicePackage!]!

Arguments
Name Description
ids - [HashedId!] List of unique identifiers

Example

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

serviceV2

Description

Retrieve a single service by its ID with full configuration details

Response

Returns a Service

Arguments
Name Description
id - HashedId! Unique identifier of the entity

Example

Query
query serviceV2($id: HashedId!) {
  serviceV2(id: $id) {
    id
    created
    updated
    titleId
    publicId
    procedureTemplateId
    publicProcedureTemplateId
    keys
    contentType
    assigneeAutomation
    preset
    type
    iconUrl
    formId
    jotformId
    jotformSource
    isServiceCheck
    assigneeAutomationId
    createdByGroupId
    belongsToGroupTypeId
    suggestedServicePartner
    servicePartner {
      ...AvailableHandlerFragment
    }
    availableHandlers {
      ...AvailableServiceHandlerDtoFragment
    }
    ticketHandlers {
      ...ServiceTicketHandlerFragment
    }
    title {
      ...TranslationFragment
    }
    servicePackage {
      ...ServicePackageFragment
    }
    servicePackages {
      ...ServicePackageFragment
    }
    procedureTemplate {
      ...ProcedureTemplateFragment
    }
    deleted
    createdByGroup {
      ...GroupFragment
    }
    rules {
      ...RuleFragment
    }
    canBeDeleted
  }
}
Variables
{"id": HashedId}
Response
{
  "data": {
    "serviceV2": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "titleId": HashedId,
      "publicId": 987,
      "procedureTemplateId": HashedId,
      "publicProcedureTemplateId": 123,
      "keys": ["abc123"],
      "contentType": "formHtml",
      "assigneeAutomation": "SUGGESTED_PARTNER",
      "preset": "BLE",
      "type": "JOT_FORM",
      "iconUrl": "xyz789",
      "formId": "xyz789",
      "jotformId": "abc123",
      "jotformSource": "xyz789",
      "isServiceCheck": true,
      "assigneeAutomationId": 987,
      "createdByGroupId": HashedId,
      "belongsToGroupTypeId": HashedId,
      "suggestedServicePartner": "xyz789",
      "servicePartner": AvailableHandler,
      "availableHandlers": [AvailableServiceHandlerDto],
      "ticketHandlers": [ServiceTicketHandler],
      "title": Translation,
      "servicePackage": ServicePackage,
      "servicePackages": [ServicePackage],
      "procedureTemplate": ProcedureTemplate,
      "deleted": 1592577642,
      "createdByGroup": Group,
      "rules": [Rule],
      "canBeDeleted": true
    }
  }
}

services

Description

Retrieve services available to the current group, with optional type and language filters

Response

Returns [Service!]!

Arguments
Name Description
search - String! Text search query for filtering results. Default = ""
limit - Int! Maximum number of results to return. Default = 20
filters - ServicesFilterInput Filter criteria

Example

Query
query services(
  $search: String!,
  $limit: Int!,
  $filters: ServicesFilterInput
) {
  services(
    search: $search,
    limit: $limit,
    filters: $filters
  ) {
    id
    created
    updated
    titleId
    publicId
    procedureTemplateId
    publicProcedureTemplateId
    keys
    contentType
    assigneeAutomation
    preset
    type
    iconUrl
    formId
    jotformId
    jotformSource
    isServiceCheck
    assigneeAutomationId
    createdByGroupId
    belongsToGroupTypeId
    suggestedServicePartner
    servicePartner {
      ...AvailableHandlerFragment
    }
    availableHandlers {
      ...AvailableServiceHandlerDtoFragment
    }
    ticketHandlers {
      ...ServiceTicketHandlerFragment
    }
    title {
      ...TranslationFragment
    }
    servicePackage {
      ...ServicePackageFragment
    }
    servicePackages {
      ...ServicePackageFragment
    }
    procedureTemplate {
      ...ProcedureTemplateFragment
    }
    deleted
    createdByGroup {
      ...GroupFragment
    }
    rules {
      ...RuleFragment
    }
    canBeDeleted
  }
}
Variables
{
  "search": "",
  "limit": 20,
  "filters": ServicesFilterInput
}
Response
{
  "data": {
    "services": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "titleId": HashedId,
        "publicId": 123,
        "procedureTemplateId": HashedId,
        "publicProcedureTemplateId": 987,
        "keys": ["xyz789"],
        "contentType": "formHtml",
        "assigneeAutomation": "SUGGESTED_PARTNER",
        "preset": "BLE",
        "type": "JOT_FORM",
        "iconUrl": "xyz789",
        "formId": "xyz789",
        "jotformId": "abc123",
        "jotformSource": "xyz789",
        "isServiceCheck": false,
        "assigneeAutomationId": 123,
        "createdByGroupId": HashedId,
        "belongsToGroupTypeId": HashedId,
        "suggestedServicePartner": "abc123",
        "servicePartner": AvailableHandler,
        "availableHandlers": [AvailableServiceHandlerDto],
        "ticketHandlers": [ServiceTicketHandler],
        "title": Translation,
        "servicePackage": ServicePackage,
        "servicePackages": [ServicePackage],
        "procedureTemplate": ProcedureTemplate,
        "deleted": 1592577642,
        "createdByGroup": Group,
        "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!] List of site IDs to retrieve
all - Boolean When true, returns all sites without the default limit

Example

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

siteManagerTodos

Description

Retrieve site manager to-do summaries grouped by asset status

Response

Returns [SiteManagerTodos!]!

Arguments
Name Description
emails - [String!] Site manager email addresses to filter by
userIds - [Int!] User identifiers

Example

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

siteToInherit

Description

Retrieve the nearest ancestor site whose settings can be inherited

Response

Returns a Site

Arguments
Name Description
parentSiteId - HashedId! Parent site identifier
section - SiteSectionEnum! Settings section to inherit (e.g. service package, geofence)

Example

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

siteTypes

Description

Retrieve all available site type classifications

Response

Returns [SiteType!]!

Arguments
Name Description
groupId - HashedId Group identifier

Example

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

sites

Description

List sites with optional filtering

Response

Returns [Site!]!

Arguments
Name Description
ids - [HashedId!] List of unique identifiers
uuids - [String!] QR-code UUIDs to look up sites by their physical QR labels

Example

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

sitesPaginated

Description

Retrieve a paginated list of sites with filtering, sorting, and cursor-based pagination

Response

Returns a SitesPaginatedResult

Arguments
Name Description
pagination - PaginationParams! Pagination
search - String Text search query for filtering results
filters - [FilterParamsInput] Filter criteria

Example

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

subscriptionPlan

We don't manage subscriptions over our API anymore
Description

Retrieve subscription plans, optionally filtered by manufacturer

Response

Returns [SubscriptionPlan]

Arguments
Name Description
manufacturerId - HashedId Filter subscription plans by manufacturer

Example

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

teamById

Description

List by id with optional filtering

Response

Returns a Team!

Arguments
Name Description
id - HashedId! Unique identifier of the entity

Example

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

teams

Description

List all with optional filtering

Response

Returns [Team!]

Example

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

teamsPaginated

Description

Retrieve a paginated list of teams with filtering

Response

Returns a TeamPaginatedResult!

Arguments
Name Description
pagination - PaginationParams! Pagination
search - String Text search query for filtering results
filters - [FilterParamsInput] Filter criteria

Example

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

terms

Description

List by filters with optional filtering

Response

Returns [Terms!]!

Arguments
Name Description
filters - TermsQueryFiltersInput Filter criteria

Example

Query
query terms($filters: TermsQueryFiltersInput) {
  terms(filters: $filters) {
    id
    created
    updated
    isActive
    titleId
    title {
      ...TranslationFragment
    }
    versions {
      ...TermsHasVersionFragment
    }
    version
    contentId
    content {
      ...TranslationFragment
    }
  }
}
Variables
{"filters": TermsQueryFiltersInput}
Response
{
  "data": {
    "terms": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "isActive": false,
        "titleId": HashedId,
        "title": Translation,
        "versions": [TermsHasVersion],
        "version": 987,
        "contentId": HashedId,
        "content": Translation
      }
    ]
  }
}

ticket

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

Fetch tickets by IDs or list all available tickets

Response

Returns [Ticket!]!

Arguments
Name Description
id - [HashedId!] List of unique identifiers
all - Boolean Whether to include tickets from all groups. Default = false

Example

Query
query ticket(
  $id: [HashedId!],
  $all: Boolean
) {
  ticket(
    id: $id,
    all: $all
  ) {
    id
    created
    updated
    content
    uuid
    serviceResponseId
    isStatusUpdatedAutomatically
    statusUpdatedAt
    statusUpdatedByUserId
    createdByUserId
    createdByGroupId
    titleId
    serviceId
    checkEventId
    ticketId
    creatingSyncedOn
    assignee {
      ...ProcessHandlerFragment
    }
    responsibles {
      ...ProcessHandlerFragment
    }
    statusUpdatedByUser {
      ...UserFragment
    }
    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
    urgency
    status
    associatedSites {
      ...SiteFragment
    }
    associatedAssetCategories {
      ...AssetCategoryFragment
    }
    associatedAssetTypes {
      ...AssetTypeFragment
    }
    checkEvent {
      ...EventFragment
    }
    ticketContent {
      ...TicketContentFieldFragment
    }
    automationDetails {
      ...TicketAutomationDetailsFragment
    }
    userHandlers {
      ...TicketHandlerUserFragment
    }
    teamHandlers {
      ...TicketHandlerTeamFragment
    }
    groupHandlers {
      ...TicketHandlerGroupFragment
    }
    externalEmailHandlers {
      ...TicketHandlerExternalEmailFragment
    }
    groupTicketHandlerHandlers {
      ...TicketHandlerGroupTicketHandlerFragment
    }
    siteManagerHandler {
      ...TicketHandlerSiteManagerFragment
    }
    costs {
      ...CostFragment
    }
    procedureInstanceId
    procedureInstance {
      ...ProcedureInstanceFragment
    }
    comments {
      ...TicketCommentFragment
    }
    costLines {
      ...CostLineFragment
    }
    history {
      ...TicketHistoryFragment
    }
    activityEvents {
      ... on TicketHandlerUpdate {
        ...TicketHandlerUpdateFragment
      }
      ... on TicketUrgencyUpdate {
        ...TicketUrgencyUpdateFragment
      }
      ... on TicketAssetCheckComplete {
        ...TicketAssetCheckCompleteFragment
      }
      ... on TicketAssetSiteUpdate {
        ...TicketAssetSiteUpdateFragment
      }
      ... on TicketAssetAvailabilityUpdate {
        ...TicketAssetAvailabilityUpdateFragment
      }
      ... on TicketAutomationEmailSent {
        ...TicketAutomationEmailSentFragment
      }
    }
  }
}
Variables
{"id": [HashedId], "all": false}
Response
{
  "data": {
    "ticket": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "content": {},
        "uuid": "abc123",
        "serviceResponseId": HashedId,
        "isStatusUpdatedAutomatically": false,
        "statusUpdatedAt": 1592577642,
        "statusUpdatedByUserId": HashedId,
        "createdByUserId": HashedId,
        "createdByGroupId": HashedId,
        "titleId": HashedId,
        "serviceId": HashedId,
        "checkEventId": HashedId,
        "ticketId": 123,
        "creatingSyncedOn": 1592577642,
        "assignee": ProcessHandler,
        "responsibles": [ProcessHandler],
        "statusUpdatedByUser": User,
        "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": "abc123",
        "fuelCosts": "abc123",
        "insuranceTaxesCosts": "xyz789",
        "laborCosts": "xyz789",
        "logisticsCosts": "xyz789",
        "otherCosts": "xyz789",
        "repairCosts": "xyz789",
        "sparePartsCosts": "abc123",
        "ticketTimeline": TicketTimeline,
        "totalCosts": "abc123",
        "urgency": "CRITICAL",
        "status": "open",
        "associatedSites": [Site],
        "associatedAssetCategories": [AssetCategory],
        "associatedAssetTypes": [AssetType],
        "checkEvent": Event,
        "ticketContent": [TicketContentField],
        "automationDetails": TicketAutomationDetails,
        "userHandlers": [TicketHandlerUser],
        "teamHandlers": [TicketHandlerTeam],
        "groupHandlers": [TicketHandlerGroup],
        "externalEmailHandlers": [
          TicketHandlerExternalEmail
        ],
        "groupTicketHandlerHandlers": [
          TicketHandlerGroupTicketHandler
        ],
        "siteManagerHandler": TicketHandlerSiteManager,
        "costs": [Cost],
        "procedureInstanceId": HashedId,
        "procedureInstance": ProcedureInstance,
        "comments": [TicketComment],
        "costLines": [CostLine],
        "history": [TicketHistory],
        "activityEvents": [TicketHandlerUpdate]
      }
    ]
  }
}

ticketActivityLog

use ticket-history instead
Description

Retrieve handler-related activity log entries for a ticket

Response

Returns [TicketHandlerUpdate!]!

Arguments
Name Description
id - HashedId! Unique identifier of the entity

Example

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

ticketActivityLogV2

use ticket-history instead
Description

Retrieve all activity log entries for a ticket including state and field changes

Response

Returns [TicketActivityLogEntry!]!

Arguments
Name Description
id - HashedId! Unique identifier of the entity

Example

Query
query ticketActivityLogV2($id: HashedId!) {
  ticketActivityLogV2(id: $id) {
    ... on TicketHandlerUpdate {
      ...TicketHandlerUpdateFragment
    }
    ... on TicketUrgencyUpdate {
      ...TicketUrgencyUpdateFragment
    }
    ... on TicketAssetCheckComplete {
      ...TicketAssetCheckCompleteFragment
    }
    ... on TicketAssetSiteUpdate {
      ...TicketAssetSiteUpdateFragment
    }
    ... on TicketAssetAvailabilityUpdate {
      ...TicketAssetAvailabilityUpdateFragment
    }
    ... on TicketAutomationEmailSent {
      ...TicketAutomationEmailSentFragment
    }
  }
}
Variables
{"id": HashedId}
Response
{"data": {"ticketActivityLogV2": [TicketHandlerUpdate]}}

ticketById

Description

Fetch a single ticket by its ID

Response

Returns a Ticket!

Arguments
Name Description
id - HashedId! Unique identifier of the entity

Example

Query
query ticketById($id: HashedId!) {
  ticketById(id: $id) {
    id
    created
    updated
    content
    uuid
    serviceResponseId
    isStatusUpdatedAutomatically
    statusUpdatedAt
    statusUpdatedByUserId
    createdByUserId
    createdByGroupId
    titleId
    serviceId
    checkEventId
    ticketId
    creatingSyncedOn
    assignee {
      ...ProcessHandlerFragment
    }
    responsibles {
      ...ProcessHandlerFragment
    }
    statusUpdatedByUser {
      ...UserFragment
    }
    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
    urgency
    status
    associatedSites {
      ...SiteFragment
    }
    associatedAssetCategories {
      ...AssetCategoryFragment
    }
    associatedAssetTypes {
      ...AssetTypeFragment
    }
    checkEvent {
      ...EventFragment
    }
    ticketContent {
      ...TicketContentFieldFragment
    }
    automationDetails {
      ...TicketAutomationDetailsFragment
    }
    userHandlers {
      ...TicketHandlerUserFragment
    }
    teamHandlers {
      ...TicketHandlerTeamFragment
    }
    groupHandlers {
      ...TicketHandlerGroupFragment
    }
    externalEmailHandlers {
      ...TicketHandlerExternalEmailFragment
    }
    groupTicketHandlerHandlers {
      ...TicketHandlerGroupTicketHandlerFragment
    }
    siteManagerHandler {
      ...TicketHandlerSiteManagerFragment
    }
    costs {
      ...CostFragment
    }
    procedureInstanceId
    procedureInstance {
      ...ProcedureInstanceFragment
    }
    comments {
      ...TicketCommentFragment
    }
    costLines {
      ...CostLineFragment
    }
    history {
      ...TicketHistoryFragment
    }
    activityEvents {
      ... on TicketHandlerUpdate {
        ...TicketHandlerUpdateFragment
      }
      ... on TicketUrgencyUpdate {
        ...TicketUrgencyUpdateFragment
      }
      ... on TicketAssetCheckComplete {
        ...TicketAssetCheckCompleteFragment
      }
      ... on TicketAssetSiteUpdate {
        ...TicketAssetSiteUpdateFragment
      }
      ... on TicketAssetAvailabilityUpdate {
        ...TicketAssetAvailabilityUpdateFragment
      }
      ... on TicketAutomationEmailSent {
        ...TicketAutomationEmailSentFragment
      }
    }
  }
}
Variables
{"id": HashedId}
Response
{
  "data": {
    "ticketById": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "content": {},
      "uuid": "xyz789",
      "serviceResponseId": HashedId,
      "isStatusUpdatedAutomatically": true,
      "statusUpdatedAt": 1592577642,
      "statusUpdatedByUserId": HashedId,
      "createdByUserId": HashedId,
      "createdByGroupId": HashedId,
      "titleId": HashedId,
      "serviceId": HashedId,
      "checkEventId": HashedId,
      "ticketId": 987,
      "creatingSyncedOn": 1592577642,
      "assignee": ProcessHandler,
      "responsibles": [ProcessHandler],
      "statusUpdatedByUser": User,
      "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": "xyz789",
      "insuranceTaxesCosts": "abc123",
      "laborCosts": "xyz789",
      "logisticsCosts": "xyz789",
      "otherCosts": "xyz789",
      "repairCosts": "xyz789",
      "sparePartsCosts": "abc123",
      "ticketTimeline": TicketTimeline,
      "totalCosts": "xyz789",
      "urgency": "CRITICAL",
      "status": "open",
      "associatedSites": [Site],
      "associatedAssetCategories": [AssetCategory],
      "associatedAssetTypes": [AssetType],
      "checkEvent": Event,
      "ticketContent": [TicketContentField],
      "automationDetails": TicketAutomationDetails,
      "userHandlers": [TicketHandlerUser],
      "teamHandlers": [TicketHandlerTeam],
      "groupHandlers": [TicketHandlerGroup],
      "externalEmailHandlers": [
        TicketHandlerExternalEmail
      ],
      "groupTicketHandlerHandlers": [
        TicketHandlerGroupTicketHandler
      ],
      "siteManagerHandler": TicketHandlerSiteManager,
      "costs": [Cost],
      "procedureInstanceId": HashedId,
      "procedureInstance": ProcedureInstance,
      "comments": [TicketComment],
      "costLines": [CostLine],
      "history": [TicketHistory],
      "activityEvents": [TicketHandlerUpdate]
    }
  }
}

ticketComment

Use "comments" resolve-field from ticket instead
Description

List comments for a ticket using legacy format

Response

Returns [TicketComment!]

Arguments
Name Description
filters - TicketCommentFiltersInput Filters to narrow down returned ticket comments
ticketId - HashedId! Ticket to retrieve comments for

Example

Query
query ticketComment(
  $filters: TicketCommentFiltersInput,
  $ticketId: HashedId!
) {
  ticketComment(
    filters: $filters,
    ticketId: $ticketId
  ) {
    id
    created
    updated
    createdByUserId
    ticketId
    authorEmail
    createdByUser {
      ...TicketUserFragment
    }
    history {
      ...TicketCommentContentFragment
    }
    content {
      ...TicketCommentContentFragment
    }
    isAutomated
    costs {
      ...CostLineFragment
    }
    stateEvent {
      ...TicketStateFragment
    }
    ticketStatus
    itemsEvent {
      ...TicketItemsChangeFragment
    }
    attachments {
      ...DocumentFragment
    }
    connectedEventId
    connectedEvent {
      ...EventFragment
    }
    internal
    deleted
    ticketHistory {
      ...TicketHistoryFragment
    }
  }
}
Variables
{
  "filters": TicketCommentFiltersInput,
  "ticketId": HashedId
}
Response
{
  "data": {
    "ticketComment": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "createdByUserId": HashedId,
        "ticketId": HashedId,
        "authorEmail": "abc123",
        "createdByUser": TicketUser,
        "history": [TicketCommentContent],
        "content": TicketCommentContent,
        "isAutomated": true,
        "costs": [CostLine],
        "stateEvent": TicketState,
        "ticketStatus": "open",
        "itemsEvent": TicketItemsChange,
        "attachments": [Document],
        "connectedEventId": HashedId,
        "connectedEvent": Event,
        "internal": true,
        "deleted": 1592577642,
        "ticketHistory": TicketHistory
      }
    ]
  }
}

ticketState

use "status" enum instead
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": 987
      }
    ]
  }
}

ticketsPaginated

Description

List tickets with filtering and pagination

Response

Returns a TicketPaginatedResult

Arguments
Name Description
pagination - PaginationParams! Pagination
search - String Text search query for filtering results
filters - [FilterParamsInput] Filter criteria

Example

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

totalPendingRequests

Description

Count of all unprocessed asset and registration requests

Response

Returns an Int!

Example

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

translate

Description

Retrieve a translate

Response

Returns a TranslateResultDto!

Arguments
Name Description
sourceContext - String Source context
sourceLanguage - String! Source language
targetLanguages - [String!]! Target languages
sourceText - String! Source text

Example

Query
query translate(
  $sourceContext: String,
  $sourceLanguage: String!,
  $targetLanguages: [String!]!,
  $sourceText: String!
) {
  translate(
    sourceContext: $sourceContext,
    sourceLanguage: $sourceLanguage,
    targetLanguages: $targetLanguages,
    sourceText: $sourceText
  ) {
    sourceLanguage
    sourceText
    translatedText
  }
}
Variables
{
  "sourceContext": "xyz789",
  "sourceLanguage": "xyz789",
  "targetLanguages": ["abc123"],
  "sourceText": "xyz789"
}
Response
{
  "data": {
    "translate": {
      "sourceLanguage": "abc123",
      "sourceText": "xyz789",
      "translatedText": {}
    }
  }
}

translation

Description

Retrieve a translation

Response

Returns [Translation!]!

Arguments
Name Description
id - [HashedId!]! List of unique identifiers

Example

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

trip

Description

Query trip

Response

Returns a Trip!

Arguments
Name Description
tripId - String! Trip identifier

Example

Query
query trip($tripId: String!) {
  trip(tripId: $tripId) {
    created
    updated
    id
    active
    assetId
    asset {
      ...AssetFragment
    }
    avgSpeedRaw
    avgSpeed
    distanceRaw
    distance
    distanceUnit
    driverId
    driverName
    duration
    endLocation {
      ...AddressFragment
    }
    endTime
    eventPoints {
      ...EventPointFragment
    }
    maxSpeedRaw
    maxSpeed
    imei
    points {
      ...RoutePointFragment
    }
    route
    startLocation {
      ...AddressFragment
    }
    startTime
    timestamp
    tripId
    pointsInRange {
      ...RoutePointFragment
    }
    fuelConsumedRaw
    fuelConsumed
    fuelConsumedPercentage
    fuelUnit
    linearDistanceRaw
    linearDistance
    stopDuration
    responsiblePerson
    datapoints {
      ...DatapointFragment
    }
    isPrivate
    group {
      ...GroupFragment
    }
  }
}
Variables
{"tripId": "xyz789"}
Response
{
  "data": {
    "trip": {
      "created": 1592577642,
      "updated": 1592577642,
      "id": "abc123",
      "active": true,
      "assetId": HashedId,
      "asset": Asset,
      "avgSpeedRaw": 123.45,
      "avgSpeed": 987.65,
      "distanceRaw": 123.45,
      "distance": 987.65,
      "distanceUnit": "xyz789",
      "driverId": "abc123",
      "driverName": "abc123",
      "duration": 987.65,
      "endLocation": Address,
      "endTime": 123.45,
      "eventPoints": [EventPoint],
      "maxSpeedRaw": 987.65,
      "maxSpeed": 123.45,
      "imei": "abc123",
      "points": [RoutePoint],
      "route": "xyz789",
      "startLocation": Address,
      "startTime": 123.45,
      "timestamp": 123.45,
      "tripId": "4",
      "pointsInRange": [RoutePoint],
      "fuelConsumedRaw": 987,
      "fuelConsumed": 123.45,
      "fuelConsumedPercentage": 987,
      "fuelUnit": "xyz789",
      "linearDistanceRaw": 987.65,
      "linearDistance": 987.65,
      "stopDuration": 987.65,
      "responsiblePerson": "abc123",
      "datapoints": [Datapoint],
      "isPrivate": true,
      "group": Group
    }
  }
}

tripLatestPaginated

Description

Retrieve trip latest paginated legacy

Response

Returns a TripLatestPaginatedResult!

Arguments
Name Description
pagination - PaginationParams! Pagination
search - String Text search query for filtering results
filters - [FilterParamsInput] Filter criteria

Example

Query
query tripLatestPaginated(
  $pagination: PaginationParams!,
  $search: String,
  $filters: [FilterParamsInput]
) {
  tripLatestPaginated(
    pagination: $pagination,
    search: $search,
    filters: $filters
  ) {
    meta {
      ...PaginationMetaFragment
    }
    rows {
      ...TripLatestFragment
    }
  }
}
Variables
{
  "pagination": PaginationParams,
  "search": "xyz789",
  "filters": [FilterParamsInput]
}
Response
{
  "data": {
    "tripLatestPaginated": {
      "meta": PaginationMeta,
      "rows": [TripLatest]
    }
  }
}

tripsDateRange

Description

Query trip date range

Response

Returns a TripDateRange!

Arguments
Name Description
locationFilter - TripLocationFilter Location filter

Example

Query
query tripsDateRange($locationFilter: TripLocationFilter) {
  tripsDateRange(locationFilter: $locationFilter) {
    from
    to
  }
}
Variables
{"locationFilter": TripLocationFilter}
Response
{"data": {"tripsDateRange": {"from": 1592577642, "to": 1592577642}}}

tripsListPaginated

Description

List trip paginated results with pagination

Response

Returns a TripPaginatedResult!

Arguments
Name Description
pagination - PaginationParams! Pagination
search - String Text search query for filtering results
filters - [FilterParamsInput] Filter criteria
activeOnly - Boolean Active only
dateFilter - TripDateFilter Date filter
locationFilter - TripLocationFilter Location filter

Example

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

tripsMapPaginated

Description

List trip paginated results with pagination

Response

Returns a TripPaginatedResult!

Arguments
Name Description
pagination - PaginationParams! Pagination
search - String Text search query for filtering results
filters - [FilterParamsInput] Filter criteria
activeOnly - Boolean Active only
dateFilter - TripDateFilter Date filter
locationFilter - TripLocationFilter Location filter

Example

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

user

Description

Retrieve a single user by ID with full profile details

Response

Returns [User!]

Arguments
Name Description
id - [HashedId!] Unique identifier. Default = []

Example

Query
query user($id: [HashedId!]) {
  user(id: $id) {
    id
    created
    updated
    publicId
    firstname
    lastname
    password
    email
    phone
    fullName
    groupId
    roleId
    isSupportAdmin
    canShareViews
    isSSOEnabled
    isCostEnabled
    canEditOnlyOwnDocuments
    toolsenseAdmin
    languageId
    language
    languageCode
    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
    }
    roleKey
    teams {
      ...TeamFragment
    }
    groups {
      ...GroupFragment
    }
    additionalGroups {
      ...GroupFragment
    }
    settings
    unavailability {
      ...UserUnavailabilityFragment
    }
    hasMultipleGroups
  }
}
Variables
{"id": [""]}
Response
{
  "data": {
    "user": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "publicId": 123,
        "firstname": "xyz789",
        "lastname": "abc123",
        "password": "xyz789",
        "email": "xyz789",
        "phone": "abc123",
        "fullName": "abc123",
        "groupId": HashedId,
        "roleId": HashedId,
        "isSupportAdmin": true,
        "canShareViews": true,
        "isSSOEnabled": false,
        "isCostEnabled": true,
        "canEditOnlyOwnDocuments": false,
        "toolsenseAdmin": false,
        "languageId": HashedId,
        "language": HashedId,
        "languageCode": "en_us",
        "dashboardId": HashedId,
        "locale": LanguageTag,
        "timezone": "xyz789",
        "label": "xyz789",
        "apiKey": "xyz789",
        "image": "xyz789",
        "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,
        "roleKey": "SuperUser",
        "teams": [Team],
        "groups": [Group],
        "additionalGroups": [Group],
        "settings": {},
        "unavailability": [UserUnavailability],
        "hasMultipleGroups": false
      }
    ]
  }
}

userV2

Description

Retrieve a single user by ID using the updated response format with nested settings

Response

Returns a User

Arguments
Name Description
id - HashedId! Unique identifier of the entity

Example

Query
query userV2($id: HashedId!) {
  userV2(id: $id) {
    id
    created
    updated
    publicId
    firstname
    lastname
    password
    email
    phone
    fullName
    groupId
    roleId
    isSupportAdmin
    canShareViews
    isSSOEnabled
    isCostEnabled
    canEditOnlyOwnDocuments
    toolsenseAdmin
    languageId
    language
    languageCode
    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
    }
    roleKey
    teams {
      ...TeamFragment
    }
    groups {
      ...GroupFragment
    }
    additionalGroups {
      ...GroupFragment
    }
    settings
    unavailability {
      ...UserUnavailabilityFragment
    }
    hasMultipleGroups
  }
}
Variables
{"id": HashedId}
Response
{
  "data": {
    "userV2": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "publicId": 123,
      "firstname": "xyz789",
      "lastname": "xyz789",
      "password": "abc123",
      "email": "xyz789",
      "phone": "abc123",
      "fullName": "xyz789",
      "groupId": HashedId,
      "roleId": HashedId,
      "isSupportAdmin": false,
      "canShareViews": true,
      "isSSOEnabled": false,
      "isCostEnabled": false,
      "canEditOnlyOwnDocuments": true,
      "toolsenseAdmin": false,
      "languageId": HashedId,
      "language": HashedId,
      "languageCode": "en_us",
      "dashboardId": HashedId,
      "locale": LanguageTag,
      "timezone": "abc123",
      "label": "abc123",
      "apiKey": "xyz789",
      "image": "abc123",
      "activated": 1592577642,
      "isServicing": false,
      "info": {},
      "stripeSubscriptionId": "abc123",
      "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,
      "roleKey": "SuperUser",
      "teams": [Team],
      "groups": [Group],
      "additionalGroups": [Group],
      "settings": {},
      "unavailability": [UserUnavailability],
      "hasMultipleGroups": false
    }
  }
}

usersFromCurrentGroupDownWithinOEMOrCustomer

Description

Retrieve users from the current group and its subgroups within the OEM or customer hierarchy

Response

Returns [User!]!

Example

Query
query usersFromCurrentGroupDownWithinOEMOrCustomer {
  usersFromCurrentGroupDownWithinOEMOrCustomer {
    id
    created
    updated
    publicId
    firstname
    lastname
    password
    email
    phone
    fullName
    groupId
    roleId
    isSupportAdmin
    canShareViews
    isSSOEnabled
    isCostEnabled
    canEditOnlyOwnDocuments
    toolsenseAdmin
    languageId
    language
    languageCode
    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
    }
    roleKey
    teams {
      ...TeamFragment
    }
    groups {
      ...GroupFragment
    }
    additionalGroups {
      ...GroupFragment
    }
    settings
    unavailability {
      ...UserUnavailabilityFragment
    }
    hasMultipleGroups
  }
}
Response
{
  "data": {
    "usersFromCurrentGroupDownWithinOEMOrCustomer": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "publicId": 987,
        "firstname": "abc123",
        "lastname": "xyz789",
        "password": "xyz789",
        "email": "abc123",
        "phone": "xyz789",
        "fullName": "xyz789",
        "groupId": HashedId,
        "roleId": HashedId,
        "isSupportAdmin": false,
        "canShareViews": false,
        "isSSOEnabled": false,
        "isCostEnabled": false,
        "canEditOnlyOwnDocuments": false,
        "toolsenseAdmin": false,
        "languageId": HashedId,
        "language": HashedId,
        "languageCode": "en_us",
        "dashboardId": HashedId,
        "locale": LanguageTag,
        "timezone": "abc123",
        "label": "abc123",
        "apiKey": "xyz789",
        "image": "abc123",
        "activated": 1592577642,
        "isServicing": true,
        "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,
        "roleKey": "SuperUser",
        "teams": [Team],
        "groups": [Group],
        "additionalGroups": [Group],
        "settings": {},
        "unavailability": [UserUnavailability],
        "hasMultipleGroups": true
      }
    ]
  }
}

usersPaginated

Description

Retrieve a paginated list of users with filtering and sorting support

Response

Returns a UserPaginatedResult

Arguments
Name Description
pagination - PaginationParams! Pagination
search - String Text search query for filtering results
filters - [FilterParamsInput] Filter criteria

Example

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

usersSubscriptions

Description

Retrieve active billing subscriptions for all users in the current group

Response

Returns a UserPaginatedResult

Arguments
Name Description
pagination - PaginationParams! Pagination
search - String Text search query for filtering results
filters - [FilterParamsInput] Filter criteria

Example

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

validateEntity

Description

Validates the given entities

Response

Returns [JSON!]!

Arguments
Name Description
entity - String! Entity type to validate
data - [JSON]! Array of entity data objects to validate
upsert - Boolean Whether to allow updating existing entities
initial - Boolean Whether this is an initial validation pass

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

Description

Retrieve webhooks for group

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": true,
        "forSites": false,
        "forAssets": false,
        "forWorkOrders": true
      }
    ]
  }
}

workOrderAttachablePersonnelHandlers

Description

Retrieve work order attachable personnel handlers

Example

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

workOrderAttachableWorkers

Description

Retrieve work order attachable workers

Response

Returns [User!]!

Example

Query
query workOrderAttachableWorkers {
  workOrderAttachableWorkers {
    id
    created
    updated
    publicId
    firstname
    lastname
    password
    email
    phone
    fullName
    groupId
    roleId
    isSupportAdmin
    canShareViews
    isSSOEnabled
    isCostEnabled
    canEditOnlyOwnDocuments
    toolsenseAdmin
    languageId
    language
    languageCode
    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
    }
    roleKey
    teams {
      ...TeamFragment
    }
    groups {
      ...GroupFragment
    }
    additionalGroups {
      ...GroupFragment
    }
    settings
    unavailability {
      ...UserUnavailabilityFragment
    }
    hasMultipleGroups
  }
}
Response
{
  "data": {
    "workOrderAttachableWorkers": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "publicId": 123,
        "firstname": "xyz789",
        "lastname": "xyz789",
        "password": "abc123",
        "email": "xyz789",
        "phone": "xyz789",
        "fullName": "abc123",
        "groupId": HashedId,
        "roleId": HashedId,
        "isSupportAdmin": true,
        "canShareViews": true,
        "isSSOEnabled": true,
        "isCostEnabled": true,
        "canEditOnlyOwnDocuments": false,
        "toolsenseAdmin": true,
        "languageId": HashedId,
        "language": HashedId,
        "languageCode": "en_us",
        "dashboardId": HashedId,
        "locale": LanguageTag,
        "timezone": "xyz789",
        "label": "xyz789",
        "apiKey": "abc123",
        "image": "abc123",
        "activated": 1592577642,
        "isServicing": false,
        "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,
        "roleKey": "SuperUser",
        "teams": [Team],
        "groups": [Group],
        "additionalGroups": [Group],
        "settings": {},
        "unavailability": [UserUnavailability],
        "hasMultipleGroups": false
      }
    ]
  }
}

workOrderCostCenters

Description

Retrieve work order cost centers

Response

Returns [String!]!

Arguments
Name Description
like - String

Example

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

workOrders

Description

Retrieve all work orders accessible to the current user

Response

Returns [WorkOrderV2!]!

Arguments
Name Description
ids - [HashedId!] Work order IDs to filter results by
includeHidden - Boolean! Whether to include hidden work orders in the results. Default = false
from - DateTime Start of the date range to filter work orders by
to - DateTime End of the date range to filter work orders by

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
    }
    locations {
      ...WorkOrderLocationFragment
    }
    assets {
      ...AssetFragment
    }
    createdByGroup {
      ...GroupFragment
    }
    personnel {
      ...WorkOrderCostFragment
    }
    assetCollections {
      ...WorkOrderAssetCollectionFragment
    }
    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": "abc123",
        "siteId": HashedId,
        "creator": User,
        "procedureTemplate": ProcedureTemplate,
        "site": Site,
        "workOrderNumber": 987,
        "notes": Translation,
        "sourceTicketId": HashedId,
        "assignee": WorkOrderPersonnelV2,
        "followers": [WorkOrderPersonnelV2],
        "workers": [WorkOrderPersonnelV2],
        "costs": [WorkOrderCost],
        "dailyRate": WorkOrderCost,
        "locations": [WorkOrderLocation],
        "assets": [Asset],
        "createdByGroup": Group,
        "personnel": [WorkOrderCost],
        "assetCollections": [WorkOrderAssetCollection],
        "history": [WorkOrderHistoryEntry]
      }
    ]
  }
}

workOrdersFiltered

Description

Retrieve work orders filtered

Response

Returns [WorkOrderV2!]!

Arguments
Name Description
search - String! Text search query for filtering results
filters - [FilterParamsInput!]! Filter conditions to apply to the work order query

Example

Query
query workOrdersFiltered(
  $search: String!,
  $filters: [FilterParamsInput!]!
) {
  workOrdersFiltered(
    search: $search,
    filters: $filters
  ) {
    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
    }
    locations {
      ...WorkOrderLocationFragment
    }
    assets {
      ...AssetFragment
    }
    createdByGroup {
      ...GroupFragment
    }
    personnel {
      ...WorkOrderCostFragment
    }
    assetCollections {
      ...WorkOrderAssetCollectionFragment
    }
    history {
      ...WorkOrderHistoryEntryFragment
    }
  }
}
Variables
{
  "search": "xyz789",
  "filters": [FilterParamsInput]
}
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": "xyz789",
        "status": "PENDING",
        "notesId": HashedId,
        "costCenter": "xyz789",
        "siteId": HashedId,
        "creator": User,
        "procedureTemplate": ProcedureTemplate,
        "site": Site,
        "workOrderNumber": 987,
        "notes": Translation,
        "sourceTicketId": HashedId,
        "assignee": WorkOrderPersonnelV2,
        "followers": [WorkOrderPersonnelV2],
        "workers": [WorkOrderPersonnelV2],
        "costs": [WorkOrderCost],
        "dailyRate": WorkOrderCost,
        "locations": [WorkOrderLocation],
        "assets": [Asset],
        "createdByGroup": Group,
        "personnel": [WorkOrderCost],
        "assetCollections": [WorkOrderAssetCollection],
        "history": [WorkOrderHistoryEntry]
      }
    ]
  }
}

workOrdersPaginated

Description

Retrieve work orders paginated

Response

Returns a WorkOrdersPaginatedResult!

Arguments
Name Description
pagination - PaginationParams! Pagination
search - String Text search query for filtering results
filters - [FilterParamsInput] Filter criteria

Example

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

Mutations

addAssetToRule

Description

Add a specific asset to an existing automation rule

Response

Returns a Rule!

Arguments
Name Description
input - AddAssetToRuleInput! Asset to rule to add

Example

Query
mutation addAssetToRule($input: AddAssetToRuleInput!) {
  addAssetToRule(input: $input) {
    id
    created
    updated
    title {
      ...TranslationFragment
    }
    description {
      ...TranslationFragment
    }
    createdByUser {
      ...UserFragment
    }
    createdByGroup {
      ...GroupFragment
    }
    assignedToGroup {
      ...GroupFragment
    }
    eventStyle {
      ...EventStyleFragment
    }
    titleId
    descriptionId
    createdByGroupId
    createdByUserId
    assignedToGroupId
    eventStyleId
    eventType
    isCritical
    isOnetime
    isImmediateNotification
    isGlobalRule
    manualDeactivation
    isArchived
    isOneshot
    isActive
    source
    enabled
    isCheckAllowedForUnauthorizedUsers
    purpose
    definition
    relations {
      ...RuleRelationFragment
    }
    eventsConfigs {
      ...EventConfigFragment
    }
    services {
      ...ServiceFragment
    }
    checkAssetsPaginated {
      ...PaginatedRuleCheckAssetsFragment
    }
    publicId
    relationsV2 {
      ...RuleRelationFragment
    }
    sendNotificationsTo {
      ...RuleNotificationRelationFragment
    }
    servicesV2 {
      ...ServiceFragment
    }
    assetBlacklist {
      ...AssetFragment
    }
  }
}
Variables
{"input": AddAssetToRuleInput}
Response
{
  "data": {
    "addAssetToRule": {
      "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,
      "eventType": "ERROR",
      "isCritical": false,
      "isOnetime": true,
      "isImmediateNotification": false,
      "isGlobalRule": false,
      "manualDeactivation": true,
      "isArchived": true,
      "isOneshot": false,
      "isActive": true,
      "source": "DATA",
      "enabled": true,
      "isCheckAllowedForUnauthorizedUsers": false,
      "purpose": "GEOFENCE",
      "definition": {},
      "relations": [RuleRelation],
      "eventsConfigs": [EventConfig],
      "services": [Service],
      "checkAssetsPaginated": PaginatedRuleCheckAssets,
      "publicId": "xyz789",
      "relationsV2": [RuleRelation],
      "sendNotificationsTo": [RuleNotificationRelation],
      "servicesV2": [Service],
      "assetBlacklist": [Asset]
    }
  }
}

addAssetsByTicketId

Use "addAssetsToTicketContentField" instead
Description

Link assets to a ticket content field, returns boolean

Response

Returns a Boolean!

Arguments
Name Description
assetIds - [HashedId!]! Assets to associate with or remove from tickets
input - TicketChangeItemsInput! Tickets to add to or remove from the selected assets

Example

Query
mutation addAssetsByTicketId(
  $assetIds: [HashedId!]!,
  $input: TicketChangeItemsInput!
) {
  addAssetsByTicketId(
    assetIds: $assetIds,
    input: $input
  )
}
Variables
{
  "assetIds": [HashedId],
  "input": TicketChangeItemsInput
}
Response
{"data": {"addAssetsByTicketId": false}}

addAssetsToTicketContentField

Description

Link assets to a ticket content field

Response

Returns a TicketContentField!

Arguments
Name Description
assetIds - [HashedId!]! Assets to associate with or remove from tickets
input - TicketChangeItemsInput! Tickets to add to or remove from the selected assets

Example

Query
mutation addAssetsToTicketContentField(
  $assetIds: [HashedId!]!,
  $input: TicketChangeItemsInput!
) {
  addAssetsToTicketContentField(
    assetIds: $assetIds,
    input: $input
  ) {
    id
    created
    updated
    ticketId
    titleId
    descriptionId
    dateValue
    comment
    textValue
    includeTime
    numberValueDecimal
    numberValue
    automations
    order
    parentId
    locationId
    checkedValue
    yesNoValue
    choiceValue
    phoneId
    contentType
    tableId
    filters {
      ...FiltersFragment
    }
    title {
      ...TranslationFragment
    }
    location {
      ...AddressFragment
    }
    phone {
      ...PhoneFragment
    }
    description {
      ...TranslationFragment
    }
    documents {
      ...DocumentFragment
    }
    uploadedDocuments {
      ...DocumentFragment
    }
    choiceOptions {
      ...TicketContentFieldChoiceOptionFragment
    }
    assets {
      ...AssetFragment
    }
    sites {
      ...SiteFragment
    }
    suggestedAssignees {
      ...AvailableHandlerFragment
    }
    assignees {
      ...AvailableHandlerFragment
    }
    assetCategories {
      ...AssetCategoryFragment
    }
    assetTypes {
      ...AssetTypeFragment
    }
    children {
      ...TicketContentFieldFragment
    }
    table {
      ...TicketContentFieldTableFragment
    }
    emails {
      ...TicketContentFieldEmailFragment
    }
    isChangeAllowed
    isHiddenInTicket
  }
}
Variables
{
  "assetIds": [HashedId],
  "input": TicketChangeItemsInput
}
Response
{
  "data": {
    "addAssetsToTicketContentField": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "ticketId": HashedId,
      "titleId": HashedId,
      "descriptionId": HashedId,
      "dateValue": "2007-12-03T10:15:30Z",
      "comment": "abc123",
      "textValue": "xyz789",
      "includeTime": false,
      "numberValueDecimal": 987.65,
      "numberValue": 123,
      "automations": 123,
      "order": 987,
      "parentId": HashedId,
      "locationId": HashedId,
      "checkedValue": false,
      "yesNoValue": "na",
      "choiceValue": "na",
      "phoneId": HashedId,
      "contentType": "gps",
      "tableId": HashedId,
      "filters": [Filters],
      "title": Translation,
      "location": Address,
      "phone": Phone,
      "description": Translation,
      "documents": [Document],
      "uploadedDocuments": [Document],
      "choiceOptions": [TicketContentFieldChoiceOption],
      "assets": [Asset],
      "sites": [Site],
      "suggestedAssignees": [AvailableHandler],
      "assignees": [AvailableHandler],
      "assetCategories": [AssetCategory],
      "assetTypes": [AssetType],
      "children": [TicketContentField],
      "table": TicketContentFieldTable,
      "emails": [TicketContentFieldEmail],
      "isChangeAllowed": true,
      "isHiddenInTicket": false
    }
  }
}

addHandlerByTicketId

use - "createTicketHandlerUser", "createTicketHandlerTeam", "createTicketHandlerGroupTicketHandler", "createTicketHandlerGroup", "createTicketHandlerExternalEmail", "createTicketHandlerSiteManagerByTicketId" instead
Description

Add ticket handler legacy v2

Response

Returns a TicketHandler!

Arguments
Name Description
id - HashedId! Unique identifier of the entity
input - TicketHandlerCreateInput! Handler assignment details for the ticket

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": "xyz789",
      "isDeletable": true,
      "relationType": "ASSIGNEE",
      "handlerType": "USER"
    }
  }
}

addSitesByTicketId

Use "addSitesToTicketContentField" instead
Description

Link sites to a ticket content field, returns boolean

Response

Returns a Boolean!

Arguments
Name Description
siteIds - [HashedId!]! Sites to associate with or remove from tickets
input - TicketChangeItemsInput! Tickets to add to or remove from the selected sites

Example

Query
mutation addSitesByTicketId(
  $siteIds: [HashedId!]!,
  $input: TicketChangeItemsInput!
) {
  addSitesByTicketId(
    siteIds: $siteIds,
    input: $input
  )
}
Variables
{
  "siteIds": [HashedId],
  "input": TicketChangeItemsInput
}
Response
{"data": {"addSitesByTicketId": true}}

addSitesToTicketContentField

Description

Link sites to a ticket content field

Response

Returns a TicketContentField!

Arguments
Name Description
siteIds - [HashedId!]! Sites to associate with or remove from tickets
input - TicketChangeItemsInput! Tickets to add to or remove from the selected sites

Example

Query
mutation addSitesToTicketContentField(
  $siteIds: [HashedId!]!,
  $input: TicketChangeItemsInput!
) {
  addSitesToTicketContentField(
    siteIds: $siteIds,
    input: $input
  ) {
    id
    created
    updated
    ticketId
    titleId
    descriptionId
    dateValue
    comment
    textValue
    includeTime
    numberValueDecimal
    numberValue
    automations
    order
    parentId
    locationId
    checkedValue
    yesNoValue
    choiceValue
    phoneId
    contentType
    tableId
    filters {
      ...FiltersFragment
    }
    title {
      ...TranslationFragment
    }
    location {
      ...AddressFragment
    }
    phone {
      ...PhoneFragment
    }
    description {
      ...TranslationFragment
    }
    documents {
      ...DocumentFragment
    }
    uploadedDocuments {
      ...DocumentFragment
    }
    choiceOptions {
      ...TicketContentFieldChoiceOptionFragment
    }
    assets {
      ...AssetFragment
    }
    sites {
      ...SiteFragment
    }
    suggestedAssignees {
      ...AvailableHandlerFragment
    }
    assignees {
      ...AvailableHandlerFragment
    }
    assetCategories {
      ...AssetCategoryFragment
    }
    assetTypes {
      ...AssetTypeFragment
    }
    children {
      ...TicketContentFieldFragment
    }
    table {
      ...TicketContentFieldTableFragment
    }
    emails {
      ...TicketContentFieldEmailFragment
    }
    isChangeAllowed
    isHiddenInTicket
  }
}
Variables
{
  "siteIds": [HashedId],
  "input": TicketChangeItemsInput
}
Response
{
  "data": {
    "addSitesToTicketContentField": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "ticketId": HashedId,
      "titleId": HashedId,
      "descriptionId": HashedId,
      "dateValue": "2007-12-03T10:15:30Z",
      "comment": "abc123",
      "textValue": "xyz789",
      "includeTime": true,
      "numberValueDecimal": 987.65,
      "numberValue": 123,
      "automations": 123,
      "order": 987,
      "parentId": HashedId,
      "locationId": HashedId,
      "checkedValue": false,
      "yesNoValue": "na",
      "choiceValue": "na",
      "phoneId": HashedId,
      "contentType": "gps",
      "tableId": HashedId,
      "filters": [Filters],
      "title": Translation,
      "location": Address,
      "phone": Phone,
      "description": Translation,
      "documents": [Document],
      "uploadedDocuments": [Document],
      "choiceOptions": [TicketContentFieldChoiceOption],
      "assets": [Asset],
      "sites": [Site],
      "suggestedAssignees": [AvailableHandler],
      "assignees": [AvailableHandler],
      "assetCategories": [AssetCategory],
      "assetTypes": [AssetType],
      "children": [TicketContentField],
      "table": TicketContentFieldTable,
      "emails": [TicketContentFieldEmail],
      "isChangeAllowed": false,
      "isHiddenInTicket": false
    }
  }
}

addTicketRelation

use - "createTicketHandlerUser", "createTicketHandlerTeam", "createTicketHandlerGroupTicketHandler", "createTicketHandlerGroup", "createTicketHandlerExternalEmail", "createTicketHandlerSiteManagerByTicketId" instead
Description

Add ticket handler legacy v1

Response

Returns a TicketHandler!

Arguments
Name Description
ticketId - HashedId! Ticket to assign a handler to
ticketHandler - TicketHandlerInput! Handler assignment details for the ticket

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": "xyz789",
      "isDeletable": false,
      "relationType": "ASSIGNEE",
      "handlerType": "USER"
    }
  }
}

archiveCustomFieldById

Description

Soft-delete a custom field by its ID

Response

Returns a Boolean!

Arguments
Name Description
id - HashedId! Unique identifier of the entity

Example

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

archiveRule

Description

Archive an automation rule, making it inactive and non-editable

Response

Returns a Boolean!

Arguments
Name Description
id - [HashedId!]! List of unique identifiers

Example

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

assignAssetUUID

Description

Assign a QR code UUID to an asset

Response

Returns an Asset!

Arguments
Name Description
uuid - String! UUID used for cross-system asset identification
assetId - HashedId! ID of the asset to assign a UUID to

Example

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

assignServicesToServicePackage

Description

Assign services to service package

Response

Returns a Boolean!

Arguments
Name Description
servicePackageId - HashedId! Service package identifier
serviceIds - [HashedId!]! Service identifiers

Example

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

assignWorkOrderAssets

Description

Assign work order assets

Response

Returns [Asset!]!

Arguments
Name Description
workOrder - WorkOrderDatesInput! Work order date range identifying the target work order
assetIds - [HashedId!]! Asset identifiers. Default = []

Example

Query
mutation assignWorkOrderAssets(
  $workOrder: WorkOrderDatesInput!,
  $assetIds: [HashedId!]!
) {
  assignWorkOrderAssets(
    workOrder: $workOrder,
    assetIds: $assetIds
  ) {
    publicId
    isCommodity
    moduleId
    assignedToGroupId
    allowReservations
    assetCategoryId
    assetTypeId
    assignment
    availabilityId
    BLE
    client
    commissionDate
    costCenter
    dailyRate
    minDaysBilled
    shouldUpdateActiveAssetSiteAssignment
    created
    createdByGroupId
    currency
    customer
    customerEditable
    descriptionId
    externalId
    fixedAssetNumber
    floorRoom
    image
    initialValue
    inventoryNumber
    isInStationaryGateway
    isLocked
    isUsedPrivately
    leasingCostTermination
    leasingEnd
    leasingLevel
    leasingMonthlyCost
    leasingPartner
    leasingPartnerContractNumber
    leasingPartnerContractPositionNumber
    leasingRenewalDate
    leasingRenewalRate
    leasingStart
    manufacturerId
    optionalAssetID
    ownershipId
    partsNumber
    plateNumber
    projectNumber
    purchaseCost
    purchaseDepriciation
    purchaseInvoiceNumber
    purchaseLowValueAsset
    purchaseStart
    purchaseWarrantyEnd
    purchaseWarrantyPeriod
    purchaseWarrantyStart
    qrAttached
    quantity
    rentalCostTermination
    rentalEnd
    rentalMonthlyCost
    rentalRenewalDate
    rentalRenewalRate
    rentalStart
    responsiblePerson
    runtimeWithOffsetInSeconds
    serial
    serviceContract
    serviceContractCostPerYear
    serviceContractEmail
    serviceContractEnd
    serviceContractFrom
    serviceContractLevel
    serviceContractPartner
    serviceContractStart
    serviceContractTo
    siteId
    previousSiteId
    countNonArchivedSiteAssignments
    assignedToSiteId
    groupId
    responsiblePersonUpdatedAt
    responsiblePersonUpdatedByUserId
    supplier
    updated
    uuid
    id
    stateV2 {
      ...AssetStateItemFragment
    }
    state {
      ...AssetStateFragment
    }
    serviceContractDocuments {
      ...DocumentFragment
    }
    availability
    ownership
    module {
      ...ModuleFragment
    }
    scanTime
    imei
    costsSum
    costsSumBattery
    costsSumRepair
    costsSumMaintenance
    costsSumParts
    costsSumConsumables
    costsSumFuel
    costsSumLabor
    costsSumLogistics
    costsSumTaxes
    costsSumOther
    costsSumCertification
    parameterOffsetIds
    reservationIds
    moduleConnectionStatus
    relatedGroups {
      ...RelatedGroupFragment
    }
    checkScheduleRule {
      ...AssetCheckScheduleRuleFragment
    }
    tickets {
      ...TicketFragment
    }
    lastTicketDate
    totalUtilization
    totalWorkDone
    purchaseCurrentBookValue
    batteryLevel
    lastContacted
    vncTunnelUrl
    subscription
    ticketsCount
    workingHoursSettings
    workingHoursNotification {
      ...RuleNotificationRelationFragment
    }
    gatewayAsset {
      ...AssetFragment
    }
    services {
      ...ServiceFragment
    }
    primaryServicePackage {
      ...ServicePackageWithSourceTypeFragment
    }
    eventIds
    nextService
    downloadLink
    activity {
      ...AssetActivityFragment
    }
    latestAssetData
    deleted
    location {
      ...LocationFragment
    }
    shouldShowLastSeenByGateway
    parameterSets {
      ...ParameterSetFragment
    }
    activeCustomFields {
      ...CustomFieldFragment
    }
    archivedCustomFields {
      ...CustomFieldFragment
    }
    status {
      ...StatusItemFragment
    }
    displayParameters {
      ...DisplayParameterFragment
    }
    latestTrip {
      ...AssetTripLatestFragment
    }
    unavailability {
      ...AssetUnavailabilityFragment
    }
    reservations {
      ...ReservationFragment
    }
    parameterOffsets {
      ...AssetParameterOffsetFragment
    }
    costLines {
      ...CostLineFragment
    }
    manufacturer {
      ...ManufacturerFragment
    }
    createdByGroup {
      ...GroupFragment
    }
    assetType {
      ...AssetTypeFragment
    }
    assetCategory {
      ...AssetCategoryFragment
    }
    assignedToGroup {
      ...GroupFragment
    }
    responsiblePersonUpdatedByUser {
      ...UserFragment
    }
    group {
      ...GroupFragment
    }
    site {
      ...SiteFragment
    }
    assignedToSite {
      ...SiteFragment
    }
    assignedToPreviousSite {
      ...SiteFragment
    }
    documents {
      ...DocumentFragment
    }
    events {
      ...EventFragment
    }
    description {
      ...TranslationFragment
    }
    checkSchedule {
      ...AssetCheckScheduleFragment
    }
    assetSiteAssignments {
      ...AssetSiteAssignmentFragment
    }
    maintenanceSchedule {
      ...AssetMaintenanceScheduleFragment
    }
    workOrders {
      ...WorkOrderV2Fragment
    }
    costs {
      ...CostLineFragment
    }
    operationalCosts {
      ...CostFragment
    }
    iot {
      ...IotAssetDataFragment
    }
    firmwareVersion
    workingHours {
      ...AssetWorkingHoursFragment
    }
    nonWorkingDays {
      ...AssetNonWorkingDaysFragment
    }
  }
}
Variables
{"workOrder": WorkOrderDatesInput, "assetIds": [""]}
Response
{
  "data": {
    "assignWorkOrderAssets": [
      {
        "publicId": 987,
        "isCommodity": true,
        "moduleId": HashedId,
        "assignedToGroupId": HashedId,
        "allowReservations": false,
        "assetCategoryId": HashedId,
        "assetTypeId": HashedId,
        "assignment": "xyz789",
        "availabilityId": HashedId,
        "BLE": "abc123",
        "client": "abc123",
        "commissionDate": "2007-12-03",
        "costCenter": "xyz789",
        "dailyRate": 123.45,
        "minDaysBilled": 123,
        "shouldUpdateActiveAssetSiteAssignment": true,
        "created": 1592577642,
        "createdByGroupId": HashedId,
        "currency": "abc123",
        "customer": "abc123",
        "customerEditable": false,
        "descriptionId": HashedId,
        "externalId": "xyz789",
        "fixedAssetNumber": "xyz789",
        "floorRoom": "xyz789",
        "image": "abc123",
        "initialValue": "xyz789",
        "inventoryNumber": "abc123",
        "isInStationaryGateway": false,
        "isLocked": true,
        "isUsedPrivately": true,
        "leasingCostTermination": "xyz789",
        "leasingEnd": "2007-12-03",
        "leasingLevel": "abc123",
        "leasingMonthlyCost": "xyz789",
        "leasingPartner": "abc123",
        "leasingPartnerContractNumber": "xyz789",
        "leasingPartnerContractPositionNumber": "xyz789",
        "leasingRenewalDate": "2007-12-03",
        "leasingRenewalRate": "abc123",
        "leasingStart": "2007-12-03",
        "manufacturerId": HashedId,
        "optionalAssetID": "abc123",
        "ownershipId": HashedId,
        "partsNumber": "xyz789",
        "plateNumber": "abc123",
        "projectNumber": "abc123",
        "purchaseCost": "xyz789",
        "purchaseDepriciation": 123,
        "purchaseInvoiceNumber": "abc123",
        "purchaseLowValueAsset": false,
        "purchaseStart": "2007-12-03",
        "purchaseWarrantyEnd": "2007-12-03",
        "purchaseWarrantyPeriod": 123,
        "purchaseWarrantyStart": "2007-12-03",
        "qrAttached": true,
        "quantity": 123,
        "rentalCostTermination": "abc123",
        "rentalEnd": "2007-12-03",
        "rentalMonthlyCost": "xyz789",
        "rentalRenewalDate": "2007-12-03",
        "rentalRenewalRate": "xyz789",
        "rentalStart": "2007-12-03",
        "responsiblePerson": "abc123",
        "runtimeWithOffsetInSeconds": 987,
        "serial": "xyz789",
        "serviceContract": false,
        "serviceContractCostPerYear": "abc123",
        "serviceContractEmail": "abc123",
        "serviceContractEnd": "2007-12-03",
        "serviceContractFrom": 1592577642,
        "serviceContractLevel": "abc123",
        "serviceContractPartner": "abc123",
        "serviceContractStart": "2007-12-03",
        "serviceContractTo": 1592577642,
        "siteId": HashedId,
        "previousSiteId": HashedId,
        "countNonArchivedSiteAssignments": 987,
        "assignedToSiteId": HashedId,
        "groupId": HashedId,
        "responsiblePersonUpdatedAt": 1592577642,
        "responsiblePersonUpdatedByUserId": HashedId,
        "supplier": "abc123",
        "updated": 1592577642,
        "uuid": "abc123",
        "id": HashedId,
        "stateV2": [AssetStateItem],
        "state": AssetState,
        "serviceContractDocuments": [Document],
        "availability": "READY_TO_USE",
        "ownership": "PURCHASE",
        "module": Module,
        "scanTime": "2007-12-03",
        "imei": "xyz789",
        "costsSum": 987.65,
        "costsSumBattery": 123.45,
        "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,
        "parameterOffsetIds": [HashedId],
        "reservationIds": [HashedId],
        "moduleConnectionStatus": "primary",
        "relatedGroups": [RelatedGroup],
        "checkScheduleRule": AssetCheckScheduleRule,
        "tickets": [Ticket],
        "lastTicketDate": "2007-12-03T10:15:30Z",
        "totalUtilization": "xyz789",
        "totalWorkDone": "xyz789",
        "purchaseCurrentBookValue": "xyz789",
        "batteryLevel": "xyz789",
        "lastContacted": 1592577642,
        "vncTunnelUrl": "xyz789",
        "subscription": "xyz789",
        "ticketsCount": "abc123",
        "workingHoursSettings": {},
        "workingHoursNotification": [
          RuleNotificationRelation
        ],
        "gatewayAsset": Asset,
        "services": [Service],
        "primaryServicePackage": ServicePackageWithSourceType,
        "eventIds": [HashedId],
        "nextService": 123,
        "downloadLink": "xyz789",
        "activity": AssetActivity,
        "latestAssetData": {},
        "deleted": 1592577642,
        "location": Location,
        "shouldShowLastSeenByGateway": false,
        "parameterSets": [ParameterSet],
        "activeCustomFields": [CustomField],
        "archivedCustomFields": [CustomField],
        "status": [StatusItem],
        "displayParameters": [DisplayParameter],
        "latestTrip": AssetTripLatest,
        "unavailability": [AssetUnavailability],
        "reservations": [Reservation],
        "parameterOffsets": [AssetParameterOffset],
        "costLines": [CostLine],
        "manufacturer": Manufacturer,
        "createdByGroup": Group,
        "assetType": AssetType,
        "assetCategory": AssetCategory,
        "assignedToGroup": Group,
        "responsiblePersonUpdatedByUser": User,
        "group": Group,
        "site": Site,
        "assignedToSite": Site,
        "assignedToPreviousSite": Site,
        "documents": [Document],
        "events": [Event],
        "description": Translation,
        "checkSchedule": AssetCheckSchedule,
        "assetSiteAssignments": [AssetSiteAssignment],
        "maintenanceSchedule": AssetMaintenanceSchedule,
        "workOrders": [WorkOrderV2],
        "costs": [CostLine],
        "operationalCosts": [Cost],
        "iot": IotAssetData,
        "firmwareVersion": "abc123",
        "workingHours": AssetWorkingHours,
        "nonWorkingDays": [AssetNonWorkingDays]
      }
    ]
  }
}

assignWorkOrderCosts

Description

Assign work order costs

Response

Returns [WorkOrderCost!]!

Arguments
Name Description
workOrder - WorkOrderDatesInput! Work order date range identifying the target work order
costs - [WorkOrderCostInput!]! Cost entries to assign to the work order

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": "abc123",
        "id": HashedId,
        "valueCents": 987,
        "costType": "DAILY_RATE",
        "currency": "AED"
      }
    ]
  }
}

assignWorkOrderLocations

Description

Assign work order locations

Response

Returns [WorkOrderLocation!]!

Arguments
Name Description
workOrder - WorkOrderDatesInput! Work order date range identifying the target work order
locations - [WorkOrderLocationInput!]! Location entries to assign to the work order

Example

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

assignWorkOrderPersonnel

Description

Assign work order personnel

Response

Returns [WorkOrderPersonnelV2!]!

Arguments
Name Description
workOrder - WorkOrderDatesInput! Work order date range identifying the target work order
personnel - WorkOrderPersonnelInput! Personnel assignment details for the work order

Example

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

attachQrCodeToSite

Description

Link a scanned QR code to a site for quick mobile identification

Response

Returns a Site!

Arguments
Name Description
id - HashedId! Unique identifier of the entity
uuid - String! Universally unique identifier
input - SiteAttachQrCodeInput! Site qr code attachment details

Example

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

changeAdditionalGroupsByUserId

Description

Change additional groups by user id

Response

Returns a User!

Arguments
Name Description
userId - HashedId! User identifier
groupIds - [HashedId!]! Group identifiers

Example

Query
mutation changeAdditionalGroupsByUserId(
  $userId: HashedId!,
  $groupIds: [HashedId!]!
) {
  changeAdditionalGroupsByUserId(
    userId: $userId,
    groupIds: $groupIds
  ) {
    id
    created
    updated
    publicId
    firstname
    lastname
    password
    email
    phone
    fullName
    groupId
    roleId
    isSupportAdmin
    canShareViews
    isSSOEnabled
    isCostEnabled
    canEditOnlyOwnDocuments
    toolsenseAdmin
    languageId
    language
    languageCode
    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
    }
    roleKey
    teams {
      ...TeamFragment
    }
    groups {
      ...GroupFragment
    }
    additionalGroups {
      ...GroupFragment
    }
    settings
    unavailability {
      ...UserUnavailabilityFragment
    }
    hasMultipleGroups
  }
}
Variables
{
  "userId": HashedId,
  "groupIds": [HashedId]
}
Response
{
  "data": {
    "changeAdditionalGroupsByUserId": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "publicId": 123,
      "firstname": "abc123",
      "lastname": "xyz789",
      "password": "abc123",
      "email": "abc123",
      "phone": "xyz789",
      "fullName": "abc123",
      "groupId": HashedId,
      "roleId": HashedId,
      "isSupportAdmin": false,
      "canShareViews": true,
      "isSSOEnabled": true,
      "isCostEnabled": true,
      "canEditOnlyOwnDocuments": true,
      "toolsenseAdmin": false,
      "languageId": HashedId,
      "language": HashedId,
      "languageCode": "en_us",
      "dashboardId": HashedId,
      "locale": LanguageTag,
      "timezone": "abc123",
      "label": "abc123",
      "apiKey": "xyz789",
      "image": "abc123",
      "activated": 1592577642,
      "isServicing": false,
      "info": {},
      "stripeSubscriptionId": "abc123",
      "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,
      "roleKey": "SuperUser",
      "teams": [Team],
      "groups": [Group],
      "additionalGroups": [Group],
      "settings": {},
      "unavailability": [UserUnavailability],
      "hasMultipleGroups": true
    }
  }
}

changeRoomStatusById

Description

Toggle room asset occupancy status by asset ID

Response

Returns a Boolean!

Arguments
Name Description
id - HashedId! Id of the asset that has room type.
status - RoomStatusEnum! New housekeeping room status to set

Example

Query
mutation changeRoomStatusById(
  $id: HashedId!,
  $status: RoomStatusEnum!
) {
  changeRoomStatusById(
    id: $id,
    status: $status
  )
}
Variables
{"id": HashedId, "status": "Inspected"}
Response
{"data": {"changeRoomStatusById": true}}

completeTrial

Description

Complete trial

Response

Returns a Boolean!

Example

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

createAsset

Description

Create a new asset with site and type assignment

Response

Returns [Asset!]!

Arguments
Name Description
moduleId - HashedId IoT module attached to this asset
assignedToGroupId - HashedId Organization group this asset is assigned to
allowReservations - Boolean When set, reservations are explicitly allowed for this asset.
BLE - String Bluetooth Low Energy beacon identifier
client - String Client or customer name associated with this asset
commissionDate - Date Date when this asset was put into service
costCenter - String Accounting cost center for financial allocation
dailyRate - Float Daily rental or usage rate for billing
minDaysBilled - Int Minimum number of days billed per rental period
currency - String An optional currency string that overrides the group currency
customerEditable - Boolean With this flag the OEM can allow end-customers to edit assets
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 Accounting fixed asset number for depreciation tracking
floorRoom - String Floor and room location within a building
initialValue - String Original purchase or book value of this asset
inventoryNumber - String Internal inventory tracking number
isInStationaryGateway - Boolean Whether assigned to a stationary gateway for fixed location
isUsedPrivately - Boolean Whether this asset is flagged for private use. Default = false
leasingCostTermination - String Early termination cost for the leasing contract
leasingEnd - Date End date of the leasing contract
leasingLevel - String Tier or level of the leasing agreement
leasingMonthlyCost - String Monthly payment amount for the leasing contract
leasingPartner - String Leasing company or partner name
leasingPartnerContractNumber - String Contract number with the leasing partner
leasingPartnerContractPositionNumber - String Line item position within the leasing contract
leasingRenewalDate - Date Date when the leasing contract is up for renewal
leasingRenewalRate - String Monthly rate after leasing contract renewal
leasingStart - Date Start date of the leasing contract
optionalAssetID - String Secondary user-defined asset identifier
partsNumber - String Manufacturer part number for this asset
plateNumber - String Vehicle license plate number
projectNumber - String Project number this asset is allocated to
purchaseCost - String Original purchase price of this asset
purchaseDepriciation - Int Depreciation period in months for this asset
purchaseInvoiceNumber - String Invoice number from the original purchase
purchaseLowValueAsset - Boolean Whether classified as a low-value asset for accounting
purchaseWarrantyEnd - Date Expiration date of the purchase warranty
purchaseWarrantyPeriod - Int Warranty duration in months from purchase
purchaseWarrantyStart - Date Start date of the purchase warranty coverage
qrAttached - Boolean Whether a QR code label is attached to this asset
quantity - Int Number of identical items for commodity assets
rentalCostTermination - String Early termination cost for the rental contract
rentalEnd - Date End date of the rental contract
rentalMonthlyCost - String Monthly payment amount for the rental contract
rentalRenewalDate - Date Date when the rental contract is up for renewal
rentalRenewalRate - String Monthly rate after rental contract renewal
rentalStart - Date Start date of the rental contract
serviceContract - Boolean Whether this asset has an active service contract
serviceContractCostPerYear - String Annual cost of the service contract
serviceContractEmail - String Contact email for the service contract provider
serviceContractEnd - Date Expiration date of the service contract
serviceContractFrom - Timestamp Timestamp when the service contract coverage begins
serviceContractLevel - String Tier or coverage level of the service contract
serviceContractPartner - String Service contract provider company name
serviceContractStart - Date Start date of the service contract
serviceContractTo - Timestamp Timestamp when the service contract coverage ends
supplier - String Supplier or vendor this asset was sourced from
uuid - String UUID used for cross-system asset identification
availability - AssetAvailability Current availability status of this asset
ownership - AssetOwnership Ownership type (purchased, leased, or rented)
imei - String IMEI number of the attached IoT module
purchaseCurrentBookValue - String Current depreciated book value of this asset
disableWebhooks - Boolean Whether to skip webhook notifications for this operation. Default = false
serial - String! Serial number of the asset
assetTypeId - HashedId ID of the asset type to classify this asset
imageUrl - String URL of the asset profile image
assignedToSiteId - HashedId Site the record is assigned to
syncSiteGroup - Boolean Sync asset group with assigned site group
transferModule - Boolean Transfer IoT module from previous asset
responsiblePerson - String Name of the person responsible for this asset
isTypePresetCheckOnSave - Boolean Whether type preset check on save
serviceContractDocuments - [Upload!] Service contract documents
description - TranslationInput Localized description of the asset
shouldUpdateActiveAssetSiteAssignment - Boolean Whether to update active asset site assignment
workingHoursNotification - [RuleNotificationRelationInput] Notification rules for working hours threshold alerts
parameterOffsets - [AssetParameterOffsetInput!] IoT parameter value offsets for calibration
workingHoursSettings - JSON Rule definition settings for working hours tracking
purchaseStart - Date Date when the asset was purchased
workingHours - AssetWorkingHoursInput Scheduled working hours for this asset
nonWorkingDays - [AssetNonWorkingDaysUpsertInput!] Days when the asset is not in operation

Example

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

createAssetCategory

Description

Create a new asset category for a manufacturer

Response

Returns [AssetCategory!]

Arguments
Name Description
externalId - String ID from an external system for integration
groupId - HashedId Owning organization group
servicePackageId - HashedId Assigned service package
optimalBatteryVoltage - Float Target optimal battery voltage in volts
minimalBatteryVoltage - Float Minimum acceptable battery voltage in volts
nominalBatteryVoltage - Float Rated nominal battery voltage in volts
parentParameterKey - AssetParentParameter Primary IoT parameter used for utilization tracking
optimalRuntime - Float Target optimal daily runtime in hours
workUnitsPerHour - Float Work units per hour
workUnits - TranslationInput Localized label for the work unit measurement
isPrivate - Boolean Listed to users outside this group hierarchy - "publicly" available. May be used for not yet released models
name - TranslationInput! Localized category display name

Example

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

createAssetData

Description

Create an IoT data record for an asset

Response

Returns an AssetData

Arguments
Name Description
assetId - HashedId! Asset identifier
data - String! Related data records
receivedDate - Date Received date
interpolatedTimestamp - Date Interpolated timestamp

Example

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

createAssetEventView

Description

Create a new saved asset event view for the current user

Response

Returns an AssetEventView!

Arguments
Name Description
view - AssetEventViewCreateInput! View configuration data

Example

Query
mutation createAssetEventView($view: AssetEventViewCreateInput!) {
  createAssetEventView(view: $view) {
    id
    created
    updated
    titleId
    forEntity
    displayMode
    options {
      ...AssetEventViewOptionsFragment
    }
    isActive
    isSystemView
    isShared
    isEditable
    isDeletable
    isShareable
    isUnsharedByParentGroup
    title {
      ...TranslationFragment
    }
  }
}
Variables
{"view": AssetEventViewCreateInput}
Response
{
  "data": {
    "createAssetEventView": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "titleId": HashedId,
      "forEntity": "ASSET",
      "displayMode": "LIST",
      "options": AssetEventViewOptions,
      "isActive": false,
      "isSystemView": true,
      "isShared": false,
      "isEditable": false,
      "isDeletable": true,
      "isShareable": true,
      "isUnsharedByParentGroup": true,
      "title": Translation
    }
  }
}

createAssetIntegration

Description

Create a new IoT asset integration

Response

Returns an AssetIntegration!

Arguments
Name Description
input - AssetIntegrationCreateInput! Input data for new IoT integration

Example

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

createAssetSiteAssignment

Description

Create a new asset site assignment

Response

Returns an AssetSiteAssignment!

Arguments
Name Description
input - AssetSiteAssignmentCreateInput! Input data for creating a new asset site assignment

Example

Query
mutation createAssetSiteAssignment($input: AssetSiteAssignmentCreateInput!) {
  createAssetSiteAssignment(input: $input) {
    id
    created
    updated
    assetId
    siteId
    status
    onSiteFrom
    onSiteUntil
    notes
    externalId
    publicId
    asset {
      ...AssetFragment
    }
    site {
      ...SiteFragment
    }
    totalDaysPlanned
    totalDaysUntilNow
    totalDaysPlannedInPeriod
    totalDaysUntilNowInPeriod
    costs {
      ...AssetSiteAssignmentCostDtoFragment
    }
    costCenter
    costCenterSource
    costCenterResolved
    costCenterSourceResolved
    costCenterSelected
    dailyRateInPeriod
    averageDailyRate
    totalDaysBilled
    totalDaysBilledInPeriod
    totalCosts
    totalCostsInPeriod
  }
}
Variables
{"input": AssetSiteAssignmentCreateInput}
Response
{
  "data": {
    "createAssetSiteAssignment": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "assetId": HashedId,
      "siteId": HashedId,
      "status": "ACTIVE",
      "onSiteFrom": "2007-12-03T10:15:30Z",
      "onSiteUntil": "2007-12-03T10:15:30Z",
      "notes": "abc123",
      "externalId": "xyz789",
      "publicId": 987,
      "asset": Asset,
      "site": Site,
      "totalDaysPlanned": 123,
      "totalDaysUntilNow": 123,
      "totalDaysPlannedInPeriod": 123,
      "totalDaysUntilNowInPeriod": 123,
      "costs": [AssetSiteAssignmentCostDto],
      "costCenter": "xyz789",
      "costCenterSource": "ASSET",
      "costCenterResolved": "abc123",
      "costCenterSourceResolved": "ASSET",
      "costCenterSelected": "xyz789",
      "dailyRateInPeriod": 123.45,
      "averageDailyRate": 123.45,
      "totalDaysBilled": 987,
      "totalDaysBilledInPeriod": 987,
      "totalCosts": 123.45,
      "totalCostsInPeriod": 123.45
    }
  }
}

createAssetSiteAssignmentView

Description

Create asset site assignment view

Response

Returns an AssetSiteAssignmentView!

Arguments
Name Description
view - AssetSiteAssignmentViewCreateInput! View configuration data

Example

Query
mutation createAssetSiteAssignmentView($view: AssetSiteAssignmentViewCreateInput!) {
  createAssetSiteAssignmentView(view: $view) {
    id
    created
    updated
    titleId
    forEntity
    displayMode
    options {
      ...AssetSiteAssignmentViewOptionsFragment
    }
    isActive
    isSystemView
    isShared
    isEditable
    isDeletable
    isShareable
    isUnsharedByParentGroup
    title {
      ...TranslationFragment
    }
  }
}
Variables
{"view": AssetSiteAssignmentViewCreateInput}
Response
{
  "data": {
    "createAssetSiteAssignmentView": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "titleId": HashedId,
      "forEntity": "ASSET",
      "displayMode": "LIST",
      "options": AssetSiteAssignmentViewOptions,
      "isActive": false,
      "isSystemView": false,
      "isShared": true,
      "isEditable": true,
      "isDeletable": false,
      "isShareable": false,
      "isUnsharedByParentGroup": false,
      "title": Translation
    }
  }
}

createAssetType

Description

Create a new asset type with preset defaults

Response

Returns [AssetType]

Arguments
Name Description
optimalBatteryVoltage - Float Target optimal battery voltage in volts
minimalBatteryVoltage - Float Minimum acceptable battery voltage in volts
nominalBatteryVoltage - Float Rated nominal battery voltage in volts
parentParameterKey - AssetParentParameter Primary IoT parameter used for utilization tracking
optimalRuntime - Float Target optimal daily runtime in hours
workUnitsPerHour - Float Work units per hour
workUnits - TranslationInput Localized label for the work unit measurement
externalId - String External system identifier
groupId - HashedId Owning organization group for the asset type
servicePackageId - HashedId Service package to assign to this asset type
hasAssortmentList - Boolean Whether the record has assortment list
hasVNC - Boolean Certain assets can be accessed over a remote connection. This specifies if this type can be accessed over VNC.
image - String URL of the asset type image
inAssetCategoryId - HashedId! Category to assign this asset type to
inAssetIntegrationId - HashedId The asset integration that applies to this type
isApprovedAssetType - Boolean Whether this asset type has been approved
isLockable - Boolean Certain Asset Types can be locked. This will then lock the asset
isLockedState - Boolean Whether this asset type is currently in locked state
isPollingAvailable - Boolean Whether IoT data polling is available for this type
isPrivate - Boolean Listed to users outside this group hierarchy - "publicly" available. May be used for not yet released models
isVehicle - Boolean Whether this asset type is a vehicle
isRoom - Boolean Whether this asset type is a room
manufacturer - String Manufacturer or brand name
name - TranslationInput! Localized asset type display name
preset - Boolean Preset
presetInitialValue - String Preset initial value
presetLeasingCostTermination - String Preset leasing cost termination
presetLeasingLevel - String Preset leasing level
presetLeasingMonthlyCost - String Preset leasing monthly cost
presetLeasingPartner - String Preset leasing partner
presetLeasingPartnerContractNumber - String Preset leasing partner contract number
presetLeasingPartnerContractPositionNumber - String Preset leasing partner contract position number
presetLeasingRenewalRate - String Preset leasing renewal rate
presetLowValueAsset - Boolean Preset low value asset
presetMachineCheckLastCreated - Boolean Preset machine check last created
presetMachineCheckName - String Preset machine check name
presetMachineCheckInterval - Int Preset machine check interval
presetOwnership - String Preset ownership
presetPurchaseCost - String Preset purchase cost
presetPurchaseDepriciation - Int Preset purchase depriciation
presetRentalCostTermination - String Preset rental cost termination
presetRentalMonthlyCost - String Preset rental monthly cost
presetRentalRenewalRate - String Preset rental renewal rate
presetServiceContractCostPerYear - String Preset service contract cost per year
presetServiceContractEmail - String Preset service contract email
presetServiceContractLevel - String Preset service contract level
presetServiceContractPartner - String Preset service contract partner
presetSupplier - String Preset supplier
presetWarrantyPeriod - Int Preset warranty period
restrictedType - Boolean Whether this type is restricted to certain groups
suggestedServicePartner - String Recommended service partner name
chargingVoltageThreshold - Float Charging voltage threshold
dailyRate - Float Daily rental or usage rate for billing
minDaysBilled - Int Minimum number of days billed per rental period

Example

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

createAssetView

Description

Create a new saved asset list view for the current user

Response

Returns an AssetView!

Arguments
Name Description
view - AssetViewCreateInput! View configuration data

Example

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

createBrand

Description

Register a new equipment brand

Response

Returns a Brand!

Arguments
Name Description
input - BrandCreateInput! Brand creation fields

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
    }
    hasSso
    loginLanguageFallback
    projects
  }
}
Variables
{"input": BrandCreateInput}
Response
{
  "data": {
    "createBrand": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "groupId": HashedId,
      "logoWidth": 987,
      "key": "abc123",
      "systemName": "abc123",
      "colorDark": "abc123",
      "colorLight": "xyz789",
      "faviconUrl": "abc123",
      "loginBackground": "xyz789",
      "name": "abc123",
      "appUrlAndroid": "abc123",
      "appUrlIos": "abc123",
      "logo": "xyz789",
      "color": "abc123",
      "symbol": "xyz789",
      "ownURL": "abc123",
      "supportEmail": "abc123",
      "activationMailVideo": "abc123",
      "logoIsSquare": false,
      "group": Group,
      "hasSso": true,
      "loginLanguageFallback": HashedId,
      "projects": "xyz789"
    }
  }
}

createCheckSchedule

Description

Create a new check schedule for an asset

Response

Returns an AssetCheckSchedule!

Arguments
Name Description
assetId - HashedId! Associated asset identifier
name - String! Name of the check schedule
interval - Int! Check interval in days
externalId - String External system identifier for integration
lastCheck - Date Date of the last completed check
nextCheck - Date! Date of the next scheduled check

Example

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

createCommentForTicket

Description

Add a new comment to a ticket

Response

Returns a TicketComment!

Arguments
Name Description
input - TicketCommentCreateInput! Data for adding a new comment to a ticket

Example

Query
mutation createCommentForTicket($input: TicketCommentCreateInput!) {
  createCommentForTicket(input: $input) {
    id
    created
    updated
    createdByUserId
    ticketId
    authorEmail
    createdByUser {
      ...TicketUserFragment
    }
    history {
      ...TicketCommentContentFragment
    }
    content {
      ...TicketCommentContentFragment
    }
    isAutomated
    costs {
      ...CostLineFragment
    }
    stateEvent {
      ...TicketStateFragment
    }
    ticketStatus
    itemsEvent {
      ...TicketItemsChangeFragment
    }
    attachments {
      ...DocumentFragment
    }
    connectedEventId
    connectedEvent {
      ...EventFragment
    }
    internal
    deleted
    ticketHistory {
      ...TicketHistoryFragment
    }
  }
}
Variables
{"input": TicketCommentCreateInput}
Response
{
  "data": {
    "createCommentForTicket": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "createdByUserId": HashedId,
      "ticketId": HashedId,
      "authorEmail": "xyz789",
      "createdByUser": TicketUser,
      "history": [TicketCommentContent],
      "content": TicketCommentContent,
      "isAutomated": false,
      "costs": [CostLine],
      "stateEvent": TicketState,
      "ticketStatus": "open",
      "itemsEvent": TicketItemsChange,
      "attachments": [Document],
      "connectedEventId": HashedId,
      "connectedEvent": Event,
      "internal": true,
      "deleted": 1592577642,
      "ticketHistory": TicketHistory
    }
  }
}

createCost

Description

Record a new cost entry for an asset or ticket

Response

Returns a Cost!

Arguments
Name Description
input - CostCreateInput! Cost creation fields

Example

Query
mutation createCost($input: CostCreateInput!) {
  createCost(input: $input) {
    id
    created
    updated
    assetId
    title
    description
    provider
    invoiceNumber
    invoiceDate
    costCenter
    siteId
    labelId
    ticketId
    createdByUserId
    label {
      ...CostLabelFragment
    }
    createdByUser {
      ...UserFragment
    }
    costLines {
      ...CostLineFragment
    }
    operatingCosts
    site {
      ...SiteFragment
    }
    asset {
      ...AssetFragment
    }
    documents {
      ...DocumentFragment
    }
    history {
      ...CostHistoryFragment
    }
  }
}
Variables
{"input": CostCreateInput}
Response
{
  "data": {
    "createCost": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "assetId": HashedId,
      "title": "abc123",
      "description": "xyz789",
      "provider": "abc123",
      "invoiceNumber": "xyz789",
      "invoiceDate": "2007-12-03T10:15:30Z",
      "costCenter": "xyz789",
      "siteId": HashedId,
      "labelId": HashedId,
      "ticketId": HashedId,
      "createdByUserId": HashedId,
      "label": CostLabel,
      "createdByUser": User,
      "costLines": [CostLine],
      "operatingCosts": 123.45,
      "site": Site,
      "asset": Asset,
      "documents": [Document],
      "history": [CostHistory]
    }
  }
}

createCostLabel

Description

Create a new cost label

Response

Returns a CostLabel!

Arguments
Name Description
label - String!

Example

Query
mutation createCostLabel($label: String!) {
  createCostLabel(label: $label) {
    id
    created
    updated
    label
  }
}
Variables
{"label": "abc123"}
Response
{
  "data": {
    "createCostLabel": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "label": "xyz789"
    }
  }
}

createCostType

Description

Create cost type

Response

Returns a CostType

Arguments
Name Description
key - String! Unique lookup key
keyV2 - CostTypeEnum! Standardized enum key
translationId - String Localization key for the display name

Example

Query
mutation createCostType(
  $key: String!,
  $keyV2: CostTypeEnum!,
  $translationId: String
) {
  createCostType(
    key: $key,
    keyV2: $keyV2,
    translationId: $translationId
  ) {
    id
    created
    updated
    key
    keyV2
    translationId
    translation {
      ...TranslationFragment
    }
  }
}
Variables
{
  "key": "abc123",
  "keyV2": "BATTERY",
  "translationId": "abc123"
}
Response
{
  "data": {
    "createCostType": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "key": "xyz789",
      "keyV2": "BATTERY",
      "translationId": "xyz789",
      "translation": Translation
    }
  }
}

createCustomEvent

Description

Create a custom user-defined event

Response

Returns an Event!

Arguments
Name Description
isCritical - Boolean Denotes severity. Critical events should have a different, emphasized styling on the ui.
isImmediateNotification - Boolean Whether immediate notification
title - TranslationInput! Title text
assetId - HashedId Asset identifier
partId - HashedId Part identifier
description - TranslationInput Human-readable description

Example

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

createCustomField

Description

Create a new custom field definition

Response

Returns a CustomField!

Arguments
Name Description
input - CustomFieldCreateInput! Custom field creation fields

Example

Query
mutation createCustomField($input: CustomFieldCreateInput!) {
  createCustomField(input: $input) {
    id
    created
    updated
    nameId
    publicId
    type
    isRequired
    showOnQrLandingPage
    showToNonLoggedInUsers
    groupId
    addToAllAssetsInGroupAndBelow
    customerVisibilityRights
    createdByUserId
    createdByGroupId
    availableCustomerVisibilityRights
    deleted
    name {
      ...TranslationFragment
    }
    group {
      ...GroupFragment
    }
    assetTypes {
      ...AssetTypeFragment
    }
    assetCategories {
      ...AssetCategoryFragment
    }
    assets {
      ...AssetFragment
    }
    createdByUser {
      ...UserFragment
    }
    createdByGroup {
      ...GroupFragment
    }
    values {
      ...CustomFieldValueFragment
    }
  }
}
Variables
{"input": CustomFieldCreateInput}
Response
{
  "data": {
    "createCustomField": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "nameId": HashedId,
      "publicId": 987,
      "type": "text",
      "isRequired": false,
      "showOnQrLandingPage": false,
      "showToNonLoggedInUsers": true,
      "groupId": HashedId,
      "addToAllAssetsInGroupAndBelow": false,
      "customerVisibilityRights": "editor",
      "createdByUserId": HashedId,
      "createdByGroupId": HashedId,
      "availableCustomerVisibilityRights": ["editor"],
      "deleted": 1592577642,
      "name": Translation,
      "group": Group,
      "assetTypes": [AssetType],
      "assetCategories": [AssetCategory],
      "assets": [Asset],
      "createdByUser": User,
      "createdByGroup": Group,
      "values": [CustomFieldValue]
    }
  }
}

createDashboard

Description

Create a new Grafana-backed dashboard

Response

Returns a Dashboard

Arguments
Name Description
input - DashboardCreateInput! Dashboard creation fields

Example

Query
mutation createDashboard($input: DashboardCreateInput!) {
  createDashboard(input: $input) {
    id
    created
    updated
    order
    default
    createdByUserId
    titleId
    createdByGroupId
    grafanaDashboardURL
    grafanaDashboardUID
    filters {
      ...DashboardFilterFragment
    }
    createdByUser {
      ...UserFragment
    }
    createdByGroup {
      ...GroupFragment
    }
    title {
      ...TranslationFragment
    }
  }
}
Variables
{"input": DashboardCreateInput}
Response
{
  "data": {
    "createDashboard": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "order": 123,
      "default": true,
      "createdByUserId": HashedId,
      "titleId": HashedId,
      "createdByGroupId": HashedId,
      "grafanaDashboardURL": "xyz789",
      "grafanaDashboardUID": "abc123",
      "filters": [DashboardFilter],
      "createdByUser": User,
      "createdByGroup": Group,
      "title": Translation
    }
  }
}

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
assetId - HashedId Id of the associated asset. Mutually exclusive with other associations.
assetTypeId - HashedId Id of the associated assetType. Mutually exclusive with other associations.
eventId - HashedId Event identifier
partId - HashedId Id of the associated part. Mutually exclusive with other associations.
isVisibleToCustomer - Boolean! Whether visible to customer
name - String! Name of the attachment
purpose - String A string 'label' to define the purpose of the document. Can only be one of the items of a predefined constant array.
externalId - String External system identifier
documentLink - String Document link
file - Upload File attachment

Example

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

createEvent

Description

Create a new maintenance or operational event

Response

Returns an Event!

Arguments
Name Description
isCritical - Boolean Denotes severity. Critical events should have a different, emphasized styling on the ui.
title - TranslationInput! Title text
assetId - HashedId Asset identifier
partId - HashedId Part identifier
description - TranslationInput Human-readable description
costs - [NewCostInput!] Associated cost entries
attachments - [Upload!] Attached files
siteId - HashedId Site identifier

Example

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

createGroup

Use groups.create instead
Description

Create a new group using the legacy flat input format

Response

Returns [Group!]!

Arguments
Name Description
name - String! Human-readable label for the new group
parentGroupId - HashedId! Parent group identifier in the hierarchy
settings - JSON Raw JSON settings blob to apply to the new group
vatNumber - String VAT registration number for tax invoicing purposes
isCustomer - Boolean Whether this represents a customer
getRawFlow - Boolean Whether to return the unprocessed workflow configuration in the response
servicePackageId - HashedId Can only be changed by internal TS users currently
handlerAlias - String Short alias displayed instead of the full ticket handler name
defaultCurrency - String ISO 4217 currency code for cost calculations within this group
hasTicketHandling - Boolean Whether the record has ticket handling
identificationNumber - String External business registration or tax identification number
costSettings - GroupCostSettingsCreateInput Initial cost calculation settings for the new group

Example

Query
mutation createGroup(
  $name: String!,
  $parentGroupId: HashedId!,
  $settings: JSON,
  $vatNumber: String,
  $isCustomer: Boolean,
  $getRawFlow: Boolean,
  $servicePackageId: HashedId,
  $handlerAlias: String,
  $defaultCurrency: String,
  $hasTicketHandling: Boolean,
  $identificationNumber: String,
  $costSettings: GroupCostSettingsCreateInput
) {
  createGroup(
    name: $name,
    parentGroupId: $parentGroupId,
    settings: $settings,
    vatNumber: $vatNumber,
    isCustomer: $isCustomer,
    getRawFlow: $getRawFlow,
    servicePackageId: $servicePackageId,
    handlerAlias: $handlerAlias,
    defaultCurrency: $defaultCurrency,
    hasTicketHandling: $hasTicketHandling,
    identificationNumber: $identificationNumber,
    costSettings: $costSettings
  ) {
    id
    created
    updated
    name
    parentGroupId
    isRoot
    image
    isCustomer
    identificationNumber
    vatNumber
    rootGroupId
    handlerAlias
    treeRootId
    servicePackageId
    flowId
    roleIds
    activeCustomFields {
      ...CustomFieldFragment
    }
    archivedCustomFields {
      ...CustomFieldFragment
    }
    costSettingsId
    deleted
    parentGroup {
      ...GroupFragment
    }
    services {
      ...ServiceFragment
    }
    servicesV2 {
      ...ServiceFragment
    }
    servicePackage {
      ...ServicePackageFragment
    }
    ticketHandler {
      ...GroupTicketHandlerFragment
    }
    flow {
      ...ServicePackageFragment
    }
    internalSettings
    settings
    costSettings {
      ...GroupCostSettingsFragment
    }
    brand {
      ...BrandFragment
    }
    assetLocationsHidden
    nonCustomerParentGroup {
      ...GroupFragment
    }
    childGroups {
      ...GroupFragment
    }
    childGroupIds
    belongsToCurrentGroup
    customerRootGroup {
      ...GroupFragment
    }
    rootGroupName
    customerName
    parentName
    groupTypeId
    assets {
      ...AssetFragment
    }
    assetIds
    maintainedManufacturer {
      ...ManufacturerFragment
    }
    maintainedManufacturerId
    userRequestNotifiers {
      ...NotificationRelationFragment
    }
    userIds
    users {
      ...UserFragment
    }
    hasTicketHandling
    flowMaintainers {
      ...NotificationRelationFragment
    }
    servicePackageV2 {
      ... on ServicePackage {
        ...ServicePackageFragment
      }
      ... on RestrictedServicePackage {
        ...RestrictedServicePackageFragment
      }
    }
    groupType {
      ...ServicePackageFragment
    }
  }
}
Variables
{
  "name": "abc123",
  "parentGroupId": HashedId,
  "settings": {},
  "vatNumber": "xyz789",
  "isCustomer": true,
  "getRawFlow": false,
  "servicePackageId": HashedId,
  "handlerAlias": "abc123",
  "defaultCurrency": "xyz789",
  "hasTicketHandling": true,
  "identificationNumber": "xyz789",
  "costSettings": GroupCostSettingsCreateInput
}
Response
{
  "data": {
    "createGroup": [
      {
        "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,
        "flowId": HashedId,
        "roleIds": [HashedId],
        "activeCustomFields": [CustomField],
        "archivedCustomFields": [CustomField],
        "costSettingsId": HashedId,
        "deleted": 1592577642,
        "parentGroup": Group,
        "services": [Service],
        "servicesV2": [Service],
        "servicePackage": ServicePackage,
        "ticketHandler": GroupTicketHandler,
        "flow": ServicePackage,
        "internalSettings": {},
        "settings": {},
        "costSettings": GroupCostSettings,
        "brand": Brand,
        "assetLocationsHidden": false,
        "nonCustomerParentGroup": Group,
        "childGroups": [Group],
        "childGroupIds": [HashedId],
        "belongsToCurrentGroup": true,
        "customerRootGroup": Group,
        "rootGroupName": "xyz789",
        "customerName": "xyz789",
        "parentName": "xyz789",
        "groupTypeId": HashedId,
        "assets": [Asset],
        "assetIds": [HashedId],
        "maintainedManufacturer": [Manufacturer],
        "maintainedManufacturerId": [HashedId],
        "userRequestNotifiers": [NotificationRelation],
        "userIds": [HashedId],
        "users": [User],
        "hasTicketHandling": false,
        "flowMaintainers": [NotificationRelation],
        "servicePackageV2": ServicePackage,
        "groupType": ServicePackage
      }
    ]
  }
}

createGroupTicketHandlerExternalEmailList

Description

Add an external email to group ticket handler assignment

Arguments
Name Description
input - [GroupTicketHandlerExternalEmailCreateInput!]! Group ticket handler external email creation fields

Example

Query
mutation createGroupTicketHandlerExternalEmailList($input: [GroupTicketHandlerExternalEmailCreateInput!]!) {
  createGroupTicketHandlerExternalEmailList(input: $input) {
    id
    created
    updated
    groupTicketHandlerId
    isNotifiable
    email
  }
}
Variables
{"input": [GroupTicketHandlerExternalEmailCreateInput]}
Response
{
  "data": {
    "createGroupTicketHandlerExternalEmailList": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "groupTicketHandlerId": HashedId,
        "isNotifiable": false,
        "email": "xyz789"
      }
    ]
  }
}

createGroupTicketHandlerGroupList

Description

Create a group-level ticket handler configuration

Response

Returns [GroupTicketHandlerGroup!]!

Arguments
Name Description
input - [GroupTicketHandlerGroupCreateInput!]! Group ticket handler group creation fields

Example

Query
mutation createGroupTicketHandlerGroupList($input: [GroupTicketHandlerGroupCreateInput!]!) {
  createGroupTicketHandlerGroupList(input: $input) {
    id
    created
    updated
    groupTicketHandlerId
    isNotifiable
    isRemovable
    groupId
    group {
      ...GroupFragment
    }
  }
}
Variables
{"input": [GroupTicketHandlerGroupCreateInput]}
Response
{
  "data": {
    "createGroupTicketHandlerGroupList": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "groupTicketHandlerId": HashedId,
        "isNotifiable": false,
        "isRemovable": true,
        "groupId": HashedId,
        "group": Group
      }
    ]
  }
}

createGroupTicketHandlerSiteManagerByGroupHandlerId

Description

Assign the site manager as a group ticket handler

Response

Returns a Boolean!

Arguments
Name Description
id - HashedId! Unique identifier of the entity

Example

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

createGroupTicketHandlerTeamList

Description

Assign multiple teams to a group ticket handler

Response

Returns [GroupTicketHandlerTeam!]!

Arguments
Name Description
input - [GroupTicketHandlerTeamCreateInput!]! Group ticket handler team creation fields

Example

Query
mutation createGroupTicketHandlerTeamList($input: [GroupTicketHandlerTeamCreateInput!]!) {
  createGroupTicketHandlerTeamList(input: $input) {
    id
    created
    updated
    groupTicketHandlerId
    isNotifiable
    teamId
    team {
      ...TeamFragment
    }
  }
}
Variables
{"input": [GroupTicketHandlerTeamCreateInput]}
Response
{
  "data": {
    "createGroupTicketHandlerTeamList": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "groupTicketHandlerId": HashedId,
        "isNotifiable": false,
        "teamId": HashedId,
        "team": Team
      }
    ]
  }
}

createGroupTicketHandlerUserList

Description

Assign multiple users to a group ticket handler

Response

Returns [GroupTicketHandlerUser!]!

Arguments
Name Description
input - [GroupTicketHandlerUserCreateInput!]! Group ticket handler user creation fields

Example

Query
mutation createGroupTicketHandlerUserList($input: [GroupTicketHandlerUserCreateInput!]!) {
  createGroupTicketHandlerUserList(input: $input) {
    id
    created
    updated
    groupTicketHandlerId
    isNotifiable
    userId
    user {
      ...UserFragment
    }
  }
}
Variables
{"input": [GroupTicketHandlerUserCreateInput]}
Response
{
  "data": {
    "createGroupTicketHandlerUserList": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "groupTicketHandlerId": HashedId,
        "isNotifiable": false,
        "userId": HashedId,
        "user": User
      }
    ]
  }
}

createGroupV2

Description

Create a new group with structured settings, cost configuration, and hierarchy placement

Response

Returns a Group!

Arguments
Name Description
input - GroupCreateInput! Group creation fields

Example

Query
mutation createGroupV2($input: GroupCreateInput!) {
  createGroupV2(input: $input) {
    id
    created
    updated
    name
    parentGroupId
    isRoot
    image
    isCustomer
    identificationNumber
    vatNumber
    rootGroupId
    handlerAlias
    treeRootId
    servicePackageId
    flowId
    roleIds
    activeCustomFields {
      ...CustomFieldFragment
    }
    archivedCustomFields {
      ...CustomFieldFragment
    }
    costSettingsId
    deleted
    parentGroup {
      ...GroupFragment
    }
    services {
      ...ServiceFragment
    }
    servicesV2 {
      ...ServiceFragment
    }
    servicePackage {
      ...ServicePackageFragment
    }
    ticketHandler {
      ...GroupTicketHandlerFragment
    }
    flow {
      ...ServicePackageFragment
    }
    internalSettings
    settings
    costSettings {
      ...GroupCostSettingsFragment
    }
    brand {
      ...BrandFragment
    }
    assetLocationsHidden
    nonCustomerParentGroup {
      ...GroupFragment
    }
    childGroups {
      ...GroupFragment
    }
    childGroupIds
    belongsToCurrentGroup
    customerRootGroup {
      ...GroupFragment
    }
    rootGroupName
    customerName
    parentName
    groupTypeId
    assets {
      ...AssetFragment
    }
    assetIds
    maintainedManufacturer {
      ...ManufacturerFragment
    }
    maintainedManufacturerId
    userRequestNotifiers {
      ...NotificationRelationFragment
    }
    userIds
    users {
      ...UserFragment
    }
    hasTicketHandling
    flowMaintainers {
      ...NotificationRelationFragment
    }
    servicePackageV2 {
      ... on ServicePackage {
        ...ServicePackageFragment
      }
      ... on RestrictedServicePackage {
        ...RestrictedServicePackageFragment
      }
    }
    groupType {
      ...ServicePackageFragment
    }
  }
}
Variables
{"input": GroupCreateInput}
Response
{
  "data": {
    "createGroupV2": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "name": "abc123",
      "parentGroupId": HashedId,
      "isRoot": true,
      "image": "xyz789",
      "isCustomer": false,
      "identificationNumber": "abc123",
      "vatNumber": "abc123",
      "rootGroupId": HashedId,
      "handlerAlias": "abc123",
      "treeRootId": HashedId,
      "servicePackageId": HashedId,
      "flowId": HashedId,
      "roleIds": [HashedId],
      "activeCustomFields": [CustomField],
      "archivedCustomFields": [CustomField],
      "costSettingsId": HashedId,
      "deleted": 1592577642,
      "parentGroup": Group,
      "services": [Service],
      "servicesV2": [Service],
      "servicePackage": ServicePackage,
      "ticketHandler": GroupTicketHandler,
      "flow": ServicePackage,
      "internalSettings": {},
      "settings": {},
      "costSettings": GroupCostSettings,
      "brand": Brand,
      "assetLocationsHidden": false,
      "nonCustomerParentGroup": Group,
      "childGroups": [Group],
      "childGroupIds": [HashedId],
      "belongsToCurrentGroup": false,
      "customerRootGroup": Group,
      "rootGroupName": "abc123",
      "customerName": "xyz789",
      "parentName": "xyz789",
      "groupTypeId": HashedId,
      "assets": [Asset],
      "assetIds": [HashedId],
      "maintainedManufacturer": [Manufacturer],
      "maintainedManufacturerId": [HashedId],
      "userRequestNotifiers": [NotificationRelation],
      "userIds": [HashedId],
      "users": [User],
      "hasTicketHandling": false,
      "flowMaintainers": [NotificationRelation],
      "servicePackageV2": ServicePackage,
      "groupType": ServicePackage
    }
  }
}

createIntegration

Description

Register a new external system integration

Response

Returns an IntegrationNew!

Arguments
Name Description
name - String! Free-text integration service name
provider - IntegrationProviderEnum! External provider or vendor name
config - [IntegrationUpdateInput!]! Key-value configuration parameters
groupId - HashedId Group to scope this integration to
userId - HashedId User account to link as integration owner

Example

Query
mutation createIntegration(
  $name: String!,
  $provider: IntegrationProviderEnum!,
  $config: [IntegrationUpdateInput!]!,
  $groupId: HashedId,
  $userId: HashedId
) {
  createIntegration(
    name: $name,
    provider: $provider,
    config: $config,
    groupId: $groupId,
    userId: $userId
  ) {
    id
    created
    updated
    name
    config {
      ...IntegrationConfigKeyFragment
    }
    provider
    groupId
    treeRootGroupId
    userId
  }
}
Variables
{
  "name": "abc123",
  "provider": "PUDU_PROVIDER",
  "config": [IntegrationUpdateInput],
  "groupId": HashedId,
  "userId": HashedId
}
Response
{
  "data": {
    "createIntegration": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "name": "xyz789",
      "config": [IntegrationConfigKey],
      "provider": "PUDU_PROVIDER",
      "groupId": HashedId,
      "treeRootGroupId": HashedId,
      "userId": HashedId
    }
  }
}

createLoginInterrupt

Not implemented yet
Description

Create a new login interrupt message for users

Response

Returns a LoginInterrupt

Arguments
Name Description
title - String!

Example

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

createMaintenanceSchedule

Description

Create a new maintenance schedule for an asset

Response

Returns an AssetMaintenanceSchedule!

Arguments
Name Description
assetId - HashedId! Associated asset identifier
interval - Int! Maintenance interval in days
lastMaintenance - Date Date of the last completed maintenance
nextMaintenance - Date! Date of the next scheduled maintenance

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

Description

Register a new equipment manufacturer

Response

Returns a Manufacturer!

Arguments
Name Description
input - ManufacturerCreateInput! Manufacturer creation fields

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": "xyz789",
      "nameKey": "abc123",
      "notificationsEnabled": true,
      "maintainedByGroupId": 123,
      "maintainedByGroup": Group,
      "assetIntegrations": [AssetIntegration],
      "assetIntegrationIds": [HashedId]
    }
  }
}

createModule

Description

Register a new IoT module

Response

Returns a Module!

Arguments
Name Description
imei - String! IMEI 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
moduleRevision - String Some value that is specifying what kind of module this is
externalId - String External system identifier
isFake - Boolean Whether fake

Example

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

createOTAUpdate

Not implemented yet
Description

Create a new OTA firmware update for an asset integration

Response

Returns an OTAUpdate

Arguments
Name Description
assetIntegrationId - HashedId! Target asset integration to create the firmware update for

Example

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

createOperationalCostsView

Description

Create a new saved operational costs view for the current user

Response

Returns an OperationalCostsView!

Arguments
Name Description
view - OperationalCostsViewCreateInput! View configuration data

Example

Query
mutation createOperationalCostsView($view: OperationalCostsViewCreateInput!) {
  createOperationalCostsView(view: $view) {
    id
    created
    updated
    titleId
    forEntity
    displayMode
    options {
      ...OperationalCostsViewOptionsFragment
    }
    isActive
    isSystemView
    isShared
    isEditable
    isDeletable
    isShareable
    isUnsharedByParentGroup
    title {
      ...TranslationFragment
    }
  }
}
Variables
{"view": OperationalCostsViewCreateInput}
Response
{
  "data": {
    "createOperationalCostsView": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "titleId": HashedId,
      "forEntity": "ASSET",
      "displayMode": "LIST",
      "options": OperationalCostsViewOptions,
      "isActive": true,
      "isSystemView": true,
      "isShared": false,
      "isEditable": false,
      "isDeletable": false,
      "isShareable": true,
      "isUnsharedByParentGroup": false,
      "title": Translation
    }
  }
}

createPart

Description

Create a new spare part record

Response

Returns a Part!

Arguments
Name Description
input - PartCreateInput! Part creation fields

Example

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

createPartMoving

Description

Record a part movement between assets or locations

Response

Returns a PartMoving

Arguments
Name Description
input - PartMovingCreateInput! Part creation fields

Example

Query
mutation createPartMoving($input: PartMovingCreateInput!) {
  createPartMoving(input: $input) {
    id
    created
    updated
    partId
    part {
      ...PartFragment
    }
    siteId
    site {
      ...SiteFragment
    }
    operationDate
    unitCost
    quantity
    contentQuantity
    totalValue
    createdByUserId
    createdByUser {
      ...UserFragment
    }
  }
}
Variables
{"input": 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": 123.45,
      "contentQuantity": 123.45,
      "totalValue": 123.45,
      "createdByUserId": HashedId,
      "createdByUser": User
    }
  }
}

createProcedureInstance

Use createProcedureTicket instead, supported only ticket field
Description

Creates a procedure instance and attaches it to a ticket; use createProcedureTicket instead

Response

Returns a ProcedureInstance!

Arguments
Name Description
input - ProcedureInstanceCreateInput! Procedure instance creation fields

Example

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

createProcedureTemplate

Description

Creates a new procedure template with components, automations, and conditional logic

Response

Returns a ProcedureTemplate!

Arguments
Name Description
input - ProcedureTemplateCreateInput! Procedure template creation fields

Example

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

createProcedureTicket

Description

Create a ticket from a procedure template

Response

Returns a Ticket!

Arguments
Name Description
input - TicketProcedureCreateInput! Procedure steps to attach to a ticket

Example

Query
mutation createProcedureTicket($input: TicketProcedureCreateInput!) {
  createProcedureTicket(input: $input) {
    id
    created
    updated
    content
    uuid
    serviceResponseId
    isStatusUpdatedAutomatically
    statusUpdatedAt
    statusUpdatedByUserId
    createdByUserId
    createdByGroupId
    titleId
    serviceId
    checkEventId
    ticketId
    creatingSyncedOn
    assignee {
      ...ProcessHandlerFragment
    }
    responsibles {
      ...ProcessHandlerFragment
    }
    statusUpdatedByUser {
      ...UserFragment
    }
    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
    urgency
    status
    associatedSites {
      ...SiteFragment
    }
    associatedAssetCategories {
      ...AssetCategoryFragment
    }
    associatedAssetTypes {
      ...AssetTypeFragment
    }
    checkEvent {
      ...EventFragment
    }
    ticketContent {
      ...TicketContentFieldFragment
    }
    automationDetails {
      ...TicketAutomationDetailsFragment
    }
    userHandlers {
      ...TicketHandlerUserFragment
    }
    teamHandlers {
      ...TicketHandlerTeamFragment
    }
    groupHandlers {
      ...TicketHandlerGroupFragment
    }
    externalEmailHandlers {
      ...TicketHandlerExternalEmailFragment
    }
    groupTicketHandlerHandlers {
      ...TicketHandlerGroupTicketHandlerFragment
    }
    siteManagerHandler {
      ...TicketHandlerSiteManagerFragment
    }
    costs {
      ...CostFragment
    }
    procedureInstanceId
    procedureInstance {
      ...ProcedureInstanceFragment
    }
    comments {
      ...TicketCommentFragment
    }
    costLines {
      ...CostLineFragment
    }
    history {
      ...TicketHistoryFragment
    }
    activityEvents {
      ... on TicketHandlerUpdate {
        ...TicketHandlerUpdateFragment
      }
      ... on TicketUrgencyUpdate {
        ...TicketUrgencyUpdateFragment
      }
      ... on TicketAssetCheckComplete {
        ...TicketAssetCheckCompleteFragment
      }
      ... on TicketAssetSiteUpdate {
        ...TicketAssetSiteUpdateFragment
      }
      ... on TicketAssetAvailabilityUpdate {
        ...TicketAssetAvailabilityUpdateFragment
      }
      ... on TicketAutomationEmailSent {
        ...TicketAutomationEmailSentFragment
      }
    }
  }
}
Variables
{"input": TicketProcedureCreateInput}
Response
{
  "data": {
    "createProcedureTicket": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "content": {},
      "uuid": "abc123",
      "serviceResponseId": HashedId,
      "isStatusUpdatedAutomatically": true,
      "statusUpdatedAt": 1592577642,
      "statusUpdatedByUserId": HashedId,
      "createdByUserId": HashedId,
      "createdByGroupId": HashedId,
      "titleId": HashedId,
      "serviceId": HashedId,
      "checkEventId": HashedId,
      "ticketId": 123,
      "creatingSyncedOn": 1592577642,
      "assignee": ProcessHandler,
      "responsibles": [ProcessHandler],
      "statusUpdatedByUser": User,
      "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": "xyz789",
      "laborCosts": "xyz789",
      "logisticsCosts": "xyz789",
      "otherCosts": "abc123",
      "repairCosts": "abc123",
      "sparePartsCosts": "xyz789",
      "ticketTimeline": TicketTimeline,
      "totalCosts": "abc123",
      "urgency": "CRITICAL",
      "status": "open",
      "associatedSites": [Site],
      "associatedAssetCategories": [AssetCategory],
      "associatedAssetTypes": [AssetType],
      "checkEvent": Event,
      "ticketContent": [TicketContentField],
      "automationDetails": TicketAutomationDetails,
      "userHandlers": [TicketHandlerUser],
      "teamHandlers": [TicketHandlerTeam],
      "groupHandlers": [TicketHandlerGroup],
      "externalEmailHandlers": [
        TicketHandlerExternalEmail
      ],
      "groupTicketHandlerHandlers": [
        TicketHandlerGroupTicketHandler
      ],
      "siteManagerHandler": TicketHandlerSiteManager,
      "costs": [Cost],
      "procedureInstanceId": HashedId,
      "procedureInstance": ProcedureInstance,
      "comments": [TicketComment],
      "costLines": [CostLine],
      "history": [TicketHistory],
      "activityEvents": [TicketHandlerUpdate]
    }
  }
}

createReservation

Description

Create a new asset reservation with optional working hours settings

Response

Returns [Reservation!]

Arguments
Name Description
from - Timestamp! Starting time of the reservation
until - Timestamp! Ending time of the reservation
reserverName - String! Name of the person reserving the assets
assetIds - [HashedId!]! IDs of assets to assign to this reservation
notes - TranslationInput Arbitrary notes for storing info about the reservation
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
    created
    updated
    from
    until
    reserverName
    assets {
      ...AssetFragment
    }
    assetIds
    workingHoursSettings
    workingHoursNotification {
      ...RuleNotificationRelationFragment
    }
    notes {
      ...TranslationFragment
    }
    notesId
    createdByUser {
      ...UserFragment
    }
    createdByUserId
    createdByGroup {
      ...GroupFragment
    }
    createdByGroupId
  }
}
Variables
{
  "from": 1592577642,
  "until": 1592577642,
  "reserverName": "xyz789",
  "assetIds": [HashedId],
  "notes": TranslationInput,
  "workingHoursSettings": {},
  "workingHoursNotification": [
    RuleNotificationRelationInput
  ]
}
Response
{
  "data": {
    "createReservation": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "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
      }
    ]
  }
}

createRule

Description

Create a new automation rule

Response

Returns a Rule!

Arguments
Name Description
eventType - EventTypeEnum Event type
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 Whether immediate notification
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.
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.
isCheckAllowedForUnauthorizedUsers - Boolean This setting allows anyone to execute the check and allow changes to the connected asset
title - TranslationInput! Title text
description - TranslationInput Human-readable description
definition - JSON! Condition logic tree defining when this rule triggers
source - RuleSource! Evaluation source determining how and when the rule is checked
assetIds - [HashedId!] Asset identifiers
assetTypeIds - [HashedId!] Asset type identifiers
assignedToGroupId - HashedId Group the record is assigned to
relations - RuleRelationInput! Asset type and asset associations for the new rule
assetBlacklistIds - [HashedId!] Asset blacklist identifiers
sendNotificationsTo - [RuleNotificationRelationInput] Recipients who receive notifications when this rule triggers
eventsConfigs - [EventConfigInput] Per-asset scheduling configurations for time-based rules
serviceIds - [HashedId] Service identifiers

Example

Query
mutation createRule(
  $eventType: EventTypeEnum,
  $isCritical: Boolean,
  $isOnetime: Boolean,
  $isImmediateNotification: Boolean,
  $isGlobalRule: Boolean,
  $manualDeactivation: Boolean,
  $isOneshot: Boolean,
  $isActive: Boolean,
  $isCheckAllowedForUnauthorizedUsers: Boolean,
  $title: TranslationInput!,
  $description: TranslationInput,
  $definition: JSON!,
  $source: RuleSource!,
  $assetIds: [HashedId!],
  $assetTypeIds: [HashedId!],
  $assignedToGroupId: HashedId,
  $relations: RuleRelationInput!,
  $assetBlacklistIds: [HashedId!],
  $sendNotificationsTo: [RuleNotificationRelationInput],
  $eventsConfigs: [EventConfigInput],
  $serviceIds: [HashedId]
) {
  createRule(
    eventType: $eventType,
    isCritical: $isCritical,
    isOnetime: $isOnetime,
    isImmediateNotification: $isImmediateNotification,
    isGlobalRule: $isGlobalRule,
    manualDeactivation: $manualDeactivation,
    isOneshot: $isOneshot,
    isActive: $isActive,
    isCheckAllowedForUnauthorizedUsers: $isCheckAllowedForUnauthorizedUsers,
    title: $title,
    description: $description,
    definition: $definition,
    source: $source,
    assetIds: $assetIds,
    assetTypeIds: $assetTypeIds,
    assignedToGroupId: $assignedToGroupId,
    relations: $relations,
    assetBlacklistIds: $assetBlacklistIds,
    sendNotificationsTo: $sendNotificationsTo,
    eventsConfigs: $eventsConfigs,
    serviceIds: $serviceIds
  ) {
    id
    created
    updated
    title {
      ...TranslationFragment
    }
    description {
      ...TranslationFragment
    }
    createdByUser {
      ...UserFragment
    }
    createdByGroup {
      ...GroupFragment
    }
    assignedToGroup {
      ...GroupFragment
    }
    eventStyle {
      ...EventStyleFragment
    }
    titleId
    descriptionId
    createdByGroupId
    createdByUserId
    assignedToGroupId
    eventStyleId
    eventType
    isCritical
    isOnetime
    isImmediateNotification
    isGlobalRule
    manualDeactivation
    isArchived
    isOneshot
    isActive
    source
    enabled
    isCheckAllowedForUnauthorizedUsers
    purpose
    definition
    relations {
      ...RuleRelationFragment
    }
    eventsConfigs {
      ...EventConfigFragment
    }
    services {
      ...ServiceFragment
    }
    checkAssetsPaginated {
      ...PaginatedRuleCheckAssetsFragment
    }
    publicId
    relationsV2 {
      ...RuleRelationFragment
    }
    sendNotificationsTo {
      ...RuleNotificationRelationFragment
    }
    servicesV2 {
      ...ServiceFragment
    }
    assetBlacklist {
      ...AssetFragment
    }
  }
}
Variables
{
  "eventType": "ERROR",
  "isCritical": false,
  "isOnetime": false,
  "isImmediateNotification": true,
  "isGlobalRule": false,
  "manualDeactivation": true,
  "isOneshot": true,
  "isActive": false,
  "isCheckAllowedForUnauthorizedUsers": false,
  "title": TranslationInput,
  "description": TranslationInput,
  "definition": {},
  "source": "DATA",
  "assetIds": [HashedId],
  "assetTypeIds": [HashedId],
  "assignedToGroupId": HashedId,
  "relations": RuleRelationInput,
  "assetBlacklistIds": [HashedId],
  "sendNotificationsTo": [RuleNotificationRelationInput],
  "eventsConfigs": [EventConfigInput],
  "serviceIds": [HashedId]
}
Response
{
  "data": {
    "createRule": {
      "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,
      "eventType": "ERROR",
      "isCritical": true,
      "isOnetime": true,
      "isImmediateNotification": true,
      "isGlobalRule": true,
      "manualDeactivation": false,
      "isArchived": false,
      "isOneshot": false,
      "isActive": false,
      "source": "DATA",
      "enabled": true,
      "isCheckAllowedForUnauthorizedUsers": true,
      "purpose": "GEOFENCE",
      "definition": {},
      "relations": [RuleRelation],
      "eventsConfigs": [EventConfig],
      "services": [Service],
      "checkAssetsPaginated": PaginatedRuleCheckAssets,
      "publicId": "abc123",
      "relationsV2": [RuleRelation],
      "sendNotificationsTo": [RuleNotificationRelation],
      "servicesV2": [Service],
      "assetBlacklist": [Asset]
    }
  }
}

createRuleEntry

Description

Create rule entry

Response

Returns a RuleEntry!

Arguments
Name Description
input - RuleEntryCreateInput! Rule entry creation fields

Example

Query
mutation createRuleEntry($input: RuleEntryCreateInput!) {
  createRuleEntry(input: $input) {
    id
    created
    updated
    type
    createdByUserId
    createdByGroupId
    groupId
    subType
    isCheckAllowedForUnauthorizedUsers
    geofenceSiteId
    workingHoursAssetId
    activatedAt
    isAssetTriggerForCustomers
    assetFilters {
      ...FiltersFragment
    }
    isForAllAssets
    isAssetAssignNew
    isAssetVehicle
    assetGroupId
    isScheduleFixed
    scheduleStartAt
    scheduleStartPointField
    scheduleStartPointFallback
    scheduleStartPointCustomFieldId
    isScheduleManualDeactivation
    hasNotification
    hasNotificationCritical
    hasNotificationImmediate
    hasNotificationEmail
    hasNotificationPush
    hasNotificationOnNewAsset
    hasNotificationTimingBeforeDue
    hasNotificationTimingWhenDue
    createdByGroup {
      ...GroupFragment
    }
    group {
      ...GroupFragment
    }
    assetGroup {
      ...GroupFragment
    }
    workingHoursAsset {
      ...AssetFragment
    }
    createdByUser {
      ...UserFragment
    }
    site {
      ...SiteFragment
    }
    scheduleStartPointCustomField {
      ...CustomFieldFragment
    }
    name {
      ...TranslationFragment
    }
    description {
      ...TranslationFragment
    }
    manuallyAddedAssets {
      ...AssetFragment
    }
    scheduleTriggers {
      ...RuleEntryScheduleTriggerFragment
    }
    notificationRecipients {
      ...RuleEntryNotificationRecipientFragment
    }
    notificationTimings {
      ...RuleEntryNotificationTimingFragment
    }
  }
}
Variables
{"input": RuleEntryCreateInput}
Response
{
  "data": {
    "createRuleEntry": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "type": "INSPECTION",
      "createdByUserId": HashedId,
      "createdByGroupId": HashedId,
      "groupId": HashedId,
      "subType": "ERROR",
      "isCheckAllowedForUnauthorizedUsers": true,
      "geofenceSiteId": HashedId,
      "workingHoursAssetId": HashedId,
      "activatedAt": "2007-12-03T10:15:30Z",
      "isAssetTriggerForCustomers": false,
      "assetFilters": [Filters],
      "isForAllAssets": false,
      "isAssetAssignNew": false,
      "isAssetVehicle": true,
      "assetGroupId": HashedId,
      "isScheduleFixed": false,
      "scheduleStartAt": "2007-12-03T10:15:30Z",
      "scheduleStartPointField": "CUSTOM_FIELD",
      "scheduleStartPointFallback": "USE_CREATED_DATE",
      "scheduleStartPointCustomFieldId": HashedId,
      "isScheduleManualDeactivation": true,
      "hasNotification": true,
      "hasNotificationCritical": true,
      "hasNotificationImmediate": false,
      "hasNotificationEmail": true,
      "hasNotificationPush": true,
      "hasNotificationOnNewAsset": true,
      "hasNotificationTimingBeforeDue": true,
      "hasNotificationTimingWhenDue": false,
      "createdByGroup": Group,
      "group": Group,
      "assetGroup": Group,
      "workingHoursAsset": Asset,
      "createdByUser": User,
      "site": Site,
      "scheduleStartPointCustomField": CustomField,
      "name": Translation,
      "description": Translation,
      "manuallyAddedAssets": [Asset],
      "scheduleTriggers": [RuleEntryScheduleTrigger],
      "notificationRecipients": [
        RuleEntryNotificationRecipient
      ],
      "notificationTimings": [RuleEntryNotificationTiming]
    }
  }
}

createRuleEntryView

Description

Create a new saved rule entry view for the current user

Response

Returns a RuleEntryView!

Arguments
Name Description
view - RuleEntryViewCreateInput! View configuration data

Example

Query
mutation createRuleEntryView($view: RuleEntryViewCreateInput!) {
  createRuleEntryView(view: $view) {
    id
    created
    updated
    titleId
    forEntity
    displayMode
    options {
      ...RuleEntryViewOptionsFragment
    }
    isActive
    isSystemView
    isShared
    isEditable
    isDeletable
    isShareable
    isUnsharedByParentGroup
    title {
      ...TranslationFragment
    }
  }
}
Variables
{"view": RuleEntryViewCreateInput}
Response
{
  "data": {
    "createRuleEntryView": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "titleId": HashedId,
      "forEntity": "ASSET",
      "displayMode": "LIST",
      "options": RuleEntryViewOptions,
      "isActive": true,
      "isSystemView": false,
      "isShared": true,
      "isEditable": false,
      "isDeletable": true,
      "isShareable": true,
      "isUnsharedByParentGroup": true,
      "title": Translation
    }
  }
}

createServicePackage

Description

Create a new service package

Response

Returns a ServicePackage!

Arguments
Name Description
input - ServicePackageCreateInput! Service package creation fields

Example

Query
mutation createServicePackage($input: ServicePackageCreateInput!) {
  createServicePackage(input: $input) {
    id
    created
    updated
    titleId
    createdByUserId
    createdByGroupId
    assignedSitesCount
    assignedGroupsCount
    restrictionReason
    services {
      ...ServiceFragment
    }
    createdByGroup {
      ...GroupFragment
    }
    title {
      ...TranslationFragment
    }
    createdByUser {
      ...UserFragment
    }
    deleted
    canBeDeleted
  }
}
Variables
{"input": ServicePackageCreateInput}
Response
{
  "data": {
    "createServicePackage": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "titleId": HashedId,
      "createdByUserId": HashedId,
      "createdByGroupId": HashedId,
      "assignedSitesCount": 987,
      "assignedGroupsCount": 987,
      "restrictionReason": "NOT_IN_CUSTOMER_TREE",
      "services": [Service],
      "createdByGroup": Group,
      "title": Translation,
      "createdByUser": User,
      "deleted": 1592577642,
      "canBeDeleted": true
    }
  }
}

createServices

Description

Bulk-create new services (restricted to ToolSense platform administrators)

Response

Returns [Service!]!

Arguments
Name Description
services - [ServiceCreateInput!]! Associated services
servicePackageId - HashedId! Service package identifier

Example

Query
mutation createServices(
  $services: [ServiceCreateInput!]!,
  $servicePackageId: HashedId!
) {
  createServices(
    services: $services,
    servicePackageId: $servicePackageId
  ) {
    id
    created
    updated
    titleId
    publicId
    procedureTemplateId
    publicProcedureTemplateId
    keys
    contentType
    assigneeAutomation
    preset
    type
    iconUrl
    formId
    jotformId
    jotformSource
    isServiceCheck
    assigneeAutomationId
    createdByGroupId
    belongsToGroupTypeId
    suggestedServicePartner
    servicePartner {
      ...AvailableHandlerFragment
    }
    availableHandlers {
      ...AvailableServiceHandlerDtoFragment
    }
    ticketHandlers {
      ...ServiceTicketHandlerFragment
    }
    title {
      ...TranslationFragment
    }
    servicePackage {
      ...ServicePackageFragment
    }
    servicePackages {
      ...ServicePackageFragment
    }
    procedureTemplate {
      ...ProcedureTemplateFragment
    }
    deleted
    createdByGroup {
      ...GroupFragment
    }
    rules {
      ...RuleFragment
    }
    canBeDeleted
  }
}
Variables
{
  "services": [ServiceCreateInput],
  "servicePackageId": HashedId
}
Response
{
  "data": {
    "createServices": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "titleId": HashedId,
        "publicId": 987,
        "procedureTemplateId": HashedId,
        "publicProcedureTemplateId": 987,
        "keys": ["xyz789"],
        "contentType": "formHtml",
        "assigneeAutomation": "SUGGESTED_PARTNER",
        "preset": "BLE",
        "type": "JOT_FORM",
        "iconUrl": "abc123",
        "formId": "xyz789",
        "jotformId": "abc123",
        "jotformSource": "xyz789",
        "isServiceCheck": false,
        "assigneeAutomationId": 987,
        "createdByGroupId": HashedId,
        "belongsToGroupTypeId": HashedId,
        "suggestedServicePartner": "abc123",
        "servicePartner": AvailableHandler,
        "availableHandlers": [AvailableServiceHandlerDto],
        "ticketHandlers": [ServiceTicketHandler],
        "title": Translation,
        "servicePackage": ServicePackage,
        "servicePackages": [ServicePackage],
        "procedureTemplate": ProcedureTemplate,
        "deleted": 1592577642,
        "createdByGroup": Group,
        "rules": [Rule],
        "canBeDeleted": true
      }
    ]
  }
}

createSite

Description

Create a new site using the legacy flat input format

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.
note - String Free-text notes or additional remarks about this site
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 Human-readable location description such as floor or building wing
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 Country where the site is located
customerNumber - String Customer number - arbitrary, for the Customer to manage their own Customers
postalCode - String Postal or ZIP code of the site address
geofenceSettings - JSON Geofence settings, if set. See Rules schema for syntax.
assignedToGroupId - HashedId Group the record is assigned to
coordinates - CoordinatesInput Geographic latitude and longitude of the site
disableWebhooks - Boolean When true, suppresses webhook notifications for this creation
geofenceNotification - [RuleNotificationRelationInput] When a geofence event happens, send notifications to these entities

Example

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

createSiteV2

Description

Create a new site with structured input for location, managers, and options

Response

Returns a Site

Arguments
Name Description
siteInput - SiteCreateInput! Core site fields such as name, address, and location
optionsInput - SiteCreateOptionsInput Additional options like group assignment, webhooks, and managers

Example

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

createTeam

Description

Create a new team for ticket assignment

Response

Returns a Team!

Arguments
Name Description
input - TeamCreateInput! Team creation fields

Example

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

createTerms

Description

Create a new terms and conditions document

Response

Returns a Terms!

Arguments
Name Description
title - TranslationInput! Title text
content - TranslationInput! Content body or payload

Example

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

createTicket

Needed only for one client. Do not use in new code
Description

Create a ticket with custom content fields

Response

Returns a Ticket!

Arguments
Name Description
status - TicketStateEnum New workflow status for the ticket
disableWebhooks - Boolean Whether to skip webhook notifications for this operation. Default = false
title - TranslationInput! Translatable title of the new ticket
content - String! Detailed description of the ticket issue
associatedAssetIds - [HashedId!] Assets to link to this ticket at creation

Example

Query
mutation createTicket(
  $status: TicketStateEnum,
  $disableWebhooks: Boolean,
  $title: TranslationInput!,
  $content: String!,
  $associatedAssetIds: [HashedId!]
) {
  createTicket(
    status: $status,
    disableWebhooks: $disableWebhooks,
    title: $title,
    content: $content,
    associatedAssetIds: $associatedAssetIds
  ) {
    id
    created
    updated
    content
    uuid
    serviceResponseId
    isStatusUpdatedAutomatically
    statusUpdatedAt
    statusUpdatedByUserId
    createdByUserId
    createdByGroupId
    titleId
    serviceId
    checkEventId
    ticketId
    creatingSyncedOn
    assignee {
      ...ProcessHandlerFragment
    }
    responsibles {
      ...ProcessHandlerFragment
    }
    statusUpdatedByUser {
      ...UserFragment
    }
    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
    urgency
    status
    associatedSites {
      ...SiteFragment
    }
    associatedAssetCategories {
      ...AssetCategoryFragment
    }
    associatedAssetTypes {
      ...AssetTypeFragment
    }
    checkEvent {
      ...EventFragment
    }
    ticketContent {
      ...TicketContentFieldFragment
    }
    automationDetails {
      ...TicketAutomationDetailsFragment
    }
    userHandlers {
      ...TicketHandlerUserFragment
    }
    teamHandlers {
      ...TicketHandlerTeamFragment
    }
    groupHandlers {
      ...TicketHandlerGroupFragment
    }
    externalEmailHandlers {
      ...TicketHandlerExternalEmailFragment
    }
    groupTicketHandlerHandlers {
      ...TicketHandlerGroupTicketHandlerFragment
    }
    siteManagerHandler {
      ...TicketHandlerSiteManagerFragment
    }
    costs {
      ...CostFragment
    }
    procedureInstanceId
    procedureInstance {
      ...ProcedureInstanceFragment
    }
    comments {
      ...TicketCommentFragment
    }
    costLines {
      ...CostLineFragment
    }
    history {
      ...TicketHistoryFragment
    }
    activityEvents {
      ... on TicketHandlerUpdate {
        ...TicketHandlerUpdateFragment
      }
      ... on TicketUrgencyUpdate {
        ...TicketUrgencyUpdateFragment
      }
      ... on TicketAssetCheckComplete {
        ...TicketAssetCheckCompleteFragment
      }
      ... on TicketAssetSiteUpdate {
        ...TicketAssetSiteUpdateFragment
      }
      ... on TicketAssetAvailabilityUpdate {
        ...TicketAssetAvailabilityUpdateFragment
      }
      ... on TicketAutomationEmailSent {
        ...TicketAutomationEmailSentFragment
      }
    }
  }
}
Variables
{
  "status": "open",
  "disableWebhooks": false,
  "title": TranslationInput,
  "content": "xyz789",
  "associatedAssetIds": [HashedId]
}
Response
{
  "data": {
    "createTicket": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "content": {},
      "uuid": "abc123",
      "serviceResponseId": HashedId,
      "isStatusUpdatedAutomatically": false,
      "statusUpdatedAt": 1592577642,
      "statusUpdatedByUserId": HashedId,
      "createdByUserId": HashedId,
      "createdByGroupId": HashedId,
      "titleId": HashedId,
      "serviceId": HashedId,
      "checkEventId": HashedId,
      "ticketId": 123,
      "creatingSyncedOn": 1592577642,
      "assignee": ProcessHandler,
      "responsibles": [ProcessHandler],
      "statusUpdatedByUser": User,
      "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": "xyz789",
      "fuelCosts": "xyz789",
      "insuranceTaxesCosts": "xyz789",
      "laborCosts": "abc123",
      "logisticsCosts": "xyz789",
      "otherCosts": "xyz789",
      "repairCosts": "abc123",
      "sparePartsCosts": "xyz789",
      "ticketTimeline": TicketTimeline,
      "totalCosts": "xyz789",
      "urgency": "CRITICAL",
      "status": "open",
      "associatedSites": [Site],
      "associatedAssetCategories": [AssetCategory],
      "associatedAssetTypes": [AssetType],
      "checkEvent": Event,
      "ticketContent": [TicketContentField],
      "automationDetails": TicketAutomationDetails,
      "userHandlers": [TicketHandlerUser],
      "teamHandlers": [TicketHandlerTeam],
      "groupHandlers": [TicketHandlerGroup],
      "externalEmailHandlers": [
        TicketHandlerExternalEmail
      ],
      "groupTicketHandlerHandlers": [
        TicketHandlerGroupTicketHandler
      ],
      "siteManagerHandler": TicketHandlerSiteManager,
      "costs": [Cost],
      "procedureInstanceId": HashedId,
      "procedureInstance": ProcedureInstance,
      "comments": [TicketComment],
      "costLines": [CostLine],
      "history": [TicketHistory],
      "activityEvents": [TicketHandlerUpdate]
    }
  }
}

createTicketComment

Use "createCommentForTicket" instead
Description

Add a comment to a ticket using legacy format

Response

Returns a TicketComment!

Arguments
Name Description
disableWebhooks - Boolean Whether to skip webhook notifications for this operation. Default = false
ticketId - HashedId! Ticket to add the comment to
content - String! Comment message text
attachments - [Upload!] Files attached to the comment
internal - Boolean Whether the comment is internal-only

Example

Query
mutation createTicketComment(
  $disableWebhooks: Boolean,
  $ticketId: HashedId!,
  $content: String!,
  $attachments: [Upload!],
  $internal: Boolean
) {
  createTicketComment(
    disableWebhooks: $disableWebhooks,
    ticketId: $ticketId,
    content: $content,
    attachments: $attachments,
    internal: $internal
  ) {
    id
    created
    updated
    createdByUserId
    ticketId
    authorEmail
    createdByUser {
      ...TicketUserFragment
    }
    history {
      ...TicketCommentContentFragment
    }
    content {
      ...TicketCommentContentFragment
    }
    isAutomated
    costs {
      ...CostLineFragment
    }
    stateEvent {
      ...TicketStateFragment
    }
    ticketStatus
    itemsEvent {
      ...TicketItemsChangeFragment
    }
    attachments {
      ...DocumentFragment
    }
    connectedEventId
    connectedEvent {
      ...EventFragment
    }
    internal
    deleted
    ticketHistory {
      ...TicketHistoryFragment
    }
  }
}
Variables
{
  "disableWebhooks": false,
  "ticketId": HashedId,
  "content": "abc123",
  "attachments": [Upload],
  "internal": true
}
Response
{
  "data": {
    "createTicketComment": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "createdByUserId": HashedId,
      "ticketId": HashedId,
      "authorEmail": "xyz789",
      "createdByUser": TicketUser,
      "history": [TicketCommentContent],
      "content": TicketCommentContent,
      "isAutomated": false,
      "costs": [CostLine],
      "stateEvent": TicketState,
      "ticketStatus": "open",
      "itemsEvent": TicketItemsChange,
      "attachments": [Document],
      "connectedEventId": HashedId,
      "connectedEvent": Event,
      "internal": true,
      "deleted": 1592577642,
      "ticketHistory": TicketHistory
    }
  }
}

createTicketHandlerExternalEmail

Description

Add multiple external emails as ticket handlers

Response

Returns a TicketHandlerExternalEmail!

Arguments
Name Description
input - TicketHandlerExternalEmailCreateInput! Ticket handler external email creation fields

Example

Query
mutation createTicketHandlerExternalEmail($input: TicketHandlerExternalEmailCreateInput!) {
  createTicketHandlerExternalEmail(input: $input) {
    id
    created
    updated
    isRemovable
    ticketId
    isNotifiable
    role
    email
  }
}
Variables
{"input": TicketHandlerExternalEmailCreateInput}
Response
{
  "data": {
    "createTicketHandlerExternalEmail": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "isRemovable": true,
      "ticketId": HashedId,
      "isNotifiable": true,
      "role": "ASSIGNEE",
      "email": "xyz789"
    }
  }
}

createTicketHandlerGroup

Description

Assign multiple groups as ticket handlers

Response

Returns a TicketHandlerGroup!

Arguments
Name Description
input - TicketHandlerGroupCreateInput! Ticket handler group creation fields

Example

Query
mutation createTicketHandlerGroup($input: TicketHandlerGroupCreateInput!) {
  createTicketHandlerGroup(input: $input) {
    id
    created
    updated
    isRemovable
    ticketId
    isNotifiable
    role
    groupId
    group {
      ...GroupFragment
    }
  }
}
Variables
{"input": TicketHandlerGroupCreateInput}
Response
{
  "data": {
    "createTicketHandlerGroup": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "isRemovable": true,
      "ticketId": HashedId,
      "isNotifiable": false,
      "role": "ASSIGNEE",
      "groupId": HashedId,
      "group": Group
    }
  }
}

createTicketHandlerGroupTicketHandler

Description

Assign a group ticket handler to the ticket

Arguments
Name Description
input - TicketHandlerGroupTicketHandlerCreateInput! Ticket handler group ticket handler creation fields

Example

Query
mutation createTicketHandlerGroupTicketHandler($input: TicketHandlerGroupTicketHandlerCreateInput!) {
  createTicketHandlerGroupTicketHandler(input: $input) {
    id
    created
    updated
    isRemovable
    ticketId
    isNotifiable
    role
    groupTicketHandlerId
    groupTicketHandler {
      ...GroupTicketHandlerFragment
    }
  }
}
Variables
{"input": TicketHandlerGroupTicketHandlerCreateInput}
Response
{
  "data": {
    "createTicketHandlerGroupTicketHandler": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "isRemovable": false,
      "ticketId": HashedId,
      "isNotifiable": false,
      "role": "ASSIGNEE",
      "groupTicketHandlerId": HashedId,
      "groupTicketHandler": GroupTicketHandler
    }
  }
}

createTicketHandlerSiteManagerByTicketId

Description

Assign the site manager as a ticket handler

Response

Returns a TicketHandlerSiteManager!

Arguments
Name Description
id - HashedId! Unique identifier of the entity

Example

Query
mutation createTicketHandlerSiteManagerByTicketId($id: HashedId!) {
  createTicketHandlerSiteManagerByTicketId(id: $id) {
    id
    created
    updated
    isRemovable
    ticketId
    isNotifiable
    role
  }
}
Variables
{"id": HashedId}
Response
{
  "data": {
    "createTicketHandlerSiteManagerByTicketId": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "isRemovable": false,
      "ticketId": HashedId,
      "isNotifiable": true,
      "role": "ASSIGNEE"
    }
  }
}

createTicketHandlerTeam

Description

Assign a team as a ticket handler

Response

Returns a TicketHandlerTeam!

Arguments
Name Description
input - TicketHandlerTeamCreateInput! Ticket handler team creation fields

Example

Query
mutation createTicketHandlerTeam($input: TicketHandlerTeamCreateInput!) {
  createTicketHandlerTeam(input: $input) {
    id
    created
    updated
    isRemovable
    ticketId
    isNotifiable
    role
    teamId
    team {
      ...TeamFragment
    }
  }
}
Variables
{"input": TicketHandlerTeamCreateInput}
Response
{
  "data": {
    "createTicketHandlerTeam": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "isRemovable": true,
      "ticketId": HashedId,
      "isNotifiable": true,
      "role": "ASSIGNEE",
      "teamId": HashedId,
      "team": Team
    }
  }
}

createTicketHandlerUser

Description

Assign a user as a ticket handler

Response

Returns a TicketHandlerUser!

Arguments
Name Description
input - TicketHandlerUserCreateInput! Ticket handler user creation fields

Example

Query
mutation createTicketHandlerUser($input: TicketHandlerUserCreateInput!) {
  createTicketHandlerUser(input: $input) {
    id
    created
    updated
    isRemovable
    ticketId
    isNotifiable
    role
    userId
    user {
      ...UserFragment
    }
  }
}
Variables
{"input": TicketHandlerUserCreateInput}
Response
{
  "data": {
    "createTicketHandlerUser": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "isRemovable": true,
      "ticketId": HashedId,
      "isNotifiable": false,
      "role": "ASSIGNEE",
      "userId": HashedId,
      "user": User
    }
  }
}

createTicketView

Description

Create a new saved ticket list view for the current user

Response

Returns a TicketView!

Arguments
Name Description
view - TicketViewCreateInput! View configuration data

Example

Query
mutation createTicketView($view: TicketViewCreateInput!) {
  createTicketView(view: $view) {
    id
    created
    updated
    titleId
    forEntity
    displayMode
    options {
      ...TicketViewOptionsFragment
    }
    isActive
    isSystemView
    isShared
    isEditable
    isDeletable
    isShareable
    isUnsharedByParentGroup
    title {
      ...TranslationFragment
    }
  }
}
Variables
{"view": TicketViewCreateInput}
Response
{
  "data": {
    "createTicketView": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "titleId": HashedId,
      "forEntity": "ASSET",
      "displayMode": "LIST",
      "options": TicketViewOptions,
      "isActive": false,
      "isSystemView": false,
      "isShared": true,
      "isEditable": false,
      "isDeletable": false,
      "isShareable": false,
      "isUnsharedByParentGroup": true,
      "title": Translation
    }
  }
}

createTripsView

Description

Create a new saved trips view for the current user

Response

Returns a TripsView!

Arguments
Name Description
view - TripsViewCreateInput! View configuration data

Example

Query
mutation createTripsView($view: TripsViewCreateInput!) {
  createTripsView(view: $view) {
    id
    created
    updated
    titleId
    forEntity
    displayMode
    options {
      ...TripsViewOptionsFragment
    }
    isActive
    isSystemView
    isShared
    isEditable
    isDeletable
    isShareable
    isUnsharedByParentGroup
    title {
      ...TranslationFragment
    }
  }
}
Variables
{"view": TripsViewCreateInput}
Response
{
  "data": {
    "createTripsView": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "titleId": HashedId,
      "forEntity": "ASSET",
      "displayMode": "LIST",
      "options": TripsViewOptions,
      "isActive": false,
      "isSystemView": false,
      "isShared": false,
      "isEditable": true,
      "isDeletable": false,
      "isShareable": true,
      "isUnsharedByParentGroup": true,
      "title": Translation
    }
  }
}

createUser

there is no password reset link in this mutation. Use createUserV2 instead.
Description

Create a new user account (deprecated: use createUserV2)

Response

Returns [User!]

Arguments
Name Description
belongsToGroupId - HashedId! Group this record belongs to
email - String! Email address
roleId - HashedId! Role identifier
languageId - HashedId! Language preference identifier
dashboardId - HashedId Dashboard identifier
activationRoute - String Activation route
firstname - String First name
isSSOEnabled - Boolean Whether s s o enabled
isCostEnabled - Boolean Whether cost enabled
lastname - String Last name
locale - String Locale tag
password - String Account password. Default = "INVALID"
phone - String Phone number
preventInviteEmail - Boolean Prevent invite email
settings - JSON Configuration settings
settingsPath - String Settings path
supportAdmin - Boolean Support admin
timezone - String Timezone identifier
username - String keeping it for backward compatibility, if passed value for username it will be ignored
label - String Display label
canShareViews - Boolean Whether the user can share views
canEditOnlyOwnDocuments - Boolean Whether this user can only edit and delete their own documents
info - JSON Info

Example

Query
mutation createUser(
  $belongsToGroupId: HashedId!,
  $email: String!,
  $roleId: HashedId!,
  $languageId: HashedId!,
  $dashboardId: HashedId,
  $activationRoute: String,
  $firstname: String,
  $isSSOEnabled: Boolean,
  $isCostEnabled: 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,
  $canEditOnlyOwnDocuments: Boolean,
  $info: JSON
) {
  createUser(
    belongsToGroupId: $belongsToGroupId,
    email: $email,
    roleId: $roleId,
    languageId: $languageId,
    dashboardId: $dashboardId,
    activationRoute: $activationRoute,
    firstname: $firstname,
    isSSOEnabled: $isSSOEnabled,
    isCostEnabled: $isCostEnabled,
    lastname: $lastname,
    locale: $locale,
    password: $password,
    phone: $phone,
    preventInviteEmail: $preventInviteEmail,
    settings: $settings,
    settingsPath: $settingsPath,
    supportAdmin: $supportAdmin,
    timezone: $timezone,
    username: $username,
    label: $label,
    canShareViews: $canShareViews,
    canEditOnlyOwnDocuments: $canEditOnlyOwnDocuments,
    info: $info
  ) {
    id
    created
    updated
    publicId
    firstname
    lastname
    password
    email
    phone
    fullName
    groupId
    roleId
    isSupportAdmin
    canShareViews
    isSSOEnabled
    isCostEnabled
    canEditOnlyOwnDocuments
    toolsenseAdmin
    languageId
    language
    languageCode
    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
    }
    roleKey
    teams {
      ...TeamFragment
    }
    groups {
      ...GroupFragment
    }
    additionalGroups {
      ...GroupFragment
    }
    settings
    unavailability {
      ...UserUnavailabilityFragment
    }
    hasMultipleGroups
  }
}
Variables
{
  "belongsToGroupId": HashedId,
  "email": "xyz789",
  "roleId": HashedId,
  "languageId": HashedId,
  "dashboardId": HashedId,
  "activationRoute": "xyz789",
  "firstname": "xyz789",
  "isSSOEnabled": true,
  "isCostEnabled": false,
  "lastname": "xyz789",
  "locale": "abc123",
  "password": "INVALID",
  "phone": "abc123",
  "preventInviteEmail": true,
  "settings": {},
  "settingsPath": "xyz789",
  "supportAdmin": false,
  "timezone": "abc123",
  "username": "abc123",
  "label": "abc123",
  "canShareViews": true,
  "canEditOnlyOwnDocuments": false,
  "info": {}
}
Response
{
  "data": {
    "createUser": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "publicId": 987,
        "firstname": "xyz789",
        "lastname": "xyz789",
        "password": "abc123",
        "email": "abc123",
        "phone": "abc123",
        "fullName": "xyz789",
        "groupId": HashedId,
        "roleId": HashedId,
        "isSupportAdmin": false,
        "canShareViews": true,
        "isSSOEnabled": false,
        "isCostEnabled": true,
        "canEditOnlyOwnDocuments": true,
        "toolsenseAdmin": false,
        "languageId": HashedId,
        "language": HashedId,
        "languageCode": "en_us",
        "dashboardId": HashedId,
        "locale": LanguageTag,
        "timezone": "abc123",
        "label": "xyz789",
        "apiKey": "abc123",
        "image": "xyz789",
        "activated": 1592577642,
        "isServicing": false,
        "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,
        "roleKey": "SuperUser",
        "teams": [Team],
        "groups": [Group],
        "additionalGroups": [Group],
        "settings": {},
        "unavailability": [UserUnavailability],
        "hasMultipleGroups": false
      }
    ]
  }
}

createUserV2

Description

Create a new user account with password reset link

Response

Returns a CreateUserDto

Arguments
Name Description
belongsToGroupId - HashedId! Group this record belongs to
email - String! Email address
roleId - HashedId! Role identifier
languageId - HashedId! Language preference identifier
dashboardId - HashedId Dashboard identifier
activationRoute - String Activation route
firstname - String First name
isSSOEnabled - Boolean Whether s s o enabled
isCostEnabled - Boolean Whether cost enabled
lastname - String Last name
locale - String Locale tag
password - String Account password. Default = "INVALID"
phone - String Phone number
preventInviteEmail - Boolean Prevent invite email
settings - JSON Configuration settings
settingsPath - String Settings path
supportAdmin - Boolean Support admin
timezone - String Timezone identifier
username - String keeping it for backward compatibility, if passed value for username it will be ignored
label - String Display label
canShareViews - Boolean Whether the user can share views
canEditOnlyOwnDocuments - Boolean Whether this user can only edit and delete their own documents
info - JSON Info

Example

Query
mutation createUserV2(
  $belongsToGroupId: HashedId!,
  $email: String!,
  $roleId: HashedId!,
  $languageId: HashedId!,
  $dashboardId: HashedId,
  $activationRoute: String,
  $firstname: String,
  $isSSOEnabled: Boolean,
  $isCostEnabled: 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,
  $canEditOnlyOwnDocuments: Boolean,
  $info: JSON
) {
  createUserV2(
    belongsToGroupId: $belongsToGroupId,
    email: $email,
    roleId: $roleId,
    languageId: $languageId,
    dashboardId: $dashboardId,
    activationRoute: $activationRoute,
    firstname: $firstname,
    isSSOEnabled: $isSSOEnabled,
    isCostEnabled: $isCostEnabled,
    lastname: $lastname,
    locale: $locale,
    password: $password,
    phone: $phone,
    preventInviteEmail: $preventInviteEmail,
    settings: $settings,
    settingsPath: $settingsPath,
    supportAdmin: $supportAdmin,
    timezone: $timezone,
    username: $username,
    label: $label,
    canShareViews: $canShareViews,
    canEditOnlyOwnDocuments: $canEditOnlyOwnDocuments,
    info: $info
  ) {
    user {
      ...UserFragment
    }
    passwordResetLink
  }
}
Variables
{
  "belongsToGroupId": HashedId,
  "email": "xyz789",
  "roleId": HashedId,
  "languageId": HashedId,
  "dashboardId": HashedId,
  "activationRoute": "abc123",
  "firstname": "xyz789",
  "isSSOEnabled": false,
  "isCostEnabled": true,
  "lastname": "xyz789",
  "locale": "xyz789",
  "password": "INVALID",
  "phone": "xyz789",
  "preventInviteEmail": false,
  "settings": {},
  "settingsPath": "xyz789",
  "supportAdmin": true,
  "timezone": "xyz789",
  "username": "xyz789",
  "label": "xyz789",
  "canShareViews": true,
  "canEditOnlyOwnDocuments": true,
  "info": {}
}
Response
{
  "data": {
    "createUserV2": {
      "user": User,
      "passwordResetLink": "xyz789"
    }
  }
}

createWebhook

Description

Register a new webhook notification endpoint

Response

Returns a Webhook!

Arguments
Name Description
input - WebhookCreateInput! Webhook creation fields

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": "abc123",
      "forTickets": false,
      "forSites": true,
      "forAssets": true,
      "forWorkOrders": false
    }
  }
}

createWorkOrder

Description

Create a new work order for the current user group

Response

Returns a WorkOrderV2!

Arguments
Name Description
workOrder - WorkOrderCreateInput! Input data required to create a new work order

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
    }
    locations {
      ...WorkOrderLocationFragment
    }
    assets {
      ...AssetFragment
    }
    createdByGroup {
      ...GroupFragment
    }
    personnel {
      ...WorkOrderCostFragment
    }
    assetCollections {
      ...WorkOrderAssetCollectionFragment
    }
    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": 987,
      "notes": Translation,
      "sourceTicketId": HashedId,
      "assignee": WorkOrderPersonnelV2,
      "followers": [WorkOrderPersonnelV2],
      "workers": [WorkOrderPersonnelV2],
      "costs": [WorkOrderCost],
      "dailyRate": WorkOrderCost,
      "locations": [WorkOrderLocation],
      "assets": [Asset],
      "createdByGroup": Group,
      "personnel": [WorkOrderCost],
      "assetCollections": [WorkOrderAssetCollection],
      "history": [WorkOrderHistoryEntry]
    }
  }
}

createWorkOrderFromTicket

Description

Create a new work order from an existing ticket

Response

Returns a WorkOrderV2!

Arguments
Name Description
ticket - IdInput! ID of the ticket to create the work order from

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
    }
    locations {
      ...WorkOrderLocationFragment
    }
    assets {
      ...AssetFragment
    }
    createdByGroup {
      ...GroupFragment
    }
    personnel {
      ...WorkOrderCostFragment
    }
    assetCollections {
      ...WorkOrderAssetCollectionFragment
    }
    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": "abc123",
      "status": "PENDING",
      "notesId": HashedId,
      "costCenter": "xyz789",
      "siteId": HashedId,
      "creator": User,
      "procedureTemplate": ProcedureTemplate,
      "site": Site,
      "workOrderNumber": 987,
      "notes": Translation,
      "sourceTicketId": HashedId,
      "assignee": WorkOrderPersonnelV2,
      "followers": [WorkOrderPersonnelV2],
      "workers": [WorkOrderPersonnelV2],
      "costs": [WorkOrderCost],
      "dailyRate": WorkOrderCost,
      "locations": [WorkOrderLocation],
      "assets": [Asset],
      "createdByGroup": Group,
      "personnel": [WorkOrderCost],
      "assetCollections": [WorkOrderAssetCollection],
      "history": [WorkOrderHistoryEntry]
    }
  }
}

deactivateTerms

Description

Deactivate terms and conditions documents by their IDs

Response

Returns a Boolean!

Arguments
Name Description
id - [HashedId!]! List of unique identifiers

Example

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

deactivateTicketComment

Description

Soft-delete a ticket comment by marking it inactive

Response

Returns a Boolean

Arguments
Name Description
id - HashedId! Unique identifier of the entity

Example

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

deleteAsset

Description

Permanently delete an asset (legacy, use deleteAssetV2)

Response

Returns [Boolean!]!

Arguments
Name Description
id - HashedId! Unique identifier of the entity

Example

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

deleteAssetCategory

Description

Delete an asset category and unlink its assets

Response

Returns [Boolean!]

Arguments
Name Description
id - HashedId! ID of the asset category to delete

Example

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

deleteAssetDataByAssetId

Description

Delete all telemetry data for a given asset

Response

Returns a Boolean!

Arguments
Name Description
assetId - HashedId! ID of the asset whose data to delete

Example

Query
mutation deleteAssetDataByAssetId($assetId: HashedId!) {
  deleteAssetDataByAssetId(assetId: $assetId)
}
Variables
{"assetId": HashedId}
Response
{"data": {"deleteAssetDataByAssetId": false}}

deleteAssetIntegrationById

Description

Delete an asset integration by ID

Response

Returns a Boolean!

Arguments
Name Description
id - HashedId! Unique identifier of the entity

Example

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

deleteAssetSiteAssignment

Description

Delete an asset site assignment by ID

Response

Returns an AssetSiteAssignment!

Arguments
Name Description
id - HashedId! Unique identifier of the entity

Example

Query
mutation deleteAssetSiteAssignment($id: HashedId!) {
  deleteAssetSiteAssignment(id: $id) {
    id
    created
    updated
    assetId
    siteId
    status
    onSiteFrom
    onSiteUntil
    notes
    externalId
    publicId
    asset {
      ...AssetFragment
    }
    site {
      ...SiteFragment
    }
    totalDaysPlanned
    totalDaysUntilNow
    totalDaysPlannedInPeriod
    totalDaysUntilNowInPeriod
    costs {
      ...AssetSiteAssignmentCostDtoFragment
    }
    costCenter
    costCenterSource
    costCenterResolved
    costCenterSourceResolved
    costCenterSelected
    dailyRateInPeriod
    averageDailyRate
    totalDaysBilled
    totalDaysBilledInPeriod
    totalCosts
    totalCostsInPeriod
  }
}
Variables
{"id": HashedId}
Response
{
  "data": {
    "deleteAssetSiteAssignment": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "assetId": HashedId,
      "siteId": HashedId,
      "status": "ACTIVE",
      "onSiteFrom": "2007-12-03T10:15:30Z",
      "onSiteUntil": "2007-12-03T10:15:30Z",
      "notes": "abc123",
      "externalId": "abc123",
      "publicId": 987,
      "asset": Asset,
      "site": Site,
      "totalDaysPlanned": 987,
      "totalDaysUntilNow": 987,
      "totalDaysPlannedInPeriod": 123,
      "totalDaysUntilNowInPeriod": 123,
      "costs": [AssetSiteAssignmentCostDto],
      "costCenter": "xyz789",
      "costCenterSource": "ASSET",
      "costCenterResolved": "xyz789",
      "costCenterSourceResolved": "ASSET",
      "costCenterSelected": "xyz789",
      "dailyRateInPeriod": 987.65,
      "averageDailyRate": 987.65,
      "totalDaysBilled": 123,
      "totalDaysBilledInPeriod": 123,
      "totalCosts": 123.45,
      "totalCostsInPeriod": 123.45
    }
  }
}

deleteAssetType

Description

Delete an asset type if no assets are assigned

Response

Returns [Boolean]

Arguments
Name Description
id - HashedId! ID of the asset type to delete

Example

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

deleteAssetV2

Description

Permanently delete an asset and its related data

Response

Returns [Boolean!]!

Arguments
Name Description
id - HashedId! Unique identifier of the entity

Example

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

deleteBrandById

Description

Remove a brand by its ID

Response

Returns a Boolean!

Arguments
Name Description
id - HashedId! Unique identifier of the entity

Example

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

deleteCost

Description

Remove a cost entry by its ID

Response

Returns a Cost

Arguments
Name Description
id - HashedId! Unique identifier of the entity

Example

Query
mutation deleteCost($id: HashedId!) {
  deleteCost(id: $id) {
    id
    created
    updated
    assetId
    title
    description
    provider
    invoiceNumber
    invoiceDate
    costCenter
    siteId
    labelId
    ticketId
    createdByUserId
    label {
      ...CostLabelFragment
    }
    createdByUser {
      ...UserFragment
    }
    costLines {
      ...CostLineFragment
    }
    operatingCosts
    site {
      ...SiteFragment
    }
    asset {
      ...AssetFragment
    }
    documents {
      ...DocumentFragment
    }
    history {
      ...CostHistoryFragment
    }
  }
}
Variables
{"id": HashedId}
Response
{
  "data": {
    "deleteCost": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "assetId": HashedId,
      "title": "xyz789",
      "description": "abc123",
      "provider": "xyz789",
      "invoiceNumber": "xyz789",
      "invoiceDate": "2007-12-03T10:15:30Z",
      "costCenter": "abc123",
      "siteId": HashedId,
      "labelId": HashedId,
      "ticketId": HashedId,
      "createdByUserId": HashedId,
      "label": CostLabel,
      "createdByUser": User,
      "costLines": [CostLine],
      "operatingCosts": 123.45,
      "site": Site,
      "asset": Asset,
      "documents": [Document],
      "history": [CostHistory]
    }
  }
}

deleteDashboardById

Description

Delete dashboard by id

Response

Returns a Boolean!

Arguments
Name Description
id - HashedId! Unique identifier of the entity

Example

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

deleteDocument

Description

Delete document

Response

Returns [Boolean!]!

Arguments
Name Description
id - HashedId! Unique identifier of the entity

Example

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

deleteEvent

Description

Remove an event by its ID

Response

Returns an Event!

Arguments
Name Description
id - HashedId! Unique identifier of the entity

Example

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

deleteGroup

Use groups.deleteById instead
Description

Delete a group using the legacy endpoint that returns a boolean array

Response

Returns [Boolean!]!

Arguments
Name Description
id - HashedId! Unique identifier of the entity

Example

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

deleteGroupById

Description

Permanently delete a group and cascade-remove its settings and child associations

Response

Returns a Boolean!

Arguments
Name Description
id - HashedId! Unique identifier of the entity

Example

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

deleteGroupTicketHandlerExternalEmailById

Description

Remove an external email from group ticket handler assignment

Response

Returns a Boolean!

Arguments
Name Description
id - HashedId! Unique identifier of the entity

Example

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

deleteGroupTicketHandlerGroupById

Description

Remove a group-level ticket handler configuration

Response

Returns a Boolean!

Arguments
Name Description
id - HashedId! Unique identifier of the entity

Example

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

deleteGroupTicketHandlerSiteManagerByGroupHandlerId

Description

Remove the site manager from group ticket handler assignment

Response

Returns a Boolean!

Arguments
Name Description
id - HashedId! Unique identifier of the entity

Example

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

deleteGroupTicketHandlerTeamById

Description

Remove a team from group ticket handler assignment

Response

Returns a Boolean!

Arguments
Name Description
id - HashedId! Unique identifier of the entity

Example

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

deleteGroupTicketHandlerUserById

Description

Remove a user from group ticket handler assignment

Response

Returns a Boolean!

Arguments
Name Description
id - HashedId! Unique identifier of the entity

Example

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

deleteIntegration

Description

Remove an integration and its configuration

Response

Returns a Boolean!

Arguments
Name Description
id - HashedId! Unique identifier of the entity

Example

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

deleteManufacturerById

Description

Remove a manufacturer by its ID

Response

Returns a Boolean!

Arguments
Name Description
id - HashedId! Unique identifier of the entity

Example

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

deleteModuleById

Description

Remove an IoT module by its ID

Response

Returns a Boolean!

Arguments
Name Description
id - HashedId! Unique identifier of the entity

Example

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

deletePart

Description

Remove a spare part by its ID

Response

Returns a Boolean!

Arguments
Name Description
id - HashedId! Unique identifier of the entity

Example

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

deleteProcedureTemplateById

Description

Soft-deletes a procedure template if the caller has delete access

Response

Returns a Boolean!

Arguments
Name Description
id - HashedId! Unique identifier of the entity

Example

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

deleteReservation

Description

Delete a reservation by ID

Response

Returns [Boolean!]

Arguments
Name Description
id - HashedId! Unique identifier of the entity

Example

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

deleteRuleEntryById

Description

Delete rule entry by id

Response

Returns a Boolean!

Arguments
Name Description
id - HashedId! Unique identifier of the entity

Example

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

deleteServicePackageById

Description

Remove a service package by its ID

Response

Returns a Boolean!

Arguments
Name Description
id - HashedId! Unique identifier of the entity

Example

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

deleteSite

Description

Permanently delete a site and disassociate its related records

Response

Returns a Boolean

Arguments
Name Description
id - HashedId! Unique identifier of the entity

Example

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

deleteTeamById

Description

Remove a team by its ID

Response

Returns a Boolean!

Arguments
Name Description
id - HashedId! Unique identifier of the entity

Example

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

deleteTicketById

Description

Permanently delete a ticket by its ID

Response

Returns a Boolean!

Arguments
Name Description
id - HashedId! Unique identifier of the entity

Example

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

deleteTicketHandlerExternalEmailById

Description

Remove an external email from ticket handler assignment

Response

Returns a Boolean!

Arguments
Name Description
id - HashedId! Unique identifier of the entity

Example

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

deleteTicketHandlerGroupById

Description

Remove a group from ticket handler assignment

Response

Returns a Boolean!

Arguments
Name Description
id - HashedId! Unique identifier of the entity

Example

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

deleteTicketHandlerGroupTicketHandlerById

Description

Remove a group ticket handler from the ticket

Response

Returns a Boolean!

Arguments
Name Description
id - HashedId! Unique identifier of the entity

Example

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

deleteTicketHandlerSiteManagerByTicketId

Description

Remove the site manager from ticket handler assignment

Response

Returns a Boolean!

Arguments
Name Description
id - HashedId! Unique identifier of the entity

Example

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

deleteTicketHandlerTeamById

Description

Remove a team from ticket handler assignment

Response

Returns a Boolean!

Arguments
Name Description
id - HashedId! Unique identifier of the entity

Example

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

deleteTicketHandlerUserById

Description

Remove a user from ticket handler assignment

Response

Returns a Boolean!

Arguments
Name Description
id - HashedId! Unique identifier of the entity

Example

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

deleteUser

Description

Remove user accounts by their IDs

Response

Returns [Boolean!]!

Arguments
Name Description
id - [HashedId!]! List of unique identifiers

Example

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

deleteView

Description

Permanently delete a saved view

Response

Returns a Boolean!

Arguments
Name Description
view - IdInput! View to delete

Example

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

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! View configuration data

Example

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

deleteWebhook

Description

Remove a webhook endpoint by its ID

Response

Returns a Boolean!

Arguments
Name Description
input - IdInput! Webhook to delete

Example

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

deleteWorkOrder

Description

Permanently delete a work order by ID

Response

Returns a Boolean!

Arguments
Name Description
workOrder - IdInput! ID of the work order to delete

Example

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

endActiveAssetSiteAssignment

Description

End the currently active asset site assignment

Response

Returns an AssetSiteAssignment!

Arguments
Name Description
id - HashedId! Unique identifier of the entity

Example

Query
mutation endActiveAssetSiteAssignment($id: HashedId!) {
  endActiveAssetSiteAssignment(id: $id) {
    id
    created
    updated
    assetId
    siteId
    status
    onSiteFrom
    onSiteUntil
    notes
    externalId
    publicId
    asset {
      ...AssetFragment
    }
    site {
      ...SiteFragment
    }
    totalDaysPlanned
    totalDaysUntilNow
    totalDaysPlannedInPeriod
    totalDaysUntilNowInPeriod
    costs {
      ...AssetSiteAssignmentCostDtoFragment
    }
    costCenter
    costCenterSource
    costCenterResolved
    costCenterSourceResolved
    costCenterSelected
    dailyRateInPeriod
    averageDailyRate
    totalDaysBilled
    totalDaysBilledInPeriod
    totalCosts
    totalCostsInPeriod
  }
}
Variables
{"id": HashedId}
Response
{
  "data": {
    "endActiveAssetSiteAssignment": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "assetId": HashedId,
      "siteId": HashedId,
      "status": "ACTIVE",
      "onSiteFrom": "2007-12-03T10:15:30Z",
      "onSiteUntil": "2007-12-03T10:15:30Z",
      "notes": "abc123",
      "externalId": "abc123",
      "publicId": 123,
      "asset": Asset,
      "site": Site,
      "totalDaysPlanned": 123,
      "totalDaysUntilNow": 987,
      "totalDaysPlannedInPeriod": 987,
      "totalDaysUntilNowInPeriod": 123,
      "costs": [AssetSiteAssignmentCostDto],
      "costCenter": "xyz789",
      "costCenterSource": "ASSET",
      "costCenterResolved": "abc123",
      "costCenterSourceResolved": "ASSET",
      "costCenterSelected": "abc123",
      "dailyRateInPeriod": 123.45,
      "averageDailyRate": 123.45,
      "totalDaysBilled": 123,
      "totalDaysBilledInPeriod": 987,
      "totalCosts": 987.65,
      "totalCostsInPeriod": 987.65
    }
  }
}

importEntity

Description

Import multiple entities at once

Response

Returns an ExpectedResultType!

Arguments
Name Description
entity - String! Entity type to import
data - [JSON]! Array of entity data objects to import

Example

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

incrementPageviewCount

Description

Increment pageview count

Response

Returns a Boolean!

Example

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

integrationConfigUpdate

Description

Update configuration for a string-based integration

Response

Returns an IntegrationNew!

Arguments
Name Description
name - String! Free-text integration service name
configInput - [IntegrationUpdateInput!]! Key-value configuration entries to update

Example

Query
mutation integrationConfigUpdate(
  $name: String!,
  $configInput: [IntegrationUpdateInput!]!
) {
  integrationConfigUpdate(
    name: $name,
    configInput: $configInput
  ) {
    id
    created
    updated
    name
    config {
      ...IntegrationConfigKeyFragment
    }
    provider
    groupId
    treeRootGroupId
    userId
  }
}
Variables
{
  "name": "abc123",
  "configInput": [IntegrationUpdateInput]
}
Response
{
  "data": {
    "integrationConfigUpdate": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "name": "abc123",
      "config": [IntegrationConfigKey],
      "provider": "PUDU_PROVIDER",
      "groupId": HashedId,
      "treeRootGroupId": HashedId,
      "userId": HashedId
    }
  }
}

notificationConfig

Description

Update notification config

Response

Returns a NotificationConfigDto!

Arguments
Name Description
config - NotificationConfigInput! Key-value configuration parameters

Example

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

processAssetRequest

Description

Approve or deny pending asset access requests

Response

Returns a Boolean!

Arguments
Name Description
requests - [AssetRequestItem!] Asset requests to approve or deny

Example

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

processRegistrationRequest

Description

Approve or deny a pending registration request

Response

Returns a RegistrationRequest!

Arguments
Name Description
id - HashedId! Unique identifier of the entity
activationRoute - String! Activation route
denialMessage - String Denial message
username - String Username for authentication
targetGroup - RequestGroupInput Target group

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
    created
    updated
    forGroupId
    firstname
    lastname
    email
    phone
    companyAddress
    customerNumber
    dealerName
    groupName
    acceptedTermsVersionId
    salesRepresentative
    vatNumber
    languageId
    isProcessed
    isActive
    resultingUserId
    isDenied
    denialMessage
    processedByUserId
    resultingGroupId
    assetsCount
    forGroup {
      ...GroupFragment
    }
    resultingUser {
      ...UserFragment
    }
    processedByUser {
      ...UserFragment
    }
    resultingGroup {
      ...GroupFragment
    }
  }
}
Variables
{
  "id": HashedId,
  "activationRoute": "xyz789",
  "denialMessage": "abc123",
  "username": "xyz789",
  "targetGroup": RequestGroupInput
}
Response
{
  "data": {
    "processRegistrationRequest": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "forGroupId": HashedId,
      "firstname": "abc123",
      "lastname": "abc123",
      "email": "abc123",
      "phone": "xyz789",
      "companyAddress": "abc123",
      "customerNumber": "xyz789",
      "dealerName": "abc123",
      "groupName": "abc123",
      "acceptedTermsVersionId": HashedId,
      "salesRepresentative": "xyz789",
      "vatNumber": "abc123",
      "languageId": HashedId,
      "isProcessed": true,
      "isActive": true,
      "resultingUserId": HashedId,
      "isDenied": false,
      "denialMessage": "abc123",
      "processedByUserId": HashedId,
      "resultingGroupId": HashedId,
      "assetsCount": 123,
      "forGroup": Group,
      "resultingUser": User,
      "processedByUser": User,
      "resultingGroup": Group
    }
  }
}

qrLandingRescheduleAssetEvent

Description

Reschedule an asset event via public QR landing page

Response

Returns an Event!

Arguments
Name Description
id - HashedId! Unique identifier of the entity
input - EventRescheduleV2Input! Event v reschedule parameters

Example

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

refreshTicketServiceResponse

Description

Re-fetch and update the service response data for a ticket

Response

Returns a Ticket!

Arguments
Name Description
id - HashedId! Unique identifier of the entity

Example

Query
mutation refreshTicketServiceResponse($id: HashedId!) {
  refreshTicketServiceResponse(id: $id) {
    id
    created
    updated
    content
    uuid
    serviceResponseId
    isStatusUpdatedAutomatically
    statusUpdatedAt
    statusUpdatedByUserId
    createdByUserId
    createdByGroupId
    titleId
    serviceId
    checkEventId
    ticketId
    creatingSyncedOn
    assignee {
      ...ProcessHandlerFragment
    }
    responsibles {
      ...ProcessHandlerFragment
    }
    statusUpdatedByUser {
      ...UserFragment
    }
    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
    urgency
    status
    associatedSites {
      ...SiteFragment
    }
    associatedAssetCategories {
      ...AssetCategoryFragment
    }
    associatedAssetTypes {
      ...AssetTypeFragment
    }
    checkEvent {
      ...EventFragment
    }
    ticketContent {
      ...TicketContentFieldFragment
    }
    automationDetails {
      ...TicketAutomationDetailsFragment
    }
    userHandlers {
      ...TicketHandlerUserFragment
    }
    teamHandlers {
      ...TicketHandlerTeamFragment
    }
    groupHandlers {
      ...TicketHandlerGroupFragment
    }
    externalEmailHandlers {
      ...TicketHandlerExternalEmailFragment
    }
    groupTicketHandlerHandlers {
      ...TicketHandlerGroupTicketHandlerFragment
    }
    siteManagerHandler {
      ...TicketHandlerSiteManagerFragment
    }
    costs {
      ...CostFragment
    }
    procedureInstanceId
    procedureInstance {
      ...ProcedureInstanceFragment
    }
    comments {
      ...TicketCommentFragment
    }
    costLines {
      ...CostLineFragment
    }
    history {
      ...TicketHistoryFragment
    }
    activityEvents {
      ... on TicketHandlerUpdate {
        ...TicketHandlerUpdateFragment
      }
      ... on TicketUrgencyUpdate {
        ...TicketUrgencyUpdateFragment
      }
      ... on TicketAssetCheckComplete {
        ...TicketAssetCheckCompleteFragment
      }
      ... on TicketAssetSiteUpdate {
        ...TicketAssetSiteUpdateFragment
      }
      ... on TicketAssetAvailabilityUpdate {
        ...TicketAssetAvailabilityUpdateFragment
      }
      ... on TicketAutomationEmailSent {
        ...TicketAutomationEmailSentFragment
      }
    }
  }
}
Variables
{"id": HashedId}
Response
{
  "data": {
    "refreshTicketServiceResponse": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "content": {},
      "uuid": "xyz789",
      "serviceResponseId": HashedId,
      "isStatusUpdatedAutomatically": true,
      "statusUpdatedAt": 1592577642,
      "statusUpdatedByUserId": HashedId,
      "createdByUserId": HashedId,
      "createdByGroupId": HashedId,
      "titleId": HashedId,
      "serviceId": HashedId,
      "checkEventId": HashedId,
      "ticketId": 123,
      "creatingSyncedOn": 1592577642,
      "assignee": ProcessHandler,
      "responsibles": [ProcessHandler],
      "statusUpdatedByUser": User,
      "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": "abc123",
      "fuelCosts": "abc123",
      "insuranceTaxesCosts": "abc123",
      "laborCosts": "xyz789",
      "logisticsCosts": "abc123",
      "otherCosts": "abc123",
      "repairCosts": "abc123",
      "sparePartsCosts": "xyz789",
      "ticketTimeline": TicketTimeline,
      "totalCosts": "xyz789",
      "urgency": "CRITICAL",
      "status": "open",
      "associatedSites": [Site],
      "associatedAssetCategories": [AssetCategory],
      "associatedAssetTypes": [AssetType],
      "checkEvent": Event,
      "ticketContent": [TicketContentField],
      "automationDetails": TicketAutomationDetails,
      "userHandlers": [TicketHandlerUser],
      "teamHandlers": [TicketHandlerTeam],
      "groupHandlers": [TicketHandlerGroup],
      "externalEmailHandlers": [
        TicketHandlerExternalEmail
      ],
      "groupTicketHandlerHandlers": [
        TicketHandlerGroupTicketHandler
      ],
      "siteManagerHandler": TicketHandlerSiteManager,
      "costs": [Cost],
      "procedureInstanceId": HashedId,
      "procedureInstance": ProcedureInstance,
      "comments": [TicketComment],
      "costLines": [CostLine],
      "history": [TicketHistory],
      "activityEvents": [TicketHandlerUpdate]
    }
  }
}

registerAssetRequest

Description

Submit new asset access requests with verification

Response

Returns a Boolean!

Arguments
Name Description
requests - [RequestForAsset!] Asset access requests to submit

Example

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

removeAssetFromRule

Description

Remove a specific asset from an existing automation rule

Response

Returns a Rule!

Arguments
Name Description
input - RemoveAssetFromRuleInput! Asset to remove from rule

Example

Query
mutation removeAssetFromRule($input: RemoveAssetFromRuleInput!) {
  removeAssetFromRule(input: $input) {
    id
    created
    updated
    title {
      ...TranslationFragment
    }
    description {
      ...TranslationFragment
    }
    createdByUser {
      ...UserFragment
    }
    createdByGroup {
      ...GroupFragment
    }
    assignedToGroup {
      ...GroupFragment
    }
    eventStyle {
      ...EventStyleFragment
    }
    titleId
    descriptionId
    createdByGroupId
    createdByUserId
    assignedToGroupId
    eventStyleId
    eventType
    isCritical
    isOnetime
    isImmediateNotification
    isGlobalRule
    manualDeactivation
    isArchived
    isOneshot
    isActive
    source
    enabled
    isCheckAllowedForUnauthorizedUsers
    purpose
    definition
    relations {
      ...RuleRelationFragment
    }
    eventsConfigs {
      ...EventConfigFragment
    }
    services {
      ...ServiceFragment
    }
    checkAssetsPaginated {
      ...PaginatedRuleCheckAssetsFragment
    }
    publicId
    relationsV2 {
      ...RuleRelationFragment
    }
    sendNotificationsTo {
      ...RuleNotificationRelationFragment
    }
    servicesV2 {
      ...ServiceFragment
    }
    assetBlacklist {
      ...AssetFragment
    }
  }
}
Variables
{"input": RemoveAssetFromRuleInput}
Response
{
  "data": {
    "removeAssetFromRule": {
      "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,
      "eventType": "ERROR",
      "isCritical": false,
      "isOnetime": false,
      "isImmediateNotification": false,
      "isGlobalRule": true,
      "manualDeactivation": true,
      "isArchived": false,
      "isOneshot": true,
      "isActive": true,
      "source": "DATA",
      "enabled": false,
      "isCheckAllowedForUnauthorizedUsers": true,
      "purpose": "GEOFENCE",
      "definition": {},
      "relations": [RuleRelation],
      "eventsConfigs": [EventConfig],
      "services": [Service],
      "checkAssetsPaginated": PaginatedRuleCheckAssets,
      "publicId": "abc123",
      "relationsV2": [RuleRelation],
      "sendNotificationsTo": [RuleNotificationRelation],
      "servicesV2": [Service],
      "assetBlacklist": [Asset]
    }
  }
}

removeAssetsByTicketId

Use "removeAssetsFromTicketContentField" instead
Description

Unlink assets from a ticket content field, returns boolean

Response

Returns a Boolean!

Arguments
Name Description
assetIds - [HashedId!]! Assets to associate with or remove from tickets
input - TicketChangeItemsInput! Tickets to add to or remove from the selected assets

Example

Query
mutation removeAssetsByTicketId(
  $assetIds: [HashedId!]!,
  $input: TicketChangeItemsInput!
) {
  removeAssetsByTicketId(
    assetIds: $assetIds,
    input: $input
  )
}
Variables
{
  "assetIds": [HashedId],
  "input": TicketChangeItemsInput
}
Response
{"data": {"removeAssetsByTicketId": true}}

removeAssetsFromTicketContentField

Description

Unlink assets from a ticket content field

Response

Returns a TicketContentField!

Arguments
Name Description
assetIds - [HashedId!]! Assets to associate with or remove from tickets
input - TicketChangeItemsInput! Tickets to add to or remove from the selected assets

Example

Query
mutation removeAssetsFromTicketContentField(
  $assetIds: [HashedId!]!,
  $input: TicketChangeItemsInput!
) {
  removeAssetsFromTicketContentField(
    assetIds: $assetIds,
    input: $input
  ) {
    id
    created
    updated
    ticketId
    titleId
    descriptionId
    dateValue
    comment
    textValue
    includeTime
    numberValueDecimal
    numberValue
    automations
    order
    parentId
    locationId
    checkedValue
    yesNoValue
    choiceValue
    phoneId
    contentType
    tableId
    filters {
      ...FiltersFragment
    }
    title {
      ...TranslationFragment
    }
    location {
      ...AddressFragment
    }
    phone {
      ...PhoneFragment
    }
    description {
      ...TranslationFragment
    }
    documents {
      ...DocumentFragment
    }
    uploadedDocuments {
      ...DocumentFragment
    }
    choiceOptions {
      ...TicketContentFieldChoiceOptionFragment
    }
    assets {
      ...AssetFragment
    }
    sites {
      ...SiteFragment
    }
    suggestedAssignees {
      ...AvailableHandlerFragment
    }
    assignees {
      ...AvailableHandlerFragment
    }
    assetCategories {
      ...AssetCategoryFragment
    }
    assetTypes {
      ...AssetTypeFragment
    }
    children {
      ...TicketContentFieldFragment
    }
    table {
      ...TicketContentFieldTableFragment
    }
    emails {
      ...TicketContentFieldEmailFragment
    }
    isChangeAllowed
    isHiddenInTicket
  }
}
Variables
{
  "assetIds": [HashedId],
  "input": TicketChangeItemsInput
}
Response
{
  "data": {
    "removeAssetsFromTicketContentField": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "ticketId": HashedId,
      "titleId": HashedId,
      "descriptionId": HashedId,
      "dateValue": "2007-12-03T10:15:30Z",
      "comment": "abc123",
      "textValue": "abc123",
      "includeTime": true,
      "numberValueDecimal": 987.65,
      "numberValue": 987,
      "automations": 123,
      "order": 987,
      "parentId": HashedId,
      "locationId": HashedId,
      "checkedValue": false,
      "yesNoValue": "na",
      "choiceValue": "na",
      "phoneId": HashedId,
      "contentType": "gps",
      "tableId": HashedId,
      "filters": [Filters],
      "title": Translation,
      "location": Address,
      "phone": Phone,
      "description": Translation,
      "documents": [Document],
      "uploadedDocuments": [Document],
      "choiceOptions": [TicketContentFieldChoiceOption],
      "assets": [Asset],
      "sites": [Site],
      "suggestedAssignees": [AvailableHandler],
      "assignees": [AvailableHandler],
      "assetCategories": [AssetCategory],
      "assetTypes": [AssetType],
      "children": [TicketContentField],
      "table": TicketContentFieldTable,
      "emails": [TicketContentFieldEmail],
      "isChangeAllowed": true,
      "isHiddenInTicket": true
    }
  }
}

removeCheckSchedule

Description

Delete a check schedule by its ID

Response

Returns a Boolean!

Arguments
Name Description
id - HashedId! Unique identifier of the entity

Example

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

removeHandlerById

use - "deleteTicketHandlerUserById", "deleteTicketHandlerTeamById", "deleteTicketHandlerGroupTicketHandlerById", "deleteTicketHandlerGroupById", "deleteTicketHandlerExternalEmailById", "deleteTicketHandlerSiteManagerByTicketId" instead
Description

Remove ticket handler legacy v2

Response

Returns a Boolean!

Arguments
Name Description
id - HashedId! Unique identifier of the entity

Example

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

removeMaintenanceSchedule

Description

Delete a maintenance schedule by its ID

Response

Returns a Boolean!

Arguments
Name Description
id - HashedId! Unique identifier of the entity

Example

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

removePushToken

Description

Remove push notification token

Response

Returns a Boolean!

Arguments
Name Description
deviceId - String! Device identifier

Example

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

removeSitesByTicketId

use "removeSitesFromTicketContentField" instead
Description

Unlink sites from a ticket content field, returns boolean

Response

Returns a Boolean!

Arguments
Name Description
siteIds - [HashedId!]! Sites to associate with or remove from tickets
input - TicketChangeItemsInput! Tickets to add to or remove from the selected sites

Example

Query
mutation removeSitesByTicketId(
  $siteIds: [HashedId!]!,
  $input: TicketChangeItemsInput!
) {
  removeSitesByTicketId(
    siteIds: $siteIds,
    input: $input
  )
}
Variables
{
  "siteIds": [HashedId],
  "input": TicketChangeItemsInput
}
Response
{"data": {"removeSitesByTicketId": true}}

removeSitesFromTicketContentField

Description

Unlink sites from a ticket content field

Response

Returns a TicketContentField!

Arguments
Name Description
siteIds - [HashedId!]! Sites to associate with or remove from tickets
input - TicketChangeItemsInput! Tickets to add to or remove from the selected sites

Example

Query
mutation removeSitesFromTicketContentField(
  $siteIds: [HashedId!]!,
  $input: TicketChangeItemsInput!
) {
  removeSitesFromTicketContentField(
    siteIds: $siteIds,
    input: $input
  ) {
    id
    created
    updated
    ticketId
    titleId
    descriptionId
    dateValue
    comment
    textValue
    includeTime
    numberValueDecimal
    numberValue
    automations
    order
    parentId
    locationId
    checkedValue
    yesNoValue
    choiceValue
    phoneId
    contentType
    tableId
    filters {
      ...FiltersFragment
    }
    title {
      ...TranslationFragment
    }
    location {
      ...AddressFragment
    }
    phone {
      ...PhoneFragment
    }
    description {
      ...TranslationFragment
    }
    documents {
      ...DocumentFragment
    }
    uploadedDocuments {
      ...DocumentFragment
    }
    choiceOptions {
      ...TicketContentFieldChoiceOptionFragment
    }
    assets {
      ...AssetFragment
    }
    sites {
      ...SiteFragment
    }
    suggestedAssignees {
      ...AvailableHandlerFragment
    }
    assignees {
      ...AvailableHandlerFragment
    }
    assetCategories {
      ...AssetCategoryFragment
    }
    assetTypes {
      ...AssetTypeFragment
    }
    children {
      ...TicketContentFieldFragment
    }
    table {
      ...TicketContentFieldTableFragment
    }
    emails {
      ...TicketContentFieldEmailFragment
    }
    isChangeAllowed
    isHiddenInTicket
  }
}
Variables
{
  "siteIds": [HashedId],
  "input": TicketChangeItemsInput
}
Response
{
  "data": {
    "removeSitesFromTicketContentField": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "ticketId": HashedId,
      "titleId": HashedId,
      "descriptionId": HashedId,
      "dateValue": "2007-12-03T10:15:30Z",
      "comment": "xyz789",
      "textValue": "xyz789",
      "includeTime": false,
      "numberValueDecimal": 987.65,
      "numberValue": 987,
      "automations": 123,
      "order": 123,
      "parentId": HashedId,
      "locationId": HashedId,
      "checkedValue": false,
      "yesNoValue": "na",
      "choiceValue": "na",
      "phoneId": HashedId,
      "contentType": "gps",
      "tableId": HashedId,
      "filters": [Filters],
      "title": Translation,
      "location": Address,
      "phone": Phone,
      "description": Translation,
      "documents": [Document],
      "uploadedDocuments": [Document],
      "choiceOptions": [TicketContentFieldChoiceOption],
      "assets": [Asset],
      "sites": [Site],
      "suggestedAssignees": [AvailableHandler],
      "assignees": [AvailableHandler],
      "assetCategories": [AssetCategory],
      "assetTypes": [AssetType],
      "children": [TicketContentField],
      "table": TicketContentFieldTable,
      "emails": [TicketContentFieldEmail],
      "isChangeAllowed": false,
      "isHiddenInTicket": true
    }
  }
}

removeTicketRelation

use - "deleteTicketHandlerUserById", "deleteTicketHandlerTeamById", "deleteTicketHandlerGroupTicketHandlerById", "deleteTicketHandlerGroupById", "deleteTicketHandlerExternalEmailById", "deleteTicketHandlerSiteManagerByTicketId" instead
Description

Remove ticket handler legacy v1

Response

Returns a Boolean!

Arguments
Name Description
ticketId - HashedId! Ticket to remove the relation from
relationId - HashedId! Linked relation to detach from the ticket

Example

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

reorderAllViews

Description

Set the display order of all views for the current user

Response

Returns [HashedId!]!

Arguments
Name Description
viewIds - [HashedId!]! Ordered list of view IDs defining the desired display order

Example

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

rescheduleAssetEvent

Description

Reschedule a maintenance or check event for an asset

Response

Returns an Event!

Arguments
Name Description
input - EventRescheduleInput! Event reschedule parameters

Example

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

resetNotificationCounter

Description

Reset notification counter

Response

Returns a Boolean

Arguments
Name Description
deviceId - String! Device identifier

Example

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

runIntegrationByName

Description

Trigger a manual sync run for an integration identified by its string-based name

Response

Returns a Boolean

Arguments
Name Description
name - String! Free-text integration service name

Example

Query
mutation runIntegrationByName($name: String!) {
  runIntegrationByName(name: $name)
}
Variables
{"name": "xyz789"}
Response
{"data": {"runIntegrationByName": false}}

runIntegrationProvider

This functionality is no longer supported, use runIntegrationByName instead
Description

Trigger a manual sync run for a deprecated enum-based integration provider

Response

Returns a Boolean

Arguments
Name Description
name - IntegrationNamesEnum! Integration to look up from the predefined list

Example

Query
mutation runIntegrationProvider($name: IntegrationNamesEnum!) {
  runIntegrationProvider(name: $name)
}
Variables
{"name": "WISAG"}
Response
{"data": {"runIntegrationProvider": true}}

savePushToken

Description

Save push notification token

Response

Returns a Boolean!

Arguments
Name Description
token - String! Authentication or registration token
deviceId - String! Device identifier
platform - PushPlatformTypeEnum! Target platform identifier

Example

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

sendTestPushNotification

Description

Send test push notification

Response

Returns a Boolean

Example

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

setCustomFieldsValues

Description

Create or update

Response

Returns [CustomFieldValue!]!

Arguments
Name Description
values - [CustomFieldsValuesSetInput!]! Custom field values to create or update

Example

Query
mutation setCustomFieldsValues($values: [CustomFieldsValuesSetInput!]!) {
  setCustomFieldsValues(values: $values) {
    id
    created
    updated
    customFieldId
    assetId
    textValueId
    numberValue
    dateValue
    currencyValue
    textValue {
      ...TranslationFragment
    }
  }
}
Variables
{"values": [CustomFieldsValuesSetInput]}
Response
{
  "data": {
    "setCustomFieldsValues": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "customFieldId": HashedId,
        "assetId": HashedId,
        "textValueId": HashedId,
        "numberValue": 987.65,
        "dateValue": "2007-12-03",
        "currencyValue": 123.45,
        "textValue": Translation
      }
    ]
  }
}

setViewActive

Description

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

Response

Returns a Boolean!

Arguments
Name Description
view - IdInput! View configuration data
active - Boolean! Whether this record is active. 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

Description

Create or update a brand configuration via upsert

Response

Returns a Brand!

Arguments
Name Description
input - BrandUpsertInput! Brand create or update fields

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
    }
    hasSso
    loginLanguageFallback
    projects
  }
}
Variables
{"input": BrandUpsertInput}
Response
{
  "data": {
    "setupBrand": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "groupId": HashedId,
      "logoWidth": 987,
      "key": "xyz789",
      "systemName": "xyz789",
      "colorDark": "xyz789",
      "colorLight": "abc123",
      "faviconUrl": "xyz789",
      "loginBackground": "xyz789",
      "name": "xyz789",
      "appUrlAndroid": "xyz789",
      "appUrlIos": "abc123",
      "logo": "abc123",
      "color": "xyz789",
      "symbol": "abc123",
      "ownURL": "xyz789",
      "supportEmail": "xyz789",
      "activationMailVideo": "abc123",
      "logoIsSquare": true,
      "group": Group,
      "hasSso": true,
      "loginLanguageFallback": HashedId,
      "projects": "abc123"
    }
  }
}

stopEvent

Description

Stop an active running event

Response

Returns an Event!

Arguments
Name Description
id - HashedId! Unique identifier of the entity
date - Date Date

Example

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

ticketWebhookTrigger

Description

Manually re-trigger a webhook for a specific ticket

Response

Returns a Boolean!

Arguments
Name Description
id - HashedId! Unique identifier of the entity
type - TicketWebhookTriggerTypeEnum! Webhook event type to trigger for the ticket

Example

Query
mutation ticketWebhookTrigger(
  $id: HashedId!,
  $type: TicketWebhookTriggerTypeEnum!
) {
  ticketWebhookTrigger(
    id: $id,
    type: $type
  )
}
Variables
{"id": HashedId, "type": "ticketCreated"}
Response
{"data": {"ticketWebhookTrigger": true}}

toggleCronByIntegrationProvider

This functionality is no longer supported
Description

Toggle automatic cron scheduling for a deprecated integration provider

Response

Returns a Boolean

Arguments
Name Description
name - IntegrationNamesEnum! Integration to toggle cron scheduling for

Example

Query
mutation toggleCronByIntegrationProvider($name: IntegrationNamesEnum!) {
  toggleCronByIntegrationProvider(name: $name)
}
Variables
{"name": "WISAG"}
Response
{"data": {"toggleCronByIntegrationProvider": true}}

unassignServicesFromServicePackage

Description

Unassign services from service package

Response

Returns a Boolean!

Arguments
Name Description
servicePackageId - HashedId! Service package identifier
serviceIds - [HashedId!]! Service identifiers

Example

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

updateAsset

Description

Update existing asset properties and assignments

Response

Returns [Asset!]!

Arguments
Name Description
id - HashedId! Unique identifier of the entity
assetTypeId - HashedId Type classification of this asset
serial - String Serial number of the asset
moduleId - HashedId IoT module attached to this asset
assignedToGroupId - HashedId Organization group this asset is assigned to
allowReservations - Boolean When set, reservations are explicitly allowed for this asset.
BLE - String Bluetooth Low Energy beacon identifier
client - String Client or customer name associated with this asset
commissionDate - Date Date when this asset was put into service
costCenter - String Accounting cost center for financial allocation
dailyRate - Float Daily rental or usage rate for billing
minDaysBilled - Int Minimum number of days billed per rental period
currency - String An optional currency string that overrides the group currency
customerEditable - Boolean With this flag the OEM can allow end-customers to edit assets
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 Accounting fixed asset number for depreciation tracking
floorRoom - String Floor and room location within a building
initialValue - String Original purchase or book value of this asset
inventoryNumber - String Internal inventory tracking number
isInStationaryGateway - Boolean Whether assigned to a stationary gateway for fixed location
isUsedPrivately - Boolean Whether this asset is flagged for private use. Default = false
leasingCostTermination - String Early termination cost for the leasing contract
leasingEnd - Date End date of the leasing contract
leasingLevel - String Tier or level of the leasing agreement
leasingMonthlyCost - String Monthly payment amount for the leasing contract
leasingPartner - String Leasing company or partner name
leasingPartnerContractNumber - String Contract number with the leasing partner
leasingPartnerContractPositionNumber - String Line item position within the leasing contract
leasingRenewalDate - Date Date when the leasing contract is up for renewal
leasingRenewalRate - String Monthly rate after leasing contract renewal
leasingStart - Date Start date of the leasing contract
optionalAssetID - String Secondary user-defined asset identifier
partsNumber - String Manufacturer part number for this asset
plateNumber - String Vehicle license plate number
projectNumber - String Project number this asset is allocated to
purchaseCost - String Original purchase price of this asset
purchaseDepriciation - Int Depreciation period in months for this asset
purchaseInvoiceNumber - String Invoice number from the original purchase
purchaseLowValueAsset - Boolean Whether classified as a low-value asset for accounting
purchaseWarrantyEnd - Date Expiration date of the purchase warranty
purchaseWarrantyPeriod - Int Warranty duration in months from purchase
purchaseWarrantyStart - Date Start date of the purchase warranty coverage
qrAttached - Boolean Whether a QR code label is attached to this asset
quantity - Int Number of identical items for commodity assets
rentalCostTermination - String Early termination cost for the rental contract
rentalEnd - Date End date of the rental contract
rentalMonthlyCost - String Monthly payment amount for the rental contract
rentalRenewalDate - Date Date when the rental contract is up for renewal
rentalRenewalRate - String Monthly rate after rental contract renewal
rentalStart - Date Start date of the rental contract
serviceContract - Boolean Whether this asset has an active service contract
serviceContractCostPerYear - String Annual cost of the service contract
serviceContractEmail - String Contact email for the service contract provider
serviceContractEnd - Date Expiration date of the service contract
serviceContractFrom - Timestamp Timestamp when the service contract coverage begins
serviceContractLevel - String Tier or coverage level of the service contract
serviceContractPartner - String Service contract provider company name
serviceContractStart - Date Start date of the service contract
serviceContractTo - Timestamp Timestamp when the service contract coverage ends
supplier - String Supplier or vendor this asset was sourced from
uuid - String UUID used for cross-system asset identification
availability - AssetAvailability Current availability status of this asset
ownership - AssetOwnership Ownership type (purchased, leased, or rented)
purchaseCurrentBookValue - String Current depreciated book value of this asset
imageUrl - String URL of the asset profile image
syncSiteGroup - Boolean Sync asset group with assigned site group
transferModule - Boolean Transfer IoT module from previous asset
responsiblePerson - String Name of the person responsible for this asset
serviceContractDocuments - [Upload!] Service contract documents
description - TranslationInput Localized description of the asset
workingHoursNotification - [RuleNotificationRelationInput] Notification rules for working hours threshold alerts
parameterOffsets - [AssetParameterOffsetInput!] IoT parameter value offsets for calibration
workingHoursSettings - JSON Rule definition settings for working hours tracking
purchaseStart - Date Date when the asset was purchased
workingHours - AssetWorkingHoursInput Scheduled working hours for this asset
nonWorkingDays - [AssetNonWorkingDaysUpsertInput!] Days when the asset is not in operation
disableWebhooks - Boolean Whether to skip webhook notifications for this operation. Default = false
imei - String IMEI number for IoT-tracked assets
shouldUpdateActiveAssetSiteAssignment - Boolean Whether to update active asset site assignment
assignedToSiteId - HashedId Target site ID to assign the asset to

Example

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

updateAssetCategory

Description

Update an existing asset category and its settings

Response

Returns [AssetCategory!]

Arguments
Name Description
externalId - String ID from an external system for integration
groupId - HashedId Owning organization group
servicePackageId - HashedId Assigned service package
optimalBatteryVoltage - Float Target optimal battery voltage in volts
minimalBatteryVoltage - Float Minimum acceptable battery voltage in volts
nominalBatteryVoltage - Float Rated nominal battery voltage in volts
parentParameterKey - AssetParentParameter Primary IoT parameter used for utilization tracking
optimalRuntime - Float Target optimal daily runtime in hours
workUnitsPerHour - Float Work units per hour
workUnits - TranslationInput Localized label for the work unit measurement
isPrivate - Boolean Listed to users outside this group hierarchy - "publicly" available. May be used for not yet released models
id - HashedId! ID of the asset category to update
name - TranslationInput Localized category display name

Example

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

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! Unique identifier of the entity to attach the file to
file - Upload File upload payload to replace the current attachment

Example

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

updateAssetEventView

Description

Update an existing saved asset event view

Response

Returns an AssetEventView!

Arguments
Name Description
view - AssetEventViewUpdateInput! View configuration data

Example

Query
mutation updateAssetEventView($view: AssetEventViewUpdateInput!) {
  updateAssetEventView(view: $view) {
    id
    created
    updated
    titleId
    forEntity
    displayMode
    options {
      ...AssetEventViewOptionsFragment
    }
    isActive
    isSystemView
    isShared
    isEditable
    isDeletable
    isShareable
    isUnsharedByParentGroup
    title {
      ...TranslationFragment
    }
  }
}
Variables
{"view": AssetEventViewUpdateInput}
Response
{
  "data": {
    "updateAssetEventView": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "titleId": HashedId,
      "forEntity": "ASSET",
      "displayMode": "LIST",
      "options": AssetEventViewOptions,
      "isActive": false,
      "isSystemView": false,
      "isShared": true,
      "isEditable": false,
      "isDeletable": true,
      "isShareable": true,
      "isUnsharedByParentGroup": false,
      "title": Translation
    }
  }
}

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! Unique identifier of the entity to attach the file to
file - Upload File upload payload to replace the current attachment

Example

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

updateAssetIntegrationById

Description

Update an existing asset integration by ID

Response

Returns an AssetIntegration!

Arguments
Name Description
id - HashedId! ID of the asset integration to update
input - AssetIntegrationUpdateInput! Fields to modify on the integration

Example

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

updateAssetLockStatus

Description

Lock or unlock a lockable asset remotely

Response

Returns a Boolean!

Arguments
Name Description
id - HashedId! Unique identifier of the entity
state - Boolean! New lock state for the asset

Example

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

updateAssetSiteAssignment

Description

Update an existing asset site assignment by ID

Response

Returns an AssetSiteAssignment!

Arguments
Name Description
id - HashedId! Unique identifier of the entity
input - AssetSiteAssignmentUpdateInput! Input data for updating the asset site assignment

Example

Query
mutation updateAssetSiteAssignment(
  $id: HashedId!,
  $input: AssetSiteAssignmentUpdateInput!
) {
  updateAssetSiteAssignment(
    id: $id,
    input: $input
  ) {
    id
    created
    updated
    assetId
    siteId
    status
    onSiteFrom
    onSiteUntil
    notes
    externalId
    publicId
    asset {
      ...AssetFragment
    }
    site {
      ...SiteFragment
    }
    totalDaysPlanned
    totalDaysUntilNow
    totalDaysPlannedInPeriod
    totalDaysUntilNowInPeriod
    costs {
      ...AssetSiteAssignmentCostDtoFragment
    }
    costCenter
    costCenterSource
    costCenterResolved
    costCenterSourceResolved
    costCenterSelected
    dailyRateInPeriod
    averageDailyRate
    totalDaysBilled
    totalDaysBilledInPeriod
    totalCosts
    totalCostsInPeriod
  }
}
Variables
{
  "id": HashedId,
  "input": AssetSiteAssignmentUpdateInput
}
Response
{
  "data": {
    "updateAssetSiteAssignment": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "assetId": HashedId,
      "siteId": HashedId,
      "status": "ACTIVE",
      "onSiteFrom": "2007-12-03T10:15:30Z",
      "onSiteUntil": "2007-12-03T10:15:30Z",
      "notes": "xyz789",
      "externalId": "xyz789",
      "publicId": 123,
      "asset": Asset,
      "site": Site,
      "totalDaysPlanned": 123,
      "totalDaysUntilNow": 123,
      "totalDaysPlannedInPeriod": 987,
      "totalDaysUntilNowInPeriod": 123,
      "costs": [AssetSiteAssignmentCostDto],
      "costCenter": "abc123",
      "costCenterSource": "ASSET",
      "costCenterResolved": "abc123",
      "costCenterSourceResolved": "ASSET",
      "costCenterSelected": "xyz789",
      "dailyRateInPeriod": 987.65,
      "averageDailyRate": 987.65,
      "totalDaysBilled": 987,
      "totalDaysBilledInPeriod": 123,
      "totalCosts": 123.45,
      "totalCostsInPeriod": 123.45
    }
  }
}

updateAssetSiteAssignmentView

Description

Update asset site assignment view

Response

Returns an AssetSiteAssignmentView!

Arguments
Name Description
view - AssetSiteAssignmentViewUpdateInput! View configuration data

Example

Query
mutation updateAssetSiteAssignmentView($view: AssetSiteAssignmentViewUpdateInput!) {
  updateAssetSiteAssignmentView(view: $view) {
    id
    created
    updated
    titleId
    forEntity
    displayMode
    options {
      ...AssetSiteAssignmentViewOptionsFragment
    }
    isActive
    isSystemView
    isShared
    isEditable
    isDeletable
    isShareable
    isUnsharedByParentGroup
    title {
      ...TranslationFragment
    }
  }
}
Variables
{"view": AssetSiteAssignmentViewUpdateInput}
Response
{
  "data": {
    "updateAssetSiteAssignmentView": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "titleId": HashedId,
      "forEntity": "ASSET",
      "displayMode": "LIST",
      "options": AssetSiteAssignmentViewOptions,
      "isActive": false,
      "isSystemView": false,
      "isShared": false,
      "isEditable": false,
      "isDeletable": false,
      "isShareable": false,
      "isUnsharedByParentGroup": true,
      "title": Translation
    }
  }
}

updateAssetType

Description

Update an existing asset type and its presets

Response

Returns [AssetType]

Arguments
Name Description
optimalBatteryVoltage - Float Target optimal battery voltage in volts
minimalBatteryVoltage - Float Minimum acceptable battery voltage in volts
nominalBatteryVoltage - Float Rated nominal battery voltage in volts
parentParameterKey - AssetParentParameter Primary IoT parameter used for utilization tracking
optimalRuntime - Float Target optimal daily runtime in hours
workUnitsPerHour - Float Work units per hour
workUnits - TranslationInput Localized label for the work unit measurement
externalId - String External system identifier
groupId - HashedId Owning organization group for the asset type
servicePackageId - HashedId Service package to assign to this asset type
hasAssortmentList - Boolean Whether the record has assortment list
hasVNC - Boolean Certain assets can be accessed over a remote connection. This specifies if this type can be accessed over VNC.
image - String URL of the asset type image
inAssetIntegrationId - HashedId The asset integration that applies to this type
isApprovedAssetType - Boolean Whether this asset type has been approved
isLockable - Boolean Certain Asset Types can be locked. This will then lock the asset
isLockedState - Boolean Whether this asset type is currently in locked state
isPollingAvailable - Boolean Whether IoT data polling is available for this type
isPrivate - Boolean Listed to users outside this group hierarchy - "publicly" available. May be used for not yet released models
isVehicle - Boolean Whether this asset type is a vehicle
isRoom - Boolean Whether this asset type is a room
manufacturer - String Manufacturer or brand name
preset - Boolean Preset
presetInitialValue - String Preset initial value
presetLeasingCostTermination - String Preset leasing cost termination
presetLeasingLevel - String Preset leasing level
presetLeasingMonthlyCost - String Preset leasing monthly cost
presetLeasingPartner - String Preset leasing partner
presetLeasingPartnerContractNumber - String Preset leasing partner contract number
presetLeasingPartnerContractPositionNumber - String Preset leasing partner contract position number
presetLeasingRenewalRate - String Preset leasing renewal rate
presetLowValueAsset - Boolean Preset low value asset
presetMachineCheckLastCreated - Boolean Preset machine check last created
presetMachineCheckName - String Preset machine check name
presetMachineCheckInterval - Int Preset machine check interval
presetOwnership - String Preset ownership
presetPurchaseCost - String Preset purchase cost
presetPurchaseDepriciation - Int Preset purchase depriciation
presetRentalCostTermination - String Preset rental cost termination
presetRentalMonthlyCost - String Preset rental monthly cost
presetRentalRenewalRate - String Preset rental renewal rate
presetServiceContractCostPerYear - String Preset service contract cost per year
presetServiceContractEmail - String Preset service contract email
presetServiceContractLevel - String Preset service contract level
presetServiceContractPartner - String Preset service contract partner
presetSupplier - String Preset supplier
presetWarrantyPeriod - Int Preset warranty period
restrictedType - Boolean Whether this type is restricted to certain groups
suggestedServicePartner - String Recommended service partner name
chargingVoltageThreshold - Float Charging voltage threshold
dailyRate - Float Daily rental or usage rate for billing
minDaysBilled - Int Minimum number of days billed per rental period
id - HashedId! ID of the asset type to update
name - TranslationInput Localized asset type display name
inAssetCategoryId - HashedId Category to reassign this asset type to

Example

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

Arguments
Name Description
id - HashedId! Unique identifier of the entity to attach the file to
file - Upload File upload payload to replace the current attachment

Example

Query
mutation updateAssetTypeImage(
  $id: HashedId!,
  $file: Upload
) {
  updateAssetTypeImage(
    id: $id,
    file: $file
  ) {
    id
    created
    updated
    forManufacturerId
    groupId
    servicePackageId
    hasAssortmentList
    externalId
    image
    inAssetCategoryId
    inAssetIntegrationId
    isApprovedAssetType
    isPrivate
    isVehicle
    isRoom
    make
    publicId
    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
    }
    minimalBatteryVoltage
    nominalBatteryVoltage
    optimalBatteryVoltage
    chargingVoltageThreshold
    optimalRuntime
    parentParameterKey
    workUnits {
      ...TranslationFragment
    }
    workUnitsPerHour
    workUnitId
    dailyRate
    minDaysBilled
    inAssetCategory {
      ...AssetCategoryFragment
    }
    group {
      ...GroupFragment
    }
    inAssetIntegration {
      ...AssetIntegrationFragment
    }
    forManufacturer {
      ...ManufacturerFragment
    }
    namespace
    assetsCount
    userManual
    suggestedServicePartner
    suggestedPartner {
      ...AvailableHandlerFragment
    }
    servicePackage {
      ...ServicePackageFragment
    }
    lockAssetType {
      ...AssetTypeFragment
    }
  }
}
Variables
{"id": HashedId, "file": Upload}
Response
{
  "data": {
    "updateAssetTypeImage": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "forManufacturerId": HashedId,
      "groupId": HashedId,
      "servicePackageId": HashedId,
      "hasAssortmentList": true,
      "externalId": "abc123",
      "image": "xyz789",
      "inAssetCategoryId": HashedId,
      "inAssetIntegrationId": HashedId,
      "isApprovedAssetType": false,
      "isPrivate": true,
      "isVehicle": false,
      "isRoom": true,
      "make": "abc123",
      "publicId": 987,
      "nameId": HashedId,
      "restrictedType": false,
      "preset": true,
      "presetInitialValue": "abc123",
      "presetLeasingCostTermination": "abc123",
      "presetLeasingLevel": "abc123",
      "presetLeasingMonthlyCost": "abc123",
      "presetLeasingPartner": "abc123",
      "presetLeasingPartnerContractNumber": "xyz789",
      "presetLeasingPartnerContractPositionNumber": "xyz789",
      "presetLeasingRenewalRate": "xyz789",
      "presetLowValueAsset": true,
      "presetMachineCheckInterval": 987,
      "presetMachineCheckLastCreated": false,
      "presetMachineCheckName": "abc123",
      "presetOwnership": "PURCHASE",
      "presetPurchaseCost": "xyz789",
      "presetPurchaseDepriciation": 987,
      "presetRentalCostTermination": "abc123",
      "presetRentalMonthlyCost": "xyz789",
      "presetRentalRenewalRate": "abc123",
      "presetServiceContractCostPerYear": "xyz789",
      "presetServiceContractEmail": "xyz789",
      "presetServiceContractLevel": "xyz789",
      "presetServiceContractPartner": "abc123",
      "presetSupplier": "xyz789",
      "presetWarrantyPeriod": 123,
      "isLockable": true,
      "isLockedState": true,
      "lockAssetTypeId": HashedId,
      "hasVNC": true,
      "isPollingAvailable": true,
      "name": Translation,
      "documents": [Document],
      "minimalBatteryVoltage": 987.65,
      "nominalBatteryVoltage": 987.65,
      "optimalBatteryVoltage": 987.65,
      "chargingVoltageThreshold": 987.65,
      "optimalRuntime": 123.45,
      "parentParameterKey": "runtime",
      "workUnits": Translation,
      "workUnitsPerHour": 123.45,
      "workUnitId": HashedId,
      "dailyRate": 987.65,
      "minDaysBilled": 987,
      "inAssetCategory": AssetCategory,
      "group": Group,
      "inAssetIntegration": AssetIntegration,
      "forManufacturer": Manufacturer,
      "namespace": "xyz789",
      "assetsCount": 987,
      "userManual": "xyz789",
      "suggestedServicePartner": "abc123",
      "suggestedPartner": AvailableHandler,
      "servicePackage": ServicePackage,
      "lockAssetType": AssetType
    }
  }
}

updateAssetView

Description

Update an existing saved asset list view

Response

Returns an AssetView!

Arguments
Name Description
view - AssetViewUpdateInput! View configuration data

Example

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

updateBrandById

Description

Update a brand by its ID

Response

Returns a Brand!

Arguments
Name Description
id - HashedId! Unique identifier
input - BrandUpdateInput! Brand update fields

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
    }
    hasSso
    loginLanguageFallback
    projects
  }
}
Variables
{
  "id": HashedId,
  "input": BrandUpdateInput
}
Response
{
  "data": {
    "updateBrandById": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "groupId": HashedId,
      "logoWidth": 987,
      "key": "xyz789",
      "systemName": "abc123",
      "colorDark": "abc123",
      "colorLight": "abc123",
      "faviconUrl": "abc123",
      "loginBackground": "abc123",
      "name": "abc123",
      "appUrlAndroid": "abc123",
      "appUrlIos": "abc123",
      "logo": "abc123",
      "color": "xyz789",
      "symbol": "abc123",
      "ownURL": "abc123",
      "supportEmail": "xyz789",
      "activationMailVideo": "abc123",
      "logoIsSquare": false,
      "group": Group,
      "hasSso": false,
      "loginLanguageFallback": HashedId,
      "projects": "xyz789"
    }
  }
}

updateBrandByKey

Description

Update a brand by its unique string key

Response

Returns a Brand!

Arguments
Name Description
key - String! Unique lookup key
input - BrandUpdateInput! Brand update fields

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
    }
    hasSso
    loginLanguageFallback
    projects
  }
}
Variables
{
  "key": "abc123",
  "input": BrandUpdateInput
}
Response
{
  "data": {
    "updateBrandByKey": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "groupId": HashedId,
      "logoWidth": 123,
      "key": "abc123",
      "systemName": "abc123",
      "colorDark": "xyz789",
      "colorLight": "abc123",
      "faviconUrl": "abc123",
      "loginBackground": "xyz789",
      "name": "xyz789",
      "appUrlAndroid": "xyz789",
      "appUrlIos": "xyz789",
      "logo": "abc123",
      "color": "abc123",
      "symbol": "xyz789",
      "ownURL": "xyz789",
      "supportEmail": "xyz789",
      "activationMailVideo": "abc123",
      "logoIsSquare": false,
      "group": Group,
      "hasSso": false,
      "loginLanguageFallback": HashedId,
      "projects": "abc123"
    }
  }
}

updateCheckSchedule

Description

Update an existing asset check schedule

Response

Returns an AssetCheckSchedule!

Arguments
Name Description
id - HashedId! Unique identifier of the entity
name - String! Name of the check schedule
interval - Int! Check interval in days
externalId - String External system identifier for integration
lastCheck - Date Date of the last completed check
nextCheck - Date! Date of the next scheduled check

Example

Query
mutation updateCheckSchedule(
  $id: HashedId!,
  $name: String!,
  $interval: Int!,
  $externalId: String,
  $lastCheck: Date,
  $nextCheck: Date!
) {
  updateCheckSchedule(
    id: $id,
    name: $name,
    interval: $interval,
    externalId: $externalId,
    lastCheck: $lastCheck,
    nextCheck: $nextCheck
  ) {
    id
    assetId
    name
    interval
    lastCheck
    nextCheck
    daysToNextCheck
    lastCheckLastEdited {
      ...AssetCheckScheduleEditNoteFragment
    }
    nextCheckLastEdited {
      ...AssetCheckScheduleEditNoteFragment
    }
    externalId
  }
}
Variables
{
  "id": HashedId,
  "name": "abc123",
  "interval": 987,
  "externalId": "xyz789",
  "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,
      "externalId": "xyz789"
    }
  }
}

updateCost

Description

Update an existing cost entry

Response

Returns a Cost

Arguments
Name Description
id - HashedId! Unique identifier of the entity
input - CostUpdateInput! Cost update fields
attachments - [Upload!] Attached files

Example

Query
mutation updateCost(
  $id: HashedId!,
  $input: CostUpdateInput!,
  $attachments: [Upload!]
) {
  updateCost(
    id: $id,
    input: $input,
    attachments: $attachments
  ) {
    id
    created
    updated
    assetId
    title
    description
    provider
    invoiceNumber
    invoiceDate
    costCenter
    siteId
    labelId
    ticketId
    createdByUserId
    label {
      ...CostLabelFragment
    }
    createdByUser {
      ...UserFragment
    }
    costLines {
      ...CostLineFragment
    }
    operatingCosts
    site {
      ...SiteFragment
    }
    asset {
      ...AssetFragment
    }
    documents {
      ...DocumentFragment
    }
    history {
      ...CostHistoryFragment
    }
  }
}
Variables
{
  "id": HashedId,
  "input": CostUpdateInput,
  "attachments": [Upload]
}
Response
{
  "data": {
    "updateCost": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "assetId": HashedId,
      "title": "abc123",
      "description": "xyz789",
      "provider": "xyz789",
      "invoiceNumber": "abc123",
      "invoiceDate": "2007-12-03T10:15:30Z",
      "costCenter": "xyz789",
      "siteId": HashedId,
      "labelId": HashedId,
      "ticketId": HashedId,
      "createdByUserId": HashedId,
      "label": CostLabel,
      "createdByUser": User,
      "costLines": [CostLine],
      "operatingCosts": 987.65,
      "site": Site,
      "asset": Asset,
      "documents": [Document],
      "history": [CostHistory]
    }
  }
}

updateCustomFieldById

Description

Update a custom field definition by its ID

Response

Returns a CustomField!

Arguments
Name Description
id - HashedId! Unique identifier of the entity
input - CustomFieldUpdateByIdInput! Custom field by id update fields

Example

Query
mutation updateCustomFieldById(
  $id: HashedId!,
  $input: CustomFieldUpdateByIdInput!
) {
  updateCustomFieldById(
    id: $id,
    input: $input
  ) {
    id
    created
    updated
    nameId
    publicId
    type
    isRequired
    showOnQrLandingPage
    showToNonLoggedInUsers
    groupId
    addToAllAssetsInGroupAndBelow
    customerVisibilityRights
    createdByUserId
    createdByGroupId
    availableCustomerVisibilityRights
    deleted
    name {
      ...TranslationFragment
    }
    group {
      ...GroupFragment
    }
    assetTypes {
      ...AssetTypeFragment
    }
    assetCategories {
      ...AssetCategoryFragment
    }
    assets {
      ...AssetFragment
    }
    createdByUser {
      ...UserFragment
    }
    createdByGroup {
      ...GroupFragment
    }
    values {
      ...CustomFieldValueFragment
    }
  }
}
Variables
{
  "id": HashedId,
  "input": CustomFieldUpdateByIdInput
}
Response
{
  "data": {
    "updateCustomFieldById": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "nameId": HashedId,
      "publicId": 987,
      "type": "text",
      "isRequired": false,
      "showOnQrLandingPage": false,
      "showToNonLoggedInUsers": true,
      "groupId": HashedId,
      "addToAllAssetsInGroupAndBelow": true,
      "customerVisibilityRights": "editor",
      "createdByUserId": HashedId,
      "createdByGroupId": HashedId,
      "availableCustomerVisibilityRights": ["editor"],
      "deleted": 1592577642,
      "name": Translation,
      "group": Group,
      "assetTypes": [AssetType],
      "assetCategories": [AssetCategory],
      "assets": [Asset],
      "createdByUser": User,
      "createdByGroup": Group,
      "values": [CustomFieldValue]
    }
  }
}

updateDashboardById

Description

Update dashboard by id

Response

Returns a Dashboard

Arguments
Name Description
id - HashedId! Unique identifier of the entity
input - DashboardUpdateInput! Dashboard update fields

Example

Query
mutation updateDashboardById(
  $id: HashedId!,
  $input: DashboardUpdateInput!
) {
  updateDashboardById(
    id: $id,
    input: $input
  ) {
    id
    created
    updated
    order
    default
    createdByUserId
    titleId
    createdByGroupId
    grafanaDashboardURL
    grafanaDashboardUID
    filters {
      ...DashboardFilterFragment
    }
    createdByUser {
      ...UserFragment
    }
    createdByGroup {
      ...GroupFragment
    }
    title {
      ...TranslationFragment
    }
  }
}
Variables
{
  "id": HashedId,
  "input": DashboardUpdateInput
}
Response
{
  "data": {
    "updateDashboardById": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "order": 123,
      "default": true,
      "createdByUserId": HashedId,
      "titleId": HashedId,
      "createdByGroupId": HashedId,
      "grafanaDashboardURL": "abc123",
      "grafanaDashboardUID": "xyz789",
      "filters": [DashboardFilter],
      "createdByUser": User,
      "createdByGroup": Group,
      "title": Translation
    }
  }
}

updateDocument

Description

Update document

Response

Returns [Document!]!

Arguments
Name Description
id - HashedId! Unique identifier of the entity
assetId - HashedId Id of the associated asset. Mutually exclusive with other associations.
assetTypeId - HashedId Id of the associated assetType. Mutually exclusive with other associations.
partId - HashedId Id of the associated part. Mutually exclusive with other associations.
isVisibleToCustomer - Boolean Indicates whether the document is served/visible to users of customer groups.
name - String Name of the attachment
purpose - String A string 'label' to define the purpose of the document. Can only be one of the items of a predefined constant array.
uploadedByUserId - HashedId Uploaded by user identifier
externalId - String External system identifier
documentLink - String Document link
file - Upload File attachment

Example

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

updateEvent

Description

Update an existing event

Response

Returns an Event!

Arguments
Name Description
id - HashedId! Unique identifier of the entity
title - TranslationInput Title text
assetId - HashedId Asset identifier
description - TranslationInput Human-readable description
newCosts - [NewCostLineInput!] New costs
changedCosts - [ChangedCostLineInput!] Changed costs
costsIdsToDelete - [HashedId!] Costs ids to delete
newAttachments - [Upload!] New attachments
documentsIdsToDelete - [HashedId!] Documents ids to delete
startTime - Timestamp Start time

Example

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

updateGroup

Use groups.updateById instead
Description

Update a group using the legacy flat input format

Response

Returns [Group!]!

Arguments
Name Description
id - HashedId! Group identifier to update
vatNumber - String VAT registration number for tax invoicing purposes
getRawFlow - Boolean Whether to return the unprocessed workflow configuration in the response
servicePackageId - HashedId Can only be changed by internal TS users currently
settingsPath - String Dot-notation path within the settings JSON to update a specific nested value
handlerAlias - String Short alias displayed instead of the full ticket handler name
defaultCurrency - String ISO 4217 currency code for cost calculations within this group
userRequestNotifiers - [NotificationRelationCreateInput!] Passing empty array will remove all the relations
settings - JSON Raw JSON settings blob to replace the current group settings
internalSettings - JSON Raw JSON internal settings blob for admin-only configuration
hasTicketHandling - Boolean Whether the record has ticket handling
identificationNumber - String External business registration or tax identification number
name - String Updated human-readable label for the group
parentGroupId - HashedId Parent group identifier in the hierarchy
costSettings - GroupCostSettingsUpdateInput Updated cost calculation settings for the group

Example

Query
mutation updateGroup(
  $id: HashedId!,
  $vatNumber: String,
  $getRawFlow: Boolean,
  $servicePackageId: HashedId,
  $settingsPath: String,
  $handlerAlias: String,
  $defaultCurrency: String,
  $userRequestNotifiers: [NotificationRelationCreateInput!],
  $settings: JSON,
  $internalSettings: JSON,
  $hasTicketHandling: Boolean,
  $identificationNumber: String,
  $name: String,
  $parentGroupId: HashedId,
  $costSettings: GroupCostSettingsUpdateInput
) {
  updateGroup(
    id: $id,
    vatNumber: $vatNumber,
    getRawFlow: $getRawFlow,
    servicePackageId: $servicePackageId,
    settingsPath: $settingsPath,
    handlerAlias: $handlerAlias,
    defaultCurrency: $defaultCurrency,
    userRequestNotifiers: $userRequestNotifiers,
    settings: $settings,
    internalSettings: $internalSettings,
    hasTicketHandling: $hasTicketHandling,
    identificationNumber: $identificationNumber,
    name: $name,
    parentGroupId: $parentGroupId,
    costSettings: $costSettings
  ) {
    id
    created
    updated
    name
    parentGroupId
    isRoot
    image
    isCustomer
    identificationNumber
    vatNumber
    rootGroupId
    handlerAlias
    treeRootId
    servicePackageId
    flowId
    roleIds
    activeCustomFields {
      ...CustomFieldFragment
    }
    archivedCustomFields {
      ...CustomFieldFragment
    }
    costSettingsId
    deleted
    parentGroup {
      ...GroupFragment
    }
    services {
      ...ServiceFragment
    }
    servicesV2 {
      ...ServiceFragment
    }
    servicePackage {
      ...ServicePackageFragment
    }
    ticketHandler {
      ...GroupTicketHandlerFragment
    }
    flow {
      ...ServicePackageFragment
    }
    internalSettings
    settings
    costSettings {
      ...GroupCostSettingsFragment
    }
    brand {
      ...BrandFragment
    }
    assetLocationsHidden
    nonCustomerParentGroup {
      ...GroupFragment
    }
    childGroups {
      ...GroupFragment
    }
    childGroupIds
    belongsToCurrentGroup
    customerRootGroup {
      ...GroupFragment
    }
    rootGroupName
    customerName
    parentName
    groupTypeId
    assets {
      ...AssetFragment
    }
    assetIds
    maintainedManufacturer {
      ...ManufacturerFragment
    }
    maintainedManufacturerId
    userRequestNotifiers {
      ...NotificationRelationFragment
    }
    userIds
    users {
      ...UserFragment
    }
    hasTicketHandling
    flowMaintainers {
      ...NotificationRelationFragment
    }
    servicePackageV2 {
      ... on ServicePackage {
        ...ServicePackageFragment
      }
      ... on RestrictedServicePackage {
        ...RestrictedServicePackageFragment
      }
    }
    groupType {
      ...ServicePackageFragment
    }
  }
}
Variables
{
  "id": HashedId,
  "vatNumber": "abc123",
  "getRawFlow": false,
  "servicePackageId": HashedId,
  "settingsPath": "abc123",
  "handlerAlias": "abc123",
  "defaultCurrency": "abc123",
  "userRequestNotifiers": [
    NotificationRelationCreateInput
  ],
  "settings": {},
  "internalSettings": {},
  "hasTicketHandling": true,
  "identificationNumber": "xyz789",
  "name": "abc123",
  "parentGroupId": HashedId,
  "costSettings": GroupCostSettingsUpdateInput
}
Response
{
  "data": {
    "updateGroup": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "name": "xyz789",
        "parentGroupId": HashedId,
        "isRoot": false,
        "image": "abc123",
        "isCustomer": false,
        "identificationNumber": "xyz789",
        "vatNumber": "xyz789",
        "rootGroupId": HashedId,
        "handlerAlias": "xyz789",
        "treeRootId": HashedId,
        "servicePackageId": HashedId,
        "flowId": HashedId,
        "roleIds": [HashedId],
        "activeCustomFields": [CustomField],
        "archivedCustomFields": [CustomField],
        "costSettingsId": HashedId,
        "deleted": 1592577642,
        "parentGroup": Group,
        "services": [Service],
        "servicesV2": [Service],
        "servicePackage": ServicePackage,
        "ticketHandler": GroupTicketHandler,
        "flow": ServicePackage,
        "internalSettings": {},
        "settings": {},
        "costSettings": GroupCostSettings,
        "brand": Brand,
        "assetLocationsHidden": true,
        "nonCustomerParentGroup": Group,
        "childGroups": [Group],
        "childGroupIds": [HashedId],
        "belongsToCurrentGroup": false,
        "customerRootGroup": Group,
        "rootGroupName": "abc123",
        "customerName": "abc123",
        "parentName": "xyz789",
        "groupTypeId": HashedId,
        "assets": [Asset],
        "assetIds": [HashedId],
        "maintainedManufacturer": [Manufacturer],
        "maintainedManufacturerId": [HashedId],
        "userRequestNotifiers": [NotificationRelation],
        "userIds": [HashedId],
        "users": [User],
        "hasTicketHandling": true,
        "flowMaintainers": [NotificationRelation],
        "servicePackageV2": ServicePackage,
        "groupType": ServicePackage
      }
    ]
  }
}

updateGroupById

Description

Update group properties, settings, and cost configuration by group identifier

Response

Returns a Group!

Arguments
Name Description
id - HashedId! Unique identifier of the entity
input - GroupUpdateInput! Group update fields

Example

Query
mutation updateGroupById(
  $id: HashedId!,
  $input: GroupUpdateInput!
) {
  updateGroupById(
    id: $id,
    input: $input
  ) {
    id
    created
    updated
    name
    parentGroupId
    isRoot
    image
    isCustomer
    identificationNumber
    vatNumber
    rootGroupId
    handlerAlias
    treeRootId
    servicePackageId
    flowId
    roleIds
    activeCustomFields {
      ...CustomFieldFragment
    }
    archivedCustomFields {
      ...CustomFieldFragment
    }
    costSettingsId
    deleted
    parentGroup {
      ...GroupFragment
    }
    services {
      ...ServiceFragment
    }
    servicesV2 {
      ...ServiceFragment
    }
    servicePackage {
      ...ServicePackageFragment
    }
    ticketHandler {
      ...GroupTicketHandlerFragment
    }
    flow {
      ...ServicePackageFragment
    }
    internalSettings
    settings
    costSettings {
      ...GroupCostSettingsFragment
    }
    brand {
      ...BrandFragment
    }
    assetLocationsHidden
    nonCustomerParentGroup {
      ...GroupFragment
    }
    childGroups {
      ...GroupFragment
    }
    childGroupIds
    belongsToCurrentGroup
    customerRootGroup {
      ...GroupFragment
    }
    rootGroupName
    customerName
    parentName
    groupTypeId
    assets {
      ...AssetFragment
    }
    assetIds
    maintainedManufacturer {
      ...ManufacturerFragment
    }
    maintainedManufacturerId
    userRequestNotifiers {
      ...NotificationRelationFragment
    }
    userIds
    users {
      ...UserFragment
    }
    hasTicketHandling
    flowMaintainers {
      ...NotificationRelationFragment
    }
    servicePackageV2 {
      ... on ServicePackage {
        ...ServicePackageFragment
      }
      ... on RestrictedServicePackage {
        ...RestrictedServicePackageFragment
      }
    }
    groupType {
      ...ServicePackageFragment
    }
  }
}
Variables
{
  "id": HashedId,
  "input": GroupUpdateInput
}
Response
{
  "data": {
    "updateGroupById": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "name": "abc123",
      "parentGroupId": HashedId,
      "isRoot": true,
      "image": "xyz789",
      "isCustomer": false,
      "identificationNumber": "abc123",
      "vatNumber": "abc123",
      "rootGroupId": HashedId,
      "handlerAlias": "abc123",
      "treeRootId": HashedId,
      "servicePackageId": HashedId,
      "flowId": HashedId,
      "roleIds": [HashedId],
      "activeCustomFields": [CustomField],
      "archivedCustomFields": [CustomField],
      "costSettingsId": HashedId,
      "deleted": 1592577642,
      "parentGroup": Group,
      "services": [Service],
      "servicesV2": [Service],
      "servicePackage": ServicePackage,
      "ticketHandler": GroupTicketHandler,
      "flow": ServicePackage,
      "internalSettings": {},
      "settings": {},
      "costSettings": GroupCostSettings,
      "brand": Brand,
      "assetLocationsHidden": true,
      "nonCustomerParentGroup": Group,
      "childGroups": [Group],
      "childGroupIds": [HashedId],
      "belongsToCurrentGroup": true,
      "customerRootGroup": Group,
      "rootGroupName": "abc123",
      "customerName": "xyz789",
      "parentName": "abc123",
      "groupTypeId": HashedId,
      "assets": [Asset],
      "assetIds": [HashedId],
      "maintainedManufacturer": [Manufacturer],
      "maintainedManufacturerId": [HashedId],
      "userRequestNotifiers": [NotificationRelation],
      "userIds": [HashedId],
      "users": [User],
      "hasTicketHandling": true,
      "flowMaintainers": [NotificationRelation],
      "servicePackageV2": ServicePackage,
      "groupType": ServicePackage
    }
  }
}

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! Group identifier to update the image for
file - Upload! File attachment

Example

Query
mutation updateGroupImage(
  $id: HashedId!,
  $file: Upload!
) {
  updateGroupImage(
    id: $id,
    file: $file
  ) {
    id
    created
    updated
    name
    parentGroupId
    isRoot
    image
    isCustomer
    identificationNumber
    vatNumber
    rootGroupId
    handlerAlias
    treeRootId
    servicePackageId
    flowId
    roleIds
    activeCustomFields {
      ...CustomFieldFragment
    }
    archivedCustomFields {
      ...CustomFieldFragment
    }
    costSettingsId
    deleted
    parentGroup {
      ...GroupFragment
    }
    services {
      ...ServiceFragment
    }
    servicesV2 {
      ...ServiceFragment
    }
    servicePackage {
      ...ServicePackageFragment
    }
    ticketHandler {
      ...GroupTicketHandlerFragment
    }
    flow {
      ...ServicePackageFragment
    }
    internalSettings
    settings
    costSettings {
      ...GroupCostSettingsFragment
    }
    brand {
      ...BrandFragment
    }
    assetLocationsHidden
    nonCustomerParentGroup {
      ...GroupFragment
    }
    childGroups {
      ...GroupFragment
    }
    childGroupIds
    belongsToCurrentGroup
    customerRootGroup {
      ...GroupFragment
    }
    rootGroupName
    customerName
    parentName
    groupTypeId
    assets {
      ...AssetFragment
    }
    assetIds
    maintainedManufacturer {
      ...ManufacturerFragment
    }
    maintainedManufacturerId
    userRequestNotifiers {
      ...NotificationRelationFragment
    }
    userIds
    users {
      ...UserFragment
    }
    hasTicketHandling
    flowMaintainers {
      ...NotificationRelationFragment
    }
    servicePackageV2 {
      ... on ServicePackage {
        ...ServicePackageFragment
      }
      ... on RestrictedServicePackage {
        ...RestrictedServicePackageFragment
      }
    }
    groupType {
      ...ServicePackageFragment
    }
  }
}
Variables
{"id": HashedId, "file": Upload}
Response
{
  "data": {
    "updateGroupImage": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "name": "abc123",
      "parentGroupId": HashedId,
      "isRoot": true,
      "image": "xyz789",
      "isCustomer": false,
      "identificationNumber": "xyz789",
      "vatNumber": "xyz789",
      "rootGroupId": HashedId,
      "handlerAlias": "xyz789",
      "treeRootId": HashedId,
      "servicePackageId": HashedId,
      "flowId": HashedId,
      "roleIds": [HashedId],
      "activeCustomFields": [CustomField],
      "archivedCustomFields": [CustomField],
      "costSettingsId": HashedId,
      "deleted": 1592577642,
      "parentGroup": Group,
      "services": [Service],
      "servicesV2": [Service],
      "servicePackage": ServicePackage,
      "ticketHandler": GroupTicketHandler,
      "flow": ServicePackage,
      "internalSettings": {},
      "settings": {},
      "costSettings": GroupCostSettings,
      "brand": Brand,
      "assetLocationsHidden": true,
      "nonCustomerParentGroup": Group,
      "childGroups": [Group],
      "childGroupIds": [HashedId],
      "belongsToCurrentGroup": true,
      "customerRootGroup": Group,
      "rootGroupName": "xyz789",
      "customerName": "abc123",
      "parentName": "xyz789",
      "groupTypeId": HashedId,
      "assets": [Asset],
      "assetIds": [HashedId],
      "maintainedManufacturer": [Manufacturer],
      "maintainedManufacturerId": [HashedId],
      "userRequestNotifiers": [NotificationRelation],
      "userIds": [HashedId],
      "users": [User],
      "hasTicketHandling": true,
      "flowMaintainers": [NotificationRelation],
      "servicePackageV2": ServicePackage,
      "groupType": ServicePackage
    }
  }
}

updateGroupTicketHandlerTeamById

Description

Update a group ticket handler team assignment by its ID

Response

Returns a GroupTicketHandlerTeam!

Arguments
Name Description
id - HashedId! Unique identifier of the entity
input - GroupTicketHandlerTeamUpdateInput! Group ticket handler team update fields

Example

Query
mutation updateGroupTicketHandlerTeamById(
  $id: HashedId!,
  $input: GroupTicketHandlerTeamUpdateInput!
) {
  updateGroupTicketHandlerTeamById(
    id: $id,
    input: $input
  ) {
    id
    created
    updated
    groupTicketHandlerId
    isNotifiable
    teamId
    team {
      ...TeamFragment
    }
  }
}
Variables
{
  "id": HashedId,
  "input": GroupTicketHandlerTeamUpdateInput
}
Response
{
  "data": {
    "updateGroupTicketHandlerTeamById": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "groupTicketHandlerId": HashedId,
      "isNotifiable": true,
      "teamId": HashedId,
      "team": Team
    }
  }
}

updateGroupTicketHandlerUserById

Description

Update a group ticket handler user assignment by its ID

Response

Returns a GroupTicketHandlerUser!

Arguments
Name Description
id - HashedId! Unique identifier of the entity
input - GroupTicketHandlerUserUpdateInput! Group ticket handler user update fields

Example

Query
mutation updateGroupTicketHandlerUserById(
  $id: HashedId!,
  $input: GroupTicketHandlerUserUpdateInput!
) {
  updateGroupTicketHandlerUserById(
    id: $id,
    input: $input
  ) {
    id
    created
    updated
    groupTicketHandlerId
    isNotifiable
    userId
    user {
      ...UserFragment
    }
  }
}
Variables
{
  "id": HashedId,
  "input": GroupTicketHandlerUserUpdateInput
}
Response
{
  "data": {
    "updateGroupTicketHandlerUserById": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "groupTicketHandlerId": HashedId,
      "isNotifiable": false,
      "userId": HashedId,
      "user": User
    }
  }
}

updateIntegrationConfig

Description

Update configuration key-value pairs for a deprecated enum-based integration

Response

Returns an Integration!

Arguments
Name Description
name - IntegrationNamesEnum! Integration to look up from the predefined list
configInput - [IntegrationUpdateInput!]! Key-value configuration entries to update

Example

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

updateIntegrationUser

Description

Reassign the user account linked to an integration

Response

Returns a Boolean!

Arguments
Name Description
name - String! Integration to reassign
userId - HashedId! New user account to link to the integration

Example

Query
mutation updateIntegrationUser(
  $name: String!,
  $userId: HashedId!
) {
  updateIntegrationUser(
    name: $name,
    userId: $userId
  )
}
Variables
{
  "name": "abc123",
  "userId": HashedId
}
Response
{"data": {"updateIntegrationUser": false}}

updateLoginInterrupt

Not implemented yet
Description

Update an existing login interrupt message

Response

Returns a LoginInterrupt

Arguments
Name Description
title - String!

Example

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

updateMaintenanceSchedule

Description

Update an existing asset maintenance schedule

Response

Returns an AssetMaintenanceSchedule!

Arguments
Name Description
id - HashedId! Unique identifier of the entity
interval - Int! Maintenance interval in days
lastMaintenance - Date Date of the last completed maintenance
nextMaintenance - Date! Date of the next scheduled maintenance

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

Description

Update a manufacturer by its ID

Response

Returns a Manufacturer!

Arguments
Name Description
id - HashedId! Unique identifier
input - ManufacturerUpdateInput! Manufacturer update fields

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": "abc123",
      "notificationsEnabled": true,
      "maintainedByGroupId": 123,
      "maintainedByGroup": Group,
      "assetIntegrations": [AssetIntegration],
      "assetIntegrationIds": [HashedId]
    }
  }
}

updateModule

Description

Update an existing IoT module configuration

Response

Returns a Module!

Arguments
Name Description
stripeCustomerId - String Used to connect the Module to a Stripe Customer
stripePriceId - String Used to connect the Module to a Stripe Product
moduleRevision - String Some value that is specifying what kind of module this is
externalId - String External system identifier
isFake - Boolean Whether fake
id - HashedId Unique identifier
imei - String Imei

Example

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

updateNotificationByTicketId

Description

Update notification preferences for a ticket

Response

Returns a NotificationFilter!

Arguments
Name Description
id - HashedId! Unique identifier of the entity
input - NotificationFilterUpdateInput! Notification preferences to apply for this ticket

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

Not implemented yet
Description

Update an existing OTA firmware update for an asset integration

Response

Returns an OTAUpdate

Arguments
Name Description
assetIntegrationId - HashedId! Target asset integration to update the firmware update for

Example

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

updateOperationalCostsView

Description

Update an existing saved operational costs view

Response

Returns an OperationalCostsView!

Arguments
Name Description
view - OperationalCostsViewUpdateInput! View configuration data

Example

Query
mutation updateOperationalCostsView($view: OperationalCostsViewUpdateInput!) {
  updateOperationalCostsView(view: $view) {
    id
    created
    updated
    titleId
    forEntity
    displayMode
    options {
      ...OperationalCostsViewOptionsFragment
    }
    isActive
    isSystemView
    isShared
    isEditable
    isDeletable
    isShareable
    isUnsharedByParentGroup
    title {
      ...TranslationFragment
    }
  }
}
Variables
{"view": OperationalCostsViewUpdateInput}
Response
{
  "data": {
    "updateOperationalCostsView": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "titleId": HashedId,
      "forEntity": "ASSET",
      "displayMode": "LIST",
      "options": OperationalCostsViewOptions,
      "isActive": true,
      "isSystemView": false,
      "isShared": false,
      "isEditable": true,
      "isDeletable": true,
      "isShareable": true,
      "isUnsharedByParentGroup": false,
      "title": Translation
    }
  }
}

updatePart

Description

Update an existing spare part

Response

Returns a Part!

Arguments
Name Description
id - HashedId! Unique identifier
input - PartUpdateInput! Part update fields

Example

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

updatePartImage

Description

Upload or replace the image for a spare part

Response

Returns a Part!

Arguments
Name Description
id - HashedId! Unique identifier of the entity to attach the file to
file - Upload File upload payload to replace the current attachment

Example

Query
mutation updatePartImage(
  $id: HashedId!,
  $file: Upload
) {
  updatePartImage(
    id: $id,
    file: $file
  ) {
    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
    previousQuantity
    responsiblePerson
    vendor
    image
    shouldNotifyCriticalStockLevel
    sendNotificationsTo {
      ...RuleNotificationRelationFragment
    }
    documents {
      ...DocumentFragment
    }
    events {
      ...EventFragment
    }
    createdByGroupId
    createdByGroup {
      ...GroupFragment
    }
    createdByUserId
    createdByUser {
      ...UserFragment
    }
  }
}
Variables
{"id": HashedId, "file": Upload}
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": "xyz789",
      "availableQuantity": 123,
      "minQuantity": 123,
      "maxQuantity": 987,
      "unitOfMeasure": "xyz789",
      "unitCost": 123.45,
      "currency": "abc123",
      "totalStockValue": 123.45,
      "groupId": HashedId,
      "group": Group,
      "customerId": HashedId,
      "customer": Group,
      "externalId": "abc123",
      "uuid": "xyz789",
      "qrAttached": false,
      "brand": "abc123",
      "previousQuantity": 987,
      "responsiblePerson": "abc123",
      "vendor": "abc123",
      "image": "abc123",
      "shouldNotifyCriticalStockLevel": false,
      "sendNotificationsTo": [RuleNotificationRelation],
      "documents": [Document],
      "events": [Event],
      "createdByGroupId": HashedId,
      "createdByGroup": Group,
      "createdByUserId": HashedId,
      "createdByUser": User
    }
  }
}

updateProcedureTemplateById

Description

Replaces the components, automations, and settings of an existing procedure template

Response

Returns a ProcedureTemplate!

Arguments
Name Description
id - HashedId! Unique identifier of the entity
input - ProcedureTemplateCreateInput! Procedure template creation fields

Example

Query
mutation updateProcedureTemplateById(
  $id: HashedId!,
  $input: ProcedureTemplateCreateInput!
) {
  updateProcedureTemplateById(
    id: $id,
    input: $input
  ) {
    id
    created
    updated
    type
    itemType
    preset
    accessLevel
    iconUrl
    createdByGroupId
    createdByUserId
    titleId
    descriptionId
    rootId
    publicId
    publicRootId
    servicePackages {
      ...ServicePackageFragment
    }
    title {
      ...TranslationFragment
    }
    createdByUser {
      ...UserFragment
    }
    createdByGroup {
      ...GroupFragment
    }
    description {
      ...TranslationFragment
    }
    components {
      ...ProcedureTemplateComponentFragment
    }
    automations {
      ...ProcedureTemplateAutomationFragment
    }
    conditions {
      ...ProcedureConditionFragment
    }
    parentId
    parent {
      ...ProcedureTemplateFragment
    }
    deleted
  }
}
Variables
{
  "id": HashedId,
  "input": ProcedureTemplateCreateInput
}
Response
{
  "data": {
    "updateProcedureTemplateById": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "type": "tickets",
      "itemType": "general",
      "preset": "check",
      "accessLevel": "tree",
      "iconUrl": "abc123",
      "createdByGroupId": HashedId,
      "createdByUserId": HashedId,
      "titleId": HashedId,
      "descriptionId": HashedId,
      "rootId": HashedId,
      "publicId": 987,
      "publicRootId": 987,
      "servicePackages": [ServicePackage],
      "title": Translation,
      "createdByUser": User,
      "createdByGroup": Group,
      "description": Translation,
      "components": [ProcedureTemplateComponent],
      "automations": [ProcedureTemplateAutomation],
      "conditions": [ProcedureCondition],
      "parentId": HashedId,
      "parent": ProcedureTemplate,
      "deleted": 1592577642
    }
  }
}

updateReservation

Description

Update an existing reservation and its working hours settings

Response

Returns [Reservation!]

Arguments
Name Description
id - HashedId! Unique identifier of the entity
from - Timestamp Updated starting time of the reservation
until - Timestamp Updated ending time of the reservation
reserverName - String Updated name of the person reserving the assets
assetIds - [HashedId!] Updated list of asset IDs assigned to this reservation
notes - TranslationInput Updated notes for this reservation
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,
  $reserverName: String,
  $assetIds: [HashedId!],
  $notes: TranslationInput,
  $workingHoursSettings: JSON,
  $workingHoursNotification: [RuleNotificationRelationInput]
) {
  updateReservation(
    id: $id,
    from: $from,
    until: $until,
    reserverName: $reserverName,
    assetIds: $assetIds,
    notes: $notes,
    workingHoursSettings: $workingHoursSettings,
    workingHoursNotification: $workingHoursNotification
  ) {
    id
    created
    updated
    from
    until
    reserverName
    assets {
      ...AssetFragment
    }
    assetIds
    workingHoursSettings
    workingHoursNotification {
      ...RuleNotificationRelationFragment
    }
    notes {
      ...TranslationFragment
    }
    notesId
    createdByUser {
      ...UserFragment
    }
    createdByUserId
    createdByGroup {
      ...GroupFragment
    }
    createdByGroupId
  }
}
Variables
{
  "id": HashedId,
  "from": 1592577642,
  "until": 1592577642,
  "reserverName": "xyz789",
  "assetIds": [HashedId],
  "notes": TranslationInput,
  "workingHoursSettings": {},
  "workingHoursNotification": [
    RuleNotificationRelationInput
  ]
}
Response
{
  "data": {
    "updateReservation": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "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
      }
    ]
  }
}

updateRule

Description

Update an existing automation rule

Response

Returns a Rule!

Arguments
Name Description
id - HashedId! Unique identifier of the entity
eventType - EventTypeEnum Event type
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 Whether immediate notification
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.
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.
isCheckAllowedForUnauthorizedUsers - Boolean This setting allows anyone to execute the check and allow changes to the connected asset
title - TranslationInput Title text
description - TranslationInput Human-readable description
definition - JSON Updated condition logic tree for the rule
source - RuleSource! Evaluation source determining how and when the rule is checked
assetIds - [HashedId!] Asset identifiers
assetTypeIds - [HashedId!] Asset type identifiers
relations - RuleRelationInput! Asset type and asset associations to update
assignedToGroupId - HashedId Group the record is assigned to
assetBlacklistIds - [HashedId!] Asset blacklist identifiers
sendNotificationsTo - [RuleNotificationRelationInput] Recipients who receive notifications when this rule triggers
eventsConfigs - [EventConfigInput] Per-asset scheduling configurations for time-based rules
serviceIds - [HashedId] Service identifiers
preserveExistingRelations - Boolean Preserve existing relations. Default = false

Example

Query
mutation updateRule(
  $id: HashedId!,
  $eventType: EventTypeEnum,
  $isCritical: Boolean,
  $isOnetime: Boolean,
  $isImmediateNotification: Boolean,
  $isGlobalRule: Boolean,
  $manualDeactivation: Boolean,
  $isOneshot: Boolean,
  $isActive: Boolean,
  $isCheckAllowedForUnauthorizedUsers: Boolean,
  $title: TranslationInput,
  $description: TranslationInput,
  $definition: JSON,
  $source: RuleSource!,
  $assetIds: [HashedId!],
  $assetTypeIds: [HashedId!],
  $relations: RuleRelationInput!,
  $assignedToGroupId: HashedId,
  $assetBlacklistIds: [HashedId!],
  $sendNotificationsTo: [RuleNotificationRelationInput],
  $eventsConfigs: [EventConfigInput],
  $serviceIds: [HashedId],
  $preserveExistingRelations: Boolean
) {
  updateRule(
    id: $id,
    eventType: $eventType,
    isCritical: $isCritical,
    isOnetime: $isOnetime,
    isImmediateNotification: $isImmediateNotification,
    isGlobalRule: $isGlobalRule,
    manualDeactivation: $manualDeactivation,
    isOneshot: $isOneshot,
    isActive: $isActive,
    isCheckAllowedForUnauthorizedUsers: $isCheckAllowedForUnauthorizedUsers,
    title: $title,
    description: $description,
    definition: $definition,
    source: $source,
    assetIds: $assetIds,
    assetTypeIds: $assetTypeIds,
    relations: $relations,
    assignedToGroupId: $assignedToGroupId,
    assetBlacklistIds: $assetBlacklistIds,
    sendNotificationsTo: $sendNotificationsTo,
    eventsConfigs: $eventsConfigs,
    serviceIds: $serviceIds,
    preserveExistingRelations: $preserveExistingRelations
  ) {
    id
    created
    updated
    title {
      ...TranslationFragment
    }
    description {
      ...TranslationFragment
    }
    createdByUser {
      ...UserFragment
    }
    createdByGroup {
      ...GroupFragment
    }
    assignedToGroup {
      ...GroupFragment
    }
    eventStyle {
      ...EventStyleFragment
    }
    titleId
    descriptionId
    createdByGroupId
    createdByUserId
    assignedToGroupId
    eventStyleId
    eventType
    isCritical
    isOnetime
    isImmediateNotification
    isGlobalRule
    manualDeactivation
    isArchived
    isOneshot
    isActive
    source
    enabled
    isCheckAllowedForUnauthorizedUsers
    purpose
    definition
    relations {
      ...RuleRelationFragment
    }
    eventsConfigs {
      ...EventConfigFragment
    }
    services {
      ...ServiceFragment
    }
    checkAssetsPaginated {
      ...PaginatedRuleCheckAssetsFragment
    }
    publicId
    relationsV2 {
      ...RuleRelationFragment
    }
    sendNotificationsTo {
      ...RuleNotificationRelationFragment
    }
    servicesV2 {
      ...ServiceFragment
    }
    assetBlacklist {
      ...AssetFragment
    }
  }
}
Variables
{
  "id": HashedId,
  "eventType": "ERROR",
  "isCritical": false,
  "isOnetime": true,
  "isImmediateNotification": true,
  "isGlobalRule": false,
  "manualDeactivation": false,
  "isOneshot": true,
  "isActive": true,
  "isCheckAllowedForUnauthorizedUsers": false,
  "title": TranslationInput,
  "description": TranslationInput,
  "definition": {},
  "source": "DATA",
  "assetIds": [HashedId],
  "assetTypeIds": [HashedId],
  "relations": RuleRelationInput,
  "assignedToGroupId": HashedId,
  "assetBlacklistIds": [HashedId],
  "sendNotificationsTo": [RuleNotificationRelationInput],
  "eventsConfigs": [EventConfigInput],
  "serviceIds": [HashedId],
  "preserveExistingRelations": false
}
Response
{
  "data": {
    "updateRule": {
      "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,
      "eventType": "ERROR",
      "isCritical": true,
      "isOnetime": false,
      "isImmediateNotification": true,
      "isGlobalRule": false,
      "manualDeactivation": true,
      "isArchived": false,
      "isOneshot": true,
      "isActive": true,
      "source": "DATA",
      "enabled": true,
      "isCheckAllowedForUnauthorizedUsers": true,
      "purpose": "GEOFENCE",
      "definition": {},
      "relations": [RuleRelation],
      "eventsConfigs": [EventConfig],
      "services": [Service],
      "checkAssetsPaginated": PaginatedRuleCheckAssets,
      "publicId": "abc123",
      "relationsV2": [RuleRelation],
      "sendNotificationsTo": [RuleNotificationRelation],
      "servicesV2": [Service],
      "assetBlacklist": [Asset]
    }
  }
}

updateRuleAddCheck

Description

Add check assets to an existing automation rule

Response

Returns a Rule!

Arguments
Name Description
id - HashedId! Unique identifier of the entity
relations - RuleRelationInput! Asset type and asset associations to update
eventsConfigs - [EventConfigInput] Per-asset scheduling configurations for the added check assets

Example

Query
mutation updateRuleAddCheck(
  $id: HashedId!,
  $relations: RuleRelationInput!,
  $eventsConfigs: [EventConfigInput]
) {
  updateRuleAddCheck(
    id: $id,
    relations: $relations,
    eventsConfigs: $eventsConfigs
  ) {
    id
    created
    updated
    title {
      ...TranslationFragment
    }
    description {
      ...TranslationFragment
    }
    createdByUser {
      ...UserFragment
    }
    createdByGroup {
      ...GroupFragment
    }
    assignedToGroup {
      ...GroupFragment
    }
    eventStyle {
      ...EventStyleFragment
    }
    titleId
    descriptionId
    createdByGroupId
    createdByUserId
    assignedToGroupId
    eventStyleId
    eventType
    isCritical
    isOnetime
    isImmediateNotification
    isGlobalRule
    manualDeactivation
    isArchived
    isOneshot
    isActive
    source
    enabled
    isCheckAllowedForUnauthorizedUsers
    purpose
    definition
    relations {
      ...RuleRelationFragment
    }
    eventsConfigs {
      ...EventConfigFragment
    }
    services {
      ...ServiceFragment
    }
    checkAssetsPaginated {
      ...PaginatedRuleCheckAssetsFragment
    }
    publicId
    relationsV2 {
      ...RuleRelationFragment
    }
    sendNotificationsTo {
      ...RuleNotificationRelationFragment
    }
    servicesV2 {
      ...ServiceFragment
    }
    assetBlacklist {
      ...AssetFragment
    }
  }
}
Variables
{
  "id": HashedId,
  "relations": RuleRelationInput,
  "eventsConfigs": [EventConfigInput]
}
Response
{
  "data": {
    "updateRuleAddCheck": {
      "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,
      "eventType": "ERROR",
      "isCritical": false,
      "isOnetime": true,
      "isImmediateNotification": false,
      "isGlobalRule": false,
      "manualDeactivation": false,
      "isArchived": true,
      "isOneshot": false,
      "isActive": false,
      "source": "DATA",
      "enabled": false,
      "isCheckAllowedForUnauthorizedUsers": false,
      "purpose": "GEOFENCE",
      "definition": {},
      "relations": [RuleRelation],
      "eventsConfigs": [EventConfig],
      "services": [Service],
      "checkAssetsPaginated": PaginatedRuleCheckAssets,
      "publicId": "xyz789",
      "relationsV2": [RuleRelation],
      "sendNotificationsTo": [RuleNotificationRelation],
      "servicesV2": [Service],
      "assetBlacklist": [Asset]
    }
  }
}

updateRuleEntryView

Description

Update an existing saved rule entry view

Response

Returns a RuleEntryView!

Arguments
Name Description
view - RuleEntryViewUpdateInput! View configuration data

Example

Query
mutation updateRuleEntryView($view: RuleEntryViewUpdateInput!) {
  updateRuleEntryView(view: $view) {
    id
    created
    updated
    titleId
    forEntity
    displayMode
    options {
      ...RuleEntryViewOptionsFragment
    }
    isActive
    isSystemView
    isShared
    isEditable
    isDeletable
    isShareable
    isUnsharedByParentGroup
    title {
      ...TranslationFragment
    }
  }
}
Variables
{"view": RuleEntryViewUpdateInput}
Response
{
  "data": {
    "updateRuleEntryView": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "titleId": HashedId,
      "forEntity": "ASSET",
      "displayMode": "LIST",
      "options": RuleEntryViewOptions,
      "isActive": true,
      "isSystemView": false,
      "isShared": true,
      "isEditable": false,
      "isDeletable": false,
      "isShareable": true,
      "isUnsharedByParentGroup": true,
      "title": Translation
    }
  }
}

updateServicePackageById

Description

Update a service package by its ID

Response

Returns a ServicePackage!

Arguments
Name Description
id - HashedId! Unique identifier of the entity
input - ServicePackageUpdateInput! Service package update fields

Example

Query
mutation updateServicePackageById(
  $id: HashedId!,
  $input: ServicePackageUpdateInput!
) {
  updateServicePackageById(
    id: $id,
    input: $input
  ) {
    id
    created
    updated
    titleId
    createdByUserId
    createdByGroupId
    assignedSitesCount
    assignedGroupsCount
    restrictionReason
    services {
      ...ServiceFragment
    }
    createdByGroup {
      ...GroupFragment
    }
    title {
      ...TranslationFragment
    }
    createdByUser {
      ...UserFragment
    }
    deleted
    canBeDeleted
  }
}
Variables
{
  "id": HashedId,
  "input": ServicePackageUpdateInput
}
Response
{
  "data": {
    "updateServicePackageById": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "titleId": HashedId,
      "createdByUserId": HashedId,
      "createdByGroupId": HashedId,
      "assignedSitesCount": 123,
      "assignedGroupsCount": 987,
      "restrictionReason": "NOT_IN_CUSTOMER_TREE",
      "services": [Service],
      "createdByGroup": Group,
      "title": Translation,
      "createdByUser": User,
      "deleted": 1592577642,
      "canBeDeleted": false
    }
  }
}

updateServices

Description

Bulk-update service configurations (restricted to ToolSense platform administrators)

Response

Returns [Service!]!

Arguments
Name Description
services - [ServiceUpdateDeprecatedInput!]! Associated services

Example

Query
mutation updateServices($services: [ServiceUpdateDeprecatedInput!]!) {
  updateServices(services: $services) {
    id
    created
    updated
    titleId
    publicId
    procedureTemplateId
    publicProcedureTemplateId
    keys
    contentType
    assigneeAutomation
    preset
    type
    iconUrl
    formId
    jotformId
    jotformSource
    isServiceCheck
    assigneeAutomationId
    createdByGroupId
    belongsToGroupTypeId
    suggestedServicePartner
    servicePartner {
      ...AvailableHandlerFragment
    }
    availableHandlers {
      ...AvailableServiceHandlerDtoFragment
    }
    ticketHandlers {
      ...ServiceTicketHandlerFragment
    }
    title {
      ...TranslationFragment
    }
    servicePackage {
      ...ServicePackageFragment
    }
    servicePackages {
      ...ServicePackageFragment
    }
    procedureTemplate {
      ...ProcedureTemplateFragment
    }
    deleted
    createdByGroup {
      ...GroupFragment
    }
    rules {
      ...RuleFragment
    }
    canBeDeleted
  }
}
Variables
{"services": [ServiceUpdateDeprecatedInput]}
Response
{
  "data": {
    "updateServices": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "titleId": HashedId,
        "publicId": 123,
        "procedureTemplateId": HashedId,
        "publicProcedureTemplateId": 123,
        "keys": ["abc123"],
        "contentType": "formHtml",
        "assigneeAutomation": "SUGGESTED_PARTNER",
        "preset": "BLE",
        "type": "JOT_FORM",
        "iconUrl": "abc123",
        "formId": "abc123",
        "jotformId": "abc123",
        "jotformSource": "xyz789",
        "isServiceCheck": false,
        "assigneeAutomationId": 987,
        "createdByGroupId": HashedId,
        "belongsToGroupTypeId": HashedId,
        "suggestedServicePartner": "xyz789",
        "servicePartner": AvailableHandler,
        "availableHandlers": [AvailableServiceHandlerDto],
        "ticketHandlers": [ServiceTicketHandler],
        "title": Translation,
        "servicePackage": ServicePackage,
        "servicePackages": [ServicePackage],
        "procedureTemplate": ProcedureTemplate,
        "deleted": 1592577642,
        "createdByGroup": Group,
        "rules": [Rule],
        "canBeDeleted": true
      }
    ]
  }
}

updateSite

Description

Update an existing site using the legacy flat input format

Response

Returns [Site!]

Arguments
Name Description
id - HashedId! Unique identifier of the entity
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 Free-text notes or additional remarks about this site
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 Human-readable location description such as floor or building wing
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 Country where the site is located
customerNumber - String Customer number - arbitrary, for the Customer to manage their own Customers
postalCode - String Postal or ZIP code of the site address
geofenceSettings - JSON Geofence settings, if set. See Rules schema for syntax.
assignedToGroupId - HashedId Group the record is assigned to
coordinates - CoordinatesInput Geographic latitude and longitude of the site
disableWebhooks - Boolean When true, suppresses webhook notifications for this update
geofenceNotification - [RuleNotificationRelationInput] When a geofence event happens, send notifications to these entities

Example

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

updateSiteImage

Description

Upload or replace the photo associated with a site

Response

Returns a Site!

Arguments
Name Description
siteId - HashedId! ID of the site to update the image for
file - Upload! Image file to upload as the site photo

Example

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

updateSiteV2

Description

Update an existing site with structured input

Response

Returns a Site

Arguments
Name Description
siteInput - SiteUpdateInput! Core site fields to update such as name, address, and location
optionsInput - SiteUpdateOptionsInput Additional options like group assignment, webhooks, and managers

Example

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

updateStateByTicketId

use "updateStateByTicketIdV2" instead
Description

Transition ticket workflow status, returns boolean

Response

Returns a Boolean!

Arguments
Name Description
id - HashedId! Unique identifier of the entity
input - TicketStateUpdateInput! New status values to apply to the ticket

Example

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

updateStateByTicketIdV2

Description

Transition ticket workflow status and return updated ticket

Response

Returns a Ticket!

Arguments
Name Description
id - HashedId! Unique identifier of the entity
input - TicketStateUpdateInput! New status values to apply to the ticket

Example

Query
mutation updateStateByTicketIdV2(
  $id: HashedId!,
  $input: TicketStateUpdateInput!
) {
  updateStateByTicketIdV2(
    id: $id,
    input: $input
  ) {
    id
    created
    updated
    content
    uuid
    serviceResponseId
    isStatusUpdatedAutomatically
    statusUpdatedAt
    statusUpdatedByUserId
    createdByUserId
    createdByGroupId
    titleId
    serviceId
    checkEventId
    ticketId
    creatingSyncedOn
    assignee {
      ...ProcessHandlerFragment
    }
    responsibles {
      ...ProcessHandlerFragment
    }
    statusUpdatedByUser {
      ...UserFragment
    }
    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
    urgency
    status
    associatedSites {
      ...SiteFragment
    }
    associatedAssetCategories {
      ...AssetCategoryFragment
    }
    associatedAssetTypes {
      ...AssetTypeFragment
    }
    checkEvent {
      ...EventFragment
    }
    ticketContent {
      ...TicketContentFieldFragment
    }
    automationDetails {
      ...TicketAutomationDetailsFragment
    }
    userHandlers {
      ...TicketHandlerUserFragment
    }
    teamHandlers {
      ...TicketHandlerTeamFragment
    }
    groupHandlers {
      ...TicketHandlerGroupFragment
    }
    externalEmailHandlers {
      ...TicketHandlerExternalEmailFragment
    }
    groupTicketHandlerHandlers {
      ...TicketHandlerGroupTicketHandlerFragment
    }
    siteManagerHandler {
      ...TicketHandlerSiteManagerFragment
    }
    costs {
      ...CostFragment
    }
    procedureInstanceId
    procedureInstance {
      ...ProcedureInstanceFragment
    }
    comments {
      ...TicketCommentFragment
    }
    costLines {
      ...CostLineFragment
    }
    history {
      ...TicketHistoryFragment
    }
    activityEvents {
      ... on TicketHandlerUpdate {
        ...TicketHandlerUpdateFragment
      }
      ... on TicketUrgencyUpdate {
        ...TicketUrgencyUpdateFragment
      }
      ... on TicketAssetCheckComplete {
        ...TicketAssetCheckCompleteFragment
      }
      ... on TicketAssetSiteUpdate {
        ...TicketAssetSiteUpdateFragment
      }
      ... on TicketAssetAvailabilityUpdate {
        ...TicketAssetAvailabilityUpdateFragment
      }
      ... on TicketAutomationEmailSent {
        ...TicketAutomationEmailSentFragment
      }
    }
  }
}
Variables
{
  "id": HashedId,
  "input": TicketStateUpdateInput
}
Response
{
  "data": {
    "updateStateByTicketIdV2": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "content": {},
      "uuid": "abc123",
      "serviceResponseId": HashedId,
      "isStatusUpdatedAutomatically": true,
      "statusUpdatedAt": 1592577642,
      "statusUpdatedByUserId": HashedId,
      "createdByUserId": HashedId,
      "createdByGroupId": HashedId,
      "titleId": HashedId,
      "serviceId": HashedId,
      "checkEventId": HashedId,
      "ticketId": 123,
      "creatingSyncedOn": 1592577642,
      "assignee": ProcessHandler,
      "responsibles": [ProcessHandler],
      "statusUpdatedByUser": User,
      "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": "abc123",
      "insuranceTaxesCosts": "abc123",
      "laborCosts": "xyz789",
      "logisticsCosts": "xyz789",
      "otherCosts": "abc123",
      "repairCosts": "abc123",
      "sparePartsCosts": "abc123",
      "ticketTimeline": TicketTimeline,
      "totalCosts": "xyz789",
      "urgency": "CRITICAL",
      "status": "open",
      "associatedSites": [Site],
      "associatedAssetCategories": [AssetCategory],
      "associatedAssetTypes": [AssetType],
      "checkEvent": Event,
      "ticketContent": [TicketContentField],
      "automationDetails": TicketAutomationDetails,
      "userHandlers": [TicketHandlerUser],
      "teamHandlers": [TicketHandlerTeam],
      "groupHandlers": [TicketHandlerGroup],
      "externalEmailHandlers": [
        TicketHandlerExternalEmail
      ],
      "groupTicketHandlerHandlers": [
        TicketHandlerGroupTicketHandler
      ],
      "siteManagerHandler": TicketHandlerSiteManager,
      "costs": [Cost],
      "procedureInstanceId": HashedId,
      "procedureInstance": ProcedureInstance,
      "comments": [TicketComment],
      "costLines": [CostLine],
      "history": [TicketHistory],
      "activityEvents": [TicketHandlerUpdate]
    }
  }
}

updateTeamById

Description

Update team details by its ID

Response

Returns a Team!

Arguments
Name Description
id - HashedId! Unique identifier of the entity
input - TeamUpdateInput! Team update fields

Example

Query
mutation updateTeamById(
  $id: HashedId!,
  $input: TeamUpdateInput!
) {
  updateTeamById(
    id: $id,
    input: $input
  ) {
    id
    created
    updated
    publicId
    nameId
    groupId
    createdByUserId
    createdByGroupId
    assignedToActiveTicketIds
    name {
      ...TranslationFragment
    }
    group {
      ...GroupFragment
    }
    createdByUser {
      ...UserFragment
    }
    createdByGroup {
      ...GroupFragment
    }
    members {
      ...TeamMemberFragment
    }
    servicePackages {
      ... on ServicePackage {
        ...ServicePackageFragment
      }
      ... on RestrictedServicePackage {
        ...RestrictedServicePackageFragment
      }
    }
    deleted
  }
}
Variables
{
  "id": HashedId,
  "input": TeamUpdateInput
}
Response
{
  "data": {
    "updateTeamById": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "publicId": 123,
      "nameId": HashedId,
      "groupId": HashedId,
      "createdByUserId": HashedId,
      "createdByGroupId": HashedId,
      "assignedToActiveTicketIds": [987],
      "name": Translation,
      "group": Group,
      "createdByUser": User,
      "createdByGroup": Group,
      "members": [TeamMember],
      "servicePackages": [ServicePackage],
      "deleted": 1592577642
    }
  }
}

updateTeamServicePackages

Description

Update team service packages

Response

Returns [HashedId!]!

Arguments
Name Description
teamId - HashedId! Team identifier
servicePackageIds - [HashedId!]! Service package identifiers

Example

Query
mutation updateTeamServicePackages(
  $teamId: HashedId!,
  $servicePackageIds: [HashedId!]!
) {
  updateTeamServicePackages(
    teamId: $teamId,
    servicePackageIds: $servicePackageIds
  )
}
Variables
{
  "teamId": HashedId,
  "servicePackageIds": [HashedId]
}
Response
{"data": {"updateTeamServicePackages": [HashedId]}}

updateTerms

Description

Update an existing terms and conditions document

Response

Returns a Terms!

Arguments
Name Description
id - HashedId! Unique identifier of the entity
title - TranslationInput Title text
content - TranslationInput Content body or payload

Example

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

updateTicketComment

Use "updateTicketCommentById" instead
Description

Edit a ticket comment using legacy format

Response

Returns a TicketComment!

Arguments
Name Description
id - HashedId! Unique identifier of the entity
disableWebhooks - Boolean Whether to skip webhook notifications for this operation. Default = false
attachments - [Upload!] Files attached to the comment
content - String Updated comment message text
documentsIdsToDelete - [HashedId!] Attached documents to remove
event - UpdateCommentEventInput Cost event linked to this comment
newCosts - [NewCostInput!] New cost entries to add
changedCosts - [ChangedCostInput!] Existing cost entries to modify
costsIdsToDelete - [HashedId!] Cost entries to remove

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
    ticketId
    authorEmail
    createdByUser {
      ...TicketUserFragment
    }
    history {
      ...TicketCommentContentFragment
    }
    content {
      ...TicketCommentContentFragment
    }
    isAutomated
    costs {
      ...CostLineFragment
    }
    stateEvent {
      ...TicketStateFragment
    }
    ticketStatus
    itemsEvent {
      ...TicketItemsChangeFragment
    }
    attachments {
      ...DocumentFragment
    }
    connectedEventId
    connectedEvent {
      ...EventFragment
    }
    internal
    deleted
    ticketHistory {
      ...TicketHistoryFragment
    }
  }
}
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,
      "ticketId": HashedId,
      "authorEmail": "xyz789",
      "createdByUser": TicketUser,
      "history": [TicketCommentContent],
      "content": TicketCommentContent,
      "isAutomated": false,
      "costs": [CostLine],
      "stateEvent": TicketState,
      "ticketStatus": "open",
      "itemsEvent": TicketItemsChange,
      "attachments": [Document],
      "connectedEventId": HashedId,
      "connectedEvent": Event,
      "internal": false,
      "deleted": 1592577642,
      "ticketHistory": TicketHistory
    }
  }
}

updateTicketCommentById

Description

Edit an existing ticket comment by its ID

Response

Returns a TicketComment!

Arguments
Name Description
id - HashedId! Unique identifier of the entity
input - TicketCommentUpdateInput! Updated content for an existing ticket comment

Example

Query
mutation updateTicketCommentById(
  $id: HashedId!,
  $input: TicketCommentUpdateInput!
) {
  updateTicketCommentById(
    id: $id,
    input: $input
  ) {
    id
    created
    updated
    createdByUserId
    ticketId
    authorEmail
    createdByUser {
      ...TicketUserFragment
    }
    history {
      ...TicketCommentContentFragment
    }
    content {
      ...TicketCommentContentFragment
    }
    isAutomated
    costs {
      ...CostLineFragment
    }
    stateEvent {
      ...TicketStateFragment
    }
    ticketStatus
    itemsEvent {
      ...TicketItemsChangeFragment
    }
    attachments {
      ...DocumentFragment
    }
    connectedEventId
    connectedEvent {
      ...EventFragment
    }
    internal
    deleted
    ticketHistory {
      ...TicketHistoryFragment
    }
  }
}
Variables
{
  "id": HashedId,
  "input": TicketCommentUpdateInput
}
Response
{
  "data": {
    "updateTicketCommentById": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "createdByUserId": HashedId,
      "ticketId": HashedId,
      "authorEmail": "xyz789",
      "createdByUser": TicketUser,
      "history": [TicketCommentContent],
      "content": TicketCommentContent,
      "isAutomated": true,
      "costs": [CostLine],
      "stateEvent": TicketState,
      "ticketStatus": "open",
      "itemsEvent": TicketItemsChange,
      "attachments": [Document],
      "connectedEventId": HashedId,
      "connectedEvent": Event,
      "internal": true,
      "deleted": 1592577642,
      "ticketHistory": TicketHistory
    }
  }
}

updateTicketHandlerGroupTicketHandlerById

Description

Update a ticket handler group ticket handler by its ID

Arguments
Name Description
id - HashedId! Unique identifier of the entity
input - TicketHandlerGroupTicketHandlerUpdateInput! Ticket handler group ticket handler update fields

Example

Query
mutation updateTicketHandlerGroupTicketHandlerById(
  $id: HashedId!,
  $input: TicketHandlerGroupTicketHandlerUpdateInput!
) {
  updateTicketHandlerGroupTicketHandlerById(
    id: $id,
    input: $input
  ) {
    id
    created
    updated
    isRemovable
    ticketId
    isNotifiable
    role
    groupTicketHandlerId
    groupTicketHandler {
      ...GroupTicketHandlerFragment
    }
  }
}
Variables
{
  "id": HashedId,
  "input": TicketHandlerGroupTicketHandlerUpdateInput
}
Response
{
  "data": {
    "updateTicketHandlerGroupTicketHandlerById": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "isRemovable": true,
      "ticketId": HashedId,
      "isNotifiable": true,
      "role": "ASSIGNEE",
      "groupTicketHandlerId": HashedId,
      "groupTicketHandler": GroupTicketHandler
    }
  }
}

updateTicketHandlerTeamById

Description

Update a ticket handler team assignment by its ID

Response

Returns a TicketHandlerTeam!

Arguments
Name Description
id - HashedId! Unique identifier of the entity
input - TicketHandlerTeamUpdateInput! Ticket handler team update fields

Example

Query
mutation updateTicketHandlerTeamById(
  $id: HashedId!,
  $input: TicketHandlerTeamUpdateInput!
) {
  updateTicketHandlerTeamById(
    id: $id,
    input: $input
  ) {
    id
    created
    updated
    isRemovable
    ticketId
    isNotifiable
    role
    teamId
    team {
      ...TeamFragment
    }
  }
}
Variables
{
  "id": HashedId,
  "input": TicketHandlerTeamUpdateInput
}
Response
{
  "data": {
    "updateTicketHandlerTeamById": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "isRemovable": false,
      "ticketId": HashedId,
      "isNotifiable": true,
      "role": "ASSIGNEE",
      "teamId": HashedId,
      "team": Team
    }
  }
}

updateTicketHandlerUserById

Description

Update a ticket handler user assignment by its ID

Response

Returns a TicketHandlerUser!

Arguments
Name Description
id - HashedId! Unique identifier of the entity
input - TicketHandlerUserUpdateInput! Ticket handler user update fields

Example

Query
mutation updateTicketHandlerUserById(
  $id: HashedId!,
  $input: TicketHandlerUserUpdateInput!
) {
  updateTicketHandlerUserById(
    id: $id,
    input: $input
  ) {
    id
    created
    updated
    isRemovable
    ticketId
    isNotifiable
    role
    userId
    user {
      ...UserFragment
    }
  }
}
Variables
{
  "id": HashedId,
  "input": TicketHandlerUserUpdateInput
}
Response
{
  "data": {
    "updateTicketHandlerUserById": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "isRemovable": true,
      "ticketId": HashedId,
      "isNotifiable": false,
      "role": "ASSIGNEE",
      "userId": HashedId,
      "user": User
    }
  }
}

updateTicketState

use "updateStateByTicketIdV2" instead
Description

Transition ticket workflow status using legacy format

Response

Returns a Boolean!

Arguments
Name Description
id - HashedId! Unique identifier of the entity
disableWebhooks - Boolean Whether to skip webhook notifications for this operation. Default = false
note - String Explanation for the status change
attachments - [Upload!] Files attached to the status change
assignCurrentUser - Boolean Assign current user as handler on status change. Default = false
status - TicketStateEnum New workflow status for the ticket

Example

Query
mutation updateTicketState(
  $id: HashedId!,
  $disableWebhooks: Boolean,
  $note: String,
  $attachments: [Upload!],
  $assignCurrentUser: Boolean,
  $status: TicketStateEnum
) {
  updateTicketState(
    id: $id,
    disableWebhooks: $disableWebhooks,
    note: $note,
    attachments: $attachments,
    assignCurrentUser: $assignCurrentUser,
    status: $status
  )
}
Variables
{
  "id": HashedId,
  "disableWebhooks": false,
  "note": "xyz789",
  "attachments": [Upload],
  "assignCurrentUser": false,
  "status": "open"
}
Response
{"data": {"updateTicketState": false}}

updateTicketUrgency

use "updateUrgencyByTicketIdV2" instead
Description

Change ticket urgency level, returns boolean

Response

Returns a Boolean!

Arguments
Name Description
id - HashedId! Unique identifier of the entity
urgency - TicketUrgencyEnum! Priority level (e.g. low, normal, high, very high)

Example

Query
mutation updateTicketUrgency(
  $id: HashedId!,
  $urgency: TicketUrgencyEnum!
) {
  updateTicketUrgency(
    id: $id,
    urgency: $urgency
  )
}
Variables
{"id": HashedId, "urgency": "CRITICAL"}
Response
{"data": {"updateTicketUrgency": false}}

updateTicketUrgencyV2

Description

Change ticket urgency level and return updated ticket

Response

Returns a Ticket!

Arguments
Name Description
id - HashedId! Unique identifier of the entity
urgency - TicketUrgencyEnum! Priority level (e.g. low, normal, high, very high)

Example

Query
mutation updateTicketUrgencyV2(
  $id: HashedId!,
  $urgency: TicketUrgencyEnum!
) {
  updateTicketUrgencyV2(
    id: $id,
    urgency: $urgency
  ) {
    id
    created
    updated
    content
    uuid
    serviceResponseId
    isStatusUpdatedAutomatically
    statusUpdatedAt
    statusUpdatedByUserId
    createdByUserId
    createdByGroupId
    titleId
    serviceId
    checkEventId
    ticketId
    creatingSyncedOn
    assignee {
      ...ProcessHandlerFragment
    }
    responsibles {
      ...ProcessHandlerFragment
    }
    statusUpdatedByUser {
      ...UserFragment
    }
    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
    urgency
    status
    associatedSites {
      ...SiteFragment
    }
    associatedAssetCategories {
      ...AssetCategoryFragment
    }
    associatedAssetTypes {
      ...AssetTypeFragment
    }
    checkEvent {
      ...EventFragment
    }
    ticketContent {
      ...TicketContentFieldFragment
    }
    automationDetails {
      ...TicketAutomationDetailsFragment
    }
    userHandlers {
      ...TicketHandlerUserFragment
    }
    teamHandlers {
      ...TicketHandlerTeamFragment
    }
    groupHandlers {
      ...TicketHandlerGroupFragment
    }
    externalEmailHandlers {
      ...TicketHandlerExternalEmailFragment
    }
    groupTicketHandlerHandlers {
      ...TicketHandlerGroupTicketHandlerFragment
    }
    siteManagerHandler {
      ...TicketHandlerSiteManagerFragment
    }
    costs {
      ...CostFragment
    }
    procedureInstanceId
    procedureInstance {
      ...ProcedureInstanceFragment
    }
    comments {
      ...TicketCommentFragment
    }
    costLines {
      ...CostLineFragment
    }
    history {
      ...TicketHistoryFragment
    }
    activityEvents {
      ... on TicketHandlerUpdate {
        ...TicketHandlerUpdateFragment
      }
      ... on TicketUrgencyUpdate {
        ...TicketUrgencyUpdateFragment
      }
      ... on TicketAssetCheckComplete {
        ...TicketAssetCheckCompleteFragment
      }
      ... on TicketAssetSiteUpdate {
        ...TicketAssetSiteUpdateFragment
      }
      ... on TicketAssetAvailabilityUpdate {
        ...TicketAssetAvailabilityUpdateFragment
      }
      ... on TicketAutomationEmailSent {
        ...TicketAutomationEmailSentFragment
      }
    }
  }
}
Variables
{"id": HashedId, "urgency": "CRITICAL"}
Response
{
  "data": {
    "updateTicketUrgencyV2": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "content": {},
      "uuid": "xyz789",
      "serviceResponseId": HashedId,
      "isStatusUpdatedAutomatically": false,
      "statusUpdatedAt": 1592577642,
      "statusUpdatedByUserId": HashedId,
      "createdByUserId": HashedId,
      "createdByGroupId": HashedId,
      "titleId": HashedId,
      "serviceId": HashedId,
      "checkEventId": HashedId,
      "ticketId": 987,
      "creatingSyncedOn": 1592577642,
      "assignee": ProcessHandler,
      "responsibles": [ProcessHandler],
      "statusUpdatedByUser": User,
      "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": "abc123",
      "insuranceTaxesCosts": "xyz789",
      "laborCosts": "xyz789",
      "logisticsCosts": "xyz789",
      "otherCosts": "xyz789",
      "repairCosts": "abc123",
      "sparePartsCosts": "xyz789",
      "ticketTimeline": TicketTimeline,
      "totalCosts": "xyz789",
      "urgency": "CRITICAL",
      "status": "open",
      "associatedSites": [Site],
      "associatedAssetCategories": [AssetCategory],
      "associatedAssetTypes": [AssetType],
      "checkEvent": Event,
      "ticketContent": [TicketContentField],
      "automationDetails": TicketAutomationDetails,
      "userHandlers": [TicketHandlerUser],
      "teamHandlers": [TicketHandlerTeam],
      "groupHandlers": [TicketHandlerGroup],
      "externalEmailHandlers": [
        TicketHandlerExternalEmail
      ],
      "groupTicketHandlerHandlers": [
        TicketHandlerGroupTicketHandler
      ],
      "siteManagerHandler": TicketHandlerSiteManager,
      "costs": [Cost],
      "procedureInstanceId": HashedId,
      "procedureInstance": ProcedureInstance,
      "comments": [TicketComment],
      "costLines": [CostLine],
      "history": [TicketHistory],
      "activityEvents": [TicketHandlerUpdate]
    }
  }
}

updateTicketView

Description

Update an existing saved ticket list view

Response

Returns a TicketView!

Arguments
Name Description
view - TicketViewUpdateInput! View configuration data

Example

Query
mutation updateTicketView($view: TicketViewUpdateInput!) {
  updateTicketView(view: $view) {
    id
    created
    updated
    titleId
    forEntity
    displayMode
    options {
      ...TicketViewOptionsFragment
    }
    isActive
    isSystemView
    isShared
    isEditable
    isDeletable
    isShareable
    isUnsharedByParentGroup
    title {
      ...TranslationFragment
    }
  }
}
Variables
{"view": TicketViewUpdateInput}
Response
{
  "data": {
    "updateTicketView": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "titleId": HashedId,
      "forEntity": "ASSET",
      "displayMode": "LIST",
      "options": TicketViewOptions,
      "isActive": true,
      "isSystemView": false,
      "isShared": false,
      "isEditable": true,
      "isDeletable": false,
      "isShareable": true,
      "isUnsharedByParentGroup": false,
      "title": Translation
    }
  }
}

updateTripIsPrivate

Description

Update an existing trip

Response

Returns a Trip!

Arguments
Name Description
tripId - ID! Compound trip ID combining asset ID with Flespi trip ID
input - TripIsPrivateUpdateInput! Trip is private update fields

Example

Query
mutation updateTripIsPrivate(
  $tripId: ID!,
  $input: TripIsPrivateUpdateInput!
) {
  updateTripIsPrivate(
    tripId: $tripId,
    input: $input
  ) {
    created
    updated
    id
    active
    assetId
    asset {
      ...AssetFragment
    }
    avgSpeedRaw
    avgSpeed
    distanceRaw
    distance
    distanceUnit
    driverId
    driverName
    duration
    endLocation {
      ...AddressFragment
    }
    endTime
    eventPoints {
      ...EventPointFragment
    }
    maxSpeedRaw
    maxSpeed
    imei
    points {
      ...RoutePointFragment
    }
    route
    startLocation {
      ...AddressFragment
    }
    startTime
    timestamp
    tripId
    pointsInRange {
      ...RoutePointFragment
    }
    fuelConsumedRaw
    fuelConsumed
    fuelConsumedPercentage
    fuelUnit
    linearDistanceRaw
    linearDistance
    stopDuration
    responsiblePerson
    datapoints {
      ...DatapointFragment
    }
    isPrivate
    group {
      ...GroupFragment
    }
  }
}
Variables
{"tripId": 4, "input": TripIsPrivateUpdateInput}
Response
{
  "data": {
    "updateTripIsPrivate": {
      "created": 1592577642,
      "updated": 1592577642,
      "id": "xyz789",
      "active": false,
      "assetId": HashedId,
      "asset": Asset,
      "avgSpeedRaw": 987.65,
      "avgSpeed": 987.65,
      "distanceRaw": 987.65,
      "distance": 987.65,
      "distanceUnit": "abc123",
      "driverId": "xyz789",
      "driverName": "xyz789",
      "duration": 123.45,
      "endLocation": Address,
      "endTime": 123.45,
      "eventPoints": [EventPoint],
      "maxSpeedRaw": 987.65,
      "maxSpeed": 987.65,
      "imei": "xyz789",
      "points": [RoutePoint],
      "route": "xyz789",
      "startLocation": Address,
      "startTime": 987.65,
      "timestamp": 123.45,
      "tripId": "4",
      "pointsInRange": [RoutePoint],
      "fuelConsumedRaw": 987,
      "fuelConsumed": 987.65,
      "fuelConsumedPercentage": 123,
      "fuelUnit": "xyz789",
      "linearDistanceRaw": 123.45,
      "linearDistance": 123.45,
      "stopDuration": 123.45,
      "responsiblePerson": "xyz789",
      "datapoints": [Datapoint],
      "isPrivate": false,
      "group": Group
    }
  }
}

updateTripsView

Description

Update an existing saved trips view

Response

Returns a TripsView!

Arguments
Name Description
view - TripsViewUpdateInput! View configuration data

Example

Query
mutation updateTripsView($view: TripsViewUpdateInput!) {
  updateTripsView(view: $view) {
    id
    created
    updated
    titleId
    forEntity
    displayMode
    options {
      ...TripsViewOptionsFragment
    }
    isActive
    isSystemView
    isShared
    isEditable
    isDeletable
    isShareable
    isUnsharedByParentGroup
    title {
      ...TranslationFragment
    }
  }
}
Variables
{"view": TripsViewUpdateInput}
Response
{
  "data": {
    "updateTripsView": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "titleId": HashedId,
      "forEntity": "ASSET",
      "displayMode": "LIST",
      "options": TripsViewOptions,
      "isActive": true,
      "isSystemView": true,
      "isShared": true,
      "isEditable": false,
      "isDeletable": true,
      "isShareable": true,
      "isUnsharedByParentGroup": true,
      "title": Translation
    }
  }
}

updateUser

Description

Update an existing user profile

Response

Returns [User!]

Arguments
Name Description
dashboardId - HashedId Dashboard identifier
firstname - String First name
isSSOEnabled - Boolean Whether s s o enabled
isCostEnabled - Boolean Whether cost enabled
lastname - String Last name
locale - String Locale tag
phone - String Phone number
settings - JSON Configuration settings
settingsPath - String Settings path
supportAdmin - Boolean Support admin
timezone - String Timezone identifier
username - String keeping it for backward compatibility, if passed value for username it will be ignored
label - String Display label
canShareViews - Boolean Whether the user can share views
canEditOnlyOwnDocuments - Boolean Whether this user can only edit and delete their own documents
info - JSON Info
id - HashedId! Unique identifier
apiKey - String API key for external integrations
password - String Account password
image - String Image URL
belongsToGroupId - HashedId Group this record belongs to
email - String Email address
roleId - HashedId Role identifier
languageId - HashedId Language preference identifier

Example

Query
mutation updateUser(
  $dashboardId: HashedId,
  $firstname: String,
  $isSSOEnabled: Boolean,
  $isCostEnabled: Boolean,
  $lastname: String,
  $locale: String,
  $phone: String,
  $settings: JSON,
  $settingsPath: String,
  $supportAdmin: Boolean,
  $timezone: String,
  $username: String,
  $label: String,
  $canShareViews: Boolean,
  $canEditOnlyOwnDocuments: 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,
    isCostEnabled: $isCostEnabled,
    lastname: $lastname,
    locale: $locale,
    phone: $phone,
    settings: $settings,
    settingsPath: $settingsPath,
    supportAdmin: $supportAdmin,
    timezone: $timezone,
    username: $username,
    label: $label,
    canShareViews: $canShareViews,
    canEditOnlyOwnDocuments: $canEditOnlyOwnDocuments,
    info: $info,
    id: $id,
    apiKey: $apiKey,
    password: $password,
    image: $image,
    belongsToGroupId: $belongsToGroupId,
    email: $email,
    roleId: $roleId,
    languageId: $languageId
  ) {
    id
    created
    updated
    publicId
    firstname
    lastname
    password
    email
    phone
    fullName
    groupId
    roleId
    isSupportAdmin
    canShareViews
    isSSOEnabled
    isCostEnabled
    canEditOnlyOwnDocuments
    toolsenseAdmin
    languageId
    language
    languageCode
    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
    }
    roleKey
    teams {
      ...TeamFragment
    }
    groups {
      ...GroupFragment
    }
    additionalGroups {
      ...GroupFragment
    }
    settings
    unavailability {
      ...UserUnavailabilityFragment
    }
    hasMultipleGroups
  }
}
Variables
{
  "dashboardId": HashedId,
  "firstname": "abc123",
  "isSSOEnabled": false,
  "isCostEnabled": false,
  "lastname": "xyz789",
  "locale": "abc123",
  "phone": "xyz789",
  "settings": {},
  "settingsPath": "xyz789",
  "supportAdmin": true,
  "timezone": "xyz789",
  "username": "abc123",
  "label": "xyz789",
  "canShareViews": true,
  "canEditOnlyOwnDocuments": true,
  "info": {},
  "id": HashedId,
  "apiKey": "xyz789",
  "password": "abc123",
  "image": "abc123",
  "belongsToGroupId": HashedId,
  "email": "abc123",
  "roleId": HashedId,
  "languageId": HashedId
}
Response
{
  "data": {
    "updateUser": [
      {
        "id": HashedId,
        "created": 1592577642,
        "updated": 1592577642,
        "publicId": 987,
        "firstname": "abc123",
        "lastname": "xyz789",
        "password": "xyz789",
        "email": "abc123",
        "phone": "abc123",
        "fullName": "xyz789",
        "groupId": HashedId,
        "roleId": HashedId,
        "isSupportAdmin": true,
        "canShareViews": false,
        "isSSOEnabled": true,
        "isCostEnabled": true,
        "canEditOnlyOwnDocuments": false,
        "toolsenseAdmin": true,
        "languageId": HashedId,
        "language": HashedId,
        "languageCode": "en_us",
        "dashboardId": HashedId,
        "locale": LanguageTag,
        "timezone": "abc123",
        "label": "abc123",
        "apiKey": "abc123",
        "image": "abc123",
        "activated": 1592577642,
        "isServicing": true,
        "info": {},
        "stripeSubscriptionId": "abc123",
        "deleted": 1592577642,
        "username": "abc123",
        "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,
        "roleKey": "SuperUser",
        "teams": [Team],
        "groups": [Group],
        "additionalGroups": [Group],
        "settings": {},
        "unavailability": [UserUnavailability],
        "hasMultipleGroups": false
      }
    ]
  }
}

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 User!

Arguments
Name Description
id - HashedId! Unique identifier of the entity to attach the file to
file - Upload File upload payload to replace the current attachment

Example

Query
mutation updateUserImage(
  $id: HashedId!,
  $file: Upload
) {
  updateUserImage(
    id: $id,
    file: $file
  ) {
    id
    created
    updated
    publicId
    firstname
    lastname
    password
    email
    phone
    fullName
    groupId
    roleId
    isSupportAdmin
    canShareViews
    isSSOEnabled
    isCostEnabled
    canEditOnlyOwnDocuments
    toolsenseAdmin
    languageId
    language
    languageCode
    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
    }
    roleKey
    teams {
      ...TeamFragment
    }
    groups {
      ...GroupFragment
    }
    additionalGroups {
      ...GroupFragment
    }
    settings
    unavailability {
      ...UserUnavailabilityFragment
    }
    hasMultipleGroups
  }
}
Variables
{"id": HashedId, "file": Upload}
Response
{
  "data": {
    "updateUserImage": {
      "id": HashedId,
      "created": 1592577642,
      "updated": 1592577642,
      "publicId": 987,
      "firstname": "xyz789",
      "lastname": "xyz789",
      "password": "abc123",
      "email": "xyz789",
      "phone": "abc123",
      "fullName": "abc123",
      "groupId": HashedId,
      "roleId": HashedId,
      "isSupportAdmin": true,
      "canShareViews": true,
      "isSSOEnabled": true,
      "isCostEnabled": false,
      "canEditOnlyOwnDocuments": true,
      "toolsenseAdmin": false,
      "languageId": HashedId,
      "language": HashedId,
      "languageCode": "en_us",
      "dashboardId": HashedId,
      "locale": LanguageTag,
      "timezone": "xyz789",
      "label": "xyz789",
      "apiKey": "xyz789",
      "image": "abc123",
      "activated": 1592577642,
      "isServicing": true,
      "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,
      "roleKey": "SuperUser",
      "teams": [Team],
      "groups": [Group],
      "additionalGroups": [Group],
      "settings": {},
      "unavailability": [UserUnavailability],
      "hasMultipleGroups": true
    }
  }
}

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! View configuration data
shared - Boolean! Shared

Example

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

updateWebhook

Description

Update an existing webhook configuration

Response

Returns a Webhook!

Arguments
Name Description
input - WebhookUpdateInput! Webhook update fields

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": "abc123",
      "forTickets": true,
      "forSites": false,
      "forAssets": true,
      "forWorkOrders": false
    }
  }
}

updateWorkOrder

Description

Update the fields of an existing work order by ID

Response

Returns a WorkOrderV2!

Arguments
Name Description
workOrder - WorkOrderUpdateInput! Input data containing the fields to update on the work order

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
    }
    locations {
      ...WorkOrderLocationFragment
    }
    assets {
      ...AssetFragment
    }
    createdByGroup {
      ...GroupFragment
    }
    personnel {
      ...WorkOrderCostFragment
    }
    assetCollections {
      ...WorkOrderAssetCollectionFragment
    }
    history {
      ...WorkOrderHistoryEntryFragment
    }
  }
}
Variables
{"workOrder": WorkOrderUpdateInput}
Response
{
  "data": {
    "updateWorkOrder": {
      "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": "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,
      "locations": [WorkOrderLocation],
      "assets": [Asset],
      "createdByGroup": Group,
      "personnel": [WorkOrderCost],
      "assetCollections": [WorkOrderAssetCollection],
      "history": [WorkOrderHistoryEntry]
    }
  }
}

Types

AddAssetToRuleInput

Description

Add asset to rule Input data for add asset to rule

Fields
Input Field Description
ruleId - HashedId! Rule identifier
assetIds - [HashedId!]! Asset identifiers
eventConfigs - [EventConfigInput!]! Scheduling configurations for the newly assigned assets
Example
{
  "ruleId": HashedId,
  "assetIds": [HashedId],
  "eventConfigs": [EventConfigInput]
}

Address

Description

A physical street address associated with a site or organization

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
location - String! Human-readable location name
latitude - Float! Geographic latitude coordinate
longitude - Float! Geographic longitude coordinate
address - String! Street address
isAutoDetected - Boolean! Whether address was auto-detected from GPS
translations - JSON! Localized address field translations
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "location": "abc123",
  "latitude": 123.45,
  "longitude": 987.65,
  "address": "abc123",
  "isAutoDetected": false,
  "translations": {}
}

AddressCreateInput

Description

Data required to create a new address

Fields
Input Field Description
latitude - Float! Geographic latitude coordinate
longitude - Float! Geographic longitude coordinate
address - String! Street address
isAutoDetected - Boolean! Whether address was auto-detected from GPS
Example
{
  "latitude": 123.45,
  "longitude": 123.45,
  "address": "xyz789",
  "isAutoDetected": false
}

AdvancedAssetStatesSettingsConfigurationInput

Description

Input data for advanced asset states settings configuration

Fields
Input Field Description
priority - Int! Priority level
color - String! Hex color code used to visually distinguish this asset state in the UI
message - AdvancedAssetStatesSettingsConfigurationMessageInput! Localized user-facing message displayed when an asset transitions to this state
Example
{
  "priority": 987,
  "color": "abc123",
  "message": AdvancedAssetStatesSettingsConfigurationMessageInput
}

AdvancedAssetStatesSettingsConfigurationMessageInput

Description

Input data for advanced asset states settings configuration message

Fields
Input Field Description
en_us - String! English (US) translation of the asset state transition message
de_de - String! German (DE) translation of the asset state transition message
Example
{
  "en_us": "abc123",
  "de_de": "xyz789"
}

AdvancedAssetStatesSettingsInput

Description

Input data for advanced asset states settings

Fields
Input Field Description
enabled - Boolean! Whether this feature is enabled
configuration - [AdvancedAssetStatesSettingsConfigurationInput!]! List of custom asset state definitions with display settings and transition messages
Example
{
  "enabled": true,
  "configuration": [
    AdvancedAssetStatesSettingsConfigurationInput
  ]
}

Asset

Description

A tracked piece of equipment, vehicle, or tool managed within the system

Fields
Field Name Description
publicId - Int! Public numeric identifier
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.
moduleId - HashedId IoT module attached to this asset
assignedToGroupId - HashedId! Organization group this asset is assigned to
allowReservations - Boolean When set, reservations are explicitly allowed for this asset.
assetCategoryId - HashedId! Category this asset belongs to
assetTypeId - HashedId! Type classification of this asset
assignment - String Current user or team assignment for this asset
availabilityId - HashedId Current availability status of this asset Use availability instead
BLE - String Bluetooth Low Energy beacon identifier
client - String Client or customer name associated with this asset
commissionDate - Date Date when this asset was put into service
costCenter - String Accounting cost center for financial allocation
dailyRate - Float! Daily rental or usage rate for billing
minDaysBilled - Int! Minimum number of days billed per rental period
shouldUpdateActiveAssetSiteAssignment - Boolean! Whether to update active asset site assignment
created - Timestamp! Timestamp when this asset was created
createdByGroupId - HashedId! Organization group that originally created this asset
currency - String An optional currency string that overrides the group currency
customer - String End customer this asset is deployed for
customerEditable - Boolean With this flag the OEM can allow end-customers to edit assets
descriptionId - HashedId Translatable description text for this asset
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 Accounting fixed asset number for depreciation tracking
floorRoom - String Floor and room location within a building
image - String URL of the asset profile image
initialValue - String Original purchase or book value of this asset
inventoryNumber - String Internal inventory tracking number
isInStationaryGateway - Boolean Whether assigned to a stationary gateway for fixed location
isLocked - Boolean Whether this asset is locked from editing
isUsedPrivately - Boolean Whether this asset is flagged for private use
leasingCostTermination - String Early termination cost for the leasing contract
leasingEnd - Date End date of the leasing contract
leasingLevel - String Tier or level of the leasing agreement
leasingMonthlyCost - String Monthly payment amount for the leasing contract
leasingPartner - String Leasing company or partner name
leasingPartnerContractNumber - String Contract number with the leasing partner
leasingPartnerContractPositionNumber - String Line item position within the leasing contract
leasingRenewalDate - Date Date when the leasing contract is up for renewal
leasingRenewalRate - String Monthly rate after leasing contract renewal
leasingStart - Date Start date of the leasing contract
manufacturerId - HashedId! Manufacturer of this asset
optionalAssetID - String Secondary user-defined asset identifier
ownershipId - HashedId Ownership type of this asset (purchased, leased, rented) Use "ownership" instead
partsNumber - String Manufacturer part number for this asset
plateNumber - String Vehicle license plate number
projectNumber - String Project number this asset is allocated to
purchaseCost - String Original purchase price of this asset
purchaseDepriciation - Int Depreciation period in months for this asset
purchaseInvoiceNumber - String Invoice number from the original purchase
purchaseLowValueAsset - Boolean Whether classified as a low-value asset for accounting
purchaseStart - Date Date when this asset was purchased
purchaseWarrantyEnd - Date Expiration date of the purchase warranty
purchaseWarrantyPeriod - Int Warranty duration in months from purchase
purchaseWarrantyStart - Date Start date of the purchase warranty coverage
qrAttached - Boolean! Whether a QR code label is attached to this asset
quantity - Int Number of identical items for commodity assets
rentalCostTermination - String Early termination cost for the rental contract
rentalEnd - Date End date of the rental contract
rentalMonthlyCost - String Monthly payment amount for the rental contract
rentalRenewalDate - Date Date when the rental contract is up for renewal
rentalRenewalRate - String Monthly rate after rental contract renewal
rentalStart - Date Start date of the rental contract
responsiblePerson - String Responsible Person for this asset
runtimeWithOffsetInSeconds - Int Runtime with offset in seconds Use iot.runtime instead
serial - String Serial number of the asset
serviceContract - Boolean Whether this asset has an active service contract
serviceContractCostPerYear - String Annual cost of the service contract
serviceContractEmail - String Contact email for the service contract provider
serviceContractEnd - Date Expiration date of the service contract
serviceContractFrom - Timestamp Timestamp when the service contract coverage begins
serviceContractLevel - String Tier or coverage level of the service contract
serviceContractPartner - String Service contract provider company name
serviceContractStart - Date Start date of the service contract
serviceContractTo - Timestamp Timestamp when the service contract coverage ends
siteId - HashedId Currently assigned site for this asset
previousSiteId - HashedId Site this asset was previously assigned to
countNonArchivedSiteAssignments - Int! Number of active (non-archived) site assignments
assignedToSiteId - HashedId Currently assigned site for this asset Use siteId instead
groupId - HashedId! Owning organization group of this asset
responsiblePersonUpdatedAt - Timestamp When the responsible person was last changed
responsiblePersonUpdatedByUserId - HashedId User who last changed the responsible person
supplier - String Supplier or vendor this asset was sourced from
updated - Timestamp Timestamp of the last update to this asset
uuid - String! UUID used for cross-system asset identification
id - HashedId! Internal hashed identifier of this asset
stateV2 - [AssetStateItem!]! Detailed per-event-type state items for this asset
state - AssetState! Aggregated operational state of the asset
serviceContractDocuments - [Document!] Service contract documents
availability - AssetAvailability Current availability status of this asset
ownership - AssetOwnership Ownership type (purchased, leased, or rented)
module - Module IoT module attached to this asset for data tracking
scanTime - Date Last time this asset was scanned via QR or BLE
imei - String! IMEI number of the attached IoT module
costsSum - Float! Total accumulated costs across all categories
costsSumBattery - Float! Total battery replacement costs for this asset
costsSumRepair - Float! Total repair costs for this asset
costsSumMaintenance - Float! Total maintenance costs for this asset
costsSumParts - Float! Total spare parts costs for this asset
costsSumConsumables - Float! Total consumable material costs for this asset
costsSumFuel - Float! Total fuel costs for this asset
costsSumLabor - Float! Total labor costs for this asset
costsSumLogistics - Float! Total logistics and transport costs for this asset
costsSumTaxes - Float! Total tax costs for this asset
costsSumOther - Float! Total miscellaneous costs for this asset
costsSumCertification - Float! Total certification and inspection costs for this asset
parameterOffsetIds - [HashedId!]! IoT parameter offsets applied to this asset
reservationIds - [HashedId!]! Active reservations booked for this asset
moduleConnectionStatus - AssetModuleConnectionStatusEnum! Current connectivity status of the attached IoT module
relatedGroups - [RelatedGroup!]! Organization groups this asset is shared with Use group instead
checkScheduleRule - AssetCheckScheduleRule Rule governing periodic safety or compliance checks
tickets - [Ticket!]! Associated tickets
lastTicketDate - DateTime Date of the most recent ticket for this asset
totalUtilization - String Cumulative utilization percentage of this asset Use iot.utilization instead
totalWorkDone - String Cumulative work output reported by the IoT module Use iot.workDone instead
purchaseCurrentBookValue - String Current depreciated book value of this asset
batteryLevel - String Current battery charge level from the IoT module Use iot.batteryLevel instead
lastContacted - Timestamp Last time the IoT module sent data
vncTunnelUrl - String URL for remote VNC access to this asset
subscription - String Legacy subscription plan for this asset We don't manage subscriptions over our API anymore
ticketsCount - String Total number of tickets filed for this asset Was not implemented in old schema, copied to keep backwards compatibility
workingHoursSettings - JSON Configuration for working hours rule monitoring
workingHoursNotification - [RuleNotificationRelation!]! Notification rules triggered by working hours thresholds
gatewayAsset - Asset Stationary gateway asset this asset is connected through
services - [Service!]! Services associated to current group's servicePackage
Arguments
filters - AssetServicesFilterInput

Filter criteria for asset service records

primaryServicePackage - ServicePackageWithSourceType Main service package assigned to this asset
eventIds - [HashedId!]! Events recorded for this asset
Arguments
eventStyleKey - EventTypeEnum

Event style key

createdByUserId - [HashedId!]

Created by user identifier

createdByRuleId - [HashedId!]

Created by rule identifier

createdByWorkOrderId - [HashedId!]

Created by work order identifier

createdByTicketId - [HashedId!]

Created by ticket identifier

currentlyActive - Boolean

Currently active

startDateFilter - EventDateFilter

Start date filter

endDateFilter - EventDateFilter

End date filter

createdDateFilter - EventDateFilter

Created date filter

tag - [EventEntityTagEnum!]

Classification tag or label

nextService - Int Days until the next scheduled service
downloadLink - String! URL to download the resource
Arguments
locale - AssetDataDownloadLocaleInput!

Locale tag

activity - AssetActivity! Latest activity record for this asset
latestAssetData - JSON Most recent IoT data payload from the module
deleted - Timestamp Soft deletion timestamp, null if active
location - Location Current GPS location of this asset
shouldShowLastSeenByGateway - Boolean! Whether to show last seen by gateway
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

Return only parameters that can be charted

activeCustomFields - [CustomField!]! Currently active custom fields on this asset
Arguments
filters - CustomFieldFilterInput

Filter criteria

archivedCustomFields - [CustomField!]! Previously active custom fields now archived
Arguments
filters - CustomFieldFilterInput

Filter criteria

status - [StatusItem!]! IoT status indicators from latest sensor data
displayParameters - [DisplayParameter!]! IoT parameters configured for dashboard display
latestTrip - AssetTripLatest Most recent GPS trip recorded for this asset
unavailability - [AssetUnavailability!]! Scheduled unavailability periods for this asset
Arguments
filter - AssetUnavailabilityFilterInput

Filter criteria for asset unavailability records

reservations - [Reservation!]! Booking reservations for this asset
parameterOffsets - [AssetParameterOffset!]! Manual offset adjustments for IoT parameter values
costLines - [CostLine!]! Individual line items that make up this cost entry
manufacturer - Manufacturer! Manufacturer of this asset
createdByGroup - Group Organization group that originally created this asset
assetType - AssetType! Type classification of this asset
assetCategory - AssetCategory! Category this asset belongs to
assignedToGroup - Group! Group this asset is assigned to Use group instead
responsiblePersonUpdatedByUser - User User who last updated the responsible person assignment for this asset
group - Group! Group this asset belongs to
site - Site Site where this asset is currently located
assignedToSite - Site Site where this asset is currently assigned Use site instead
assignedToPreviousSite - Site Site this asset was previously assigned to
documents - [Document!]! Attached documents and files
Arguments
purpose - String

Purpose

events - [Event!]! Associated asset
Arguments
eventStyleKey - EventTypeEnum

Event style key

createdByUserId - [HashedId!]

Created by user identifier

createdByRuleId - [HashedId!]

Created by rule identifier

createdByWorkOrderId - [HashedId!]

Created by work order identifier

createdByTicketId - [HashedId!]

Created by ticket identifier

currentlyActive - Boolean

Currently active

startDateFilter - EventDateFilter

Start date filter

endDateFilter - EventDateFilter

End date filter

createdDateFilter - EventDateFilter

Created date filter

tag - [EventEntityTagEnum!]

Classification tag or label

description - Translation Translated description for this asset
checkSchedule - AssetCheckSchedule Periodic safety or compliance check schedule
assetSiteAssignments - [AssetSiteAssignment!]! History of site assignments for this asset
Arguments
limit - Int

Maximum number of results to return

orderByOnSiteFrom - SortDirection

Sort direction for the on-site-from date

statuses - [AssetSiteAssignmentStatusEnum!]

Filter by one or more assignment statuses

maintenanceSchedule - AssetMaintenanceSchedule Recurring maintenance schedule for this asset
workOrders - [WorkOrderV2!]! Work Orders for this asset
Arguments
from - Timestamp

Start of the date range filter

to - Timestamp

End of the date range filter

costs - [CostLine!] Cost line items recorded for this asset
operationalCosts - [Cost!]! Operational cost records associated with this asset
iot - IotAssetData! Iot for this asset
firmwareVersion - String Firmware Version for this asset Use iot.firmwareVersion instead
workingHours - AssetWorkingHours Configured working hours for this asset
nonWorkingDays - [AssetNonWorkingDays!] Scheduled non-working day periods for this asset
Example
{
  "publicId": 123,
  "isCommodity": true,
  "moduleId": HashedId,
  "assignedToGroupId": HashedId,
  "allowReservations": true,
  "assetCategoryId": HashedId,
  "assetTypeId": HashedId,
  "assignment": "abc123",
  "availabilityId": HashedId,
  "BLE": "xyz789",
  "client": "xyz789",
  "commissionDate": "2007-12-03",
  "costCenter": "xyz789",
  "dailyRate": 123.45,
  "minDaysBilled": 123,
  "shouldUpdateActiveAssetSiteAssignment": false,
  "created": 1592577642,
  "createdByGroupId": HashedId,
  "currency": "abc123",
  "customer": "abc123",
  "customerEditable": false,
  "descriptionId": HashedId,
  "externalId": "abc123",
  "fixedAssetNumber": "abc123",
  "floorRoom": "abc123",
  "image": "xyz789",
  "initialValue": "abc123",
  "inventoryNumber": "abc123",
  "isInStationaryGateway": false,
  "isLocked": true,
  "isUsedPrivately": false,
  "leasingCostTermination": "xyz789",
  "leasingEnd": "2007-12-03",
  "leasingLevel": "xyz789",
  "leasingMonthlyCost": "abc123",
  "leasingPartner": "xyz789",
  "leasingPartnerContractNumber": "xyz789",
  "leasingPartnerContractPositionNumber": "xyz789",
  "leasingRenewalDate": "2007-12-03",
  "leasingRenewalRate": "abc123",
  "leasingStart": "2007-12-03",
  "manufacturerId": HashedId,
  "optionalAssetID": "xyz789",
  "ownershipId": HashedId,
  "partsNumber": "abc123",
  "plateNumber": "xyz789",
  "projectNumber": "xyz789",
  "purchaseCost": "abc123",
  "purchaseDepriciation": 987,
  "purchaseInvoiceNumber": "xyz789",
  "purchaseLowValueAsset": true,
  "purchaseStart": "2007-12-03",
  "purchaseWarrantyEnd": "2007-12-03",
  "purchaseWarrantyPeriod": 987,
  "purchaseWarrantyStart": "2007-12-03",
  "qrAttached": true,
  "quantity": 987,
  "rentalCostTermination": "abc123",
  "rentalEnd": "2007-12-03",
  "rentalMonthlyCost": "abc123",
  "rentalRenewalDate": "2007-12-03",
  "rentalRenewalRate": "xyz789",
  "rentalStart": "2007-12-03",
  "responsiblePerson": "xyz789",
  "runtimeWithOffsetInSeconds": 987,
  "serial": "xyz789",
  "serviceContract": false,
  "serviceContractCostPerYear": "abc123",
  "serviceContractEmail": "abc123",
  "serviceContractEnd": "2007-12-03",
  "serviceContractFrom": 1592577642,
  "serviceContractLevel": "abc123",
  "serviceContractPartner": "xyz789",
  "serviceContractStart": "2007-12-03",
  "serviceContractTo": 1592577642,
  "siteId": HashedId,
  "previousSiteId": HashedId,
  "countNonArchivedSiteAssignments": 987,
  "assignedToSiteId": HashedId,
  "groupId": HashedId,
  "responsiblePersonUpdatedAt": 1592577642,
  "responsiblePersonUpdatedByUserId": HashedId,
  "supplier": "xyz789",
  "updated": 1592577642,
  "uuid": "abc123",
  "id": HashedId,
  "stateV2": [AssetStateItem],
  "state": AssetState,
  "serviceContractDocuments": [Document],
  "availability": "READY_TO_USE",
  "ownership": "PURCHASE",
  "module": Module,
  "scanTime": "2007-12-03",
  "imei": "xyz789",
  "costsSum": 987.65,
  "costsSumBattery": 123.45,
  "costsSumRepair": 987.65,
  "costsSumMaintenance": 123.45,
  "costsSumParts": 123.45,
  "costsSumConsumables": 987.65,
  "costsSumFuel": 123.45,
  "costsSumLabor": 987.65,
  "costsSumLogistics": 987.65,
  "costsSumTaxes": 987.65,
  "costsSumOther": 987.65,
  "costsSumCertification": 987.65,
  "parameterOffsetIds": [HashedId],
  "reservationIds": [HashedId],
  "moduleConnectionStatus": "primary",
  "relatedGroups": [RelatedGroup],
  "checkScheduleRule": AssetCheckScheduleRule,
  "tickets": [Ticket],
  "lastTicketDate": "2007-12-03T10:15:30Z",
  "totalUtilization": "abc123",
  "totalWorkDone": "xyz789",
  "purchaseCurrentBookValue": "xyz789",
  "batteryLevel": "xyz789",
  "lastContacted": 1592577642,
  "vncTunnelUrl": "abc123",
  "subscription": "xyz789",
  "ticketsCount": "abc123",
  "workingHoursSettings": {},
  "workingHoursNotification": [RuleNotificationRelation],
  "gatewayAsset": Asset,
  "services": [Service],
  "primaryServicePackage": ServicePackageWithSourceType,
  "eventIds": [HashedId],
  "nextService": 987,
  "downloadLink": "xyz789",
  "activity": AssetActivity,
  "latestAssetData": {},
  "deleted": 1592577642,
  "location": Location,
  "shouldShowLastSeenByGateway": true,
  "parameterSets": [ParameterSet],
  "activeCustomFields": [CustomField],
  "archivedCustomFields": [CustomField],
  "status": [StatusItem],
  "displayParameters": [DisplayParameter],
  "latestTrip": AssetTripLatest,
  "unavailability": [AssetUnavailability],
  "reservations": [Reservation],
  "parameterOffsets": [AssetParameterOffset],
  "costLines": [CostLine],
  "manufacturer": Manufacturer,
  "createdByGroup": Group,
  "assetType": AssetType,
  "assetCategory": AssetCategory,
  "assignedToGroup": Group,
  "responsiblePersonUpdatedByUser": User,
  "group": Group,
  "site": Site,
  "assignedToSite": Site,
  "assignedToPreviousSite": Site,
  "documents": [Document],
  "events": [Event],
  "description": Translation,
  "checkSchedule": AssetCheckSchedule,
  "assetSiteAssignments": [AssetSiteAssignment],
  "maintenanceSchedule": AssetMaintenanceSchedule,
  "workOrders": [WorkOrderV2],
  "costs": [CostLine],
  "operationalCosts": [Cost],
  "iot": IotAssetData,
  "firmwareVersion": "abc123",
  "workingHours": AssetWorkingHours,
  "nonWorkingDays": [AssetNonWorkingDays]
}

AssetActivity

Description

Usage activity summary for an asset

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
downloadLink - String! URL to download the resource
Arguments
locale - LocaleInput!

Locale settings for the activity download

parameterIds - [HashedId!]!

IoT parameter IDs to include in the download

timeFrom - Timestamp

Start of the activity time range

timeTo - Timestamp

End of the activity time range

includeOverview - Boolean

Include activity overview section in download

includeMonthlySummary - Boolean

Include monthly summary

includeTimeLog - Boolean

Include detailed time log in download

title - String

Custom title for the activity download report

Example
{
  "id": HashedId,
  "downloadLink": "xyz789"
}

AssetAvailability

Description

Operational availability state of an asset, such as ready to use, damaged, in repair, retired, in warehouse, ordered, borrowed, in transit, or awaiting assignment approval

Values
Enum Value Description

READY_TO_USE

DAMAGED

IN_REPAIR

RETIRED

WAREHOUSE

ORDERED

NEEDS_APPROVAL

BORROWED

IN_TRANSIT

TO_BE_ASSIGNED

Example
"READY_TO_USE"

AssetBLEChecker

Description

Result of a BLE address duplicate check for an asset

Fields
Field Name Description
msg - AssetBleCheckerMsgEnum Validation result message for the BLE check
duplicateAsset - Asset Existing asset with the same BLE address, if any
Example
{"msg": "DUPLICATE", "duplicateAsset": Asset}

AssetBarCodeFilterInput

Description

Filter criteria for searching assets by barcode-related fields

Fields
Input Field Description
query - String

Search by next fields:

  • optionalAssetID
  • fixedAssetNumber
  • supplier
  • client
  • projectNumber
  • serviceContractPartner
Example
{"query": "abc123"}

AssetBleCheckerMsgEnum

Description

Validation result when checking a Bluetooth Low Energy (BLE) beacon assignment to an asset, indicating whether the beacon is already assigned to another asset or the user lacks access

Values
Enum Value Description

DUPLICATE

NO_ACCESS

Example
"DUPLICATE"

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! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
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 ID from an external system for integration
forManufacturerId - HashedId! Manufacturer this category belongs to
groupId - HashedId Owning organization group
servicePackageId - HashedId Assigned service package
isPrivate - Boolean! Listed to users outside this group hierarchy - 'publicly' available. May be used to contain yet unreleased models
publicId - Int! Public numeric identifier
nameId - HashedId! Translation record for the category name
minimalBatteryVoltage - Float Minimum battery voltage threshold
nominalBatteryVoltage - Float Standard battery voltage for this category
optimalBatteryVoltage - Float Target battery voltage for healthy operation
optimalRuntime - Float Expected runtime in hours under normal use
parentParameterKey - AssetParentParameter IoT parameter used to link child assets
workUnitsPerHour - Float Expected output units per operating hour
workUnitId - HashedId Unit of measurement for work output
name - Translation Translated name of the asset category
group - Group! Associated organization group
manufacturer - Manufacturer! Categories are specific for a manufacturer
workUnits - Translation Localized label for the work output unit
assetsCount - Int Total assets in this category
servicePackage - ServicePackage Service package assigned to this category
forManufacturer - Manufacturer Manufacturer of this asset category
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "image": "xyz789",
  "externalId": "xyz789",
  "forManufacturerId": HashedId,
  "groupId": HashedId,
  "servicePackageId": HashedId,
  "isPrivate": false,
  "publicId": 987,
  "nameId": HashedId,
  "minimalBatteryVoltage": 987.65,
  "nominalBatteryVoltage": 123.45,
  "optimalBatteryVoltage": 987.65,
  "optimalRuntime": 123.45,
  "parentParameterKey": "runtime",
  "workUnitsPerHour": 987.65,
  "workUnitId": HashedId,
  "name": Translation,
  "group": Group,
  "manufacturer": Manufacturer,
  "workUnits": Translation,
  "assetsCount": 987,
  "servicePackage": ServicePackage,
  "forManufacturer": Manufacturer
}

AssetCategoryPaginatedDto

Description

Paginated list of asset categories with total count

Fields
Field Name Description
rows - [AssetCategory!]! List of records for the current page
meta - PaginationMeta! Pagination metadata including total count and page info
total - Int! Total amount
Example
{
  "rows": [AssetCategory],
  "meta": PaginationMeta,
  "total": 123
}

AssetCheckSchedule

Description

Scheduled safety or compliance check for an asset

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
assetId - HashedId! Associated asset identifier
name - String! Name of the check schedule
interval - Int! Check interval in days
lastCheck - Date Date of the last completed check
nextCheck - Date! Date of the next scheduled check
daysToNextCheck - Int! Number of days remaining until the next check
lastCheckLastEdited - AssetCheckScheduleEditNote Edit note for the last check date change
nextCheckLastEdited - AssetCheckScheduleEditNote Edit note for the next check date change
externalId - String External system identifier for integration
Example
{
  "id": HashedId,
  "assetId": HashedId,
  "name": "xyz789",
  "interval": 123,
  "lastCheck": "2007-12-03",
  "nextCheck": "2007-12-03",
  "daysToNextCheck": 123,
  "lastCheckLastEdited": AssetCheckScheduleEditNote,
  "nextCheckLastEdited": AssetCheckScheduleEditNote,
  "externalId": "xyz789"
}

AssetCheckScheduleEditNote

Description

Audit trail entry for a check schedule date change

Fields
Field Name Description
user - User User who made the date change
timestamp - Timestamp! When the date change was made
Example
{"user": User, "timestamp": 1592577642}

AssetCheckScheduleRule

Description

Rule-based check schedule for an asset

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
assetId - HashedId! Associated asset identifier
name - String! Name of the check schedule
interval - Int! Check interval in days
lastCheck - DateStringOrIsoDateTime Date of the last completed rule-based check
nextCheck - DateStringOrIsoDateTime! Date of the next scheduled rule-based check
daysToNextCheck - Int! Number of days remaining until the next check
timeframe - RuleInterval! Recurrence interval for the rule schedule
Example
{
  "id": HashedId,
  "assetId": HashedId,
  "name": "abc123",
  "interval": 123,
  "lastCheck": DateStringOrIsoDateTime,
  "nextCheck": DateStringOrIsoDateTime,
  "daysToNextCheck": 123,
  "timeframe": "y"
}

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! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
createdByModuleImei - String Created By Module Imei for this asset data
createdByAssetId - HashedId Associated asset
createdByAsset - Asset Associated asset
createdByModuleId - HashedId Created By Module Id for this asset data
createdByModule - Module Created By Module for this asset data
data - JSON A JSON formated String including the data of the last sending
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "createdByModuleImei": "xyz789",
  "createdByAssetId": HashedId,
  "createdByAsset": Asset,
  "createdByModuleId": HashedId,
  "createdByModule": Module,
  "data": {}
}

AssetDataDownloadLocaleInput

Description

Asset data download locale Input data for asset data download

Fields
Input Field Description
language - LanguageLocaleEnum! Language preference
timezone - String! Timezone identifier
headerLocal - String! Header local
headerUTC - String! Header u t c
brandColor - String Brand color
Example
{
  "language": "en_us",
  "timezone": "abc123",
  "headerLocal": "abc123",
  "headerUTC": "xyz789",
  "brandColor": "abc123"
}

AssetDataNew

Description

IoT telemetry data record for an asset

Fields
Field Name Description
id - HashedId! ID of the asset data record
created - Timestamp! Timestamp when the data was recorded
updated - Timestamp Timestamp when the record was last updated
moduleTimestamp - Timestamp Timestamp reported by the IoT module
createdByModuleImei - String IMEI of the IoT module that sent this data
createdByAssetId - HashedId ID of the asset that generated this data
createdByAsset - Asset Asset that generated this data
createdByModuleId - HashedId ID of the IoT module that sent this data
createdByModule - Module IoT module that sent this data
data - JSON A JSON formated String including the data of the last sending
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "moduleTimestamp": 1592577642,
  "createdByModuleImei": "abc123",
  "createdByAssetId": HashedId,
  "createdByAsset": Asset,
  "createdByModuleId": HashedId,
  "createdByModule": Module,
  "data": {}
}

AssetEventColumnEnum

Description

Available columns for asset event list views and exports, including asset identifiers (serial, inventory number, external ID), site details, event metadata (symbol, title, type, status), and timestamps

Values
Enum Value Description

ID

ASSET_ID

ASSET_SERIAL

ASSET_CATEGORY

ASSET_TYPE

ASSET_INVENTORY_NUMBER

ASSET_VEHICLE

ASSET_EXTERNAL_ID

ASSET_FIXED_NUMBER

ASSET_BRAND

ASSET_OPTIONAL_ID

ASSET_PLATE_NUMBER

SITE_ID

SITE_NAME

SYMBOL

TITLE

TYPE

STATUS

START_TIME

END_TIME

DUE_ON

LAST_DATE

COMPLETION_DATE

IS_CHECK

SITE_ADDRESS

ASSET_RESPONSIBLE_PERSON

ASSET_PURCHASE_COST

ASSET_PURCHASE_CURRENT_BOOK_VALUE

Example
"ID"

AssetEventPaginatedDto

Description

Asset Event Paginated

Fields
Field Name Description
rows - [Event!]! List of records for the current page
meta - PaginationMeta! Pagination metadata including total count and page info
total - Int! Total amount
Example
{
  "rows": [Event],
  "meta": PaginationMeta,
  "total": 123
}

AssetEventView

Description

configuration for an asset event 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! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
titleId - HashedId! 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 - ViewEntityEnum! type of entity that this view is for (e.g. ASSET)
displayMode - ViewDisplayMode! display mode that this view uses (e.g. MAP)
options - AssetEventViewOptions! 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
title - Translation! User-defined name for this saved view
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "titleId": HashedId,
  "forEntity": "ASSET",
  "displayMode": "LIST",
  "options": AssetEventViewOptions,
  "isActive": false,
  "isSystemView": false,
  "isShared": true,
  "isEditable": true,
  "isDeletable": false,
  "isShareable": true,
  "isUnsharedByParentGroup": true,
  "title": Translation
}

AssetEventViewCreateInput

Description

input used to create a new asset event view

Fields
Input Field Description
displayMode - ViewDisplayMode! display mode that this view uses (e.g. MAP)
options - AssetEventViewOptionsInput! display options to be stored with this view
title - TranslationInput! Name to assign to the new saved view
Example
{
  "displayMode": "LIST",
  "options": AssetEventViewOptionsInput,
  "title": TranslationInput
}

AssetEventViewOptions

Description

Display settings for pagination, filters, and columns in an asset event view

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

AssetEventViewOptionsInput

Description

Pagination, filter, and column settings for an asset event view

Fields
Input Field Description
filters - [FilterParamsInput] Filter criteria
search - String Text search query for filtering results
itemsPerPage - Int! number of asset events per page in the view
columns - [AssetEventColumnEnum!]! ordered asset event columns that are to be displayed in this view
Example
{
  "filters": [FilterParamsInput],
  "search": "xyz789",
  "itemsPerPage": 123,
  "columns": ["ID"]
}

AssetEventViewUpdateInput

Description

Fields to update on an existing asset event view

Fields
Input Field Description
id - HashedId! Unique identifier of the entity
displayMode - ViewDisplayMode! display mode that this view uses (e.g. MAP)
options - AssetEventViewOptionsInput! options for displaying asset events in this view
title - TranslationInput! Updated name for the saved view
Example
{
  "id": HashedId,
  "displayMode": "LIST",
  "options": AssetEventViewOptionsInput,
  "title": TranslationInput
}

AssetFilterInput

Description

Filter criteria for narrowing down asset results

Fields
Input Field Description
searchTerm - String Text to match against asset name and identifiers
relatedFilters - [FilterParamsInput] Additional filter parameters for related asset fields
Example
{
  "searchTerm": "xyz789",
  "relatedFilters": [FilterParamsInput]
}

AssetFilterPeriodFilter

Description

Asset count grouped by contract expiration period

Fields
Field Name Description
period - String! Time period label for grouping (e.g. month/quarter)
quantity - Int! Number of assets in this period
Example
{"period": "abc123", "quantity": 123}

AssetFilterStats

Description

Aggregated contract expiration statistics for asset filtering

Fields
Field Name Description
rentalRemainingMonths - [String]! Months remaining on each active rental contract
leasingRemainingMonths - [String]! Months remaining on each active leasing contract
serviceContractRemainingMonths - [String]! Months remaining on each active service contract
rentalEnd - [AssetFilterPeriodFilter!]! Asset counts grouped by rental end date period
leasingEnd - [AssetFilterPeriodFilter!]! Asset counts grouped by leasing end date period
Example
{
  "rentalRemainingMonths": ["abc123"],
  "leasingRemainingMonths": ["xyz789"],
  "serviceContractRemainingMonths": [
    "abc123"
  ],
  "rentalEnd": [AssetFilterPeriodFilter],
  "leasingEnd": [AssetFilterPeriodFilter]
}

AssetInAutomationDetails

Description

Asset state changes triggered by an automation rule

Fields
Field Name Description
asset - Asset! Asset affected by the automation
newSite - Site Site assigned after automation execution
oldSite - Site Site assigned before automation execution
oldAvailability - AssetAvailability Availability status before automation execution
newAvailability - AssetAvailability Availability status after automation execution
Example
{
  "asset": Asset,
  "newSite": Site,
  "oldSite": Site,
  "oldAvailability": "READY_TO_USE",
  "newAvailability": "READY_TO_USE"
}

AssetIntegration

Description

IoT integration configuration linked to assets

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
name - String! Display name of the IoT integration
manufacturerId - HashedId! Manufacturer that provides this integration
assetCategoryId - HashedId Asset category this integration applies to
assetCategory - AssetCategory Asset category linked to this integration
iotParameters - [IotParameter!] Iot Parameters for this asset integration
manufacturer - Manufacturer! Manufacturer associated with this asset integration
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "name": "xyz789",
  "manufacturerId": HashedId,
  "assetCategoryId": HashedId,
  "assetCategory": AssetCategory,
  "iotParameters": [IotParameter],
  "manufacturer": Manufacturer
}

AssetIntegrationCreateInput

Description

Data required to create a new asset integration

Fields
Input Field Description
name - String! Display name of the IoT integration
manufacturerId - HashedId! Manufacturer that provides this integration
assetCategoryId - HashedId Asset category this integration applies to
Example
{
  "name": "abc123",
  "manufacturerId": HashedId,
  "assetCategoryId": HashedId
}

AssetIntegrationUpdateInput

Description

Fields to update on an existing asset integration

Fields
Input Field Description
name - String Display name of the IoT integration
manufacturerId - HashedId Manufacturer that provides this integration
assetCategoryId - HashedId Asset category this integration applies to
Example
{
  "name": "xyz789",
  "manufacturerId": HashedId,
  "assetCategoryId": HashedId
}

AssetMaintenanceSchedule

Description

Scheduled maintenance plan for an asset

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
assetId - HashedId! Associated asset identifier
interval - Int! Maintenance interval in days
lastMaintenance - Date Date of the last completed maintenance
nextMaintenance - Date! Date of the next scheduled maintenance
lastMaintenanceLastEdited - AssetMaintenanceScheduleEditNote Edit note for the last maintenance date change
nextMaintenanceLastEdited - AssetMaintenanceScheduleEditNote Edit note for the next maintenance date change
Example
{
  "id": HashedId,
  "assetId": HashedId,
  "interval": 987,
  "lastMaintenance": "2007-12-03",
  "nextMaintenance": "2007-12-03",
  "lastMaintenanceLastEdited": AssetMaintenanceScheduleEditNote,
  "nextMaintenanceLastEdited": AssetMaintenanceScheduleEditNote
}

AssetMaintenanceScheduleEditNote

Description

Audit trail entry for a maintenance schedule date change

Fields
Field Name Description
user - User User who made the date change
timestamp - Timestamp! When the date change was made
Example
{"user": User, "timestamp": 1592577642}

AssetModuleConnectionStatusEnum

Description

Indicates the IoT module connection status of an asset: primary (directly connected), secondary (cloned from primary), or disconnected

Values
Enum Value Description

primary

Primary connected and active assets are originally connected to the module, we get data from them

secondary

Secondary assets are cloned from primary assets, we get data based on primary assets

disconnected

Primary/Secondary assets where primary asset was disconnected or has not been connected to any module yet
Example
"primary"

AssetNonWorkingDays

Description

Period when an asset is not in operation

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
startDate - DateTime! Start date of the period
endDate - DateTime! End date of the period
timezone - String! Timezone identifier
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "startDate": "2007-12-03T10:15:30Z",
  "endDate": "2007-12-03T10:15:30Z",
  "timezone": "xyz789"
}

AssetNonWorkingDaysUpsertInput

Description

Input to create or update a non-working day period

Fields
Input Field Description
startDate - DateTime! Start date of the period
endDate - DateTime! End date of the period
timezone - String! Timezone identifier
id - HashedId ID of the non-working days record to update
Example
{
  "startDate": "2007-12-03T10:15:30Z",
  "endDate": "2007-12-03T10:15:30Z",
  "timezone": "abc123",
  "id": HashedId
}

AssetOwnership

Description

Describes how an asset is acquired or owned: purchased, leased, rented, provided by a customer, or other arrangements

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! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
assetId - HashedId! Asset identifier
parameterId - HashedId! Parameter context identifier
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
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "assetId": HashedId,
  "parameterId": HashedId,
  "offsetValue": 987.65,
  "effectiveFrom": 1592577642
}

AssetParameterOffsetInput

Description

Input data for asset parameter offset

Fields
Input Field Description
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
parameterId - HashedId! Parameter identifier
Example
{
  "offsetValue": 987.65,
  "effectiveFrom": 1592577642,
  "parameterId": HashedId
}

AssetParentParameter

Description

Parameters that a child asset can inherit or derive from its parent asset, such as runtime hours or secondary input values

Values
Enum Value Description

runtime

input2

input3

Example
"runtime"

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! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
serial - String! Serial number of the asset
assetId - HashedId! ID of the requested asset
forGroupId - HashedId! ID of the group the asset is requested for
verificationDocumentId - HashedId! Verification document identifier
isProcessed - Boolean! Whether this request has been reviewed
byRegistrationRequestId - HashedId ID of the linked registration request
requestedByUserId - HashedId ID of the user who submitted this request
requestedByGroupId - HashedId ID of the group the requester belongs to
processedByUserId - HashedId ID of the admin who processed this request
isDenied - Boolean! Whether this request was denied
denialMessage - String Reason provided when the request was denied
permalinkUrl - String! Permanent link to the asset request page
asset - Asset Asset being requested
forGroup - Group Group the asset is requested for
verificationDocument - Document Verification document
requestedByUser - User User who submitted this request
requestedByGroup - Group Group the requester belongs to
processedByUser - User Admin who processed this request
byRegistrationRequest - RegistrationRequest Linked registration request if applicable
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "serial": "xyz789",
  "assetId": HashedId,
  "forGroupId": HashedId,
  "verificationDocumentId": HashedId,
  "isProcessed": false,
  "byRegistrationRequestId": HashedId,
  "requestedByUserId": HashedId,
  "requestedByGroupId": HashedId,
  "processedByUserId": HashedId,
  "isDenied": true,
  "denialMessage": "xyz789",
  "permalinkUrl": "abc123",
  "asset": Asset,
  "forGroup": Group,
  "verificationDocument": Document,
  "requestedByUser": User,
  "requestedByGroup": Group,
  "processedByUser": User,
  "byRegistrationRequest": RegistrationRequest
}

AssetRequestItem

Description

Input to approve or deny an asset request

Fields
Input Field Description
id - HashedId! Unique identifier of the entity
isDenied - Boolean! Whether this request was denied
denialMessage - String Reason provided when the request was denied
Example
{
  "id": HashedId,
  "isDenied": false,
  "denialMessage": "xyz789"
}

AssetServicesFilterInput

Description

Filter criteria for querying services linked to an asset

Fields
Input Field Description
isServiceCheck - Boolean if true, only services that are service checks are returned
includeBle - Boolean Include Bluetooth Low Energy (BLE) services in results. Default = null
includeGeneralService - Boolean Include general-purpose services that are not tied to a specific service type. Default = null
includeRegularService - Boolean Include standard maintenance and repair services in results. Default = null
includeQrCodeLanding - Boolean Include QR code landing page services in results. Default = null
type - ServiceType Filter by service classification type. Default = JOT_FORM
itemType - ServiceItemType Filter by the entity type this service applies to (e.g. asset, site)
excludeQRLandingPage - Boolean Exclude QR code landing page services from results. Default = null
search - String Text search query for filtering results
Example
{
  "isServiceCheck": true,
  "includeBle": false,
  "includeGeneralService": false,
  "includeRegularService": true,
  "includeQrCodeLanding": true,
  "type": "JOT_FORM",
  "itemType": "general",
  "excludeQRLandingPage": true,
  "search": "abc123"
}

AssetSiteAssignment

Description

Assignment record linking an asset to a physical site for a time period

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
assetId - HashedId! ID of the asset assigned to this site
siteId - HashedId! ID of the site where the asset is deployed
status - AssetSiteAssignmentStatusEnum! Whether the assignment is active, ended, or archived
onSiteFrom - DateTime! Date when the asset arrived on site
onSiteUntil - DateTime Date when the asset left or will leave the site
notes - String Free-text notes about this site assignment
externalId - String External reference ID from an ERP or other external system
publicId - Int! Public numeric identifier
asset - Asset! Asset assigned to this site
site - Site! Site where this asset is deployed
totalDaysPlanned - Int! Total number of planned days for the site assignment
totalDaysUntilNow - Int! Total elapsed days from assignment start until today
totalDaysPlannedInPeriod - Int! Total planned days within a specified date range
Arguments
dateRange - AssetSiteAssignmentDateRangeFilterInput

Date range to filter days-in-period calculations

totalDaysUntilNowInPeriod - Int! Elapsed days until today within a specified date range
Arguments
dateRange - AssetSiteAssignmentDateRangeFilterInput

Date range to filter days-in-period calculations

costs - [AssetSiteAssignmentCostDto!]! Daily cost rate entries for this assignment
costCenter - String Accounting cost center for financial allocation
costCenterSource - AssetSiteAssignmentCostCenterSourceEnum Origin of the cost center value
costCenterResolved - String Effective cost center from the resolution hierarchy
costCenterSourceResolved - AssetSiteAssignmentCostCenterSourceEnum Source level from which the cost center was resolved
costCenterSelected - String Legacy resolved cost center value Use "costCenterResolved" instead
dailyRateInPeriod - Float! Daily cost rate within a specified date range
Arguments
dateRange - AssetSiteAssignmentDateRangeFilterInput

Date range to filter days-in-period calculations

averageDailyRate - Float! Average daily cost rate across all cost entries
totalDaysBilled - Int! Total number of billed days for this assignment
totalDaysBilledInPeriod - Int! Total billed days within a specified date range
Arguments
dateRange - AssetSiteAssignmentDateRangeFilterInput

Date range to filter days-in-period calculations

totalCosts - Float! Total accumulated costs for this site assignment
totalCostsInPeriod - Float! Total costs within a specified date range
Arguments
dateRange - AssetSiteAssignmentDateRangeFilterInput

Date range to filter days-in-period calculations

Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "assetId": HashedId,
  "siteId": HashedId,
  "status": "ACTIVE",
  "onSiteFrom": "2007-12-03T10:15:30Z",
  "onSiteUntil": "2007-12-03T10:15:30Z",
  "notes": "abc123",
  "externalId": "xyz789",
  "publicId": 987,
  "asset": Asset,
  "site": Site,
  "totalDaysPlanned": 987,
  "totalDaysUntilNow": 987,
  "totalDaysPlannedInPeriod": 123,
  "totalDaysUntilNowInPeriod": 123,
  "costs": [AssetSiteAssignmentCostDto],
  "costCenter": "xyz789",
  "costCenterSource": "ASSET",
  "costCenterResolved": "xyz789",
  "costCenterSourceResolved": "ASSET",
  "costCenterSelected": "abc123",
  "dailyRateInPeriod": 123.45,
  "averageDailyRate": 123.45,
  "totalDaysBilled": 987,
  "totalDaysBilledInPeriod": 987,
  "totalCosts": 123.45,
  "totalCostsInPeriod": 123.45
}

AssetSiteAssignmentCostCenterSourceEnum

Description

Determines where the cost center value is sourced from for an asset site assignment: directly from the asset, from the assignment itself, or inherited from the site

Values
Enum Value Description

ASSET

ASSIGNMENT

SITE

Example
"ASSET"

AssetSiteAssignmentCostDto

Description

Daily cost rate record for an asset site assignment

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
date - DateTime! Effective date for this cost rate entry
daysBilled - Int! Number of days billed at this rate
dailyRate - Float! Billing rate per day for this cost entry
isManuallyChanged - Boolean! Whether the daily rate was manually overridden
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "date": "2007-12-03T10:15:30Z",
  "daysBilled": 123,
  "dailyRate": 123.45,
  "isManuallyChanged": true
}

AssetSiteAssignmentCostInput

Description

Daily cost rate entry for an asset site assignment

Fields
Input Field Description
date - DateTime! Effective date for this cost rate entry
daysBilled - Int! Number of days billed at this rate
dailyRate - Float! Billing rate per day for this cost entry
isManuallyChanged - Boolean! Whether the daily rate was manually overridden
Example
{
  "date": "2007-12-03T10:15:30Z",
  "daysBilled": 123,
  "dailyRate": 123.45,
  "isManuallyChanged": true
}

AssetSiteAssignmentCreateInput

Description

Data required to create a new asset site assignment

Fields
Input Field Description
assetId - HashedId! ID of the asset assigned to this site
siteId - HashedId! ID of the site where the asset is deployed
onSiteFrom - DateTime! Date when the asset arrived on site
onSiteUntil - DateTime Date when the asset left or will leave the site
notes - String Free-text notes about this site assignment
externalId - String External reference ID from an ERP or other external system
costCenter - String Accounting cost center for financial allocation
costCenterSource - AssetSiteAssignmentCostCenterSourceEnum Origin of the cost center value
costs - [AssetSiteAssignmentCostInput!]! Daily cost rate entries for the new assignment
Example
{
  "assetId": HashedId,
  "siteId": HashedId,
  "onSiteFrom": "2007-12-03T10:15:30Z",
  "onSiteUntil": "2007-12-03T10:15:30Z",
  "notes": "xyz789",
  "externalId": "xyz789",
  "costCenter": "xyz789",
  "costCenterSource": "ASSET",
  "costs": [AssetSiteAssignmentCostInput]
}

AssetSiteAssignmentDateRangeFilterInput

Description

Date range filter for asset site assignment queries

Fields
Input Field Description
start - DateTime! Start date of the filter range
end - DateTime! End date of the filter range
Example
{
  "start": "2007-12-03T10:15:30Z",
  "end": "2007-12-03T10:15:30Z"
}

AssetSiteAssignmentPaginatedResult

Description

Paginated list of asset site assignments with metadata

Fields
Field Name Description
meta - PaginationMeta! Pagination metadata including total count and page info
rows - [AssetSiteAssignment!]! List of records for the current page
Example
{
  "meta": PaginationMeta,
  "rows": [AssetSiteAssignment]
}

AssetSiteAssignmentStatusEnum

Description

Lifecycle status of an asset-to-site assignment: active (currently assigned), non-active (temporarily unassigned), or archived (historically completed)

Values
Enum Value Description

ACTIVE

NON_ACTIVE

ARCHIVED

Example
"ACTIVE"

AssetSiteAssignmentUpdateInput

Description

Fields to update on an existing asset site assignment

Fields
Input Field Description
assetId - HashedId! ID of the asset assigned to this site
siteId - HashedId! ID of the site where the asset is deployed
onSiteFrom - DateTime! Date when the asset arrived on site
onSiteUntil - DateTime Date when the asset left or will leave the site
notes - String Free-text notes about this site assignment
externalId - String External reference ID from an ERP or other external system
costCenter - String Accounting cost center for financial allocation
costCenterSource - AssetSiteAssignmentCostCenterSourceEnum Origin of the cost center value
costs - [AssetSiteAssignmentCostInput!]! Updated daily cost rate entries for the assignment
Example
{
  "assetId": HashedId,
  "siteId": HashedId,
  "onSiteFrom": "2007-12-03T10:15:30Z",
  "onSiteUntil": "2007-12-03T10:15:30Z",
  "notes": "abc123",
  "externalId": "xyz789",
  "costCenter": "xyz789",
  "costCenterSource": "ASSET",
  "costs": [AssetSiteAssignmentCostInput]
}

AssetSiteAssignmentView

Description

Asset site assignment view record

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! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
titleId - HashedId! 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 - ViewEntityEnum! type of entity that this view is for (e.g. ASSET)
displayMode - ViewDisplayMode! display mode that this view uses (e.g. MAP)
options - AssetSiteAssignmentViewOptions! Available options
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
title - Translation! User-defined name for this saved view
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "titleId": HashedId,
  "forEntity": "ASSET",
  "displayMode": "LIST",
  "options": AssetSiteAssignmentViewOptions,
  "isActive": false,
  "isSystemView": false,
  "isShared": false,
  "isEditable": false,
  "isDeletable": true,
  "isShareable": false,
  "isUnsharedByParentGroup": true,
  "title": Translation
}

AssetSiteAssignmentViewCreateInput

Description

Data required to create a new asset site assignment view

Fields
Input Field Description
displayMode - ViewDisplayMode! display mode that this view uses (e.g. MAP)
options - AssetSiteAssignmentViewOptionsInput! Available options
title - TranslationInput! Name to assign to the new saved view
Example
{
  "displayMode": "LIST",
  "options": AssetSiteAssignmentViewOptionsInput,
  "title": TranslationInput
}

AssetSiteAssignmentViewOptions

Description

Display settings for pagination, filters, and columns in an asset site assignment view

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

AssetSiteAssignmentViewOptionsInput

Description

Input data for asset site assignment view options

Fields
Input Field Description
filters - [FilterParamsInput] Filter criteria
search - String Text search query for filtering results
itemsPerPage - Int! Items per page
columns - [String!]! Columns
Example
{
  "filters": [FilterParamsInput],
  "search": "abc123",
  "itemsPerPage": 123,
  "columns": ["abc123"]
}

AssetSiteAssignmentViewUpdateInput

Description

Fields to update on an existing asset site assignment view

Fields
Input Field Description
id - HashedId! Unique identifier of the entity
displayMode - ViewDisplayMode! display mode that this view uses (e.g. MAP)
options - AssetSiteAssignmentViewOptionsInput! Available options
title - TranslationInput! Updated name for the saved view
Example
{
  "id": HashedId,
  "displayMode": "LIST",
  "options": AssetSiteAssignmentViewOptionsInput,
  "title": TranslationInput
}

AssetState

Description

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

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
error - Boolean! Whether this asset has active error conditions
priority - Int! The priority state for the asset if the user has the feature enabled, -1 otherwise.
service - Boolean! Whether this asset requires service attention
warning - Boolean! Whether this asset has active warning conditions
Example
{
  "id": HashedId,
  "error": true,
  "priority": 987,
  "service": false,
  "warning": true
}

AssetStateItem

Description

Individual event-type state entry for an asset

Fields
Field Name Description
id - HashedId! Identifier of this state item
key - EventTypeEnum! Event type key identifying this state category
icon - String An url to a square icon image. Can be selected from a predefined list from the eventStyleIcons query.
displayText - EventTypeEnum! Label text shown in the UI for this state
displayValue - Int! Numeric count or severity level for this state
displayName - Translation! Localized display name for this state item Static data, should be translated on the frontend
Example
{
  "id": HashedId,
  "key": "ERROR",
  "icon": "abc123",
  "displayText": "ERROR",
  "displayValue": 987,
  "displayName": Translation
}

AssetSyntheticParameterEnum

Description

Computed parameters derived from raw asset telemetry data, including battery level, utilization rate, work done, and their cumulative totals

Values
Enum Value Description

BATTERY

UTILIZATION

WORK_DONE

TOTAL_UTILIZATION

TOTAL_WORK_DONE

Example
"BATTERY"

AssetTripLatest

Description

Latest trip data for an asset

Fields
Field Name Description
id - String! Trip identifier
startTime - Timestamp! Trip start time
endTime - Timestamp! Trip end time
Example
{
  "id": "abc123",
  "startTime": 1592577642,
  "endTime": 1592577642
}

AssetType

Description

A specific asset model or product type with manufacturer details

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
forManufacturerId - HashedId! Manufacturer assigned to this asset type
groupId - HashedId! Owning organization group
servicePackageId - HashedId Linked service package for this asset type
hasAssortmentList - Boolean Whether the record has assortment list
externalId - String External system identifier
image - String Image (url) for this asset type. Should also be used for asset if it doesn't have one provided
inAssetCategoryId - HashedId! Category this asset type belongs to
inAssetIntegrationId - HashedId! IoT integration platform for this asset type
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
isRoom - Boolean! Denotes whether the asset type is a room
make - String Legacy free-text field for the manufacturer name, superseded by the forManufacturer relation
publicId - Int! User-facing numeric ID for this asset type
nameId - HashedId! Translation record ID for the asset type name
restrictedType - Boolean! Whether this type is restricted to certain groups
preset - Boolean Whether preset defaults are enabled for new assets
presetInitialValue - String Default initial asset value for new assets
presetLeasingCostTermination - String Default leasing termination cost for new assets
presetLeasingLevel - String Default leasing level for new assets
presetLeasingMonthlyCost - String Default leasing monthly cost for new assets
presetLeasingPartner - String Default leasing partner for new assets
presetLeasingPartnerContractNumber - String Default leasing contract number for new assets
presetLeasingPartnerContractPositionNumber - String Default leasing contract position number for new assets
presetLeasingRenewalRate - String Default leasing renewal rate for new assets
presetLowValueAsset - Boolean Default low-value asset flag for new assets
presetMachineCheckInterval - Int Default machine check interval in days
presetMachineCheckLastCreated - Boolean Whether a machine check was auto-created from preset
presetMachineCheckName - String Default machine check name for new assets
presetOwnership - AssetOwnership Default ownership type for new assets
presetPurchaseCost - String Default purchase cost for new assets
presetPurchaseDepriciation - Int Default depreciation period in months for new assets
presetRentalCostTermination - String Default rental termination cost for new assets
presetRentalMonthlyCost - String Default rental monthly cost for new assets
presetRentalRenewalRate - String Default rental renewal rate for new assets
presetServiceContractCostPerYear - String Default annual service contract cost for new assets
presetServiceContractEmail - String Default service contract email for new assets
presetServiceContractLevel - String Default service contract level for new assets
presetServiceContractPartner - String Default service contract partner for new assets
presetSupplier - String Default supplier for new assets of this type
presetWarrantyPeriod - Int Default warranty period in months for new assets
isLockable - Boolean Certain asset types can be locked. This will then lock the asset Only for limited amount of asset types
isLockedState - Boolean Whether this asset type is currently in locked state Functionality removed
lockAssetTypeId - HashedId Asset type used for locking this type (deprecated) 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 Whether IoT data polling is available for this type
name - Translation! Localized asset type display name
documents - [Document!]! Documents attached to this asset type
Arguments
purpose - String

Document purpose label to filter by

minimalBatteryVoltage - Float Minimum battery voltage threshold for alerts
nominalBatteryVoltage - Float Standard operating battery voltage
optimalBatteryVoltage - Float Ideal battery voltage for peak performance
chargingVoltageThreshold - Float Charging voltage threshold
optimalRuntime - Float Expected optimal runtime in hours
parentParameterKey - AssetParentParameter Parameter key used to link child assets to parents
workUnits - Translation Localized work unit label (e.g. cycles, hours)
workUnitsPerHour - Float Expected work output units produced per hour
workUnitId - HashedId Translation record ID for the work unit label
dailyRate - Float! Daily rental or usage rate for billing
minDaysBilled - Int! Minimum number of days billed per rental period
inAssetCategory - AssetCategory Category this asset type belongs to
group - Group Associated organization group
inAssetIntegration - AssetIntegration IoT integration platform linked to this type
forManufacturer - Manufacturer Manufacturer of this asset type
namespace - String Logical namespace for grouping asset types
assetsCount - Int Total number of assets using this type
userManual - String The handbook of the AssetType. URL to a PDF File
suggestedServicePartner - String Encoded handler identifier of the suggested service partner for this asset type
suggestedPartner - AvailableHandler Suggested ticket handler partner for this asset type
servicePackage - ServicePackage Assigned service package for maintenance coverage
lockAssetType - AssetType! Lock asset type reference (deprecated) This field is deprecated
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "forManufacturerId": HashedId,
  "groupId": HashedId,
  "servicePackageId": HashedId,
  "hasAssortmentList": false,
  "externalId": "abc123",
  "image": "abc123",
  "inAssetCategoryId": HashedId,
  "inAssetIntegrationId": HashedId,
  "isApprovedAssetType": true,
  "isPrivate": true,
  "isVehicle": false,
  "isRoom": false,
  "make": "xyz789",
  "publicId": 123,
  "nameId": HashedId,
  "restrictedType": true,
  "preset": false,
  "presetInitialValue": "abc123",
  "presetLeasingCostTermination": "abc123",
  "presetLeasingLevel": "xyz789",
  "presetLeasingMonthlyCost": "abc123",
  "presetLeasingPartner": "xyz789",
  "presetLeasingPartnerContractNumber": "abc123",
  "presetLeasingPartnerContractPositionNumber": "xyz789",
  "presetLeasingRenewalRate": "xyz789",
  "presetLowValueAsset": false,
  "presetMachineCheckInterval": 123,
  "presetMachineCheckLastCreated": true,
  "presetMachineCheckName": "xyz789",
  "presetOwnership": "PURCHASE",
  "presetPurchaseCost": "xyz789",
  "presetPurchaseDepriciation": 987,
  "presetRentalCostTermination": "abc123",
  "presetRentalMonthlyCost": "abc123",
  "presetRentalRenewalRate": "abc123",
  "presetServiceContractCostPerYear": "xyz789",
  "presetServiceContractEmail": "abc123",
  "presetServiceContractLevel": "xyz789",
  "presetServiceContractPartner": "xyz789",
  "presetSupplier": "xyz789",
  "presetWarrantyPeriod": 987,
  "isLockable": false,
  "isLockedState": true,
  "lockAssetTypeId": HashedId,
  "hasVNC": false,
  "isPollingAvailable": false,
  "name": Translation,
  "documents": [Document],
  "minimalBatteryVoltage": 123.45,
  "nominalBatteryVoltage": 987.65,
  "optimalBatteryVoltage": 987.65,
  "chargingVoltageThreshold": 987.65,
  "optimalRuntime": 987.65,
  "parentParameterKey": "runtime",
  "workUnits": Translation,
  "workUnitsPerHour": 123.45,
  "workUnitId": HashedId,
  "dailyRate": 987.65,
  "minDaysBilled": 987,
  "inAssetCategory": AssetCategory,
  "group": Group,
  "inAssetIntegration": AssetIntegration,
  "forManufacturer": Manufacturer,
  "namespace": "abc123",
  "assetsCount": 987,
  "userManual": "abc123",
  "suggestedServicePartner": "abc123",
  "suggestedPartner": AvailableHandler,
  "servicePackage": ServicePackage,
  "lockAssetType": AssetType
}

AssetTypePaginatedDto

Description

Paginated list of asset types with total count

Fields
Field Name Description
rows - [AssetType!]! List of records for the current page
meta - PaginationMeta! Pagination metadata including total count and page info
total - Int! Total amount
Example
{
  "rows": [AssetType],
  "meta": PaginationMeta,
  "total": 987
}

AssetUnavailability

Description

Asset unavailability record

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
createdByWorkOrderId - HashedId! Created by work order identifier
startTime - DateTime! Start time
endTime - DateTime End time
assetId - HashedId! Asset identifier
asWorkOrderAsset - Boolean! As work order asset
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "createdByWorkOrderId": HashedId,
  "startTime": "2007-12-03T10:15:30Z",
  "endTime": "2007-12-03T10:15:30Z",
  "assetId": HashedId,
  "asWorkOrderAsset": true
}

AssetUnavailabilityContext

Description

Identifies the context that caused an asset to become unavailable, such as being assigned as a work order asset

Values
Enum Value Description

AS_WORKORDER_ASSET

Example
"AS_WORKORDER_ASSET"

AssetUnavailabilityFilterInput

Description

Filter criteria for narrowing down asset unavailability results

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! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
titleId - HashedId! 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 - ViewEntityEnum! 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
title - Translation! User-defined name for this saved view
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "titleId": HashedId,
  "forEntity": "ASSET",
  "displayMode": "LIST",
  "options": AssetViewOptions,
  "isActive": true,
  "isSystemView": true,
  "isShared": false,
  "isEditable": false,
  "isDeletable": true,
  "isShareable": false,
  "isUnsharedByParentGroup": false,
  "title": Translation
}

AssetViewCreateInput

Description

input used to create a new asset view

Fields
Input Field Description
displayMode - ViewDisplayMode! display mode that this view uses (e.g. MAP)
options - AssetViewOptionsInput! display options to be stored with this view
title - TranslationInput! Name to assign to the new saved view
Example
{
  "displayMode": "LIST",
  "options": AssetViewOptionsInput,
  "title": TranslationInput
}

AssetViewOptions

Description

Display settings for pagination, filters, and columns in an asset view

Fields
Field Name Description
search - String general search string to filter the items in this view
filters - [Filters] 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": "abc123",
  "filters": [Filters],
  "itemsPerPage": 987,
  "columns": ["xyz789"]
}

AssetViewOptionsInput

Description

Pagination, filter, and column settings for an asset view

Fields
Input Field Description
filters - [FilterParamsInput] Filter criteria
search - String Text search query for filtering results
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": "xyz789",
  "itemsPerPage": 987,
  "columns": ["abc123"]
}

AssetViewUpdateInput

Description

input for updating an asset view

Fields
Input Field Description
id - HashedId! Unique identifier of the entity
displayMode - ViewDisplayMode! display mode that this view uses (e.g. MAP)
options - AssetViewOptionsInput! options for displaying assets in this view
title - TranslationInput! Updated name for the saved view
Example
{
  "id": HashedId,
  "displayMode": "LIST",
  "options": AssetViewOptionsInput,
  "title": TranslationInput
}

AssetWorkingHours

Description

Weekly operating hour schedule for an asset

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
workingHoursMonday - [String!]! Operating time ranges for Monday
workingHoursTuesday - [String!]! Operating time ranges for Tuesday
workingHoursWednesday - [String!]! Operating time ranges for Wednesday
workingHoursThursday - [String!]! Operating time ranges for Thursday
workingHoursFriday - [String!]! Operating time ranges for Friday
workingHoursSaturday - [String!]! Operating time ranges for Saturday
workingHoursSunday - [String!] Operating time ranges for Sunday
timezone - String! IANA timezone for the working hours schedule
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "workingHoursMonday": ["abc123"],
  "workingHoursTuesday": ["abc123"],
  "workingHoursWednesday": ["abc123"],
  "workingHoursThursday": ["xyz789"],
  "workingHoursFriday": ["abc123"],
  "workingHoursSaturday": ["abc123"],
  "workingHoursSunday": ["abc123"],
  "timezone": "abc123"
}

AssetWorkingHoursInput

Description

Input to set weekly operating hours for an asset

Fields
Input Field Description
workingHoursMonday - [String!]! Operating time ranges for Monday
workingHoursTuesday - [String!]! Operating time ranges for Tuesday
workingHoursWednesday - [String!]! Operating time ranges for Wednesday
workingHoursThursday - [String!]! Operating time ranges for Thursday
workingHoursFriday - [String!]! Operating time ranges for Friday
workingHoursSaturday - [String!]! Operating time ranges for Saturday
workingHoursSunday - [String!]! Operating time ranges for Sunday
timezone - String! IANA timezone for the working hours schedule
Example
{
  "workingHoursMonday": ["xyz789"],
  "workingHoursTuesday": ["abc123"],
  "workingHoursWednesday": ["xyz789"],
  "workingHoursThursday": ["xyz789"],
  "workingHoursFriday": ["abc123"],
  "workingHoursSaturday": ["xyz789"],
  "workingHoursSunday": ["xyz789"],
  "timezone": "xyz789"
}

AssigneeAutomation

Description

Controls how ticket assignees are determined when a service creates a ticket: suggest a partner for manual selection, automatically assign based on rules, or disable assignee automation

Values
Enum Value Description

SUGGESTED_PARTNER

AUTO_ASSIGN

NO_ASSIGNEE_AUTOMATION

Example
"SUGGESTED_PARTNER"

AvailabilityValArray

Description

List of available asset availability status values

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

AvailableHandler

Description

User, team, group, or external email that can be assigned to handle a ticket

Fields
Field Name Description
id - String! Handler entity reference used for assignment operations
subLabel - String! Secondary label such as group or team name
displayName - String! Primary label showing the handler name or email
publicId - Int! Public numeric identifier
handlerType - HandlerTypeEnum! Entity type such as user, team, group, or external email
maskedEmail - String Partially masked email address for privacy
Example
{
  "id": "abc123",
  "subLabel": "abc123",
  "displayName": "abc123",
  "publicId": 987,
  "handlerType": "EXTERNALEMAIL",
  "maskedEmail": "xyz789"
}

AvailableServiceHandlerDto

Description

A handler available to process tickets from a specific service

Fields
Field Name Description
tag - TicketAssigneeTagEnum Classification tag or label
handler - AvailableHandler Assigned handler for processing
Example
{"tag": "ASSIGNEE_1", "handler": AvailableHandler}

Boolean

Description

The Boolean scalar type represents true or false.

Example
true

Brand

Description

An equipment brand or trademark for asset classification

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
groupId - HashedId Group associated with the management of this brand
logoWidth - Int! Logo width
key - String! A unique identifying string key
systemName - String! Name of the platform for this brand
colorDark - String! Dark theme color hex value
colorLight - String! Light theme color hex value
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 Display name of the white-label brand shown to end users
appUrlAndroid - String URL leading to the download/store page of the Android app of the platform
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 Associated organization group
hasSso - Boolean! Whether this brand has single sign-on configuration
loginLanguageFallback - HashedId Fallback language displayed on the login page when the user's preferred language is unavailable
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": "abc123",
  "colorLight": "abc123",
  "faviconUrl": "abc123",
  "loginBackground": "xyz789",
  "name": "xyz789",
  "appUrlAndroid": "abc123",
  "appUrlIos": "abc123",
  "logo": "abc123",
  "color": "abc123",
  "symbol": "abc123",
  "ownURL": "abc123",
  "supportEmail": "xyz789",
  "activationMailVideo": "abc123",
  "logoIsSquare": false,
  "group": Group,
  "hasSso": true,
  "loginLanguageFallback": HashedId,
  "projects": "abc123"
}

BrandCreateInput

Description

Data required to create a new brand

Fields
Input Field Description
key - String! A unique identifying string key
systemName - String! Name of the platform for this brand
colorDark - String! Dark theme color hex value
colorLight - String! Light theme color hex value
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 URL leading to the download/store page of the Android app of the platform
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 Fallback language displayed on the login page when the user's preferred language is unavailable
logo - String An image url containing the logo for the platform
name - String Display name of the white-label brand shown to end users
color - String Primary color associated with brand
ownURL - String Custom URL where the branded platform is hosted
symbol - String The image displayed when only the symbol is required. E.g. the main menu is collapsed
groupId - HashedId Group identifier
Example
{
  "key": "xyz789",
  "systemName": "abc123",
  "colorDark": "abc123",
  "colorLight": "abc123",
  "faviconUrl": "abc123",
  "loginBackground": "xyz789",
  "appUrlIos": "xyz789",
  "supportEmail": "abc123",
  "appUrlAndroid": "xyz789",
  "logoIsSquare": true,
  "activationMailVideo": "abc123",
  "loginLanguageFallback": 123,
  "logo": "xyz789",
  "name": "xyz789",
  "color": "abc123",
  "ownURL": "xyz789",
  "symbol": "abc123",
  "groupId": HashedId
}

BrandUpdateInput

Description

Fields to update on an existing brand

Fields
Input Field Description
key - String Unique lookup key
systemName - String Name of the platform for this brand
colorDark - String Dark theme color hex value
colorLight - String Light theme color hex value
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 URL leading to the download/store page of the Android app of the platform
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 Fallback language displayed on the login page when the user's preferred language is unavailable
logo - String An image url containing the logo for the platform
name - String Display name of the white-label brand shown to end users
color - String Primary color associated with brand
ownURL - String Custom URL where the branded platform is hosted
symbol - String The image displayed when only the symbol is required. E.g. the main menu is collapsed
groupId - HashedId Group identifier
Example
{
  "key": "xyz789",
  "systemName": "xyz789",
  "colorDark": "abc123",
  "colorLight": "xyz789",
  "faviconUrl": "xyz789",
  "loginBackground": "abc123",
  "appUrlIos": "xyz789",
  "supportEmail": "abc123",
  "appUrlAndroid": "xyz789",
  "logoIsSquare": true,
  "activationMailVideo": "abc123",
  "loginLanguageFallback": 987,
  "logo": "abc123",
  "name": "abc123",
  "color": "abc123",
  "ownURL": "abc123",
  "symbol": "abc123",
  "groupId": HashedId
}

BrandUpsertInput

Description

Input data for brand upsert mutation

Fields
Input Field Description
key - String! Unique lookup key
id - HashedId Unique identifier
systemName - String Name of the platform for this brand
colorDark - String Dark theme color hex value
colorLight - String Light theme color hex value
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 Display name of the white-label brand shown to end users
appUrlAndroid - String URL leading to the download/store page of the Android app of the platform
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 Fallback language displayed on the login page when the user's preferred language is unavailable
groupId - HashedId! group id of the brand being updated
Example
{
  "key": "xyz789",
  "id": HashedId,
  "systemName": "xyz789",
  "colorDark": "xyz789",
  "colorLight": "xyz789",
  "faviconUrl": "xyz789",
  "loginBackground": "xyz789",
  "name": "xyz789",
  "appUrlAndroid": "xyz789",
  "appUrlIos": "xyz789",
  "logo": "abc123",
  "color": "abc123",
  "symbol": "xyz789",
  "ownURL": "xyz789",
  "supportEmail": "xyz789",
  "activationMailVideo": "abc123",
  "logoIsSquare": false,
  "loginLanguageFallback": HashedId,
  "groupId": HashedId
}

ChangeActionEnum

Description

Represents add or remove actions used when modifying ticket handler assignments and other entity relationships

Values
Enum Value Description

ADD

REMOVE

Example
"ADD"

ChangedCostInput

Description

Changed cost Fields to update on an existing cost legacy

Fields
Input Field Description
id - HashedId! Unique identifier
value - Float Stored value
currency - Currency Currency code
costTypeId - HashedId Cost type identifier
type - CostTypeEnum Type category
assetId - HashedId Asset identifier
Example
{
  "id": HashedId,
  "value": 987.65,
  "currency": "AED",
  "costTypeId": HashedId,
  "type": "BATTERY",
  "assetId": HashedId
}

ChangedCostLineInput

Description

Changed cost line Fields to update on an existing cost line

Fields
Input Field Description
id - HashedId! Unique identifier
value - Float Stored value
currency - Currency Currency code
costTypeId - HashedId Cost type identifier
type - String! Type category
assetId - HashedId Asset identifier
name - String Display name
quantity - Int Quantity value
Example
{
  "id": HashedId,
  "value": 987.65,
  "currency": "AED",
  "costTypeId": HashedId,
  "type": "xyz789",
  "assetId": HashedId,
  "name": "xyz789",
  "quantity": 987
}

ColumnConfig

Description

Column config record

Fields
Field Name Description
columnName - String! Column name
dataType - FilteringDataTypeEnum! Data type
dependsOnFlags - [String] Depends on flags
disableFilter - Boolean Disable filter
disableSort - Boolean Disable sort
hashId - Boolean Hash identifier
isNullable - Boolean Whether nullable
label - String! Display label
Example
{
  "columnName": "abc123",
  "dataType": "TEXT",
  "dependsOnFlags": ["xyz789"],
  "disableFilter": true,
  "disableSort": false,
  "hashId": true,
  "isNullable": true,
  "label": "xyz789"
}

ColumnSchemaDropdownOption

Description

Dropdown option for an importer column

Fields
Field Name Description
label - String! Display label for the option
value - String! Value stored when this option is selected
originalValue - String Original value before transformation
alternativeMatches - [String!] Alternative text matches for this option
type - String Type classification for the option
metadata - JSON Additional metadata for the option
Example
{
  "label": "abc123",
  "value": "abc123",
  "originalValue": "abc123",
  "alternativeMatches": ["abc123"],
  "type": "xyz789",
  "metadata": {}
}

ColumnSchemaValidations

Description

Validation rules for an importer column

Fields
Field Name Description
validate - String Validation type identifier
columns - [String!] Related column keys for cross-field validation
columnValues - JSON Allowed values for this validation
Example
{
  "validate": "abc123",
  "columns": ["abc123"],
  "columnValues": {}
}

ColumnsSchema

Description

Column definition for entity import schema

Fields
Field Name Description
key - String! Unique column identifier
label - String! Display label for the column
alternativeMatches - [String!] Alternative text matches for column mapping
labelSuffix - String Suffix appended to the label
columnType - String Data type of the column
hidden - Boolean Whether the column is hidden from the user
allowCustomOptions - Boolean Whether custom user-entered options are allowed
description - String Help text describing the column purpose
example - String Example value for the column
type - String Schema type classification
validations - [ColumnSchemaValidations!] Validation rules for this column
dropdownOptions - [ColumnSchemaDropdownOption!] Available dropdown options for this column
Example
{
  "key": "xyz789",
  "label": "abc123",
  "alternativeMatches": ["abc123"],
  "labelSuffix": "xyz789",
  "columnType": "abc123",
  "hidden": true,
  "allowCustomOptions": false,
  "description": "abc123",
  "example": "xyz789",
  "type": "xyz789",
  "validations": [ColumnSchemaValidations],
  "dropdownOptions": [ColumnSchemaDropdownOption]
}

Coordinates

Description

Representing a static place on the map

Fields
Field Name Description
latitude - Float Geographic latitude coordinate
longitude - Float Geographic longitude coordinate
Example
{"latitude": 123.45, "longitude": 123.45}

CoordinatesInput

Description

Geographic coordinate pair for specifying a map position

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

Cost

Description

A financial expense record associated with an asset, ticket, or work order

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
assetId - HashedId! Asset identifier
title - String! Title text
description - String Human-readable description
provider - String External provider or vendor name
invoiceNumber - String Invoice or receipt reference number
invoiceDate - DateTime! Date when the invoice was issued
costCenter - String Accounting cost center for financial allocation
siteId - HashedId Site identifier
labelId - HashedId Label identifier
ticketId - HashedId Ticket identifier
createdByUserId - HashedId Created by user identifier
label - CostLabel Display label
createdByUser - User User who created this cost
costLines - [CostLine!]! Line items that make up this cost entry
operatingCosts - Float Total operating costs calculated from all cost lines
site - Site Associated site
asset - Asset! Asset this cost entry is charged to
documents - [Document!]! Documents attached to this cost
history - [CostHistory!]! Audit log of all changes made to this cost entry
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "assetId": HashedId,
  "title": "xyz789",
  "description": "abc123",
  "provider": "xyz789",
  "invoiceNumber": "xyz789",
  "invoiceDate": "2007-12-03T10:15:30Z",
  "costCenter": "abc123",
  "siteId": HashedId,
  "labelId": HashedId,
  "ticketId": HashedId,
  "createdByUserId": HashedId,
  "label": CostLabel,
  "createdByUser": User,
  "costLines": [CostLine],
  "operatingCosts": 987.65,
  "site": Site,
  "asset": Asset,
  "documents": [Document],
  "history": [CostHistory]
}

CostCreateInput

Description

Data required to create a new cost

Fields
Input Field Description
assetId - HashedId! Asset identifier
costLines - [NewCostLineInput!] Individual line items that make up this cost entry
attachments - [Upload!] Attached files
title - String! Title text
description - String Human-readable description
provider - String External provider or vendor name
invoiceNumber - String Invoice or receipt reference number
invoiceDate - DateTime! Date when the invoice was issued
costCenter - String Accounting cost center for financial allocation
siteId - HashedId Site identifier
labelId - HashedId Label identifier
ticketId - HashedId Ticket identifier
Example
{
  "assetId": HashedId,
  "costLines": [NewCostLineInput],
  "attachments": [Upload],
  "title": "xyz789",
  "description": "xyz789",
  "provider": "abc123",
  "invoiceNumber": "abc123",
  "invoiceDate": "2007-12-03T10:15:30Z",
  "costCenter": "abc123",
  "siteId": HashedId,
  "labelId": HashedId,
  "ticketId": HashedId
}

CostHistory

Description

An audit log entry recording a change to a cost entry or line item

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
costId - HashedId! Cost record this history entry refers to
triggeredByUserId - HashedId User who performed the change
type - CostHistoryType! Kind of audit action such as create, update, or delete
fieldName - CostHistoryField! Specific cost field that was modified
oldValue - String Previous value of the field before the change
newValue - String! Updated value of the field after the change
costLineId - HashedId Specific cost line item affected, null if the change applies to the cost header
triggeredByUser - User User who triggered this cost history
costLine - CostLine Resolved cost line item if the change targeted a specific line
cost - Cost Parent cost record this history entry belongs to
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "costId": HashedId,
  "triggeredByUserId": HashedId,
  "type": "CREATED",
  "fieldName": "TITLE",
  "oldValue": "xyz789",
  "newValue": "abc123",
  "costLineId": HashedId,
  "triggeredByUser": User,
  "costLine": CostLine,
  "cost": Cost
}

CostHistoryField

Description

Specific field within a cost record that was modified, such as title, description, provider, invoice number, invoice date, cost center, site, label, associated asset, or cost line item details

Values
Enum Value Description

TITLE

DESCRIPTION

PROVIDER

INVOICE_NUMBER

INVOICE_DATE

COST_CENTER

SITE

LABEL

ASSET

COST_LINE_TYPE

COST_LINE_VALUE

COST_LINE_QUANTITY

COST_LINE_NAME

COST_LINE

ATTACHMENT

Example
"TITLE"

CostHistoryType

Description

Type of change recorded in a cost history entry, indicating whether the cost record was initially created or subsequently updated

Values
Enum Value Description

CREATED

UPDATED

Example
"CREATED"

CostLabel

Description

A reusable label for categorizing cost entries

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
label - String! Display label
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "label": "xyz789"
}

CostLine

Description

An individual line item within a cost entry representing a single expense

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
assetId - HashedId! Asset identifier
costTypeId - HashedId! Cost type identifier use "type" enum instead
createdByUserId - HashedId Created by user identifier
currency - String! Currency code
originatingFromEventId - HashedId Originating from event identifier
originatingFromCommentId - HashedId Originating from comment identifier
value - Float! Stored value
type - String! Type category
costType - CostType! Category type of this cost line
asset - Asset! Asset this cost line item is charged to
name - String! Display name
quantity - Int! Quantity value
costId - HashedId! Cost identifier
costLines - [CostLine!]! Individual line items within this cost
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "assetId": HashedId,
  "costTypeId": HashedId,
  "createdByUserId": HashedId,
  "currency": "abc123",
  "originatingFromEventId": HashedId,
  "originatingFromCommentId": HashedId,
  "value": 123.45,
  "type": "abc123",
  "costType": CostType,
  "asset": Asset,
  "name": "xyz789",
  "quantity": 987,
  "costId": HashedId,
  "costLines": [CostLine]
}

CostPaginatedDto

Description

Paginated list of cost entries

Fields
Field Name Description
rows - [Cost!]! List of records for the current page
meta - PaginationMeta! Pagination metadata including total count and page info
total - Int! Total amount
Example
{
  "rows": [Cost],
  "meta": PaginationMeta,
  "total": 123
}

CostType

Description

A classification category for cost lines such as labor, material, or repair

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
key - String! Unique lookup key
keyV2 - CostTypeEnum! Standardized enum key
translationId - String Localization key for the display name
translation - Translation Translated name of the cost type only for the BC with older mobile app versions
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "key": "abc123",
  "keyV2": "BATTERY",
  "translationId": "xyz789",
  "translation": Translation
}

CostTypeEnum

Description

Categories of asset-related expenses such as maintenance, repair, fuel, spare parts, insurance, labor, logistics, and certifications

Values
Enum Value Description

BATTERY

CERTIFICATION

CONSUMABLES

FUEL

INSURANCE_TAXES

LABOR

LOGISTICS

MAINTENANCE

OTHER

REPAIR

SPARE_PARTS

Example
"BATTERY"

CostUpdateInput

Description

Fields to update on an existing cost

Fields
Input Field Description
title - String Title text
description - String Human-readable description
provider - String External provider or vendor name
invoiceNumber - String Invoice or receipt reference number
invoiceDate - DateTime Date when the invoice was issued
costCenter - String Accounting cost center for financial allocation
siteId - HashedId Site identifier
labelId - HashedId Label identifier
newCostLines - [NewCostLineInput!] New cost lines
changedCostLines - [ChangedCostLineInput!] Changed cost lines
costLineIdsToDelete - [HashedId!] Cost line ids to delete
documentsIdsToDelete - [HashedId!] Documents ids to delete
assetId - HashedId Asset identifier
attachments - [Upload!] Attached files
Example
{
  "title": "xyz789",
  "description": "abc123",
  "provider": "abc123",
  "invoiceNumber": "abc123",
  "invoiceDate": "2007-12-03T10:15:30Z",
  "costCenter": "xyz789",
  "siteId": HashedId,
  "labelId": HashedId,
  "newCostLines": [NewCostLineInput],
  "changedCostLines": [ChangedCostLineInput],
  "costLineIdsToDelete": [HashedId],
  "documentsIdsToDelete": [HashedId],
  "assetId": HashedId,
  "attachments": [Upload]
}

CreateCommentEventInput

Description

Data required to create a ticket comment cost event

Fields
Input Field Description
title - TranslationInput! Translated event title
assetId - HashedId! Asset associated with the cost event
Example
{
  "title": TranslationInput,
  "assetId": HashedId
}

CreateUserDto

Description

Result of creating a new user, containing the user and optional password reset link

Fields
Field Name Description
user - User! Newly created user account
passwordResetLink - String URL sent to the newly created user to set their initial password
Example
{
  "user": User,
  "passwordResetLink": "xyz789"
}

Currency

Description

ISO 4217 currency codes supported for financial transactions and cost tracking

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"

CustomField

Description

A user-defined field extending the standard data model for an entity

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
nameId - HashedId! Name identifier
publicId - Int! Numeric identifier of the custom field
type - CustomFieldTypeEnum! Type category
isRequired - Boolean! Whether this field is required
showOnQrLandingPage - Boolean! Whether to display this field on the QR landing page
showToNonLoggedInUsers - Boolean! Whether this field is visible to unauthenticated users
groupId - HashedId! Group identifier
addToAllAssetsInGroupAndBelow - Boolean! Whether to assign this field to all assets in the group hierarchy
customerVisibilityRights - CustomFieldVisibilityRightsEnum Customer visibility rights
createdByUserId - HashedId! Created by user identifier
createdByGroupId - HashedId! Created by group identifier
availableCustomerVisibilityRights - [CustomFieldVisibilityRightsEnum!]! Available customer visibility rights
deleted - Timestamp Soft deletion timestamp, null if active
name - Translation! Display name
group - Group! Associated organization group
assetTypes - [AssetType!]! Asset types
assetCategories - [AssetCategory!]! Asset categories
assets - [Asset!]! Assets
createdByUser - User! Created by user
createdByGroup - Group! Created by group
values - [CustomFieldValue!]! Current values set for this custom field across assets
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "nameId": HashedId,
  "publicId": 123,
  "type": "text",
  "isRequired": false,
  "showOnQrLandingPage": false,
  "showToNonLoggedInUsers": true,
  "groupId": HashedId,
  "addToAllAssetsInGroupAndBelow": true,
  "customerVisibilityRights": "editor",
  "createdByUserId": HashedId,
  "createdByGroupId": HashedId,
  "availableCustomerVisibilityRights": ["editor"],
  "deleted": 1592577642,
  "name": Translation,
  "group": Group,
  "assetTypes": [AssetType],
  "assetCategories": [AssetCategory],
  "assets": [Asset],
  "createdByUser": User,
  "createdByGroup": Group,
  "values": [CustomFieldValue]
}

CustomFieldCreateInput

Description

Data required to create a new custom field

Fields
Input Field Description
type - CustomFieldTypeEnum! Type category
isRequired - Boolean! Whether this field is required
showOnQrLandingPage - Boolean! Whether to display this field on the QR landing page
showToNonLoggedInUsers - Boolean! Whether this field is visible to unauthenticated users
groupId - HashedId! Group identifier
addToAllAssetsInGroupAndBelow - Boolean! Whether to assign this field to all assets in the group hierarchy
customerVisibilityRights - CustomFieldVisibilityRightsEnum Customer visibility rights
name - TranslationInput! Display name
assetTypeIds - [HashedId!]! Asset type identifiers
assetCategoryIds - [HashedId!]! Asset category identifiers
assetIds - [HashedId!]! Asset identifiers
Example
{
  "type": "text",
  "isRequired": true,
  "showOnQrLandingPage": false,
  "showToNonLoggedInUsers": false,
  "groupId": HashedId,
  "addToAllAssetsInGroupAndBelow": false,
  "customerVisibilityRights": "editor",
  "name": TranslationInput,
  "assetTypeIds": [HashedId],
  "assetCategoryIds": [HashedId],
  "assetIds": [HashedId]
}

CustomFieldFilterInput

Description

Filter criteria for narrowing down custom field results

Fields
Input Field Description
assetTypeId - HashedId Asset type identifier
assetCategoryId - HashedId Asset category identifier
assetId - HashedId Asset identifier
withValuesOnly - Boolean With values only
Example
{
  "assetTypeId": HashedId,
  "assetCategoryId": HashedId,
  "assetId": HashedId,
  "withValuesOnly": true
}

CustomFieldPaginatedResult

Description

Custom field paginated result record

Fields
Field Name Description
meta - PaginationMeta! Pagination metadata including total count and page info
rows - [CustomField!]! List of records for the current page
Example
{
  "meta": PaginationMeta,
  "rows": [CustomField]
}

CustomFieldTypeEnum

Description

Data types available for user-defined custom fields: text, number, date, currency, or percentage

Values
Enum Value Description

text

number

date

currency

percentage

Example
"text"

CustomFieldUpdateByIdInput

Description

Fields to update on an existing custom field by id

Fields
Input Field Description
isRequired - Boolean Whether this field is required
showOnQrLandingPage - Boolean Whether to display this field on the QR landing page
showToNonLoggedInUsers - Boolean Whether this field is visible to unauthenticated users
groupId - HashedId Group identifier
addToAllAssetsInGroupAndBelow - Boolean Whether to assign this field to all assets in the group hierarchy
customerVisibilityRights - CustomFieldVisibilityRightsEnum Customer visibility rights
name - TranslationInput Display name
assetTypeIds - [HashedId!] Asset type identifiers
assetCategoryIds - [HashedId!] Asset category identifiers
assetIds - [HashedId!] Asset identifiers
Example
{
  "isRequired": true,
  "showOnQrLandingPage": false,
  "showToNonLoggedInUsers": true,
  "groupId": HashedId,
  "addToAllAssetsInGroupAndBelow": false,
  "customerVisibilityRights": "editor",
  "name": TranslationInput,
  "assetTypeIds": [HashedId],
  "assetCategoryIds": [HashedId],
  "assetIds": [HashedId]
}

CustomFieldValue

Description

The stored value of a custom field for a specific entity instance

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
customFieldId - HashedId! Custom field identifier
assetId - HashedId! Asset identifier
textValueId - HashedId Text value identifier
numberValue - Float Number value
dateValue - Date Date value
currencyValue - Float Currency value
textValue - Translation Text value
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "customFieldId": HashedId,
  "assetId": HashedId,
  "textValueId": HashedId,
  "numberValue": 987.65,
  "dateValue": "2007-12-03",
  "currencyValue": 123.45,
  "textValue": Translation
}

CustomFieldVisibilityRightsEnum

Description

Controls who can see a custom field: editors only, all viewers, or hidden from the interface entirely

Values
Enum Value Description

editor

viewer

hidden

Example
"editor"

CustomFieldsValuesSetInput

Description

Input data for custom fields values set

Fields
Input Field Description
customFieldId - HashedId! Custom field identifier
assetId - HashedId! Asset identifier
numberValue - Float Number value
dateValue - Date Date value
currencyValue - Float Currency value
id - HashedId Unique identifier of the entity
textValue - TranslationInput Text value
Example
{
  "customFieldId": HashedId,
  "assetId": HashedId,
  "numberValue": 123.45,
  "dateValue": "2007-12-03",
  "currencyValue": 987.65,
  "id": HashedId,
  "textValue": TranslationInput
}

Dashboard

Description

Dashboard record

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
order - Int Sort position for ordering dashboards in the navigation list
default - Boolean! Whether this dashboard loads by default when opening the dashboard page
createdByUserId - HashedId! User who originally created this dashboard
titleId - HashedId! Reference to the translatable title for this dashboard
createdByGroupId - HashedId! Organization group that owns this dashboard
grafanaDashboardURL - String! Fully qualified URL to the underlying Grafana dashboard
grafanaDashboardUID - String! Grafana-assigned unique identifier for the underlying dashboard
filters - [DashboardFilter!]! Filters for this dashboard
createdByUser - User! The user who created the dashboard
createdByGroup - Group! Organization group that owns this dashboard
title - Translation! The title of the dashboard
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "order": 987,
  "default": true,
  "createdByUserId": HashedId,
  "titleId": HashedId,
  "createdByGroupId": HashedId,
  "grafanaDashboardURL": "xyz789",
  "grafanaDashboardUID": "abc123",
  "filters": [DashboardFilter],
  "createdByUser": User,
  "createdByGroup": Group,
  "title": Translation
}

DashboardCreateInput

Description

Data required to create a new dashboard

Fields
Input Field Description
default - Boolean! Whether this dashboard loads by default when opening the dashboard page
grafanaDashboardUID - String! Grafana-assigned unique identifier for the underlying dashboard
order - Int Sort position for ordering dashboards in the navigation list
title - TranslationInput! Title text
filters - [DashboardFilterCreateInput!]! Filter controls to configure on the new dashboard
Example
{
  "default": false,
  "grafanaDashboardUID": "xyz789",
  "order": 123,
  "title": TranslationInput,
  "filters": [DashboardFilterCreateInput]
}

DashboardFilter

Description

Dashboard filter record

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
grafanaFilterId - String! Grafana variable identifier that this filter maps to
titleId - HashedId! Reference to the translatable label for this filter
dashboardId - HashedId! Parent dashboard this filter belongs to
order - Int! Sort position for ordering filters within the dashboard
defaultValue - String Pre-selected value applied when the dashboard first loads
type - DashboardFilterType! Control type determining how this filter is rendered
title - Translation The title of the dashboard filter
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "grafanaFilterId": "abc123",
  "titleId": HashedId,
  "dashboardId": HashedId,
  "order": 123,
  "defaultValue": "xyz789",
  "type": "ASSET",
  "title": Translation
}

DashboardFilterCreateInput

Description

Data required to create a new dashboard filter

Fields
Input Field Description
grafanaFilterId - String! Grafana variable identifier that this filter maps to
order - Int! Sort position for ordering filters within the dashboard
type - DashboardFilterType! Control type determining how this filter is rendered
defaultValue - String Pre-selected value applied when the dashboard first loads
value - String Stored value
title - TranslationInput! Title text
Example
{
  "grafanaFilterId": "abc123",
  "order": 123,
  "type": "ASSET",
  "defaultValue": "xyz789",
  "value": "xyz789",
  "title": TranslationInput
}

DashboardFilterType

Description

Dimension by which dashboard widgets can be filtered, such as by specific asset, asset category, asset type, assignee, service, date range, group, or site

Values
Enum Value Description

ASSET

ASSET_CATEGORY

ASSET_TYPE

ASSIGNEE

SERVICE

DATE

GROUP

SITE

Example
"ASSET"

DashboardFilterValueInput

Description

Filter criteria for narrowing down dashboard value results

Fields
Input Field Description
grafanaFilterId - String! Grafana variable identifier that this filter maps to
type - DashboardFilterType! Control type determining how this filter is rendered
value - String Stored value
Example
{
  "grafanaFilterId": "abc123",
  "type": "ASSET",
  "value": "abc123"
}

DashboardGenerateSnapshotUrlInput

Description

Input data for dashboard generate snapshot url

Fields
Input Field Description
forceRefresh - Boolean! Whether to regenerate the snapshot even if a cached version exists
dashboardId - HashedId! Dashboard to generate a snapshot for
filters - [DashboardFilterValueInput!]! Filter criteria
Example
{
  "forceRefresh": true,
  "dashboardId": HashedId,
  "filters": [DashboardFilterValueInput]
}

DashboardUpdateInput

Description

Fields to update on an existing dashboard

Fields
Input Field Description
default - Boolean! Whether this dashboard loads by default when opening the dashboard page
grafanaDashboardUID - String! Grafana-assigned unique identifier for the underlying dashboard
order - Int Sort position for ordering dashboards in the navigation list
title - TranslationInput Title text
filters - [DashboardFilterCreateInput!] Replacement set of filter controls for the dashboard
Example
{
  "default": true,
  "grafanaDashboardUID": "xyz789",
  "order": 123,
  "title": TranslationInput,
  "filters": [DashboardFilterCreateInput]
}

Datapoint

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! Unix timestamp when this datapoint was recorded
eventType - DrivingEventTypesEnum Driving event classification at this point (e.g. harsh braking, sharp cornering)
direction - Float! Vehicle heading in degrees (0-360) at this point
Example
{
  "id": 987,
  "lat": 123.45,
  "lng": 987.65,
  "distance": 123.45,
  "speed": 123.45,
  "time": 123.45,
  "eventType": "HARSH_ACCELERATION",
  "direction": 987.65
}

Date

Description

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

Example
"2007-12-03"

DateStringOrIsoDateTime

Example
DateStringOrIsoDateTime

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"

DefinitionCompareSource

Description

Definition compare source record

Fields
Field Name Description
parameterId - Int! Parameter identifier
parameterSavedName - String Cached display name of the parameter Redundant - only parameterId is needed
offsets - [Int!] Time offsets in seconds for historical data comparison
target - String Time window expression for data aggregation
Example
{
  "parameterId": 123,
  "parameterSavedName": "abc123",
  "offsets": [123],
  "target": "xyz789"
}

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
id - HashedId! Unique identifier of the entity
displayType - DisplayType! Display type
displayName - Translation Display name
displayText - String Display text
displayValue - Float Display value
visibility - DisplayParameterVisibility! Visibility
parameter - Parameter! Parameter
originalValue - Float Original value
syntheticParameter - AssetSyntheticParameterEnum Synthetic parameter
stackedParameters - [Parameter!]! Stacked parameters
Example
{
  "id": HashedId,
  "displayType": "PERCENT",
  "displayName": Translation,
  "displayText": "abc123",
  "displayValue": 123.45,
  "visibility": DisplayParameterVisibility,
  "parameter": Parameter,
  "originalValue": 123.45,
  "syntheticParameter": "BATTERY",
  "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 displayParameters from a specific asset.

Fields
Field Name Description
id - HashedId! Unique identifier
parameterId - HashedId! Parameter identifier
parameter - Parameter! Parameter
assetTypeId - [HashedId!] Asset type identifier
assetType - [AssetType!] Asset type
assetIntegrationId - HashedId! Asset integration identifier
assetIntegration - AssetIntegration! Asset integration
titleId - HashedId Title identifier
title - Translation! Title text
sortPosition - Int Sort position
displayUnit - String Display unit
displayType - String Display type
domainValue - Int Domain value
key - String Unique lookup key
parameterSetId - HashedId Parameter set identifier
Example
{
  "id": HashedId,
  "parameterId": HashedId,
  "parameter": Parameter,
  "assetTypeId": [HashedId],
  "assetType": [AssetType],
  "assetIntegrationId": HashedId,
  "assetIntegration": AssetIntegration,
  "titleId": HashedId,
  "title": Translation,
  "sortPosition": 987,
  "displayUnit": "abc123",
  "displayType": "xyz789",
  "domainValue": 987,
  "key": "xyz789",
  "parameterSetId": HashedId
}

DisplayParameterVisibility

Description

Display parameter visibility record

Fields
Field Name Description
id - String! Unique identifier This API is deprecated and will be removed by the end of 2025. Please use the new API instead.
list - Boolean! Whether this parameter visibility entry is active
activityLog - Boolean! Activity log
graphMonth - Boolean! Graph month
graphWeek - Boolean! Graph week
graphDay - Boolean! Graph day
graphYear - Boolean! Graph year
Example
{
  "id": "xyz789",
  "list": false,
  "activityLog": true,
  "graphMonth": true,
  "graphWeek": false,
  "graphDay": true,
  "graphYear": true
}

DisplayType

Description

Controls how IoT parameter data is visually rendered in charts: as a percentage (0-1 scale), default line chart, stacked area chart, or hidden from display

Values
Enum Value Description

PERCENT

DEFAULT

STACKED

NONE

Example
"PERCENT"

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! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
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 Event identifier
costId - HashedId Cost identifier
partId - HashedId Id of the associated part. Mutually exclusive with other associations.
isExternal - Boolean Defines if the document has an external web address not served by the ToolSense system
isVisibleToCustomer - Boolean Indicates whether the document is served/visible to users of customer groups.
name - String! Name of the attachment
purpose - String A string 'label' to define the purpose of the document. Can only be one of the items of a predefined constant array.
uploadedByUserId - HashedId Uploaded by user identifier
documentTicketContentFieldId - HashedId Document ticket content field identifier
uploadedDocumentTicketContentFieldId - HashedId Uploaded document ticket content field identifier
procedureTemplateComponentId - HashedId Procedure template component identifier
url - String! Direct file url
externalId - String External system identifier
editable - Boolean! Indicates whether the document may be edited.
fileSize - Int Document size, in bytes, using header from the file uri. If the file is external or not found, this will be null.
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.
typeKey - String! Type key for the file. One of: document, image, audio, video, weblink
uploadedByCustomer - Boolean! Indicates whether the document was uploaded by a customer
uploadedByUser - User Uploaded by user
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "assetId": HashedId,
  "assetTypeId": HashedId,
  "commentId": HashedId,
  "eventId": HashedId,
  "costId": HashedId,
  "partId": HashedId,
  "isExternal": false,
  "isVisibleToCustomer": false,
  "name": "xyz789",
  "purpose": "xyz789",
  "uploadedByUserId": HashedId,
  "documentTicketContentFieldId": HashedId,
  "uploadedDocumentTicketContentFieldId": HashedId,
  "procedureTemplateComponentId": HashedId,
  "url": "abc123",
  "externalId": "abc123",
  "editable": false,
  "fileSize": 987,
  "isInherited": true,
  "typeKey": "xyz789",
  "uploadedByCustomer": false,
  "uploadedByUser": User
}

DocumentUrlInput

Fields
Input Field Description
url - String!
name - String!
Example
{
  "url": "abc123",
  "name": "xyz789"
}

DrivingEventTypesEnum

Description

Types of driving events detected during trips (e.g. harsh braking, sharp cornering, speeding)

Values
Enum Value Description

HARSH_ACCELERATION

HARSH_BRAKING

HARSH_CORNERING

CRASH

SPEEDING

Example
"HARSH_ACCELERATION"

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

CUSTOMFIELD

ASSET_SITE_ASSIGNMENT

TRIP_LATEST

EVENT

RULE_ENTRY

COST

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! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
publicId - Int! Public numeric identifier
createdByRuleId - HashedId Created by rule identifier
createdByTicketId - HashedId Created by ticket identifier
siteId - HashedId Site identifier
createdByPartId - HashedId Created by part identifier
createdByWorkOrderId - HashedId Created by work order identifier
createdBySiteId - HashedId Created by site identifier
descriptionId - HashedId Description identifier
endTime - Timestamp When the event stopped - when the rule first didn't trigger after the start, thus breaking the continous streak
eventStyleId - String! Event style identifier Use type instead
type - EventTypeEnum! Type category
eventMeta - JSON Expose any meta information which can be utilized by requesting client
isCritical - Boolean Denotes severity. Critical events should have a different, emphasized styling on the ui.
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.
isImmediateNotification - Boolean Whether immediate notification
lastEvent - Timestamp Last event
originatingFromAssetId - HashedId Originating from asset identifier
originatingFromModuleId - HashedId Originating from module identifier
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
createdByUserId - HashedId Created by user identifier
stoppedByUserId - HashedId Stopped by user identifier
shouldNotify - Boolean! Whether to notify
eventStyle - EventStyle! Defines visual style for UIs for this event like color or icon
startTime - Timestamp! When this event started - when the rule first triggered in a continous streak
manualDeactivation - Boolean Manual deactivation
ticketId - Int Ticket identifier Use createdByTicketId
authorEmail - String Author email
serviceName - Translation Service name
stoppedByUser - User The value is present if the event was stopped explicitly by a user
createdByUser - User The value is present if the event was created explicitly by a user
costs - [CostLine!]! Associated cost entries
tag - [EventEntityTagEnum!]! Classification tag or label
originatingFromAsset - Asset Originating from asset
createdByPart - Part Created by part
documents - [Document!]! Documents attached to this event
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
description - Translation A description of the event
site - Site Associated site
createdByRule - Rule Created by rule
data - EventEntityDataDto! Related data records
createdBySite - Site Created by site
createdByTicket - Ticket Created by ticket
originatingFromModule - Module Originating from module
ticketStatus - TicketStateEnum! Ticket status
responseState - TicketState Response state use "ticketStatus" enum instead
connectedComment - TicketComment Connected comment
createdByWorkOrder - WorkOrderSummary Created By Work Order for this event
workOrderNotifications - WorkOrderNotifications Work order notifications
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "publicId": 123,
  "createdByRuleId": HashedId,
  "createdByTicketId": HashedId,
  "siteId": HashedId,
  "createdByPartId": HashedId,
  "createdByWorkOrderId": HashedId,
  "createdBySiteId": HashedId,
  "descriptionId": HashedId,
  "endTime": 1592577642,
  "eventStyleId": "xyz789",
  "type": "ERROR",
  "eventMeta": {},
  "isCritical": true,
  "isOngoing": true,
  "isImmediateNotification": false,
  "lastEvent": 1592577642,
  "originatingFromAssetId": HashedId,
  "originatingFromModuleId": HashedId,
  "titleId": HashedId,
  "createdByUserId": HashedId,
  "stoppedByUserId": HashedId,
  "shouldNotify": true,
  "eventStyle": EventStyle,
  "startTime": 1592577642,
  "manualDeactivation": true,
  "ticketId": 987,
  "authorEmail": "abc123",
  "serviceName": Translation,
  "stoppedByUser": User,
  "createdByUser": User,
  "costs": [CostLine],
  "tag": ["asset"],
  "originatingFromAsset": Asset,
  "createdByPart": Part,
  "documents": [Document],
  "title": Translation,
  "description": Translation,
  "site": Site,
  "createdByRule": Rule,
  "data": EventEntityDataDto,
  "createdBySite": Site,
  "createdByTicket": Ticket,
  "originatingFromModule": Module,
  "ticketStatus": "open",
  "responseState": TicketState,
  "connectedComment": TicketComment,
  "createdByWorkOrder": WorkOrderSummary,
  "workOrderNotifications": WorkOrderNotifications
}

EventConfig

Description

Event config record

Fields
Field Name Description
assetId - HashedId! Asset identifier
lastEvent - DateTime Timestamp of the most recent event triggered for this asset
nextEvent - DateTime! Scheduled timestamp for the next rule evaluation on this asset
Example
{
  "assetId": HashedId,
  "lastEvent": "2007-12-03T10:15:30Z",
  "nextEvent": "2007-12-03T10:15:30Z"
}

EventConfigInput

Description

Event config Input data for rule events config

Fields
Input Field Description
assetId - HashedId! Asset identifier
lastEvent - DateTime Timestamp of the most recent event triggered for this asset
nextEvent - DateTime! Scheduled timestamp for the next rule evaluation on this asset
Example
{
  "assetId": HashedId,
  "lastEvent": "2007-12-03T10:15:30Z",
  "nextEvent": "2007-12-03T10:15:30Z"
}

EventDateFilter

Description

Event date filter input data

Fields
Input Field Description
from - Timestamp! Start timestamp of the filter range
to - Timestamp! End timestamp of the filter range
Example
{"from": 1592577642, "to": 1592577642}

EventEntityDataDto

Description

Structured payload attached to an event recording contextual details such as status transitions, rescheduling info, and related entities

Fields
Field Name Description
ticketStatus - TicketStateEnum Ticket status at the time this event was recorded
stateId - Int Numeric ticket status ID, deprecated in favor of the ticketStatus enum Use "ticketStatus" enum instead
isAutomated - Boolean Whether this event was triggered automatically by a rule or schedule
initialState - Boolean Whether this represents the first state of the related entity
oldDate - Timestamp Previous date value before the change that triggered this event
newDate - Timestamp Updated date value after the change that triggered this event
rescheduledEventId - Int Reference to the original event that was rescheduled
handler - EventEntityDataHandlerDto Assigned handler for processing
type - EventEntityDataTypeEnum Classification of the event data payload, such as maintenance, check, or status change
action - HandlerUpdateActionEnum Handler update action performed, such as assignment or removal
rescheduled - RescheduledEventDataDto Details about when and by whom the event was rescheduled
part - Part Spare part involved in this event, such as a replacement or consumption
site - Site Associated site
stockInfo - Part Part stock information affected by this event
machineCheck - MachineCheckEventDataDto Machine check schedule data captured at the time of this event
machineMaintenance - JSON Machine maintenance schedule data captured at the time of this event
customFieldId - HashedId Custom field whose value was changed in this event
roomStatus - RoomStatusEnum Room occupancy status after the event, used for hospitality assets
checkFrequency - String Recurrence interval for the associated check schedule, such as daily or weekly
Example
{
  "ticketStatus": "open",
  "stateId": 123,
  "isAutomated": false,
  "initialState": true,
  "oldDate": 1592577642,
  "newDate": 1592577642,
  "rescheduledEventId": 123,
  "handler": EventEntityDataHandlerDto,
  "type": "RESPONSIBLE_UPDATE",
  "action": "ADD",
  "rescheduled": RescheduledEventDataDto,
  "part": Part,
  "site": Site,
  "stockInfo": Part,
  "machineCheck": MachineCheckEventDataDto,
  "machineMaintenance": {},
  "customFieldId": HashedId,
  "roomStatus": "Inspected",
  "checkFrequency": "xyz789"
}

EventEntityDataHandlerDto

Description

Handler reference captured in an event, identifying the ticket handler and its relation to the ticket

Fields
Field Name Description
id - String! Ticket handler identifier at the time of the event
handlerType - HandlerTypeEnum! Whether the handler is a user, team, or external service
relationType - HandlerRelationTypeEnum! How the handler relates to the ticket, such as assignee or watcher
Example
{
  "id": "abc123",
  "handlerType": "EXTERNALEMAIL",
  "relationType": "ASSIGNEE"
}

EventEntityDataTypeEnum

Description

Identifies the specific data payload type within an event, such as handler updates, urgency changes, ticket item modifications, CRUD operations, geofence alerts, and automation-triggered changes

Values
Enum Value Description

RESPONSIBLE_UPDATE

URGENCY_UPDATE

TICKET_ITEMS_CHANGE

CREATED

UPDATED

DELETED

SITE_CHANGED

STOCK_LEVEL_CHANGED

STOCK_LEVEL_WARNING

GEOFENCE_ASSET_INSIDE

GEOFENCE_ASSET_OUTSIDE

IS_VEHICLE_UNPLUG

ASSET_AVAILABILITY_CHANGED_BY_AUTOMATION

ASSET_SITE_CHANGED_BY_AUTOMATION

CHECK_COMPLETED_BY_AUTOMATION

AUTOMATION_EMAIL_SENT_BY_AUTOMATION

Example
"RESPONSIBLE_UPDATE"

EventEntityTagEnum

Description

Tags that categorize activity log events by their origin, such as asset changes, rule triggers, maintenance checks, site reassignments, work orders, and module connections

Values
Enum Value Description

asset

assetSerialChanged

assetAssetTypeChanged

assetCreated

assetInventoryNumberChanged

assetPlateNumberChanged

assetExternalIdChanged

checkRule

intervalRule

iotRule

machineCheck

machineMaintenance

servicePackage

site

part

STOCK_LEVEL_CHANGED

STOCK_LEVEL_WARNING

workOrder

rescheduled

customEvent

created

assetIsUsedPrivatelyChanged

assetNonWorkingDaysChanged

assetWorkingHoursChanged

assetTripIsPrivateChanged

ownershipChanged

availabilityChanged

bleLinked

bleRemoved

moduleChanged

RESPONSIBLE_UPDATE

qrCodeAttached

updated

deleted

SITE_CHANGED

Example
"asset"

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! Driving event classification (e.g. harsh braking, sharp cornering)
speed - Float! Point speed in kmh
distance - Float! Distance from previous point in km
Example
{
  "id": 123,
  "lat": 123.45,
  "lng": 123.45,
  "eventStart": 987.65,
  "eventType": "abc123",
  "speed": 987.65,
  "distance": 123.45
}

EventRescheduleInput

Description

Event reschedule Input data for event reschedule

Fields
Input Field Description
id - HashedId! Unique identifier
date - String! Date
note - TranslationInput! Note
Example
{
  "id": HashedId,
  "date": "abc123",
  "note": TranslationInput
}

EventRescheduleV2Input

Description

Event reschedule v2 Input data for event reschedule v2

Fields
Input Field Description
date - DateTime! Date
note - TranslationInput! Note
Example
{
  "date": "2007-12-03T10:15:30Z",
  "note": TranslationInput
}

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! Unique identifier
key - EventTypeEnum! A handle for this style. These fixed styles are listed in EventStyleKey type and are available to all groups.
nameId - HashedId! Name identifier
name - Translation Translated name of the event style
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 Created by group identifier
Example
{
  "id": HashedId,
  "key": "ERROR",
  "nameId": HashedId,
  "name": Translation,
  "icon": "xyz789",
  "color": "abc123",
  "createdByGroupId": HashedId
}

EventTypeEnum

Description

Classification of asset events by their origin or purpose, including errors, warnings, informational updates, maintenance services, location changes, tickets, costs, and work orders

Values
Enum Value Description

ERROR

WARNING

INFO

SERVICE

LOCATION

TICKET

MACHINE_CHECK

MACHINE_MAINTENANCE

COST

WORK_ORDER

ROOM_STATUS

Example
"ERROR"

ExpectedResultType

Description

Generic operation result with status and optional error details

Fields
Field Name Description
status - Boolean! Whether the operation was successful
error - String Error message if operation failed
message - String Descriptive message about the result
id - String Identifier for the result or error reference
Example
{
  "status": true,
  "error": "abc123",
  "message": "xyz789",
  "id": "xyz789"
}

FallbackSyncGroupsInput

Description

Input data for fallback sync groups

Fields
Input Field Description
fallbackGroupNotFoundId - String Fallback group not found identifier
fallbackGroupDuplicatedId - String Fallback group duplicated identifier
fallbackAssignmentMissingId - String Fallback assignment missing identifier
syncServiceCanCreateGroups - Boolean Sync service can create groups
Example
{
  "fallbackGroupNotFoundId": "abc123",
  "fallbackGroupDuplicatedId": "xyz789",
  "fallbackAssignmentMissingId": "abc123",
  "syncServiceCanCreateGroups": false
}

FeatureFlags

Description

Feature flags record

Fields
Field Name Description
hideAssetTypes - Boolean When enabled, asset type selection is hidden from the UI for simplified asset management
customFieldsDisabled - Boolean When enabled, custom field definitions and values are disabled across the platform
hideAssetCategories - Boolean When enabled, asset category selection is hidden from the UI
showReservations - Boolean Whether the reservation system is visible and available for asset booking
showExternalAssetId - Boolean Whether to display the external system identifier field on asset detail views
hidePlateNoForNonVehicles - Boolean When enabled, hides the license plate field for asset types that are not vehicles
hideAssetDocuments - Boolean When enabled, the documents tab is hidden from asset detail views
qrSiteReqq - Boolean Whether QR code scanning is required when assigning assets to sites
usersSeeAllTickets - Boolean Whether standard users can view all tickets or only those assigned to them
adminsSeeAllTickets - Boolean Whether admin users can view tickets across all groups in the hierarchy
unauthorisedUserCanCompleteCheckOnQr - Boolean Whether unauthenticated users can complete inspection checklists via QR code landing pages
hasAssetsChartView - Boolean Whether the assets chart visualization is available on the dashboard
hideWorkOrders - Boolean When enabled, the work orders module is hidden from navigation and disabled
hideTickets - Boolean When enabled, the tickets module is hidden from navigation and disabled
hideUserSubscriptionPage - Boolean When enabled, the subscription management page is hidden from user settings
hideExternalId - Boolean When enabled, external identifier fields are hidden across the platform
partsInventory - Boolean Whether the parts inventory management module is enabled for tracking spare parts
hideExtraFieldsInAssetForm - Boolean When enabled, supplementary input fields are hidden from the asset creation and edit forms
alwaysHideCustomerTypes - Boolean When enabled, customer type classification is hidden regardless of user role
hasAccessToTrips - Boolean Whether GPS trip tracking and route history features are enabled
webhooksEnabled - Boolean Whether outbound webhook notifications are enabled for event-driven integrations
defaultCurrency - String Whether the group-level default currency setting is exposed in the configuration UI
isGroupTypeEditor - Boolean Whether the group type editor interface is enabled for managing group classifications
useOldSiteAccessRule - Boolean Whether to use the legacy site-based access control rules instead of the new hierarchy-based model
sitesBatchUpdate - Boolean Whether bulk update operations are enabled for modifying multiple sites simultaneously
costsEnabled - Boolean Whether the cost tracking and reporting module is enabled for financial analysis
assetsBatchUpdate - Boolean Whether bulk update operations are enabled for modifying multiple assets simultaneously
uncertaintyLimit - Int GPS accuracy threshold in meters below which location data is considered reliable
hasApprovedAssetTypeSettings - Boolean Whether the asset type approval workflow is enabled requiring admin sign-off on type changes
isAssetPollingAvailable - Boolean Whether periodic IoT device polling is enabled for real-time asset status updates
disableTicketUuidInEmail - Boolean When enabled, ticket reference UUIDs are omitted from email notification subject lines
extraFields - Boolean Whether custom extra fields are enabled for extending asset and ticket data models
hasLanguage - [LanguageLocaleEnum!] Whether multi-language support is enabled for UI localization
showMaintenanceRequiredColumn - Boolean Whether the maintenance-required status column is visible in asset list views
allowEndCustomerEditAsset - Boolean Whether end-customer users are allowed to edit asset properties they have access to
customerIotRules - Boolean Whether customer-level IoT automation rules can be configured for device triggers
canObfuscateLocation - Boolean Whether the user can obfuscate location Removed https://github.com/ToolSense/frontend/issues/12667#issuecomment-2804130237
assetRequestsEnabled - Boolean Whether the asset request workflow is enabled for users to request new assets
linkHelp - String Custom URL for the help documentation link displayed in the navigation menu
linkAbout - String Custom URL for the about page link displayed in the navigation menu
useAlternateReservationName - Boolean Whether to display an alternative label for the reservations feature in the UI
canAccessInternalSettings - Boolean Whether the internal settings panel is accessible to the current user role
editEventsEnabled - [String!] Whether users can modify existing asset events after creation
linkTermsOfService - String Custom URL for the terms of service link displayed in the footer
signupRequestsEnabled - Boolean Whether new user registration requests can be submitted through the platform
allowedBrands - [String!] List of brand identifiers that restrict which asset brands are available for selection
useAlternateAssetName - Boolean Whether to display an alternative label for the assets feature in the UI
allowCustomerAddGroup - Boolean Whether customer-level users can create new child groups in the hierarchy
serialNumberOptional - Boolean Whether the serial number field is optional when creating or editing assets
machineChecks - Boolean Whether the machine inspection checklist module is enabled for periodic asset verification
hideChecksOnQRLanding - Boolean When enabled, inspection checklists are hidden from QR code landing pages
hideCompleteButtonForChecks - Boolean When enabled, the Complete button for check events is hidden from history views for non-admin roles
assetsBatchUploadNuvo - Boolean Whether the Nuvo-powered bulk asset import wizard is enabled
assetsBatchUpload - Boolean Whether the legacy bulk asset import via spreadsheet is enabled
sitesBatchUpload - Boolean Whether bulk site import via spreadsheet upload is enabled
deleteEventsEnabled - [String!] Whether users can delete existing asset events
assetNearSiteOverridesLocation - Boolean Whether proximity to a site automatically overrides the GPS-reported asset location
hasAccessToIntegrationService - Boolean Whether third-party integration services are enabled for this group
disableCustomerGroup - Boolean When enabled, customer group creation and management features are disabled
hasVNC - Boolean Whether VNC remote desktop access is enabled for connected IoT devices
hideGroupSelector - Boolean When enabled, the group selector dropdown is hidden from the navigation bar
hasLockableTypes - Boolean Whether asset type locking is enabled to prevent unauthorized modifications
hubspotHidden - Boolean When enabled, HubSpot CRM integration UI elements are hidden
showAssetIntegrations - Boolean Whether the asset integrations tab is visible showing connected third-party services
enableIMEIDuplicationFromOtherGroups - Boolean Whether IMEI numbers can be imported from assets in other groups
enableIMEIDuplicationToOtherGroups - Boolean Whether IMEI numbers from this group can be copied to assets in other groups
assetOverviewErrorCodeDescription - Boolean Whether error code descriptions are displayed in the asset overview dashboard
disableQRCodeGeneration - Boolean When enabled, automatic QR code generation for new assets is disabled
siteManagerTodoDisabled - Boolean When enabled, the site manager task list is hidden from the dashboard
releaseNotesLinks - Translation URL to the platform release notes page displayed in the help menu
hideReleaseNotes - Boolean When enabled, the release notes notification and link are hidden
linkShopLabelProtection - String URL to the label protection products in the accessories shop
linkShopPaper - String URL to the paper supplies in the accessories shop
linkShopPrinter - String URL to the printer hardware in the accessories shop
assortmentList - Boolean Whether the product assortment catalog is available for browsing and ordering
grafanaDashboard - Boolean URL to the external Grafana monitoring dashboard for IoT device analytics
hasQRCode - Boolean Whether QR code functionality is enabled for asset identification and tracking
qrAttachmentOptional - Boolean Whether QR code attachment is optional during asset onboarding instead of mandatory
qrIMEI - Boolean Whether QR codes can encode and display the IMEI number of connected devices
excludeWarrantyTodos - Boolean When enabled, warranty-related tasks are excluded from the to-do list
excludeServiceContractTodos - Boolean When enabled, service contract renewal tasks are excluded from the to-do list
excludeOwnershipTodos - Boolean When enabled, asset ownership transfer tasks are excluded from the to-do list
restrictReservation - Boolean Whether reservation creation is restricted to specific user roles or conditions
showNonNullableFilterOption - Boolean Whether non-null filter options are displayed in list view filter dropdowns
bypassPrivateCheck - Boolean Whether private inspection check restrictions can be bypassed by admin users
releaseUserSubscriptions - Boolean Whether user subscription self-management features are enabled
ticketEmailNotificationsDisabled - Boolean When enabled, all email notifications for ticket events are suppressed
ticketPushNotificationsDisabled - Boolean When enabled, all push notifications for ticket events are suppressed
hideInternalComments - Boolean When enabled, internal comments are hidden from non-admin users on tickets
assignCurrentUserToTicket - Boolean Whether the current user is automatically assigned to newly created tickets
limitLocationInformationToLastDays - Int Number of days to retain location history before older entries are hidden
disableTripsMapView - Boolean When enabled, trip routes are excluded from the map visualization
assetAvailabilityOnQRLanding - Boolean Whether asset availability status is shown on QR code landing pages
hideTicketEmailActions - Boolean When enabled, email action buttons are hidden from ticket detail views
allowStandardUserCreateAssets - Boolean When enabled, standard users can create assets and link blank QR codes during onboarding
advancedAssetStates - Boolean Not supported - use "advancedAssetStatesSettings"
Example
{
  "hideAssetTypes": true,
  "customFieldsDisabled": true,
  "hideAssetCategories": true,
  "showReservations": false,
  "showExternalAssetId": false,
  "hidePlateNoForNonVehicles": false,
  "hideAssetDocuments": true,
  "qrSiteReqq": true,
  "usersSeeAllTickets": true,
  "adminsSeeAllTickets": true,
  "unauthorisedUserCanCompleteCheckOnQr": true,
  "hasAssetsChartView": true,
  "hideWorkOrders": false,
  "hideTickets": true,
  "hideUserSubscriptionPage": false,
  "hideExternalId": false,
  "partsInventory": true,
  "hideExtraFieldsInAssetForm": true,
  "alwaysHideCustomerTypes": false,
  "hasAccessToTrips": true,
  "webhooksEnabled": true,
  "defaultCurrency": "abc123",
  "isGroupTypeEditor": true,
  "useOldSiteAccessRule": true,
  "sitesBatchUpdate": false,
  "costsEnabled": true,
  "assetsBatchUpdate": false,
  "uncertaintyLimit": 123,
  "hasApprovedAssetTypeSettings": false,
  "isAssetPollingAvailable": false,
  "disableTicketUuidInEmail": false,
  "extraFields": false,
  "hasLanguage": ["en_us"],
  "showMaintenanceRequiredColumn": false,
  "allowEndCustomerEditAsset": true,
  "customerIotRules": true,
  "canObfuscateLocation": true,
  "assetRequestsEnabled": false,
  "linkHelp": "xyz789",
  "linkAbout": "xyz789",
  "useAlternateReservationName": true,
  "canAccessInternalSettings": false,
  "editEventsEnabled": ["abc123"],
  "linkTermsOfService": "abc123",
  "signupRequestsEnabled": true,
  "allowedBrands": ["xyz789"],
  "useAlternateAssetName": false,
  "allowCustomerAddGroup": true,
  "serialNumberOptional": true,
  "machineChecks": false,
  "hideChecksOnQRLanding": true,
  "hideCompleteButtonForChecks": true,
  "assetsBatchUploadNuvo": true,
  "assetsBatchUpload": false,
  "sitesBatchUpload": false,
  "deleteEventsEnabled": ["xyz789"],
  "assetNearSiteOverridesLocation": true,
  "hasAccessToIntegrationService": false,
  "disableCustomerGroup": false,
  "hasVNC": false,
  "hideGroupSelector": false,
  "hasLockableTypes": true,
  "hubspotHidden": false,
  "showAssetIntegrations": false,
  "enableIMEIDuplicationFromOtherGroups": true,
  "enableIMEIDuplicationToOtherGroups": true,
  "assetOverviewErrorCodeDescription": true,
  "disableQRCodeGeneration": false,
  "siteManagerTodoDisabled": false,
  "releaseNotesLinks": Translation,
  "hideReleaseNotes": false,
  "linkShopLabelProtection": "xyz789",
  "linkShopPaper": "xyz789",
  "linkShopPrinter": "xyz789",
  "assortmentList": false,
  "grafanaDashboard": true,
  "hasQRCode": false,
  "qrAttachmentOptional": false,
  "qrIMEI": false,
  "excludeWarrantyTodos": false,
  "excludeServiceContractTodos": true,
  "excludeOwnershipTodos": false,
  "restrictReservation": true,
  "showNonNullableFilterOption": true,
  "bypassPrivateCheck": true,
  "releaseUserSubscriptions": true,
  "ticketEmailNotificationsDisabled": false,
  "ticketPushNotificationsDisabled": true,
  "hideInternalComments": true,
  "assignCurrentUserToTicket": true,
  "limitLocationInformationToLastDays": 987,
  "disableTripsMapView": false,
  "assetAvailabilityOnQRLanding": false,
  "hideTicketEmailActions": true,
  "allowStandardUserCreateAssets": false,
  "advancedAssetStates": false
}

FilterCondition

Description

Filter condition record

Fields
Field Name Description
id - String Unique identifier
values - [String!] Range boundary values for between operations
operation - FilterOperationEnum Comparison operator for this condition (e.g. equals, contains, between)
value - String Stored value
source - String Data source column for this filter condition
Example
{
  "id": "xyz789",
  "values": ["xyz789"],
  "operation": "GREATER_THAN",
  "value": "abc123",
  "source": "abc123"
}

FilterConditionInput

Description

Filter condition Input data for filter condition

Fields
Input Field Description
id - String Unique identifier
values - [String!] Range boundary values for between operations
operation - FilterOperationEnum Comparison operator for this condition (e.g. equals, contains, between)
value - String Stored value
source - String Data source column for this filter condition
Example
{
  "id": "abc123",
  "values": ["xyz789"],
  "operation": "GREATER_THAN",
  "value": "xyz789",
  "source": "xyz789"
}

FilterOperationEnum

Description

Comparison operators used in query filters, including equality checks, range comparisons, set membership, and between operations

Values
Enum Value Description

GREATER_THAN

GREATER_THAN_OR_EQUAL

LESS_THAN

LESS_THAN_OR_EQUAL

EQUALS

NOT_EQUALS

BETWEEN

IN

HAS_VALUE

HAS_NO_VALUE

Example
"GREATER_THAN"

FilterOption

Description

Filter option record

Fields
Field Name Description
value - String! Stored value
label - String! Display label
count - Int Total number of matching records
deleted - Timestamp Soft deletion timestamp, null if active
source - String Data source column this option belongs to
id - String! Unique identifier
Example
{
  "value": "xyz789",
  "label": "xyz789",
  "count": 987,
  "deleted": 1592577642,
  "source": "abc123",
  "id": "xyz789"
}

FilterParamsInput

Description

Filter params Input data for filter params

Fields
Input Field Description
name - String Display name
sorting - SortDirection Sorting
conditions - [FilterConditionInput!] Conditions
presence - FilterPresenceEnum Presence
hidden - Boolean Hidden
columnName - String Column name
selection - FilterTypeEnum Selection
values - [String!] Filter values (deprecated, use conditions instead)
value - [String!] Stored value
Example
{
  "name": "abc123",
  "sorting": "ASC",
  "conditions": [FilterConditionInput],
  "presence": "HAS_VALUE",
  "hidden": true,
  "columnName": "abc123",
  "selection": "DATETIME_QUICK_TODAY",
  "values": ["xyz789"],
  "value": ["xyz789"]
}

FilterPresenceEnum

Description

Operators that check whether a field has any value or is empty, used for null/non-null filtering

Values
Enum Value Description

HAS_VALUE

HAS_NO_VALUE

Example
"HAS_VALUE"

FilterTypeEnum

Description

Predefined filter presets for date, datetime, and number fields, including quick-select ranges, relative time periods, exact value comparisons, and presence checks

Values
Enum Value Description

DATETIME_QUICK_TODAY

DATETIME_QUICK_LAST_HOUR

DATETIME_QUICK_LAST_3_HOURS

DATETIME_QUICK_LAST_6_HOURS

DATETIME_QUICK_LAST_12_HOURS

DATETIME_QUICK_LAST_24_HOURS

DATETIME_QUICK_LAST_30_DAYS

DATETIME_QUICK_LAST_3_DAYS

DATETIME_QUICK_LAST_WEEK

DATETIME_QUICK_YESTERDAY

DATETIME_QUICK_THIS_WEEK

DATETIME_QUICK_THIS_MONTH

DATETIME_QUICK_HAS_NO_DATE

DATETIME_RELATIVE_EXACTLY

DATETIME_RELATIVE_MORE

DATETIME_RELATIVE_LESS

DATETIME_RELATIVE_BETWEEN

DATE_QUICK_NEXT_30_MIN

DATE_QUICK_NEXT_HOUR

DATE_QUICK_NEXT_HOURS

DATE_QUICK_TODAY

DATE_QUICK_TOMORROW

DATE_QUICK_NEXT_7_DAYS

DATE_QUICK_NEXT_30_DAYS

DATE_QUICK_NEXT_90_DAYS

DATE_QUICK_HAS_DATE

DATE_QUICK_HAS_NO_DATE

DATE_RELATIVE_EXACTLY

DATE_RELATIVE_MORE

DATE_RELATIVE_LESS

DATE_RELATIVE_BETWEEN

DATE_EXACT_EXACT

DATE_EXACT_BEFORE

DATE_EXACT_AFTER

DATE_EXACT_BETWEEN

NUMBER_EXACTLY

NUMBER_MORE

NUMBER_LESS

NUMBER_BETWEEN

NUMBER_HAS_VALUE

NUMBER_HAS_NO_VALUE

Example
"DATETIME_QUICK_TODAY"

FilteringDataTypeEnum

Description

Data types supported by the filtering system (e.g. string, number, date, enum)

Values
Enum Value Description

TEXT

NUMBER

CURRENCY

REMAINING

BOOLEAN

DATE

YEAR_AND_MONTH

YEAR_MONTH_AND_DAY

LOCALES

TRANSLATIONS

ID

MONTH_LABEL

OTHER

Example
"TEXT"

Filters

Description

a well defined filter configuration

Fields
Field Name Description
columnName - String Entity field name this filter applies to (e.g. status, assetTypeId)
values - [String!] values to filter this column by; only records with these values are selected
value - [String!] values to filter this column by; only records with these values are selected
conditions - [FilterCondition!] Conditions
presence - FilterPresenceEnum Presence
selection - FilterTypeEnum Selection
sorting - SortDirection Sorting
hidden - Boolean Hidden
Example
{
  "columnName": "xyz789",
  "values": ["xyz789"],
  "value": ["abc123"],
  "conditions": [FilterCondition],
  "presence": "HAS_VALUE",
  "selection": "DATETIME_QUICK_TODAY",
  "sorting": "ASC",
  "hidden": true
}

Float

Description

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

Example
123.45

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
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
name - String! Human-readable label used to identify the group in the UI
parentGroupId - HashedId Parent group identifier in the hierarchy
isRoot - Boolean! Whether this is the root element
image - String Image (url) for this group - eg. company logo or picture
isCustomer - Boolean! Whether this represents a customer
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 Reference to the top-level ancestor group in the organization hierarchy 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! Root group identifier of the hierarchy tree
servicePackageId - HashedId! Service package contain specific pre-set configurations for groups
flowId - HashedId! only for the BC with older mobile app versions
roleIds - [HashedId!]! only for the BC with older mobile app versions
activeCustomFields - [CustomField!]! Active custom fields
Arguments
filters - CustomFieldFilterInput

Filter criteria

archivedCustomFields - [CustomField!]! Archived custom fields
Arguments
filters - CustomFieldFilterInput

Filter criteria

costSettingsId - HashedId! Reference to the cost settings record applied to this group
deleted - Timestamp Soft deletion timestamp, null if active
parentGroup - Group The group above the selected group in the hierarchy
services - [Service!]! Services associated to current group's servicePackage Use "servicesV2" instead
Arguments
excludeQRLandingPage - Boolean

Exclude q r landing page

servicesV2 - [Service!]! Services associated to current group's servicePackage
Arguments
search - String!

Text search query for filtering results

limit - Int!

Maximum number of results to return

filters - GroupServicesFilterInput

Filter criteria

servicePackage - ServicePackage Bundled service configuration defining the SLA and maintenance scope for this group
ticketHandler - GroupTicketHandler Responsible party configuration for processing tickets raised within this group
flow - ServicePackage Automated workflow pipeline defining ticket routing and escalation steps only for the BC with older mobile app versions
internalSettings - JSON Platform-specific settings for the group. Can only be accessed by designated admins.
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.

costSettings - GroupCostSettings! Billing and cost-calculation parameters governing how asset usage costs are computed
brand - Brand! Brand for the group, resolved through tree hierarchy with default fallback
assetLocationsHidden - Boolean! Customers can obfuscate the location of their assets to the manufacturers Removed https://github.com/ToolSense/frontend/issues/12667#issuecomment-2804130237
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!]! IDs of child groups
belongsToCurrentGroup - Boolean! Expose the level of access to the group. This is used to determine if the group is directly accessible to the currentUser. Currently only currentGroups 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
rootGroupName - String The root group's name in the group's hierarchy. Returns null if the group is a root group
customerName - String Display name of the top-level customer group in the organization hierarchy
parentName - String! Parent or OEM root group name
groupTypeId - HashedId! Reference to the service package defining the SLA tier for this group use service package id instead
assets - [Asset!]! Assets currently assigned to this group
assetIds - [HashedId!]! List of hashed asset IDs belonging to this group
maintainedManufacturer - [Manufacturer!]! Groups may maintain one or more manufacturers
maintainedManufacturerId - [HashedId!]! IDs of maintained manufacturers
userRequestNotifiers - [NotificationRelation!]! Email addresses to receive notifications on customer signup
userIds - [HashedId!]! IDs of users in this group
users - [User!]! Users currently assigned to this group
hasTicketHandling - Boolean! Toggles if this group is a target of tickets coming from users in its own group and below Use "ticketHandler" resolver instead
flowMaintainers - [NotificationRelation!]! Users or email addresses who will receive flow notifications Use "ticketHandler" resolver instead
servicePackageV2 - ServicePackageUnion!
groupType - ServicePackage Group Type for this group use service package instead
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "name": "abc123",
  "parentGroupId": HashedId,
  "isRoot": false,
  "image": "xyz789",
  "isCustomer": false,
  "identificationNumber": "xyz789",
  "vatNumber": "xyz789",
  "rootGroupId": HashedId,
  "handlerAlias": "abc123",
  "treeRootId": HashedId,
  "servicePackageId": HashedId,
  "flowId": HashedId,
  "roleIds": [HashedId],
  "activeCustomFields": [CustomField],
  "archivedCustomFields": [CustomField],
  "costSettingsId": HashedId,
  "deleted": 1592577642,
  "parentGroup": Group,
  "services": [Service],
  "servicesV2": [Service],
  "servicePackage": ServicePackage,
  "ticketHandler": GroupTicketHandler,
  "flow": ServicePackage,
  "internalSettings": {},
  "settings": {},
  "costSettings": GroupCostSettings,
  "brand": Brand,
  "assetLocationsHidden": true,
  "nonCustomerParentGroup": Group,
  "childGroups": [Group],
  "childGroupIds": [HashedId],
  "belongsToCurrentGroup": false,
  "customerRootGroup": Group,
  "rootGroupName": "xyz789",
  "customerName": "abc123",
  "parentName": "xyz789",
  "groupTypeId": HashedId,
  "assets": [Asset],
  "assetIds": [HashedId],
  "maintainedManufacturer": [Manufacturer],
  "maintainedManufacturerId": [HashedId],
  "userRequestNotifiers": [NotificationRelation],
  "userIds": [HashedId],
  "users": [User],
  "hasTicketHandling": true,
  "flowMaintainers": [NotificationRelation],
  "servicePackageV2": ServicePackage,
  "groupType": ServicePackage
}

GroupComposedSettings

Description

Merged view of general and internal settings resolved through the group hierarchy

Fields
Field Name Description
flowNotifications - [NotificationRelation!]! Notification rules triggered by workflow transitions such as ticket status changes
paymentPlan - String! Subscription tier determining feature availability and billing (e.g. free, standard, premium)
defaultCurrency - String! ISO 4217 currency code used as the default for cost calculations within this group
hubspotCompanyId - String! HubSpot CRM company ID linking this group to its external CRM record for sync
hasTicketHandling - Boolean! Whether the record has ticket handling
customWelcomeContent - Translation Localized HTML or text content displayed to users when they first join this group
features - FeatureFlags! Feature flag overrides controlling which platform capabilities are enabled for this group
stripe_settings - StripeSettings! Stripe billing integration parameters for subscription management and invoicing
oracleSettings - OracleSettings Oracle OHIP integration credentials and endpoints for hospitality property management sync
hotelSettings - HotelSettings Hotel-specific configuration for room status tracking and property management integration
showViewersOnTicket - Boolean Whether to display a list of users who have viewed a ticket in the ticket detail view
Example
{
  "flowNotifications": [NotificationRelation],
  "paymentPlan": "abc123",
  "defaultCurrency": "abc123",
  "hubspotCompanyId": "abc123",
  "hasTicketHandling": false,
  "customWelcomeContent": Translation,
  "features": FeatureFlags,
  "stripe_settings": StripeSettings,
  "oracleSettings": OracleSettings,
  "hotelSettings": HotelSettings,
  "showViewersOnTicket": true
}

GroupCostSettings

Description

Billing parameters that define how asset usage costs are calculated for a group

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
isInherited - Boolean! Whether these cost settings are inherited from a parent group rather than configured directly
mode - GroupCostSettingsModeEnum! Cost calculation mode determining whether costs are computed per asset, per site, or globally
daysBilledPerMonth - Int! Days billed per month
calculationModel - GroupCostSettingsCalculationModelEnum! Mathematical model used for cost distribution (e.g. flat rate, usage-based, or blended)
billableDays - [WeekdayEnum!]! Days of the week included in cost calculations for usage-based billing
nonWorkingDays - [GroupCostSettingsNonWorkingDays!]! Date ranges excluded from cost calculations such as holidays or maintenance windows
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "isInherited": false,
  "mode": "PER_DAY",
  "daysBilledPerMonth": 987,
  "calculationModel": "BILL_FORMER_SITE_ON_LAST_DAY_OF_ASSIGNMENT",
  "billableDays": ["Monday"],
  "nonWorkingDays": [GroupCostSettingsNonWorkingDays]
}

GroupCostSettingsCalculationModelEnum

Description

Defines how costs are billed when an asset is reassigned between sites, such as billing the former site, the new site, or both

Values
Enum Value Description

BILL_FORMER_SITE_ON_LAST_DAY_OF_ASSIGNMENT

BILL_NEW_SITE_ON_FIRST_DAY_OF_ASSIGNMENT

BILL_BOTH_SITES_ON_DAY_OF_REASSIGNMENT

Example
"BILL_FORMER_SITE_ON_LAST_DAY_OF_ASSIGNMENT"

GroupCostSettingsCreateInput

Description

Data required to create a new group cost settings

Fields
Input Field Description
isInherited - Boolean! Whether these cost settings are inherited from a parent group rather than configured directly
mode - GroupCostSettingsModeEnum! Cost calculation mode determining whether costs are computed per asset, per site, or globally
daysBilledPerMonth - Int! Days billed per month
calculationModel - GroupCostSettingsCalculationModelEnum! Mathematical model used for cost distribution (e.g. flat rate, usage-based, or blended)
billableDays - [WeekdayEnum!]! Days of the week included in cost calculations for usage-based billing
nonWorkingDays - [GroupCostSettingsNonWorkingDaysInput!]! Date ranges to exclude from cost calculations such as holidays
Example
{
  "isInherited": true,
  "mode": "PER_DAY",
  "daysBilledPerMonth": 987,
  "calculationModel": "BILL_FORMER_SITE_ON_LAST_DAY_OF_ASSIGNMENT",
  "billableDays": ["Monday"],
  "nonWorkingDays": [GroupCostSettingsNonWorkingDaysInput]
}

GroupCostSettingsModeEnum

Description

Determines whether asset costs are calculated per day or from the first day of the month

Values
Enum Value Description

PER_DAY

FIRST_DAY_OF_MONTH

Example
"PER_DAY"

GroupCostSettingsNonWorkingDays

Description

Date range excluded from billable cost calculations

Fields
Field Name Description
start - DateTime! Beginning date of the non-working period
end - DateTime! Ending date of the non-working period
Example
{
  "start": "2007-12-03T10:15:30Z",
  "end": "2007-12-03T10:15:30Z"
}

GroupCostSettingsNonWorkingDaysInput

Description

Input data for group cost settings non working days

Fields
Input Field Description
start - DateTime! Beginning date of the non-working period
end - DateTime! Ending date of the non-working period
Example
{
  "start": "2007-12-03T10:15:30Z",
  "end": "2007-12-03T10:15:30Z"
}

GroupCostSettingsUpdateInput

Description

Fields to update on an existing group cost settings

Fields
Input Field Description
isInherited - Boolean! Whether these cost settings are inherited from a parent group rather than configured directly
mode - GroupCostSettingsModeEnum! Cost calculation mode determining whether costs are computed per asset, per site, or globally
daysBilledPerMonth - Int! Days billed per month
calculationModel - GroupCostSettingsCalculationModelEnum! Mathematical model used for cost distribution (e.g. flat rate, usage-based, or blended)
billableDays - [WeekdayEnum!]! Days of the week included in cost calculations for usage-based billing
nonWorkingDays - [GroupCostSettingsNonWorkingDaysInput!]! Updated date ranges to exclude from cost calculations
Example
{
  "isInherited": true,
  "mode": "PER_DAY",
  "daysBilledPerMonth": 987,
  "calculationModel": "BILL_FORMER_SITE_ON_LAST_DAY_OF_ASSIGNMENT",
  "billableDays": ["Monday"],
  "nonWorkingDays": [GroupCostSettingsNonWorkingDaysInput]
}

GroupCreateInput

Description

Data required to create a new group

Fields
Input Field Description
name - String! Human-readable label used to identify the group in the UI
parentGroupId - HashedId! Parent group identifier in the hierarchy
isCustomer - Boolean Whether this represents a customer
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
generalSettings - GroupGeneralSettingsCreateInput Customer-facing configuration including currency, payment plan, and notification preferences
internalSettings - GroupInternalSettingsCreateInput Admin-only configuration including feature flags, billing integration, and access controls
getRawFlow - Boolean Whether to return the unprocessed workflow configuration in the response
defaultCurrency - String ISO 4217 currency code for cost calculations within this group
costSettings - GroupCostSettingsCreateInput Initial cost calculation settings for the new group
flowMaintainers - [NotificationRelationCreateInput!] Flow maintainers
Example
{
  "name": "abc123",
  "parentGroupId": HashedId,
  "isCustomer": true,
  "identificationNumber": "xyz789",
  "vatNumber": "xyz789",
  "handlerAlias": "xyz789",
  "servicePackageId": HashedId,
  "generalSettings": GroupGeneralSettingsCreateInput,
  "internalSettings": GroupInternalSettingsCreateInput,
  "getRawFlow": true,
  "defaultCurrency": "abc123",
  "costSettings": GroupCostSettingsCreateInput,
  "flowMaintainers": [NotificationRelationCreateInput]
}

GroupGeneralSettingsCreateInput

Description

Data required to create a new group general settings

Fields
Input Field Description
defaultCurrency - String! ISO 4217 currency code used as the default for cost calculations within this group
hasTicketHandling - Boolean! Whether the record has ticket handling
flowNotifications - [NotificationRelationCreateInput!]! Notification rules triggered by workflow transitions such as ticket status changes
customWelcomeContent - TranslationInput Localized HTML or text content displayed to users when they first join this group
paymentPlan - String! Subscription tier determining feature availability and billing
features - GroupSettingsFeatureFlagsCreateInput Feature flag overrides controlling which platform capabilities are enabled
Example
{
  "defaultCurrency": "xyz789",
  "hasTicketHandling": true,
  "flowNotifications": [NotificationRelationCreateInput],
  "customWelcomeContent": TranslationInput,
  "paymentPlan": "abc123",
  "features": GroupSettingsFeatureFlagsCreateInput
}

GroupGeneralSettingsUpdateInput

Description

Fields to update on an existing group general settings

Fields
Input Field Description
hasTicketHandling - Boolean Whether the record has ticket handling
paymentPlan - Boolean Updated subscription tier for this group
defaultCurrency - Boolean Updated ISO 4217 currency code for cost calculations
customWelcomeContent - TranslationInput Updated localized content displayed to users when they first join this group
flowNotifications - [NotificationRelationCreateInput!] Updated notification rules triggered by workflow transitions
features - GroupSettingsFeatureFlagsCreateInput Updated feature flag overrides for this group
Example
{
  "hasTicketHandling": true,
  "paymentPlan": false,
  "defaultCurrency": true,
  "customWelcomeContent": TranslationInput,
  "flowNotifications": [NotificationRelationCreateInput],
  "features": GroupSettingsFeatureFlagsCreateInput
}

GroupInternalSettingsCreateInput

Description

Data required to create a new group internal settings

Fields
Input Field Description
features - GroupSettingsFeatureFlagsCreateInput Feature flag overrides controlling which platform capabilities are enabled
stripe_settings - StripeSettingsCreateInput Stripe billing integration parameters for subscription management
oracleSettings - OracleSettingsInput Oracle OHIP integration credentials and endpoints for hospitality sync
hotelSettings - HotelSettingsInput Hotel-specific configuration for room status tracking and PMS integration
showViewersOnTicket - Boolean Whether to display a list of users who have viewed a ticket
fallbackSyncGroups - FallbackSyncGroupsInput Groups to sync data from when the primary group source is unavailable
Example
{
  "features": GroupSettingsFeatureFlagsCreateInput,
  "stripe_settings": StripeSettingsCreateInput,
  "oracleSettings": OracleSettingsInput,
  "hotelSettings": HotelSettingsInput,
  "showViewersOnTicket": true,
  "fallbackSyncGroups": FallbackSyncGroupsInput
}

GroupInternalSettingsUpdateInput

Description

Fields to update on an existing group internal settings

Fields
Input Field Description
features - GroupSettingsFeatureFlagsCreateInput Updated feature flag overrides for this group
stripe_settings - StripeSettingsCreateInput Updated Stripe billing integration parameters
oracleSettings - OracleSettingsInput Updated Oracle OHIP integration credentials and endpoints
hotelSettings - HotelSettingsInput Updated hotel-specific configuration for PMS integration
showViewersOnTicket - Boolean Whether to display a list of users who have viewed a ticket
sso - JSON Single sign-on configuration for federated authentication providers
fallbackSyncGroups - FallbackSyncGroupsInput Updated groups to sync data from when the primary source is unavailable
Example
{
  "features": GroupSettingsFeatureFlagsCreateInput,
  "stripe_settings": StripeSettingsCreateInput,
  "oracleSettings": OracleSettingsInput,
  "hotelSettings": HotelSettingsInput,
  "showViewersOnTicket": false,
  "sso": {},
  "fallbackSyncGroups": FallbackSyncGroupsInput
}

GroupPaginatedDto

Description

Single group entry within a paginated result set

Fields
Field Name Description
rows - [Group!]! List of records for the current page
meta - PaginationMeta! Pagination metadata including total count and page info
total - Int! Total amount
Example
{
  "rows": [Group],
  "meta": PaginationMeta,
  "total": 987
}

GroupServicesFilterInput

Description

Filter criteria for narrowing down group services.args results

Fields
Input Field Description
isServiceCheck - Boolean if true, only services that are service checks are returned
includeBle - Boolean Include Bluetooth Low Energy (BLE) services in results. Default = null
includeGeneralService - Boolean Include general-purpose services that are not tied to a specific service type. Default = null
includeRegularService - Boolean Include standard maintenance and repair services in results. Default = null
includeQrCodeLanding - Boolean Include QR code landing page services in results. Default = null
type - ServiceType Filter by service classification type. Default = JOT_FORM
itemType - ServiceItemType Filter by the entity type this service applies to (e.g. asset, site)
excludeQRLandingPage - Boolean Exclude QR code landing page services from results. Default = null
search - String Text search query for filtering results
Example
{
  "isServiceCheck": true,
  "includeBle": false,
  "includeGeneralService": false,
  "includeRegularService": true,
  "includeQrCodeLanding": false,
  "type": "JOT_FORM",
  "itemType": "general",
  "excludeQRLandingPage": true,
  "search": "xyz789"
}

GroupSettingsFeatureFlagsCreateInput

Description

Data required to create a new group settings feature flags

Fields
Input Field Description
hideAssetTypes - Boolean When enabled, asset type selection is hidden from the UI for simplified asset management
hideAssetCategories - Boolean When enabled, asset category selection is hidden from the UI
showReservations - Boolean Whether the reservation system is visible and available for asset booking
hideAssetDocuments - Boolean When enabled, the documents tab is hidden from asset detail views
qrSiteReqq - Boolean Whether QR code scanning is required when assigning assets to sites
usersSeeAllTickets - Boolean Whether standard users can view all tickets or only those assigned to them
adminsSeeAllTickets - Boolean Whether admin users can view tickets across all groups in the hierarchy
hasAssetsChartView - Boolean Whether the assets chart visualization is available on the dashboard
hideWorkOrders - Boolean When enabled, the work orders module is hidden from navigation and disabled
hideTickets - Boolean When enabled, the tickets module is hidden from navigation and disabled
hideCompleteButtonForChecks - Boolean When enabled, the Complete button for check events is hidden from history views for non-admin roles
hideUserSubscriptionPage - Boolean When enabled, the subscription management page is hidden from user settings
hideExternalId - Boolean When enabled, external identifier fields are hidden across the platform
partsInventory - Boolean Whether the parts inventory management module is enabled for tracking spare parts
hideExtraFieldsInAssetForm - Boolean When enabled, supplementary input fields are hidden from the asset creation and edit forms
alwaysHideCustomerTypes - Boolean When enabled, customer type classification is hidden regardless of user role
hasAccessToTrips - Boolean Whether GPS trip tracking and route history features are enabled
webhooksEnabled - Boolean Whether outbound webhook notifications are enabled for event-driven integrations
defaultCurrency - String Whether the group-level default currency setting is exposed in the configuration UI
isGroupTypeEditor - Boolean Whether the group type editor interface is enabled for managing group classifications
useOldSiteAccessRule - Boolean Whether to use the legacy site-based access control rules instead of the new hierarchy-based model
sitesBatchUpdate - Boolean Whether bulk update operations are enabled for modifying multiple sites simultaneously
costsEnabled - Boolean Whether the cost tracking and reporting module is enabled for financial analysis
assetsBatchUpdate - Boolean Whether bulk update operations are enabled for modifying multiple assets simultaneously
uncertaintyLimit - Int GPS accuracy threshold in meters below which location data is considered reliable
hasApprovedAssetTypeSettings - Boolean Whether the asset type approval workflow is enabled requiring admin sign-off on type changes
isAssetPollingAvailable - Boolean Whether periodic IoT device polling is enabled for real-time asset status updates
disableTicketUuidInEmail - Boolean When enabled, ticket reference UUIDs are omitted from email notification subject lines
extraFields - Boolean Whether custom extra fields are enabled for extending asset and ticket data models
hasLanguage - [LanguageLocaleEnum!] Whether multi-language support is enabled for UI localization
showMaintenanceRequiredColumn - Boolean Whether the maintenance-required status column is visible in asset list views
allowEndCustomerEditAsset - Boolean Whether end-customer users are allowed to edit asset properties they have access to
customerIotRules - Boolean Whether customer-level IoT automation rules can be configured for device triggers
canObfuscateLocation - Boolean Whether the user can obfuscate location
assetRequestsEnabled - Boolean Whether the asset request workflow is enabled for users to request new assets
linkHelp - String Custom URL for the help documentation link displayed in the navigation menu
linkAbout - String Custom URL for the about page link displayed in the navigation menu
useAlternateReservationName - Boolean Whether to display an alternative label for the reservations feature in the UI
canAccessInternalSettings - Boolean Whether the internal settings panel is accessible to the current user role
hideServicePackageForCustomers - Boolean Hide service package for customers
hideModuleSubscriptionPage - Boolean Hide module subscription page
showBothSiteNumbers - Boolean Show both site numbers
workOrderDailyRate - Boolean Work order daily rate
subsitesDisabled - Boolean Subsites disabled
linkTermsOfService - String Custom URL for the terms of service link displayed in the footer
signupRequestsEnabled - Boolean Whether new user registration requests can be submitted through the platform
allowedBrands - [String!] List of brand identifiers that restrict which asset brands are available for selection
useAlternateAssetName - Boolean Whether to display an alternative label for the assets feature in the UI
allowCustomerAddGroup - Boolean Whether customer-level users can create new child groups in the hierarchy
serialNumberOptional - Boolean Whether the serial number field is optional when creating or editing assets
machineChecks - Boolean Whether the machine inspection checklist module is enabled for periodic asset verification
assetsBatchUploadNuvo - Boolean Whether the Nuvo-powered bulk asset import wizard is enabled
assetsBatchUpload - Boolean Whether the legacy bulk asset import via spreadsheet is enabled
sitesBatchUpload - Boolean Whether bulk site import via spreadsheet upload is enabled
deleteEventsEnabled - [String!] Whether users can delete existing asset events
assetNearSiteOverridesLocation - Boolean Whether proximity to a site automatically overrides the GPS-reported asset location
hasAccessToIntegrationService - Boolean Whether third-party integration services are enabled for this group
disableCustomerGroup - Boolean When enabled, customer group creation and management features are disabled
hasVNC - Boolean Whether VNC remote desktop access is enabled for connected IoT devices
hideGroupSelector - Boolean When enabled, the group selector dropdown is hidden from the navigation bar
hasLockableTypes - Boolean Whether asset type locking is enabled to prevent unauthorized modifications
hubspotHidden - Boolean When enabled, HubSpot CRM integration UI elements are hidden
showAssetIntegrations - Boolean Whether the asset integrations tab is visible showing connected third-party services
enableIMEIDuplicationFromOtherGroups - Boolean Whether IMEI numbers can be imported from assets in other groups
enableIMEIDuplicationToOtherGroups - Boolean Whether IMEI numbers from this group can be copied to assets in other groups
assetOverviewErrorCodeDescription - Boolean Whether error code descriptions are displayed in the asset overview dashboard
disableQRCodeGeneration - Boolean When enabled, automatic QR code generation for new assets is disabled
siteManagerTodoDisabled - Boolean When enabled, the site manager task list is hidden from the dashboard
hideReleaseNotes - Boolean When enabled, the release notes notification and link are hidden
proceduresEnabled - Boolean Procedures enabled
linkShopLabelProtection - String URL to the label protection products in the accessories shop
linkShopPaper - String URL to the paper supplies in the accessories shop
linkShopPrinter - String URL to the printer hardware in the accessories shop
assortmentList - Boolean Whether the product assortment catalog is available for browsing and ordering
grafanaDashboard - Boolean URL to the external Grafana monitoring dashboard for IoT device analytics
hasQRCode - Boolean Whether QR code functionality is enabled for asset identification and tracking
qrAttachmentOptional - Boolean Whether QR code attachment is optional during asset onboarding instead of mandatory
qrIMEI - Boolean Whether QR codes can encode and display the IMEI number of connected devices
excludeWarrantyTodos - Boolean When enabled, warranty-related tasks are excluded from the to-do list
excludeServiceContractTodos - Boolean When enabled, service contract renewal tasks are excluded from the to-do list
excludeOwnershipTodos - Boolean When enabled, asset ownership transfer tasks are excluded from the to-do list
restrictReservation - Boolean Whether reservation creation is restricted to specific user roles or conditions
showNonNullableFilterOption - Boolean Whether non-null filter options are displayed in list view filter dropdowns
bypassPrivateCheck - Boolean Whether private inspection check restrictions can be bypassed by admin users
releaseUserSubscriptions - Boolean Whether user subscription self-management features are enabled
ticketEmailNotificationsDisabled - Boolean When enabled, all email notifications for ticket events are suppressed
ticketPushNotificationsDisabled - Boolean When enabled, all push notifications for ticket events are suppressed
editEventsEnabled - [String!] Whether users can modify existing asset events after creation
hideInternalComments - Boolean When enabled, internal comments are hidden from non-admin users on tickets
assignCurrentUserToTicket - Boolean Whether the current user is automatically assigned to newly created tickets
hideTicketEmailActions - Boolean When enabled, email action buttons are hidden from ticket detail views
advancedAssetStatesSettings - AdvancedAssetStatesSettingsInput Configuration for advanced asset state machine with custom statuses and transitions
onlyIoTOrBLERequired - Boolean Whether only one of IoT or BLE connectivity is required instead of both
hideScheduledRules - Boolean When enabled, scheduled automation rules are hidden from the rules interface
customersDisabledEditorUsers - Boolean When enabled, editor users in customer groups are disabled from platform access
enableOfflineMode - Boolean Whether offline mode is enabled for mobile users working without network connectivity
assetVNCClient - Boolean deprecated - use hasVNC instead
enableNewRules - Boolean Whether the new rule engine is enabled replacing the legacy automation system
allowStandardUserCreateAssets - Boolean When enabled, standard users can create assets and link blank QR codes during onboarding
advancedAssetStates - Boolean deprecated - use "advancedAssetStatesSettings"
Example
{
  "hideAssetTypes": true,
  "hideAssetCategories": false,
  "showReservations": true,
  "hideAssetDocuments": true,
  "qrSiteReqq": true,
  "usersSeeAllTickets": false,
  "adminsSeeAllTickets": false,
  "hasAssetsChartView": true,
  "hideWorkOrders": false,
  "hideTickets": true,
  "hideCompleteButtonForChecks": true,
  "hideUserSubscriptionPage": true,
  "hideExternalId": true,
  "partsInventory": true,
  "hideExtraFieldsInAssetForm": false,
  "alwaysHideCustomerTypes": false,
  "hasAccessToTrips": true,
  "webhooksEnabled": false,
  "defaultCurrency": "abc123",
  "isGroupTypeEditor": false,
  "useOldSiteAccessRule": true,
  "sitesBatchUpdate": true,
  "costsEnabled": true,
  "assetsBatchUpdate": true,
  "uncertaintyLimit": 123,
  "hasApprovedAssetTypeSettings": true,
  "isAssetPollingAvailable": true,
  "disableTicketUuidInEmail": false,
  "extraFields": true,
  "hasLanguage": ["en_us"],
  "showMaintenanceRequiredColumn": true,
  "allowEndCustomerEditAsset": false,
  "customerIotRules": false,
  "canObfuscateLocation": true,
  "assetRequestsEnabled": true,
  "linkHelp": "abc123",
  "linkAbout": "abc123",
  "useAlternateReservationName": true,
  "canAccessInternalSettings": false,
  "hideServicePackageForCustomers": true,
  "hideModuleSubscriptionPage": true,
  "showBothSiteNumbers": false,
  "workOrderDailyRate": false,
  "subsitesDisabled": false,
  "linkTermsOfService": "xyz789",
  "signupRequestsEnabled": false,
  "allowedBrands": ["xyz789"],
  "useAlternateAssetName": true,
  "allowCustomerAddGroup": true,
  "serialNumberOptional": false,
  "machineChecks": true,
  "assetsBatchUploadNuvo": true,
  "assetsBatchUpload": true,
  "sitesBatchUpload": false,
  "deleteEventsEnabled": ["abc123"],
  "assetNearSiteOverridesLocation": true,
  "hasAccessToIntegrationService": true,
  "disableCustomerGroup": true,
  "hasVNC": false,
  "hideGroupSelector": true,
  "hasLockableTypes": true,
  "hubspotHidden": false,
  "showAssetIntegrations": false,
  "enableIMEIDuplicationFromOtherGroups": true,
  "enableIMEIDuplicationToOtherGroups": true,
  "assetOverviewErrorCodeDescription": false,
  "disableQRCodeGeneration": false,
  "siteManagerTodoDisabled": true,
  "hideReleaseNotes": true,
  "proceduresEnabled": false,
  "linkShopLabelProtection": "xyz789",
  "linkShopPaper": "xyz789",
  "linkShopPrinter": "abc123",
  "assortmentList": false,
  "grafanaDashboard": false,
  "hasQRCode": true,
  "qrAttachmentOptional": true,
  "qrIMEI": false,
  "excludeWarrantyTodos": true,
  "excludeServiceContractTodos": true,
  "excludeOwnershipTodos": false,
  "restrictReservation": true,
  "showNonNullableFilterOption": false,
  "bypassPrivateCheck": false,
  "releaseUserSubscriptions": true,
  "ticketEmailNotificationsDisabled": false,
  "ticketPushNotificationsDisabled": false,
  "editEventsEnabled": ["xyz789"],
  "hideInternalComments": false,
  "assignCurrentUserToTicket": true,
  "hideTicketEmailActions": false,
  "advancedAssetStatesSettings": AdvancedAssetStatesSettingsInput,
  "onlyIoTOrBLERequired": true,
  "hideScheduledRules": true,
  "customersDisabledEditorUsers": true,
  "enableOfflineMode": false,
  "assetVNCClient": false,
  "enableNewRules": false,
  "allowStandardUserCreateAssets": false,
  "advancedAssetStates": false
}

GroupTicketHandler

Description

Group ticket handler record

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
publicId - Int! Public numeric identifier
isActive - Boolean! Whether this record is currently active
groupId - HashedId! Group identifier
group - Group! Associated organization group
groupTicketHandlers - [GroupTicketHandlerGroup!]! Sub-groups included in this handler configuration
userTicketHandlers - [GroupTicketHandlerUser!]! Individual users included in this handler configuration
teamTicketHandlers - [GroupTicketHandlerTeam!]! Teams included in this handler configuration
externalEmailTicketHandlers - [GroupTicketHandlerExternalEmail!]! External email recipients in this handler configuration
hasSiteManagerTicketHandler - Boolean! Whether the site manager is included in this handler configuration
deleted - Timestamp Soft deletion timestamp, null if active
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "publicId": 987,
  "isActive": false,
  "groupId": HashedId,
  "group": Group,
  "groupTicketHandlers": [GroupTicketHandlerGroup],
  "userTicketHandlers": [GroupTicketHandlerUser],
  "teamTicketHandlers": [GroupTicketHandlerTeam],
  "externalEmailTicketHandlers": [
    GroupTicketHandlerExternalEmail
  ],
  "hasSiteManagerTicketHandler": false,
  "deleted": 1592577642
}

GroupTicketHandlerExternalEmail

Description

An external email recipient in a group-level ticket handler configuration

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
groupTicketHandlerId - HashedId! Group ticket handler identifier
isNotifiable - Boolean! Whether this email receives notifications when assigned via this configuration
email - String! Email address
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "groupTicketHandlerId": HashedId,
  "isNotifiable": true,
  "email": "abc123"
}

GroupTicketHandlerExternalEmailCreateInput

Description

Data required to create a new group ticket handler external email

Fields
Input Field Description
groupTicketHandlerId - HashedId! Group ticket handler identifier
email - String! Email address
Example
{
  "groupTicketHandlerId": HashedId,
  "email": "abc123"
}

GroupTicketHandlerGroup

Description

Group ticket handler group record

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
groupTicketHandlerId - HashedId! Group ticket handler identifier
isNotifiable - Boolean! Whether this sub-group receives notifications when assigned via this configuration
isRemovable - Boolean! Whether this sub-group can be removed from the handler configuration
groupId - HashedId! Group identifier
group - Group! Associated organization group
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "groupTicketHandlerId": HashedId,
  "isNotifiable": false,
  "isRemovable": true,
  "groupId": HashedId,
  "group": Group
}

GroupTicketHandlerGroupCreateInput

Description

Data required to create a new group ticket handler group

Fields
Input Field Description
groupTicketHandlerId - HashedId! Group ticket handler identifier
groupId - HashedId! Group identifier
Example
{
  "groupTicketHandlerId": HashedId,
  "groupId": HashedId
}

GroupTicketHandlerTeam

Description

Group ticket handler team record

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
groupTicketHandlerId - HashedId! Group ticket handler identifier
isNotifiable - Boolean! Whether this team receives notifications when assigned via this configuration
teamId - HashedId! Team identifier
team - Team! Associated team assigned to handle tickets
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "groupTicketHandlerId": HashedId,
  "isNotifiable": true,
  "teamId": HashedId,
  "team": Team
}

GroupTicketHandlerTeamCreateInput

Description

Data required to create a new group ticket handler team

Fields
Input Field Description
groupTicketHandlerId - HashedId! Group ticket handler identifier
isNotifiable - Boolean! Whether this team receives notifications when assigned via this configuration
teamId - HashedId! Team identifier
Example
{
  "groupTicketHandlerId": HashedId,
  "isNotifiable": true,
  "teamId": HashedId
}

GroupTicketHandlerTeamUpdateInput

Description

Fields to update on an existing group ticket handler team

Fields
Input Field Description
isNotifiable - Boolean! Whether this team receives notifications when assigned via this configuration
Example
{"isNotifiable": true}

GroupTicketHandlerUser

Description

Group ticket handler user record

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
groupTicketHandlerId - HashedId! Group ticket handler identifier
isNotifiable - Boolean! Whether this user receives notifications when assigned via this configuration
userId - HashedId! User identifier
user - User! Associated user assigned to handle tickets
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "groupTicketHandlerId": HashedId,
  "isNotifiable": true,
  "userId": HashedId,
  "user": User
}

GroupTicketHandlerUserCreateInput

Description

Data required to create a new group ticket handler user

Fields
Input Field Description
groupTicketHandlerId - HashedId! Group ticket handler identifier
isNotifiable - Boolean! Whether this user receives notifications when assigned via this configuration
userId - HashedId! User identifier
Example
{
  "groupTicketHandlerId": HashedId,
  "isNotifiable": true,
  "userId": HashedId
}

GroupTicketHandlerUserUpdateInput

Description

Fields to update on an existing group ticket handler user

Fields
Input Field Description
isNotifiable - Boolean! Whether this user receives notifications when assigned via this configuration
Example
{"isNotifiable": false}

GroupUpdateInput

Description

Fields to update on an existing group

Fields
Input Field Description
name - String Updated human-readable label for the group
parentGroupId - HashedId Parent group identifier in the hierarchy
identificationNumber - String External business registration or tax identification number
vatNumber - String VAT registration number for tax invoicing purposes
handlerAlias - String Short alias displayed instead of the full ticket handler name
servicePackageId - HashedId Can only be changed by internal TS users currently
isCustomer - Boolean Whether this represents a customer
getRawFlow - Boolean Whether to return the unprocessed workflow configuration in the response
assetLocationsHidden - Boolean Asset locations hidden
userRequestNotifiers - [NotificationRelationCreateInput!] Passing empty array will remove all the relations
generalSettings - GroupGeneralSettingsUpdateInput Customer-facing configuration including currency, payment plan, and notification preferences
internalSettings - GroupInternalSettingsUpdateInput Admin-only configuration including feature flags, billing integration, and access controls
costSettings - GroupCostSettingsUpdateInput Updated cost calculation settings for the group
flowMaintainers - [NotificationRelationCreateInput!] Flow maintainers
Example
{
  "name": "abc123",
  "parentGroupId": HashedId,
  "identificationNumber": "abc123",
  "vatNumber": "abc123",
  "handlerAlias": "xyz789",
  "servicePackageId": HashedId,
  "isCustomer": true,
  "getRawFlow": false,
  "assetLocationsHidden": true,
  "userRequestNotifiers": [
    NotificationRelationCreateInput
  ],
  "generalSettings": GroupGeneralSettingsUpdateInput,
  "internalSettings": GroupInternalSettingsUpdateInput,
  "costSettings": GroupCostSettingsUpdateInput,
  "flowMaintainers": [NotificationRelationCreateInput]
}

GroupsPaginatedResult

Description

Groups paginated result record

Fields
Field Name Description
meta - PaginationMeta! Pagination metadata including total count and page info
total - Int! Total number of groups matching the query filters before pagination
rows - [Group!] List of records for the current page
Example
{
  "meta": PaginationMeta,
  "total": 987,
  "rows": [Group]
}

HandlerRelationTypeEnum

Description

Defines the relationship a handler has with a ticket, such as assignee, follower, suggested partner, or work order conversion

Values
Enum Value Description

ASSIGNEE

FOLLOWER

CONVERTED_TO_WORK_ORDER

SUGGESTED_PARTNER

Example
"ASSIGNEE"

HandlerTypeEnum

Description

Identifies the entity type responsible for handling tickets or work orders, such as individual users, teams, groups, site managers, or external email contacts

Values
Enum Value Description

EXTERNALEMAIL

GROUP

SITEMANAGER

USER

WORK_ORDER

TEAM

PLAIN_GROUP

Example
"EXTERNALEMAIL"

HandlerUpdateActionEnum

Description

Actions available when updating handler assignments, including adding, removing, or toggling notification preferences

Values
Enum Value Description

ADD

REMOVE

ENABLE_NOTIFIABLE

DISABLE_NOTIFIABLE

Example
"ADD"

HashedId

Description

Obfuscated id for client use

Example
HashedId

HotelSettings

Description

Configuration for Oracle Hospitality integration linking rooms to tracked assets

Fields
Field Name Description
hotelId - NonEmptyString! Oracle Hospitality property ID used to map this group to a specific hotel in the PMS
activeStatuses - [RoomStatusEnum!]! Room statuses considered active for occupancy tracking and housekeeping workflows
Example
{
  "hotelId": "string",
  "activeStatuses": ["Inspected"]
}

HotelSettingsInput

Description

Input data for hotel settings

Fields
Input Field Description
hotelId - NonEmptyString! Oracle Hospitality property ID used to map this group to a specific hotel in the PMS
activeStatuses - [RoomStatusEnum!]! Room statuses considered active for occupancy tracking and housekeeping workflows
Example
{
  "hotelId": "string",
  "activeStatuses": ["Inspected"]
}

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

Description

Input containing a single entity identifier

Fields
Input Field Description
id - HashedId! Unique identifier of the entity
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

Description

External system connection for syncing data with third-party platforms

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
name - IntegrationNamesEnum! Integration service name from the predefined list
config - [IntegrationConfigKey!]! Key-value configuration parameters
provider - IntegrationProviderEnum External provider or vendor name
groupId - HashedId Group this integration is scoped to
treeRootGroupId - HashedId Root group of the organization tree for multi-tenant isolation
userId - HashedId User account that owns or administers this integration
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "name": "WISAG",
  "config": [IntegrationConfigKey],
  "provider": "PUDU_PROVIDER",
  "groupId": HashedId,
  "treeRootGroupId": HashedId,
  "userId": HashedId
}

IntegrationConfigKey

Description

A single key-value configuration parameter for an integration

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
key - String! Machine-readable configuration key used to look up the corresponding value
value - String! Configuration value associated with this key for the integration
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "key": "abc123",
  "value": "abc123"
}

IntegrationNamesEnum

Description

Unique identifier names for configured third-party integration instances, combining the customer or tenant with the integration provider (e.g. WISAG, GONDER_KAERCHER)

Values
Enum Value Description

WISAG

BB_ASE

ISSAT_INTELLITRAIL

ISSDK_INTELLITRAIL

ISSAU_INTELLITRAIL

ISSNO_INTELLITRAIL

ISSUK_INTELLITRAIL

PALMIA_INTELLITRAIL

BNCZ_INTELLITRAIL

BNHU_INTELLITRAIL

BNSK_INTELLITRAIL

COORFINLAND_INTELLITRAIL

SYNC_ASSETS

GONDER_KAERCHER

BASE_INTELLI_TRAIL

BASE_KAERCHER

BASE_PUDU

GONDER_PUDU

STOELTING_PUDU

BASE_SAFETYTEST

SCHMEINGBAU_SAFETYTEST_ASSETS

SCHMEINGBAU_SAFETYTEST_CHECKS

BASE_RIB

SCHMEINGBAU_RIB

DORFNER_SAFETYTEST_ASSETS

DORFNER_SAFETYTEST_CHECKS

PAULSCHULTEN_SAFETYTEST_ASSETS

PAULSCHULTEN_SAFETYTEST_CHECKS

ISSUK_KAERCHER

ISSGH_KAERCHER

ISSAS_KAERCHER

UKMGG_KAERCHER

RFMG_KAERCHER

ICE_PUDU

TENNANT_SENSOLUS

ITEAM_COBOTIC45

SASSE_KAERCHER

TOMA_KAERCHER

ICE_CENOBOTS

IFMS_ACHELIS

GONDER_GAUSIUM

STOELTING_GAUSIUM

BASE_TELETRAC

MENARD_UK_TELETRAC

BN_GAUSIUM

CAT_DEPENBROCK

WASSERLE_KAERCHER

BN_CZ_KAERCHER

SASSE_GAUSIUM

WISAG_HAKO

DORFNER_HAKO

STOELTING_HAKO

TIPTOP_HAKO

BASE_LIONSBOT

SASSE_AT_LIONSBOT

IFMS_ASE

BASE_KAERCHER_NEW

BN_HU_KAERCHER_NEW

BN_CZ_KAERCHER_NEW

MARKAS_KAERCHER_NEW

ATALIAN_FR_KAERCHER_NEW

ISS_DE_KAERCHER_NEW

BERGER_BAU_LIEBHERR

SASSE_GH_NEXARO

ISSUK_TERSANO

ISSAU_TERSANO

KILLIS_TERSANO

ORBOTECH_TERSANO

Example
"WISAG"

IntegrationNew

Description

Integration configuration using string-based provider names

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
name - String! Free-text integration service name
config - [IntegrationConfigKey!]! Key-value configuration parameters
provider - IntegrationProviderEnum External provider or vendor name
groupId - HashedId Group this integration is scoped to
treeRootGroupId - HashedId Root group of the organization tree for multi-tenant isolation
userId - HashedId User account that owns or administers this integration
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "name": "xyz789",
  "config": [IntegrationConfigKey],
  "provider": "PUDU_PROVIDER",
  "groupId": HashedId,
  "treeRootGroupId": HashedId,
  "userId": HashedId
}

IntegrationObservation

Description

Monitoring record for an integration sync run with execution details

Fields
Field Name Description
id - HashedId! Unique identifier of this integration sync observation record
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
integrationId - HashedId! Integration this observation monitors
lastStartAt - DateTime Timestamp when the most recent run started
lastEndAt - DateTime Timestamp when the most recent run completed
lastSuccessAt - DateTime Timestamp of the last successful completion
duration - Int Duration in milliseconds
error - String Error message if the operation failed, null otherwise
status - IntegrationObservationStatusEnum Execution status of the sync run such as running, completed, or failed
records - [IntegrationObservationRecord!]! Per-entity sync results with created, updated, and failed counts
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "integrationId": HashedId,
  "lastStartAt": "2007-12-03T10:15:30Z",
  "lastEndAt": "2007-12-03T10:15:30Z",
  "lastSuccessAt": "2007-12-03T10:15:30Z",
  "duration": 123,
  "error": "xyz789",
  "status": "PENDING",
  "records": [IntegrationObservationRecord]
}

IntegrationObservationPaginatedDto

Description

Paginated list of integration sync monitoring records

Fields
Field Name Description
rows - [IntegrationObservation!]! List of records for the current page
meta - PaginationMeta! Pagination metadata including total count and page info
total - Int! Total amount
Example
{
  "rows": [IntegrationObservation],
  "meta": PaginationMeta,
  "total": 987
}

IntegrationObservationRecord

Description

Per-entity sync result tracking created, updated, and failed counts

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
name - IntegrationObservationRecordNamesEnum! Entity type this record tracks such as asset, ticket, or site
createdCount - Int Records created during sync
updatedCount - Int Records updated during sync
deletedCount - Int Records deleted during sync
failedCount - Int Records that failed to sync
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "name": "SITE",
  "createdCount": 987,
  "updatedCount": 123,
  "deletedCount": 987,
  "failedCount": 987
}

IntegrationObservationRecordFailure

Description

Details of a single record that failed during an integration sync

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
recordName - IntegrationObservationRecordNamesEnum! Entity type this record applies to
externalKey - String! Identifier of the record in the external system
operation - IntegrationObservationRecordFailureOperationEnum! Operation type that was attempted (e.g. create, update, delete)
errorMessage - String! Detailed error message explaining the failure
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "recordName": "SITE",
  "externalKey": "abc123",
  "operation": "CREATE",
  "errorMessage": "xyz789"
}

IntegrationObservationRecordFailureOperationEnum

Description

Database operation that failed during integration record synchronization, either a create (new record insertion) or update (existing record modification)

Values
Enum Value Description

CREATE

UPDATE

Example
"CREATE"

IntegrationObservationRecordNamesEnum

Description

Entity type being synchronized in an integration observation record, such as site, category, asset type, asset, group, IoT module, inspection check, IoT data, or document

Values
Enum Value Description

SITE

CATEGORY

TYPE

ASSET

GROUP

MODULE

CHECK

IOT

DOCUMENT

Example
"SITE"

IntegrationObservationStatusEnum

Description

Processing status of an integration sync observation: pending (awaiting processing), rejected (failed validation or processing), or completed (successfully synchronized)

Values
Enum Value Description

PENDING

REJECTED

COMPLETED

Example
"PENDING"

IntegrationProviderDto

Description

Integration with provider-level metadata and cron scheduling status

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
name - IntegrationNamesEnum! Integration service name from the predefined list
config - [IntegrationConfigKey!]! Key-value configuration parameters
provider - IntegrationProviderEnum External provider or vendor name
groupId - HashedId Group this integration is scoped to
treeRootGroupId - HashedId Root group of the organization tree for multi-tenant isolation
userId - HashedId User account that owns or administers this integration
isCronActive - Boolean! Functionality removed
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "name": "WISAG",
  "config": [IntegrationConfigKey],
  "provider": "PUDU_PROVIDER",
  "groupId": HashedId,
  "treeRootGroupId": HashedId,
  "userId": HashedId,
  "isCronActive": false
}

IntegrationProviderEnum

Description

Supported third-party integration providers for data synchronization, such as Pudu, Gausium, IntelliTrail, Hako, Kaercher, SafetyTest, LionsBot, and ASE

Values
Enum Value Description

PUDU_PROVIDER

GAUSIUM_PROVIDER

INTELLITRAIL_PROVIDER

HAKO_PROVIDER

KAERCHER_PROVIDER

SAFETYTEST_CHECKS_PROVIDER

SAFETYTEST_ASSETS_PROVIDER

LIONSBOT_PROVIDER

ASE_PROVIDER

KAERCHER_NEW_PROVIDER

ITEAM_PROVIDER

CENOBOTS_PROVIDER

CAT_PROVIDER

CAT_PROVIDER_V2

ACHELIS_PROVIDER

SENSOLUS_PROVIDER

NEXARO_PROVIDER

LIEBHERR_PROVIDER

TELETRAC_PROVIDER

Example
"PUDU_PROVIDER"

IntegrationProviderNewDto

Description

String-based integration provider with cron scheduling status

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
name - String! Free-text integration service name
config - [IntegrationConfigKey!]! Key-value configuration parameters
provider - IntegrationProviderEnum External provider or vendor name
groupId - HashedId Group this integration is scoped to
treeRootGroupId - HashedId Root group of the organization tree for multi-tenant isolation
userId - HashedId User account that owns or administers this integration
isCronActive - Boolean! Functionality removed
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "name": "xyz789",
  "config": [IntegrationConfigKey],
  "provider": "PUDU_PROVIDER",
  "groupId": HashedId,
  "treeRootGroupId": HashedId,
  "userId": HashedId,
  "isCronActive": false
}

IntegrationUpdateInput

Description

Fields to update on an existing integration

Fields
Input Field Description
key - String! Machine-readable configuration key used to look up the corresponding value
value - String! Configuration value associated with this key for the integration
Example
{
  "key": "abc123",
  "value": "xyz789"
}

IotAssetData

Description

IoT data represents sensor readings from assets

Fields
Field Name Description
data - [IotData!]! Related data records
runtime - IotData Runtime
firmwareVersion - IotData Firmware version
softwareVersion - IotData Software version
battery - IotData Battery
signal - IotData Signal
voltage - IotData Voltage
input2 - IotData Input2
input3 - IotData Input3
utilization - IotData Utilization
workDone - IotData Work done
cleaningArea - IotData Cleaning area
batteryLevel - IotData Battery level
configId - IotData Config identifier
operatingTime - IotData Operating time
idleTime - IotData Idle time
vehicleMileage - IotData Vehicle mileage
Example
{
  "data": [IotData],
  "runtime": IotData,
  "firmwareVersion": IotData,
  "softwareVersion": IotData,
  "battery": IotData,
  "signal": IotData,
  "voltage": IotData,
  "input2": IotData,
  "input3": IotData,
  "utilization": IotData,
  "workDone": IotData,
  "cleaningArea": IotData,
  "batteryLevel": IotData,
  "configId": IotData,
  "operatingTime": IotData,
  "idleTime": IotData,
  "vehicleMileage": IotData
}

IotConfig

Description

Configuration for IoT parameters

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
parameterId - HashedId! ID of the parameter this config belongs to
isDefault - Boolean! Whether this is the default configuration
displayType - String! How the parameter should be displayed
groupTreeId - Int! ID of the group tree this config belongs to
titleId - Int ID of the title translation
titlePath - String Path to the title
descriptionId - Int ID of the description translation
list - Boolean! Whether this parameter is visible in the asset list view
activity - Boolean! Whether this parameter is shown in the activity log section
chartDay - Boolean! Whether this parameter is included in the daily chart view
chartWeek - Boolean! Whether this parameter is included in the weekly chart view
chartMonth - Boolean! Whether this parameter is included in the monthly chart view
chartYear - Boolean! Whether this parameter is included in the yearly chart view
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "parameterId": HashedId,
  "isDefault": false,
  "displayType": "xyz789",
  "groupTreeId": 987,
  "titleId": 987,
  "titlePath": "xyz789",
  "descriptionId": 123,
  "list": false,
  "activity": false,
  "chartDay": true,
  "chartWeek": false,
  "chartMonth": true,
  "chartYear": true
}

IotData

Description

IoT data represents sensor readings from assets

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
assetId - HashedId! ID of the asset this data belongs to
parameterId - HashedId! ID of the parameter this data is measuring
value - String! The actual value of the measurement
parameter - IotParameter Parameter definition for this data point
code - String! Code for this iot data
units - String Units for this iot data
formattedValue - String Formatted Value for this iot data
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "assetId": HashedId,
  "parameterId": HashedId,
  "value": "xyz789",
  "parameter": IotParameter,
  "code": "abc123",
  "units": "xyz789",
  "formattedValue": "xyz789"
}

IotParameter

Description

IoT parameter defines the type of measurement and its units

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
code - String! Code identifying the parameter
units - String Units of measurement for this parameter
integrationId - HashedId! ID of the integration this parameter belongs to
config - IotConfig Configuration for this parameter
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "code": "abc123",
  "units": "abc123",
  "integrationId": HashedId,
  "config": IotConfig
}

JSON

Description

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

Example
{}

JSONObject

Description

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

Example
{}

LanguageLocaleEnum

Description

Supported language and region locale codes used for internationalization of the platform interface and content

Values
Enum Value Description

en_us

de_de

fr_fr

es_es

it_it

pl_pl

hu_hu

nl_nl

tr_tr

sv_se

pt_pt

ja_jp

zh_cn

id_id

fi_fi

el_gr

ro_ro

cs_cz

sk_sk

bg_bg

nb_no

et_ee

lv_lv

lt_lt

sl_si

da_dk

ko_kr

uk_ua

ru_ru

ms_my

th_th

hi_in

ta_in

tl_ph

ar_ar

bn_bd

he_il

lo_la

fa_ir

sw_ke

ur_pk

vi_vn

hr_hr

sr_rs

my_mm

Example
"en_us"

LanguageNameEnum

Description

Display name of a supported platform language used for user interface localization and content translation

Values
Enum Value Description

English

German

French

Spanish

Italian

Polish

Hungarian

Dutch

Turkish

Swedish

Portuguese

Japanese

Chinese

Indonesian

Finnish

Greek

Romanian

Czech

Slovak

Bulgarian

Norwegian

Estonian

Latvian

Lithuanian

Slovenian

Danish

Korean

Ukrainian

Russian

Malay

Thai

Hindi

Tamil

Filipino

Arabic

Bengali

Hebrew

Lao

Persian

Swahili

Urdu

Vietnamese

Croatian

Serbian

Burmese

Example
"English"

LanguageTag

Description

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

Example
LanguageTag

LanguageV2

Description

A supported language with locale code and display name

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
code - LanguageLocaleEnum! Code
name - LanguageNameEnum! Display name
nameNative - String! Name native
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "code": "en_us",
  "name": "English",
  "nameNative": "abc123"
}

Locale

Description

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

Example
"zh-cmn-Hans-CN"

LocaleInput

Description

Locale settings for asset activity report download

Fields
Input Field Description
language - LanguageLocaleEnum! Language locale for the downloaded report
timezone - String! IANA timezone for formatting dates in the report
Example
{"language": "en_us", "timezone": "xyz789"}

Location

Description

Representing a reported location on the map

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
longitude - String! Geographic longitude coordinate
latitude - String! Geographic latitude coordinate
uncertainty - Float! Accuracy radius of the location measurement in meters
timestamp - Timestamp! Timestamp when the location was recorded
status - LocationStatusEnum Depending on the status you can give an interpretation to the location data
gatewayAssetId - HashedId Identifier of the gateway asset that reported this location
gatewayAsset - Asset Gateway asset that reported this location
locationSource - LocationSourceEnum Source technology used to determine this location
Example
{
  "id": HashedId,
  "longitude": "abc123",
  "latitude": "abc123",
  "uncertainty": 123.45,
  "timestamp": 1592577642,
  "status": "NORMAL",
  "gatewayAssetId": HashedId,
  "gatewayAsset": Asset,
  "locationSource": "GPS"
}

LocationSourceEnum

Description

Identifies the technology or method used to determine an asset location, such as GPS, WiFi, cell triangulation, site-based, or phone-reported

Values
Enum Value Description

GPS

WIFI

TRIANGULATION

SITE

UNKNOWN

PHONE

Example
"GPS"

LocationStatusEnum

Description

Describes the state of the supplied location data

Values
Enum Value Description

NORMAL

HIDDEN

Example
"NORMAL"

LoginInterrupt

Description

A configurable message shown to users upon login, used for announcements or acknowledgements

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
isActive - Boolean! Whether this login interrupt is currently being shown to users
title - Translation Translatable headline displayed at the top of the login interrupt dialog
titleId - HashedId Title translation identifier
content - Translation The message body in HTML
contentId - HashedId! Content translation identifier
visibleToGroupIds - [HashedId!] IDs of groups that should see this login interrupt
visibleToGroups - [Group!]
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "isActive": false,
  "title": Translation,
  "titleId": HashedId,
  "content": Translation,
  "contentId": HashedId,
  "visibleToGroupIds": [HashedId],
  "visibleToGroups": [Group]
}

MachineCheckEventDataDto

Description

Snapshot of a machine check schedule captured when an event is recorded

Fields
Field Name Description
lastCheckLastEditedByUserId - Int User who last edited the previous check record
nextCheckLastEditedByUserId - Int User who last edited the upcoming check record
lastCheckLastEditedOn - Timestamp When the previous check record was last modified
nextCheckLastEditedOn - Timestamp When the upcoming check record was last modified
id - Int! Machine check schedule identifier
name - String! Machine check schedule name
dueOn - Timestamp! When the check is due to be performed
autoScheduled - Boolean Whether this check was automatically scheduled by the system
completedOn - Timestamp! When the check was marked as completed
completedByUserId - Int User who completed the check
rescheduled - RescheduledEventDataDto! Rescheduling details if the check was postponed or moved
reason - String! Reason provided for the check completion or rescheduling
Example
{
  "lastCheckLastEditedByUserId": 123,
  "nextCheckLastEditedByUserId": 987,
  "lastCheckLastEditedOn": 1592577642,
  "nextCheckLastEditedOn": 1592577642,
  "id": 987,
  "name": "xyz789",
  "dueOn": 1592577642,
  "autoScheduled": true,
  "completedOn": 1592577642,
  "completedByUserId": 987,
  "rescheduled": RescheduledEventDataDto,
  "reason": "abc123"
}

MachineCheckStat

Description

Aggregated check count for a time period

Fields
Field Name Description
period - String! Time period label for the statistic
quantity - Int! Number of checks completed in this period
Example
{"period": "xyz789", "quantity": 123}

Manufacturer

Description

An equipment manufacturer for asset type classification

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
name - String! Display name
nameKey - String! Normalized uppercase lookup key derived from the name
notificationsEnabled - Boolean! Whether this manufacturer receives asset notifications
maintainedByGroupId - Int! Group responsible for managing this manufacturer
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!]! List of asset integration IDs for this manufacturer
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "name": "xyz789",
  "nameKey": "xyz789",
  "notificationsEnabled": true,
  "maintainedByGroupId": 987,
  "maintainedByGroup": Group,
  "assetIntegrations": [AssetIntegration],
  "assetIntegrationIds": [HashedId]
}

ManufacturerCreateInput

Description

Data required to create a new manufacturer

Fields
Input Field Description
name - String! Display name
nameKey - String! Normalized uppercase lookup key derived from the name
notificationsEnabled - Boolean! Whether this manufacturer receives asset notifications
Example
{
  "name": "abc123",
  "nameKey": "abc123",
  "notificationsEnabled": true
}

ManufacturerUpdateInput

Description

Fields to update on an existing manufacturer

Fields
Input Field Description
name - String Display name
nameKey - String Normalized uppercase lookup key derived from the name
notificationsEnabled - Boolean Whether this manufacturer receives asset notifications
Example
{
  "name": "xyz789",
  "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! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
imei - String! IMEI of the module
controlId - String Used to connect the Module to a Control
stripeCustomerId - String Used to connect the Module to a Stripe Customer
stripePriceId - String Used to connect the Module to a Stripe Product
moduleTypeId - HashedId References the module type that defines hardware characteristics of this module
moduleRevision - String Some value that is specifying what kind of module this is
moduleVersionNr - String Some value that is specifying what kind of module this is
assetVersionNr - String Some value that is specifying what kind of module this is
assignedToAsset - Asset The assets this module is currently built into/registered to Use assignedToAssets instead
assignedToAssetId - HashedId The assets this module is currently built into/registered to use assignedToAssetsIds instead
assignedToAssets - [Asset!]! The assets this module is currently built into/registered to Not needed and not implemented, returns empty array
assignedToAssetIds - [HashedId!]! The assets this module is currently built into/registered to Not needed and not implemented, returns empty array
currentPrice - Float Current price
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)
moduleType - ModuleType Module type
price - StripePrice Price for this iot module
externalId - String External system identifier
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "imei": "abc123",
  "controlId": "abc123",
  "stripeCustomerId": "abc123",
  "stripePriceId": "xyz789",
  "moduleTypeId": HashedId,
  "moduleRevision": "abc123",
  "moduleVersionNr": "xyz789",
  "assetVersionNr": "abc123",
  "assignedToAsset": Asset,
  "assignedToAssetId": HashedId,
  "assignedToAssets": [Asset],
  "assignedToAssetIds": [HashedId],
  "currentPrice": 987.65,
  "isFake": false,
  "moduleType": ModuleType,
  "price": StripePrice,
  "externalId": "xyz789"
}

ModuleSubscription

Description

Module subscription record

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
renewalMonth - Int! Renewal month
groupId - HashedId Group identifier
customer - String Customer
moduleId - HashedId! Module identifier
assetId - HashedId! Asset identifier
startTime - DateTime! Start time
endTime - DateTime End time
module - Module! Module
asset - Asset Associated asset
group - Group Associated organization group
subscription - StripeSubscriptionPlan Subscription
Example
{
  "id": HashedId,
  "renewalMonth": 987,
  "groupId": HashedId,
  "customer": "abc123",
  "moduleId": HashedId,
  "assetId": HashedId,
  "startTime": "2007-12-03T10:15:30Z",
  "endTime": "2007-12-03T10:15:30Z",
  "module": Module,
  "asset": Asset,
  "group": Group,
  "subscription": StripeSubscriptionPlan
}

ModuleSubscriptionsPaginatedResult

Description

Module subscriptions paginated result data

Fields
Field Name Description
meta - PaginationMeta! Pagination metadata including total count and page info
rows - [ModuleSubscription!]! List of records for the current page
Example
{
  "meta": PaginationMeta,
  "rows": [ModuleSubscription]
}

ModuleType

Description

Model/Type of a TS Module

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
name - String Display name
specification - String Specification for this model
sensors - String Sensors
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "name": "abc123",
  "specification": "xyz789",
  "sensors": "abc123"
}

ModuleUsageInfo

Description

Module usage info record

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
hasConnectedAssets - Boolean! Whether the record has connected assets
canBeReused - Boolean! Whether the user can be reused
canBeTransferred - Boolean! Whether the user can be transferred
primarySerial - String Primary serial
Example
{
  "id": HashedId,
  "hasConnectedAssets": true,
  "canBeReused": false,
  "canBeTransferred": false,
  "primarySerial": "xyz789"
}

MqttMessageType

Description

Command type sent via MQTT protocol to IoT devices: lock (engage device lock), unlock (release device lock), or poll (request current device status)

Values
Enum Value Description

LOCK

POLL

UNLOCK

Example
"LOCK"

NewCostInput

Description

New cost Data required to create a new cost legacy

Fields
Input Field Description
assetId - HashedId! Asset identifier
currency - String! Currency code
originatingFromEventId - HashedId Originating from event identifier
originatingFromCommentId - HashedId Originating from comment identifier
value - Float! Stored value
type - CostTypeEnum Type category
costTypeId - HashedId Cost type identifier
Example
{
  "assetId": HashedId,
  "currency": "abc123",
  "originatingFromEventId": HashedId,
  "originatingFromCommentId": HashedId,
  "value": 987.65,
  "type": "BATTERY",
  "costTypeId": HashedId
}

NewCostLineInput

Description

New cost line Input data for cost line

Fields
Input Field Description
assetId - HashedId! Asset identifier
currency - String! Currency code
originatingFromEventId - HashedId Originating from event identifier
originatingFromCommentId - HashedId Originating from comment identifier
value - Float! Stored value
type - String! Type category
name - String! Display name
quantity - Int! Quantity value
costTypeId - HashedId Cost type identifier
Example
{
  "assetId": HashedId,
  "currency": "abc123",
  "originatingFromEventId": HashedId,
  "originatingFromCommentId": HashedId,
  "value": 987.65,
  "type": "xyz789",
  "name": "xyz789",
  "quantity": 987,
  "costTypeId": HashedId
}

NonEmptyString

Description

A string that cannot be passed as an empty value

Example
"string"

NotificationConfigDto

Description

Per-user notification preferences controlling push and email delivery channels

Fields
Field Name Description
ticketPush - Boolean! Whether push notifications are enabled for ticket events
ticketEmail - Boolean! Whether email notifications are enabled for ticket events
Example
{"ticketPush": true, "ticketEmail": true}

NotificationConfigInput

Description

Toggle switches for enabling or disabling notification channels

Fields
Input Field Description
ticketPush - Boolean Whether push notifications are enabled for ticket events
ticketEmail - Boolean Whether email notifications are enabled for ticket events
Example
{"ticketPush": true, "ticketEmail": false}

NotificationFilter

Description

User-specific settings controlling which notifications are received

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
state - Boolean! Whether this filter is enabled
preferences - JSON Granular notification preference settings Not used
Example
{"id": HashedId, "state": true, "preferences": {}}

NotificationFilterUpdateInput

Description

Fields to update on an existing notification filter

Fields
Input Field Description
state - Boolean! Whether this filter is enabled
Example
{"state": true}

NotificationRelation

Description

Notification relation record

Fields
Field Name Description
relationId - HashedId Relation identifier
relationValue - String Relation value
relation - NotificationRelationType! Relation
Example
{
  "relationId": HashedId,
  "relationValue": "abc123",
  "relation": "EXTERNALEMAIL"
}

NotificationRelationCreateInput

Description

Input data for notification relation mutation

Fields
Input Field Description
relationValue - String Relation value
relationId - HashedId Relation identifier
relation - NotificationRelationType! Relation
Example
{
  "relationValue": "abc123",
  "relationId": HashedId,
  "relation": "EXTERNALEMAIL"
}

NotificationRelationType

Description

Type of recipient for flow and rule notifications, such as an external email address, site manager of the related asset location, specific platform user, organization group, or team

Values
Enum Value Description

EXTERNALEMAIL

SITEMANAGER

USERID

GROUP

USER

TEAM

Example
"EXTERNALEMAIL"

OTAUpdate

Description

An over-the-air firmware update package for IoT asset integrations

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
fileName - String Name of the firmware binary file
versionName - String Semantic version label of this firmware release
assetIntegration - AssetIntegration IoT integration this firmware update targets
assetIntegrationId - HashedId! Target asset integration identifier
description - Translation Translatable release notes describing the firmware update contents
descriptionId - HashedId! Description translation identifier
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "fileName": "xyz789",
  "versionName": "abc123",
  "assetIntegration": AssetIntegration,
  "assetIntegrationId": HashedId,
  "description": Translation,
  "descriptionId": HashedId
}

OperationalCostsView

Description

configuration for an operational costs 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! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
titleId - HashedId! 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 - ViewEntityEnum! type of entity that this view is for (e.g. ASSET)
displayMode - ViewDisplayMode! display mode that this view uses (e.g. MAP)
options - OperationalCostsViewOptions! 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
title - Translation! User-defined name for this saved view
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "titleId": HashedId,
  "forEntity": "ASSET",
  "displayMode": "LIST",
  "options": OperationalCostsViewOptions,
  "isActive": true,
  "isSystemView": false,
  "isShared": false,
  "isEditable": true,
  "isDeletable": true,
  "isShareable": false,
  "isUnsharedByParentGroup": false,
  "title": Translation
}

OperationalCostsViewCreateInput

Description

input used to create a new operational costs view

Fields
Input Field Description
displayMode - ViewDisplayMode! display mode that this view uses (e.g. MAP)
options - OperationalCostsViewOptionsInput! display options to be stored with this view
title - TranslationInput! Name to assign to the new saved view
Example
{
  "displayMode": "LIST",
  "options": OperationalCostsViewOptionsInput,
  "title": TranslationInput
}

OperationalCostsViewOptions

Description

Display settings for pagination, filters, and columns in an operational costs view

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

OperationalCostsViewOptionsInput

Description

Pagination, filter, and column settings for an operational costs view

Fields
Input Field Description
filters - [FilterParamsInput] Filter criteria
search - String Text search query for filtering results
itemsPerPage - Int! number of operational costs per page in the view
columns - [String!]! ordered operational costs columns that are to be displayed in this view
Example
{
  "filters": [FilterParamsInput],
  "search": "xyz789",
  "itemsPerPage": 987,
  "columns": ["abc123"]
}

OperationalCostsViewUpdateInput

Description

input for updating an operational costs view

Fields
Input Field Description
id - HashedId! Unique identifier of the entity
displayMode - ViewDisplayMode! display mode that this view uses (e.g. MAP)
options - OperationalCostsViewOptionsInput! options for displaying operational costs in this view
title - TranslationInput! Updated name for the saved view
Example
{
  "id": HashedId,
  "displayMode": "LIST",
  "options": OperationalCostsViewOptionsInput,
  "title": TranslationInput
}

OracleSettings

Description

Oracle OHIP API credentials and endpoints for hospitality property management integration

Fields
Field Name Description
ohipApiUrl - NonEmptyString! Base URL for the Oracle OHIP REST API used for property management requests
ohipClientId - NonEmptyString! OAuth2 client ID for authenticating with the Oracle OHIP API
ohipClientSecret - NonEmptyString! OAuth2 client secret for authenticating with the Oracle OHIP API
ohipAppKey - NonEmptyString! Application key required by Oracle OHIP for API request authorization
ohipUsername - NonEmptyString Username for Oracle OHIP sandbox environments used during development and testing
ohipPassword - NonEmptyString Password for Oracle OHIP sandbox environments used during development and testing
ohipEnterpriseId - NonEmptyString Enterprise identifier for Oracle OHIP production environments linking to the hotel chain
Example
{
  "ohipApiUrl": "string",
  "ohipClientId": "string",
  "ohipClientSecret": "string",
  "ohipAppKey": "string",
  "ohipUsername": "string",
  "ohipPassword": "string",
  "ohipEnterpriseId": "string"
}

OracleSettingsInput

Description

Input data for oracle settings

Fields
Input Field Description
ohipApiUrl - NonEmptyString! Base URL for the Oracle OHIP REST API used for property management requests
ohipClientId - NonEmptyString! OAuth2 client ID for authenticating with the Oracle OHIP API
ohipClientSecret - NonEmptyString! OAuth2 client secret for authenticating with the Oracle OHIP API
ohipAppKey - NonEmptyString! Application key required by Oracle OHIP for API request authorization
ohipUsername - NonEmptyString Username for Oracle OHIP sandbox environments used during development and testing
ohipPassword - NonEmptyString Password for Oracle OHIP sandbox environments used during development and testing
ohipEnterpriseId - NonEmptyString Enterprise identifier for Oracle OHIP production environments linking to the hotel chain
Example
{
  "ohipApiUrl": "string",
  "ohipClientId": "string",
  "ohipClientSecret": "string",
  "ohipAppKey": "string",
  "ohipUsername": "string",
  "ohipPassword": "string",
  "ohipEnterpriseId": "string"
}

OwnershipValArray

Description

List of available asset ownership type values

Fields
Field Name Description
data - [AssetOwnership!]! Possible ownership type values
Example
{"data": ["PURCHASE"]}

PaginatedAssets

Description

Paginated list of assets with metadata

Fields
Field Name Description
meta - PaginationMeta! Pagination metadata including total count and page info
rows - [Asset!]! List of records for the current page
total - Int! Total number of matching assets Use "meta.count" instead
assets - [Asset!]! List of asset records for the current page Use "rows" instead
Example
{
  "meta": PaginationMeta,
  "rows": [Asset],
  "total": 987,
  "assets": [Asset]
}

PaginatedRuleCheckAssets

Description

Paginated list of rule check assets with metadata

Fields
Field Name Description
meta - PaginationMeta! Pagination metadata including total count and page info
rows - [RuleCheckAsset!]! List of records for the current page
Example
{
  "meta": PaginationMeta,
  "rows": [RuleCheckAsset]
}

PaginatedRules

Description

Paginated list of rules with metadata

Fields
Field Name Description
meta - PaginationMeta! Pagination metadata including total count and page info
total - Int! Total number of rules matching the query
rows - [Rule!]! List of records for the current page
Example
{
  "meta": PaginationMeta,
  "total": 987,
  "rows": [Rule]
}

PaginationInput

Description

Pagination Input data for pagination

Fields
Input Field Description
limit - Int The number of items to return
offset - Int The number of items to skip before starting to collect the result set
Example
{"limit": 987, "offset": 987}

PaginationMeta

Description

Pagination meta record

Fields
Field Name Description
count - Int Total number of matching records
limit - Int Maximum number of results to return
offset - Int Number of results to skip
order - String Sort order position
orderBy - String Order by
Example
{
  "count": 987,
  "limit": 987,
  "offset": 123,
  "order": "xyz789",
  "orderBy": "abc123"
}

PaginationParams

Description

Pagination params input data

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": 987,
  "offset": 123
}

Parameter

Description

Parameter record

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
savedName - String Saved name
unit - UnitEnum Unit
customUnit - String Custom unit
title - Translation Title text
descriptionId - HashedId Description identifier
description - Translation Human-readable description
visualisationMinRange - String Visualisation min range
visualisationMaxRange - String Visualisation max range
visualisationRangeStepSize - String Visualisation range step size
parameterSetId - HashedId Parameter set identifier
isSummedValue - Boolean! Parameter is a summarized value
isAverageValue - Boolean! Whether average value
isNoGraphValue - Boolean! False for parameters which can be displayed on a graph (eg. values like imei, id, or latitude) no usage
isLastValue - Boolean! Whether last value always resolves to false
visualisationScale - String Visualisation scale no usage
receivedName - String Received name always resolves to null
minValue - String Minimum possible value for this parameter always resolves to null
maxValue - String Maximum possible value for this parameter always resolves to null
isCalculatedValue - Boolean Whether calculated value always resolves to null
interpolationMethod - String Interpolation method always resolves to null
interpolationFrequency - String Interpolation frequency always resolves to null
interpolationMaxGap - String Interpolation max gap always resolves to null
visualisationGroup - String Visualisation group always resolves to null
shortDescription - String Short description always resolves to null
receivedDescriptionId - HashedId Received description identifier always resolves to null
receivedDescription - Translation Received description always resolves to null
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "savedName": "xyz789",
  "unit": "AMPERE_HOURS",
  "customUnit": "abc123",
  "title": Translation,
  "descriptionId": HashedId,
  "description": Translation,
  "visualisationMinRange": "xyz789",
  "visualisationMaxRange": "abc123",
  "visualisationRangeStepSize": "abc123",
  "parameterSetId": HashedId,
  "isSummedValue": false,
  "isAverageValue": false,
  "isNoGraphValue": false,
  "isLastValue": false,
  "visualisationScale": "abc123",
  "receivedName": "abc123",
  "minValue": "abc123",
  "maxValue": "abc123",
  "isCalculatedValue": false,
  "interpolationMethod": "abc123",
  "interpolationFrequency": "abc123",
  "interpolationMaxGap": "xyz789",
  "visualisationGroup": "abc123",
  "shortDescription": "abc123",
  "receivedDescriptionId": HashedId,
  "receivedDescription": Translation
}

ParameterResult

Description

Parameter result record

Fields
Field Name Description
assetId - HashedId Asset identifier
parameter - [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 which 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! Unique identifier of the entity
titleId - HashedId Title identifier
descriptionId - HashedId Description identifier
parameters - [Parameter!]! Parameters
title - Translation Title text
description - Translation Human-readable description
Example
{
  "id": HashedId,
  "titleId": HashedId,
  "descriptionId": HashedId,
  "parameters": [Parameter],
  "title": Translation,
  "description": Translation
}

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! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
publicId - Int! Public numeric identifier
type - String! Type category
nameId - HashedId! Name identifier
name - Translation! Translated name of the part
descriptionId - HashedId Description identifier
description - Translation
siteId - HashedId! Site identifier
site - Site! Site associated with this part
area - String Storage area within the site
availableQuantity - Int! Current stock quantity on hand
minQuantity - Int! Minimum stock threshold before reorder
maxQuantity - Int! Maximum stock capacity
unitOfMeasure - String! Unit of measure for stock tracking
unitCost - Float! Cost per single unit
currency - String! ISO currency code for cost values
totalStockValue - Float! Calculated value of all stock on hand
groupId - HashedId! Group identifier
group - Group! Group this part belongs to
customerId - HashedId Customer identifier
customer - Group Customer
externalId - String External system identifier
uuid - String! Universally unique identifier
qrAttached - Boolean! Whether a QR code is attached to this part
brand - String Associated brand
previousQuantity - Int! Stock quantity before the last movement
responsiblePerson - String Responsible Person for this part
vendor - String Supplier or vendor name
image - String URL of the part image
shouldNotifyCriticalStockLevel - Boolean! Whether to alert when stock reaches a critical level
sendNotificationsTo - [RuleNotificationRelation!]! Add entities who will be notified when stock level is changed.
documents - [Document!]! Documents attached to this part
events - [Event!]! Events recorded for this part
createdByGroupId - HashedId! Created by group identifier
createdByGroup - Group! Group that created this part
createdByUserId - HashedId! Created by user identifier
createdByUser - User Associated user
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "publicId": 987,
  "type": "xyz789",
  "nameId": HashedId,
  "name": Translation,
  "descriptionId": HashedId,
  "description": Translation,
  "siteId": HashedId,
  "site": Site,
  "area": "xyz789",
  "availableQuantity": 123,
  "minQuantity": 123,
  "maxQuantity": 987,
  "unitOfMeasure": "xyz789",
  "unitCost": 987.65,
  "currency": "xyz789",
  "totalStockValue": 123.45,
  "groupId": HashedId,
  "group": Group,
  "customerId": HashedId,
  "customer": Group,
  "externalId": "xyz789",
  "uuid": "abc123",
  "qrAttached": true,
  "brand": "xyz789",
  "previousQuantity": 123,
  "responsiblePerson": "xyz789",
  "vendor": "xyz789",
  "image": "abc123",
  "shouldNotifyCriticalStockLevel": true,
  "sendNotificationsTo": [RuleNotificationRelation],
  "documents": [Document],
  "events": [Event],
  "createdByGroupId": HashedId,
  "createdByGroup": Group,
  "createdByUserId": HashedId,
  "createdByUser": User
}

PartCreateInput

Description

Data required to create a new part

Fields
Input Field Description
type - String! Type category
siteId - HashedId! Site identifier
area - String Storage area within the site
unitOfMeasure - String! Unit of measure for stock tracking
groupId - HashedId! Group identifier
customerId - HashedId Customer identifier
externalId - String External system identifier
qrAttached - Boolean! Whether a QR code is attached to this part
brand - String Associated brand
responsiblePerson - String Person responsible for managing this part
vendor - String Supplier or vendor name
shouldNotifyCriticalStockLevel - Boolean! Whether to alert when stock reaches a critical level
availableQuantity - Int Current stock quantity on hand
minQuantity - Int Minimum stock threshold before reorder
maxQuantity - Int Maximum stock capacity
unitCost - Float Cost per single unit
currency - String ISO currency code for cost values
totalStockValue - Float Calculated value of all stock on hand
uuid - String Universally unique identifier
name - TranslationInput! Display name
description - TranslationInput Human-readable description
sendNotificationsTo - [RuleNotificationRelationInput!]! Send notifications to
Example
{
  "type": "abc123",
  "siteId": HashedId,
  "area": "xyz789",
  "unitOfMeasure": "xyz789",
  "groupId": HashedId,
  "customerId": HashedId,
  "externalId": "abc123",
  "qrAttached": false,
  "brand": "xyz789",
  "responsiblePerson": "abc123",
  "vendor": "xyz789",
  "shouldNotifyCriticalStockLevel": false,
  "availableQuantity": 987,
  "minQuantity": 123,
  "maxQuantity": 987,
  "unitCost": 987.65,
  "currency": "xyz789",
  "totalStockValue": 987.65,
  "uuid": "abc123",
  "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.

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
partId - HashedId! Part identifier
part - Part! Parts linked to this part moving
siteId - HashedId! Site identifier
site - Site! Site associated with this part moving
operationDate - DateTime Operation date use "created" instead
unitCost - Float! Unit cost
quantity - Float! Quantity changed in this movement
contentQuantity - Float! Content quantity after this movement
totalValue - Float! Total stock value after this movement
createdByUserId - HashedId! Created by user identifier
createdByUser - User! Associated user
Example
{
  "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
}

PartMovingCreateInput

Description

Data required to create a new part moving

Fields
Input Field Description
partId - HashedId! Part identifier
siteId - HashedId! Site identifier
operationDate - DateTime Operation date
unitCost - Float! Unit cost
quantity - Float! Quantity value
contentQuantity - Float! Content quantity
quantityStock - Float! Total quantity in stock after this movement
contentQuantityStock - Float! Total content quantity in stock after this movement
notificationsListChanged - Boolean Whether the stock notification recipients were modified
shouldSkipPartMoving - Boolean Whether to skip recording and only send notifications
Example
{
  "partId": HashedId,
  "siteId": HashedId,
  "operationDate": "2007-12-03T10:15:30Z",
  "unitCost": 987.65,
  "quantity": 987.65,
  "contentQuantity": 987.65,
  "quantityStock": 987.65,
  "contentQuantityStock": 123.45,
  "notificationsListChanged": false,
  "shouldSkipPartMoving": false
}

PartPaginatedResult

Description

Paginated list of parts with cursor-based navigation

Fields
Field Name Description
meta - PaginationMeta! Pagination metadata including total count and page info
rows - [Part!]! List of records for the current page
Example
{
  "meta": PaginationMeta,
  "rows": [Part]
}

PartParameter

Description

Part parameter record

Fields
Field Name Description
id - HashedId! Unique identifier
savedName - String Persisted parameter name override
title - Translation Title text
unit - String Measurement unit such as kg, psi, or hours
minValue - String Minimum allowed value
maxValue - String Maximum allowed value
visualisationGroup - String Chart grouping for visualization
visualisationMinRange - String Minimum range for chart display
visualisationMaxRange - String Maximum range for chart display
visualisationScale - String Scale type for chart display
visualisationRangeStepSize - String Step size for chart axis ticks
interpolationMethod - String Method used to interpolate between data points
interpolationFrequency - String Frequency of interpolation between data points
interpolationMaxGap - String Maximum gap allowed before skipping interpolation
parameterSetId - HashedId Parameter set identifier
isSummedValue - Boolean! Whether to display as a cumulative sum
isAverageValue - Boolean! Whether to display as an average
isLastValue - Boolean! Whether to display only the most recent value
isCalculatedValue - Boolean Whether this value is derived from a calculation
isNoGraphValue - Boolean! Whether to exclude this parameter from graphs
Example
{
  "id": HashedId,
  "savedName": "abc123",
  "title": Translation,
  "unit": "abc123",
  "minValue": "xyz789",
  "maxValue": "xyz789",
  "visualisationGroup": "abc123",
  "visualisationMinRange": "xyz789",
  "visualisationMaxRange": "abc123",
  "visualisationScale": "xyz789",
  "visualisationRangeStepSize": "xyz789",
  "interpolationMethod": "abc123",
  "interpolationFrequency": "abc123",
  "interpolationMaxGap": "abc123",
  "parameterSetId": HashedId,
  "isSummedValue": true,
  "isAverageValue": true,
  "isLastValue": true,
  "isCalculatedValue": false,
  "isNoGraphValue": true
}

PartStatisticData

Description

Part statistic data record

Fields
Field Name Description
part - Part! Part
parameters - [PartParameter!]! Measured parameters included in the statistics
timestamps - [Timestamp!]! Epoch timestamps for each data point
values - [Float!]! Measured values for each parameter at each timestamp
Example
{
  "part": Part,
  "parameters": [PartParameter],
  "timestamps": [1592577642],
  "values": [987.65]
}

PartUpdateInput

Description

Fields to update on an existing part

Fields
Input Field Description
type - String Type category
siteId - HashedId Site identifier
area - String Storage area within the site
unitOfMeasure - String Unit of measure for stock tracking
groupId - HashedId Group identifier
customerId - HashedId Customer identifier
externalId - String External system identifier
qrAttached - Boolean Whether a QR code is attached to this part
brand - String Associated brand
responsiblePerson - String Person responsible for managing this part
vendor - String Supplier or vendor name
shouldNotifyCriticalStockLevel - Boolean Whether to alert when stock reaches a critical level
availableQuantity - Int Current stock quantity on hand
minQuantity - Int Minimum stock threshold before reorder
maxQuantity - Int Maximum stock capacity
unitCost - Float Cost per single unit
currency - String ISO currency code for cost values
totalStockValue - Float Calculated value of all stock on hand
uuid - String Universally unique identifier
name - TranslationInput! Display name
description - TranslationInput Human-readable description
sendNotificationsTo - [RuleNotificationRelationInput!]! Send notifications to
Example
{
  "type": "xyz789",
  "siteId": HashedId,
  "area": "abc123",
  "unitOfMeasure": "xyz789",
  "groupId": HashedId,
  "customerId": HashedId,
  "externalId": "xyz789",
  "qrAttached": true,
  "brand": "xyz789",
  "responsiblePerson": "xyz789",
  "vendor": "abc123",
  "shouldNotifyCriticalStockLevel": true,
  "availableQuantity": 987,
  "minQuantity": 987,
  "maxQuantity": 123,
  "unitCost": 123.45,
  "currency": "abc123",
  "totalStockValue": 987.65,
  "uuid": "xyz789",
  "name": TranslationInput,
  "description": TranslationInput,
  "sendNotificationsTo": [RuleNotificationRelationInput]
}

Phone

Description

A phone number record linked to a user or contact

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
rawNumber - String! Raw number
nationalNumber - String! National number
countryCode - String! Country code
fullNumber - String! Full number
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "rawNumber": "abc123",
  "nationalNumber": "abc123",
  "countryCode": "abc123",
  "fullNumber": "abc123"
}

PhoneCreateInput

Description

Data required to create a new phone

Fields
Input Field Description
rawNumber - String! Raw number
nationalNumber - String! National number
countryCode - String! Country code
fullNumber - String! Full number
Example
{
  "rawNumber": "xyz789",
  "nationalNumber": "abc123",
  "countryCode": "abc123",
  "fullNumber": "xyz789"
}

ProcedureComponentChoice

Description

deprecated used in old input

Values
Enum Value Description

na

good

notGood

needsAttention

Example
"na"

ProcedureComponentContentType

Description

Available input field types for procedure form components, including text, number, date, GPS location, signature capture, file attachments, dropdowns, checkboxes, asset/site selectors, and table inputs

Values
Enum Value Description

gps

text

date

site

asset

phone

number

section

heading

scanned

dropdown

checkbox

assignee

signature

asset_type

attachment

multi_choice

single_select

ticket_status

single_choice

yes_no_choice

asset_category

ticket_urgency

check_last_date

check_next_date

asset_availability

input_table

email

Example
"gps"

ProcedureComponentPhoneType

Description

Defines whether a phone number field in a procedure uses a custom user-entered value or a predefined contact number

Values
Enum Value Description

CUSTOM

PREDEFINED

Example
"CUSTOM"

ProcedureComponentYesNo

Description

deprecated used in old input

Values
Enum Value Description

na

no

yes

Example
"na"

ProcedureCondition

Description

Procedure condition record

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
templateId - HashedId! Template identifier
assertionsLogic - ProcedureConditionLogicEnum! Assertions logic
assertions - [ProcedureConditionAssertion!]! Assertions for this procedure condition
actions - [ProcedureConditionAction!]! Actions for this procedure condition
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "templateId": HashedId,
  "assertionsLogic": "AND",
  "assertions": [ProcedureConditionAssertion],
  "actions": [ProcedureConditionAction]
}

ProcedureConditionAction

Description

Procedure condition action record

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
order - Int! Sort order position
conditionId - HashedId! Condition identifier
scope - ProcedureConditionActionScopeEnum! Defines which components the action applies to
type - ProcedureConditionActionEnum! Action to perform when the condition is met, such as show, hide, or require
values - [String!]! Target component client IDs or option values that the action operates on
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "order": 123,
  "conditionId": HashedId,
  "scope": "THEN",
  "type": "SHOW_FIELDS",
  "values": ["xyz789"]
}

ProcedureConditionActionEnum

Description

Actions that can be triggered when a procedure condition is evaluated, such as showing or hiding form fields, or automatically setting the ticket assignee

Values
Enum Value Description

SHOW_FIELDS

HIDE_FIELDS

SET_TICKET_ASSIGNEE

SET_TICKET_STATUS

SET_TICKET_URGENCY

SET_ASSET_AVAILABILITY

Example
"SHOW_FIELDS"

ProcedureConditionActionInput

Description

Input data for procedure condition action

Fields
Input Field Description
scope - ProcedureConditionActionScopeEnum! Defines which components the action applies to
type - ProcedureConditionActionEnum! Action to perform when the condition is met, such as show, hide, or require
values - [String!]! Target component client IDs or option codes that the action targets
Example
{
  "scope": "THEN",
  "type": "SHOW_FIELDS",
  "values": ["abc123"]
}

ProcedureConditionActionScopeEnum

Description

Determines whether a procedure condition action applies to the THEN branch (condition met) or the ELSE branch (condition not met)

Values
Enum Value Description

THEN

ELSE

Example
"THEN"

ProcedureConditionAssertion

Description

Procedure condition assertion record

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
order - Int! Sort order position
conditionId - HashedId! Condition identifier
nestedSectionId - Int Nested section identifier
type - ProcedureConditionAssertionEnum! Comparison operator used to evaluate the component value, such as equals or contains
componentId - HashedId! Component identifier
values - [String!]! Expected values to compare the component answer against
valuesPublicIds - [Int!]! Public numeric IDs corresponding to the values in the assertion
component - ProcedureTemplateComponent! Component for this procedure condition assertion
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "order": 987,
  "conditionId": HashedId,
  "nestedSectionId": 987,
  "type": "EMPTY",
  "componentId": HashedId,
  "values": ["xyz789"],
  "valuesPublicIds": [123],
  "component": ProcedureTemplateComponent
}

ProcedureConditionAssertionEnum

Description

Comparison operators for evaluating procedure condition rules against field values, including equality, presence, containment, numeric comparisons, and set membership checks

Values
Enum Value Description

EMPTY

NOT_EMPTY

EQUAL

NOT_EQUAL

GREATER_THAN

LESS_THAN

CONTAINS

NOT_CONTAINS

ONE_OF

NOT_ONE_OF

ALL_OF

NONE_OF

Example
"EMPTY"

ProcedureConditionAssertionInput

Description

Input data for procedure condition assertion

Fields
Input Field Description
nestedSectionId - Int Nested section identifier
type - ProcedureConditionAssertionEnum! Comparison operator used to evaluate the component value, such as equals or contains
componentClientId - Int! Component client identifier
values - [String!]! Expected values to compare the component answer against
Example
{
  "nestedSectionId": 987,
  "type": "EMPTY",
  "componentClientId": 123,
  "values": ["xyz789"]
}

ProcedureConditionInput

Description

Input data for procedure condition

Fields
Input Field Description
assertionsLogic - ProcedureConditionLogicEnum! Assertions logic
id - HashedId Hashed ID of an existing condition to update; omit to create a new one
assertions - [ProcedureConditionAssertionInput!]! Component value checks that must all pass for the condition to trigger
actions - [ProcedureConditionActionInput!]! Actions to apply to target components when all assertions are satisfied
Example
{
  "assertionsLogic": "AND",
  "id": HashedId,
  "assertions": [ProcedureConditionAssertionInput],
  "actions": [ProcedureConditionActionInput]
}

ProcedureConditionLogicEnum

Description

Logical operators (AND/OR) used to combine multiple procedure conditions into compound expressions

Values
Enum Value Description

AND

OR

Example
"AND"

ProcedureInstance

Description

A filled-out instance of a procedure template attached to a ticket or event

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
ticket - Ticket! Associated ticket
templateId - HashedId! Template identifier not supported
serviceId - HashedId! Service identifier not supported
createdByGroupId - HashedId! Created by group identifier not supported
createdByUserId - HashedId! Created by user identifier not supported
scannedAssetId - HashedId Scanned asset identifier not supported
checkEventId - HashedId Check event identifier not supported
scannedSiteId - HashedId Scanned site identifier not supported
scannedSite - Site Scanned site not supported
scannedAsset - Asset Scanned asset not supported
service - Service! Service not supported
createdByUser - User! Created by user not supported
createdByGroup - Group! Created by group not supported
template - ProcedureTemplate! Template not supported
components - [ProcedureInstanceComponent!]! Components not supported
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "ticket": Ticket,
  "templateId": HashedId,
  "serviceId": HashedId,
  "createdByGroupId": HashedId,
  "createdByUserId": HashedId,
  "scannedAssetId": HashedId,
  "checkEventId": HashedId,
  "scannedSiteId": HashedId,
  "scannedSite": Site,
  "scannedAsset": Asset,
  "service": Service,
  "createdByUser": User,
  "createdByGroup": Group,
  "template": ProcedureTemplate,
  "components": [ProcedureInstanceComponent]
}

ProcedureInstanceComponent

Description

deprecated - do not use this at all - will be removed soon

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
dateValue - DateTime Date value
comment - String User comment
textValue - String Text value
numberValue - Int Number value Use "numberValueDecimal" instead. It offers Float type
numberValueDecimal - Float Number value decimal
checkedValue - Boolean Checked value
yesNoValue - ProcedureComponentYesNo Yes no value
choiceValue - ProcedureComponentChoice Choice value
phoneId - HashedId Phone identifier
instanceId - HashedId! Instance identifier
parentId - HashedId Parent record identifier
locationId - HashedId Location identifier
templateComponentId - HashedId! Template component identifier
choiceOptionId - HashedId Choice option identifier
children - [ProcedureInstanceComponent!]! Children
location - Address Location
phone - Phone Phone number
assets - [Asset!]! Assets
sites - [Site!]! Sites
assignees - [AvailableHandler!]! Assignees
templateComponent - ProcedureTemplateComponent! Template component
choiceOptions - [ProcedureInstanceComponentChoiceOption!]! Choice options
choiceOption - ProcedureInstanceComponentChoiceOption Choice option
assetCategories - [AssetCategory!]! Asset categories
assetTypes - [AssetType!]! Asset types
documents - [Document!]! Attached documents and files
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "dateValue": "2007-12-03T10:15:30Z",
  "comment": "abc123",
  "textValue": "abc123",
  "numberValue": 123,
  "numberValueDecimal": 123.45,
  "checkedValue": true,
  "yesNoValue": "na",
  "choiceValue": "na",
  "phoneId": HashedId,
  "instanceId": HashedId,
  "parentId": HashedId,
  "locationId": HashedId,
  "templateComponentId": HashedId,
  "choiceOptionId": HashedId,
  "children": [ProcedureInstanceComponent],
  "location": Address,
  "phone": Phone,
  "assets": [Asset],
  "sites": [Site],
  "assignees": [AvailableHandler],
  "templateComponent": ProcedureTemplateComponent,
  "choiceOptions": [
    ProcedureInstanceComponentChoiceOption
  ],
  "choiceOption": ProcedureInstanceComponentChoiceOption,
  "assetCategories": [AssetCategory],
  "assetTypes": [AssetType],
  "documents": [Document]
}

ProcedureInstanceComponentChoiceOption

Description

deprecated - do not use this at all - will be removed soon

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
componentId - HashedId! Component identifier
choiceOptionId - HashedId! Choice option identifier
choiceOption - ProcedureTemplateComponentChoiceOption! Choice option
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "componentId": HashedId,
  "choiceOptionId": HashedId,
  "choiceOption": ProcedureTemplateComponentChoiceOption
}

ProcedureInstanceComponentCreateInput

Description

Data required to create a new procedure instance component

Fields
Input Field Description
dateValue - DateTime Date value
comment - String User comment
textValue - String Text value
numberValue - Int Number value
numberValueDecimal - Float Number value decimal
checkedValue - Boolean Checked value
yesNoValue - ProcedureComponentYesNo Yes no value
choiceValue - ProcedureComponentChoice Choice value
templateComponentId - HashedId! Template component identifier
choiceOptionId - HashedId Choice option identifier
documents - [Upload!] Attached documents and files
assetIds - [HashedId!] Asset identifiers
userIds - [HashedId!] User identifiers
groupIds - [HashedId!] Group identifiers
suggestedGroupIds - [HashedId!] Suggested group identifiers
suggestedTeamIds - [HashedId!] Suggested team identifiers
suggestedUserIds - [HashedId!] Suggested user identifiers
teamIds - [HashedId!] Team identifiers
assetCategoryIds - [HashedId!] Asset category identifiers
assetTypeIds - [HashedId!] Asset type identifiers
siteIds - [HashedId!] Site identifiers
choiceOptionIds - [HashedId!] Choice option identifiers
children - [ProcedureInstanceComponentCreateInput!] Children
location - AddressCreateInput Location
phone - PhoneCreateInput Phone number
Example
{
  "dateValue": "2007-12-03T10:15:30Z",
  "comment": "xyz789",
  "textValue": "abc123",
  "numberValue": 987,
  "numberValueDecimal": 987.65,
  "checkedValue": true,
  "yesNoValue": "na",
  "choiceValue": "na",
  "templateComponentId": HashedId,
  "choiceOptionId": HashedId,
  "documents": [Upload],
  "assetIds": [HashedId],
  "userIds": [HashedId],
  "groupIds": [HashedId],
  "suggestedGroupIds": [HashedId],
  "suggestedTeamIds": [HashedId],
  "suggestedUserIds": [HashedId],
  "teamIds": [HashedId],
  "assetCategoryIds": [HashedId],
  "assetTypeIds": [HashedId],
  "siteIds": [HashedId],
  "choiceOptionIds": [HashedId],
  "children": [ProcedureInstanceComponentCreateInput],
  "location": AddressCreateInput,
  "phone": PhoneCreateInput
}

ProcedureInstanceCreateInput

Description

Data required to create a new procedure instance

Fields
Input Field Description
templateId - HashedId! Template identifier
serviceId - HashedId! Service identifier
scannedAssetId - HashedId Scanned asset identifier
checkEventId - HashedId Check event identifier
scannedSiteId - HashedId Scanned site identifier
components - [ProcedureInstanceComponentCreateInput!]! Components
Example
{
  "templateId": HashedId,
  "serviceId": HashedId,
  "scannedAssetId": HashedId,
  "checkEventId": HashedId,
  "scannedSiteId": HashedId,
  "components": [ProcedureInstanceComponentCreateInput]
}

ProcedureTemplate

Description

Procedure template record

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
type - ProcedureTemplateType! Classifies the template as a check, inspection, or other procedure workflow type
itemType - ProcedureTemplateItemType! Domain entity this template is designed for, such as asset or site
preset - ProcedureTemplatePreset! Whether this template was created from a predefined sample or from scratch
accessLevel - ProcedureTemplateAccessLevel! Controls which groups can view and use this procedure template
iconUrl - String URL of the icon image displayed alongside the template in the UI
createdByGroupId - HashedId! Created by group identifier
createdByUserId - HashedId! Created by user identifier
titleId - HashedId! Hashed ID of the i18n translation record for the template title
descriptionId - HashedId Hashed ID of the i18n translation record for the template description
rootId - HashedId Hashed ID of the root template in a template hierarchy not supported
publicId - Int! Public numeric identifier
publicRootId - Int Public numeric ID of the root template in a template hierarchy not supported
servicePackages - [ServicePackage!]! Service package for this procedure template
title - Translation Translated name of the procedure template
createdByUser - User User who authored this procedure template
createdByGroup - Group! Group this procedure template belongs to
description - Translation
components - [ProcedureTemplateComponent!]! Components for this procedure template
automations - [ProcedureTemplateAutomation!]! Automations for this procedure template
conditions - [ProcedureCondition!]! Conditions for this procedure template
parentId - HashedId Parent record identifier not supported
parent - ProcedureTemplate Parent template in a template hierarchy not supported
deleted - Timestamp Soft deletion timestamp, null if active
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "type": "tickets",
  "itemType": "general",
  "preset": "check",
  "accessLevel": "tree",
  "iconUrl": "xyz789",
  "createdByGroupId": HashedId,
  "createdByUserId": HashedId,
  "titleId": HashedId,
  "descriptionId": HashedId,
  "rootId": HashedId,
  "publicId": 987,
  "publicRootId": 987,
  "servicePackages": [ServicePackage],
  "title": Translation,
  "createdByUser": User,
  "createdByGroup": Group,
  "description": Translation,
  "components": [ProcedureTemplateComponent],
  "automations": [ProcedureTemplateAutomation],
  "conditions": [ProcedureCondition],
  "parentId": HashedId,
  "parent": ProcedureTemplate,
  "deleted": 1592577642
}

ProcedureTemplateAccessLevel

Description

Controls the visibility scope of a procedure template within the organization hierarchy: local (own group only), branch (group and its children), or tree (entire organization tree)

Values
Enum Value Description

tree

local

branch

Example
"tree"

ProcedureTemplateAutomation

Description

Procedure template automation record

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
templateId - HashedId! Template identifier
type - TicketAutomationEnum! Kind of automation triggered by this configuration, such as auto-close ticket or update status
runOnTicketStatus - TicketStateEnum Run on ticket status
components - [ProcedureTemplateComponent!]! Procedure template components associated with this automation not supported
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "templateId": HashedId,
  "type": "ble",
  "runOnTicketStatus": "open",
  "components": [ProcedureTemplateComponent]
}

ProcedureTemplateAutomationCreateInput

Description

Data required to create a new procedure template automation

Fields
Input Field Description
id - HashedId Unique identifier of the entity
type - TicketAutomationEnum! Kind of automation triggered by this configuration, such as auto-close ticket or update status
runOnTicketStatus - TicketStateEnum Run on ticket status
Example
{
  "id": HashedId,
  "type": "ble",
  "runOnTicketStatus": "open"
}

ProcedureTemplateComponent

Description

Procedure template component record

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
order - Int! Sort order position
parentId - HashedId Parent record identifier
automations - Int! Number of automation rules referencing this component
templateId - HashedId! Template identifier
titleId - HashedId! Hashed ID of the i18n translation record for the component title
descriptionId - HashedId Hashed ID of the i18n translation record for the component help text
clientId - Int! Client identifier
isRequired - Boolean! Whether this field is required
isAutoDetectLocationEnabled - Boolean! Whether auto detect location enabled
isTemplate - Boolean! Whether this component serves as a reusable template that child components inherit from
isMultiple - Boolean! Whether the user can submit multiple responses for this component
isQrScanner - Boolean! Whether this component activates the QR code scanner for input
enabled - Boolean! Whether this component is visible and active in the procedure form
isNfcScanner - Boolean! Whether this component activates the NFC scanner for input
phoneId - HashedId Phone identifier
contentType - ProcedureComponentContentType! Format of the rendered content
phoneType - ProcedureComponentPhoneType Phone type
filters - [Filters!]! For now only filters for asset components are supported. This is used to filter the assets that are shown in the component's form.
isHiddenInTicket - Boolean! Whether hidden in ticket
isHiddenInResult - Boolean! Whether this component is hidden in the procedure result view; use isHiddenInTicket instead used only in mobile. use isHiddenInTicket instead
isHiddenInForm - Boolean! Whether hidden in form
includeTime - Boolean! Whether the date component includes a time picker alongside the date selector
isOnlyAssortmentTypes - Boolean! Whether this asset component is restricted to showing only assortment asset types
tableId - HashedId Hashed ID of the input table configuration when contentType is input_table
title - Translation Translated name of the procedure template component
description - Translation
phone - Phone Phone number associated with this procedure template component
documents - [Document!]! Documents attached to this procedure template component
children - [ProcedureTemplateComponent!]! Children for this procedure template component
choiceOptions - [ProcedureTemplateComponentChoiceOption!]! Choice Options for this procedure template component
table - ProcedureTemplateComponentTable Table for this procedure template component
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "order": 987,
  "parentId": HashedId,
  "automations": 987,
  "templateId": HashedId,
  "titleId": HashedId,
  "descriptionId": HashedId,
  "clientId": 987,
  "isRequired": true,
  "isAutoDetectLocationEnabled": true,
  "isTemplate": false,
  "isMultiple": true,
  "isQrScanner": false,
  "enabled": false,
  "isNfcScanner": false,
  "phoneId": HashedId,
  "contentType": "gps",
  "phoneType": "CUSTOM",
  "filters": [Filters],
  "isHiddenInTicket": true,
  "isHiddenInResult": false,
  "isHiddenInForm": false,
  "includeTime": false,
  "isOnlyAssortmentTypes": true,
  "tableId": HashedId,
  "title": Translation,
  "description": Translation,
  "phone": Phone,
  "documents": [Document],
  "children": [ProcedureTemplateComponent],
  "choiceOptions": [
    ProcedureTemplateComponentChoiceOption
  ],
  "table": ProcedureTemplateComponentTable
}

ProcedureTemplateComponentChoiceOption

Description

Procedure template component choice option data

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
componentId - HashedId! Component identifier
nameId - HashedId! Hashed ID of the i18n translation record for the choice option label
order - Int! Sort order position
isSelectedByDefault - Boolean! Whether selected by default
code - String Machine-readable code for this choice option, used for external system integration
name - Translation Translated name of the procedure template component choice option
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "componentId": HashedId,
  "nameId": HashedId,
  "order": 987,
  "isSelectedByDefault": false,
  "code": "abc123",
  "name": Translation
}

ProcedureTemplateComponentChoiceOptionCreateInput

Description

Data required to create a new procedure template component choice option

Fields
Input Field Description
id - HashedId Unique identifier of the entity
isSelectedByDefault - Boolean! Whether selected by default
code - String Machine-readable code for integration mapping
name - TranslationInput! Display name
Example
{
  "id": HashedId,
  "isSelectedByDefault": false,
  "code": "abc123",
  "name": TranslationInput
}

ProcedureTemplateComponentColumnDropdownUpsertInput

Description

Data to create or update a dropdown option for a procedure template table column

Fields
Input Field Description
id - HashedId Unique identifier of the entity
order - Int! Sort order position
name - TranslationInput! Translated label for this dropdown option
Example
{
  "id": HashedId,
  "order": 987,
  "name": TranslationInput
}

ProcedureTemplateComponentCreateInput

Description

Data required to create a new procedure template component

Fields
Input Field Description
id - HashedId Unique identifier of the entity
automations - Int! Number of automation rules referencing this component
clientId - Int! Client identifier
isRequired - Boolean! Whether this field is required
isAutoDetectLocationEnabled - Boolean! Whether auto detect location enabled
isTemplate - Boolean! Whether this component serves as a reusable template that child components inherit from
isMultiple - Boolean! Whether the user can submit multiple responses for this component
isQrScanner - Boolean! Whether this component activates the QR code scanner for input
enabled - Boolean! Whether this component is visible and active in the procedure form
isNfcScanner - Boolean! Whether this component activates the NFC scanner for input
contentType - ProcedureComponentContentType! Format of the rendered content
phoneType - ProcedureComponentPhoneType Phone type. Default = CUSTOM
isHiddenInTicket - Boolean! Whether hidden in ticket
isHiddenInForm - Boolean! Whether hidden in form
includeTime - Boolean! Whether the date component includes a time picker alongside the date selector
isOnlyAssortmentTypes - Boolean! Whether this asset component is restricted to showing only assortment asset types
filters - [FilterParamsInput] Filter criteria
title - TranslationInput! Title text
description - TranslationInput Human-readable description
phone - PhoneCreateInput Phone number
documents - [Upload!]! Attached documents and files
children - [ProcedureTemplateComponentCreateInput!] Children
choiceOptions - [ProcedureTemplateComponentChoiceOptionCreateInput!]! Choice options
table - ProcedureTemplateComponentTableUpsertInput Table
Example
{
  "id": HashedId,
  "automations": 123,
  "clientId": 987,
  "isRequired": true,
  "isAutoDetectLocationEnabled": false,
  "isTemplate": true,
  "isMultiple": false,
  "isQrScanner": true,
  "enabled": false,
  "isNfcScanner": false,
  "contentType": "gps",
  "phoneType": "CUSTOM",
  "isHiddenInTicket": true,
  "isHiddenInForm": true,
  "includeTime": false,
  "isOnlyAssortmentTypes": true,
  "filters": [FilterParamsInput],
  "title": TranslationInput,
  "description": TranslationInput,
  "phone": PhoneCreateInput,
  "documents": [Upload],
  "children": [ProcedureTemplateComponentCreateInput],
  "choiceOptions": [
    ProcedureTemplateComponentChoiceOptionCreateInput
  ],
  "table": ProcedureTemplateComponentTableUpsertInput
}

ProcedureTemplateComponentTable

Description

Procedure template component table data

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
requiredType - ProcedureTemplateComponentTableRequiredType! Required type
rows - [ProcedureTemplateComponentTableRow!]! Rows for this procedure template component table
columns - [ProcedureTemplateComponentTableColumn!]! Columns for this procedure template component table
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "requiredType": "NONE",
  "rows": [ProcedureTemplateComponentTableRow],
  "columns": [ProcedureTemplateComponentTableColumn]
}

ProcedureTemplateComponentTableColumn

Description

Procedure template component table column data

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
order - Int! Sort order position
contentType - ProcedureTemplateComponentTableColumnType! Format of the rendered content
tableId - HashedId! Table identifier
name - Translation! Translated name of the procedure template component table column
dropdownOptions - [ProcedureTemplateComponentTableColumnDropdownOption!]! Dropdown Options for this procedure template component table column
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "order": 123,
  "contentType": "SINGLE_SELECT",
  "tableId": HashedId,
  "name": Translation,
  "dropdownOptions": [
    ProcedureTemplateComponentTableColumnDropdownOption
  ]
}

ProcedureTemplateComponentTableColumnDropdownOption

Description

Procedure template component table column dropdown option data

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
order - Int! Sort order position
columnId - HashedId! Column identifier
name - Translation! Translated name of the procedure template component table column dropdown option
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "order": 123,
  "columnId": HashedId,
  "name": Translation
}

ProcedureTemplateComponentTableColumnType

Description

Data types available for columns within a procedure template table component, such as text, number, date, time, single-select, multi-choice, and dropdown

Values
Enum Value Description

SINGLE_SELECT

MULTI_CHOICE

DROPDOWN

TEXT

NUMBER

DATE

TIME

Example
"SINGLE_SELECT"

ProcedureTemplateComponentTableColumnUpsertInput

Description

Data to create or update a procedure template table column

Fields
Input Field Description
id - HashedId Unique identifier of the entity
order - Int! Sort order position
contentType - ProcedureTemplateComponentTableColumnType! Format of the rendered content
name - TranslationInput! Translated header label for this table column
dropdownOptions - [ProcedureTemplateComponentColumnDropdownUpsertInput!]! Options to create or update for columns with dropdown content type
Example
{
  "id": HashedId,
  "order": 987,
  "contentType": "SINGLE_SELECT",
  "name": TranslationInput,
  "dropdownOptions": [
    ProcedureTemplateComponentColumnDropdownUpsertInput
  ]
}

ProcedureTemplateComponentTableRequiredType

Description

Validation rules for required fields in procedure table columns: none (optional), at least one cell, all cells in a column, or all rows must be filled

Values
Enum Value Description

NONE

ONE_CELL

ALL_CELLS

ALL_ROWS

Example
"NONE"

ProcedureTemplateComponentTableRow

Description

Procedure template component table row data

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
order - Int! Sort order position
tableId - HashedId! Table identifier
name - Translation! Translated name of the procedure template component table row
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "order": 123,
  "tableId": HashedId,
  "name": Translation
}

ProcedureTemplateComponentTableRowUpsertInput

Description

Data to create or update a procedure template table row

Fields
Input Field Description
id - HashedId Unique identifier of the entity
order - Int! Sort order position
name - TranslationInput! Translated label for this table row
Example
{
  "id": HashedId,
  "order": 987,
  "name": TranslationInput
}

ProcedureTemplateComponentTableUpsertInput

Description

Data to create or update a procedure template input table with rows and columns

Fields
Input Field Description
id - HashedId Unique identifier of the entity
requiredType - ProcedureTemplateComponentTableRequiredType! Required type. Default = NONE
rows - [ProcedureTemplateComponentTableRowUpsertInput!]! Row definitions to create or update for this table
columns - [ProcedureTemplateComponentTableColumnUpsertInput!]! Column definitions to create or update for this table
Example
{
  "id": HashedId,
  "requiredType": "NONE",
  "rows": [ProcedureTemplateComponentTableRowUpsertInput],
  "columns": [
    ProcedureTemplateComponentTableColumnUpsertInput
  ]
}

ProcedureTemplateCreateInput

Description

Data required to create a new procedure template

Fields
Input Field Description
type - ProcedureTemplateType! Classifies the template as a check, inspection, or other procedure workflow type
itemType - ProcedureTemplateItemType! Domain entity this template is designed for, such as asset or site
preset - ProcedureTemplatePreset! Whether this template was created from a predefined sample or from scratch
accessLevel - ProcedureTemplateAccessLevel! Controls which groups can view and use this procedure template
iconUrl - String URL of the icon image displayed alongside the template in the UI
title - TranslationInput! Title text
description - TranslationInput Human-readable description
components - [ProcedureTemplateComponentCreateInput!]! Components
automations - [ProcedureTemplateAutomationCreateInput!]! Automations
conditions - [ProcedureConditionInput!] Conditions
parentId - HashedId Parent record identifier
Example
{
  "type": "tickets",
  "itemType": "general",
  "preset": "check",
  "accessLevel": "tree",
  "iconUrl": "xyz789",
  "title": TranslationInput,
  "description": TranslationInput,
  "components": [ProcedureTemplateComponentCreateInput],
  "automations": [ProcedureTemplateAutomationCreateInput],
  "conditions": [ProcedureConditionInput],
  "parentId": HashedId
}

ProcedureTemplateItemType

Description

Defines the scope of a procedure template item, indicating whether it applies to general information, a specific asset, or a specific site

Values
Enum Value Description

general

asset

site

Example
"general"

ProcedureTemplatePaginatedDto

Description

Paginated list of procedure templates with total count and pagination metadata

Fields
Field Name Description
rows - [ProcedureTemplate!]! List of records for the current page
meta - PaginationMeta! Pagination metadata including total count and page info
total - Int! Total amount
Example
{
  "rows": [ProcedureTemplate],
  "meta": PaginationMeta,
  "total": 987
}

ProcedureTemplatePreset

Description

Built-in preset configurations that define the initial structure of a procedure template, such as general-purpose forms, asset checks, maintenance services, or QR landing pages

Values
Enum Value Description

check

general

service

landing

Example
"check"

ProcedureTemplateType

Description

Determines whether a procedure template is used for tickets or work orders

Values
Enum Value Description

tickets

work_orders

Example
"tickets"

ProcessHandler

Description

A user, team, or group assigned to handle a process like a ticket or work order

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
displayName - String! Resolved human-readable name of the handler based on its type
relationValue - String Identifier linking to the underlying handler entity
relationType - HandlerRelationTypeEnum! Type of relationship between the handler and the ticket
handlerType - HandlerTypeEnum! Entity type such as user, team, group, or external email
isDeletable - Boolean! Whether the handler can be removed by the current user
deleted - Boolean Soft deletion timestamp, null if active
Example
{
  "id": HashedId,
  "displayName": "xyz789",
  "relationValue": "xyz789",
  "relationType": "ASSIGNEE",
  "handlerType": "EXTERNALEMAIL",
  "isDeletable": false,
  "deleted": false
}

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! Associated asset
parameters - [Parameter!]! Parameters
values - [Float] Measured data values for each requested parameter
timestamps - [Timestamp!]! Timestamps
Example
{
  "asset": Asset,
  "parameters": [Parameter],
  "values": [987.65],
  "timestamps": [1592577642]
}

PushPlatformTypeEnum

Description

Target platform for delivering push notifications to user devices: Android (Google FCM), iOS (Apple APNs), or Web (browser push)

Values
Enum Value Description

ANDROID

IOS

WEB

Example
"ANDROID"

QrCheckAssetData

Description

Qr check asset data record

Fields
Field Name Description
isBlankQR - Boolean! Whether blank q r
link - String! Link URL
settings - GroupComposedSettings Configuration settings
asset - QrLandingAsset! Associated asset
bleService - Service Ble service
Example
{
  "isBlankQR": false,
  "link": "xyz789",
  "settings": GroupComposedSettings,
  "asset": QrLandingAsset,
  "bleService": Service
}

QrCheckBlankData

Description

Qr check blank data record

Fields
Field Name Description
isBlankQR - Boolean! Whether blank q r
link - String Link URL
settings - GroupComposedSettings Configuration settings
Example
{
  "isBlankQR": false,
  "link": "abc123",
  "settings": GroupComposedSettings
}

QrCheckPartData

Description

Qr check part data record

Fields
Field Name Description
isBlankQR - Boolean! Whether blank q r
link - String! Link URL
settings - GroupComposedSettings Configuration settings
part - Part! Part
Example
{
  "isBlankQR": false,
  "link": "abc123",
  "settings": GroupComposedSettings,
  "part": Part
}

QrCheckResponseUnion

Example
QrCheckAssetData

QrCheckSiteData

Description

Qr check site data record

Fields
Field Name Description
isBlankQR - Boolean! Whether blank q r
link - String! Link URL
settings - GroupComposedSettings Configuration settings
site - Site! Associated site
Example
{
  "isBlankQR": false,
  "link": "abc123",
  "settings": GroupComposedSettings,
  "site": Site
}

QrLandingAsset

Description

Qr landing asset record

Fields
Field Name Description
publicId - Int! Public numeric identifier
assignedToGroupId - HashedId! Organization group this asset is assigned to
assetCategoryId - HashedId! Category this asset belongs to
assetTypeId - HashedId! Type classification of this asset
BLE - String Bluetooth Low Energy beacon identifier
createdByGroupId - HashedId! Organization group that originally created this asset
currency - String An optional currency string that overrides the group currency
descriptionId - HashedId Translatable description text for this asset
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.
image - String URL of the asset profile image
inventoryNumber - String Internal inventory tracking number
plateNumber - String Vehicle license plate number
purchaseWarrantyEnd - Date Expiration date of the purchase warranty
qrAttached - Boolean! Whether a QR code label is attached to this asset
quantity - Int Number of identical items for commodity assets
responsiblePerson - String Person responsible for this asset, falls back to site manager
serial - String Serial number of the asset
siteId - HashedId ID of the currently assigned site
groupId - HashedId! Owning organization group of this asset
uuid - String! UUID used for cross-system asset identification
ownership - AssetOwnership Ownership type (purchased, leased, or rented)
services - [Service!]! Services linked to this qr landing asset
Arguments
filters - AssetServicesFilterInput

Filter criteria for asset service records

activeCustomFields - [CustomField!]! Currently active custom fields on this asset
archivedCustomFields - [CustomField!]! Previously active custom fields now archived
costLines - [CostLine!]! Individual line items that make up this cost entry
assetType - AssetType! Asset type for QR landing page asset
assetCategory - AssetCategory! Asset category shown on the QR code landing page
group - Group! Group this qr landing asset belongs to
events - [Event!]! Associated asset
Arguments
eventStyleKey - EventTypeEnum

Event style key

createdByUserId - [HashedId!]

Created by user identifier

createdByRuleId - [HashedId!]

Created by rule identifier

createdByWorkOrderId - [HashedId!]

Created by work order identifier

createdByTicketId - [HashedId!]

Created by ticket identifier

currentlyActive - Boolean

Currently active

startDateFilter - EventDateFilter

Start date filter

endDateFilter - EventDateFilter

End date filter

createdDateFilter - EventDateFilter

Created date filter

tag - [EventEntityTagEnum!]

Classification tag or label

checkSchedule - AssetCheckSchedule Check schedule visible on the QR landing page
assetSiteAssignments - [AssetSiteAssignment!]! Site assignments for the QR landing asset
Arguments
limit - Int

Maximum number of results to return

orderByOnSiteFrom - SortDirection

Sort direction for the on-site-from date

statuses - [AssetSiteAssignmentStatusEnum!]

Filter by one or more assignment statuses

id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
availability - AssetAvailability Availability
hasCheckRules - Boolean! Rules associated with this qr landing asset
manuals - [Document!]! Documents attached to this qr landing asset
Arguments
purpose - String

Purpose

activeSiteAssignment - AssetSiteAssignment Currently active site assignment for the asset
lastCheck - Event Last Check for this qr landing asset
lastChecks - [Event!]! Last Checks for this qr landing asset
primaryServicePackage - ServicePackageWithSourceType! Service package associated with asset-related entity, first defined of sequence assetType, assetCategory, groupAssignment, and this entity name
costs - [CostLine!]! Cost entries for this qr landing asset
operationalCosts - [Cost!]! Cost entries for this qr landing asset
previousSiteId - HashedId ID of the previously assigned site
site - Site Currently assigned site for the asset
assignedToPreviousSite - Site Previously assigned site for the asset
countNonArchivedSiteAssignments - Int! Count of non-archived site assignments for the asset
Example
{
  "publicId": 123,
  "assignedToGroupId": HashedId,
  "assetCategoryId": HashedId,
  "assetTypeId": HashedId,
  "BLE": "xyz789",
  "createdByGroupId": HashedId,
  "currency": "xyz789",
  "descriptionId": HashedId,
  "externalId": "abc123",
  "image": "xyz789",
  "inventoryNumber": "abc123",
  "plateNumber": "xyz789",
  "purchaseWarrantyEnd": "2007-12-03",
  "qrAttached": true,
  "quantity": 987,
  "responsiblePerson": "abc123",
  "serial": "xyz789",
  "siteId": HashedId,
  "groupId": HashedId,
  "uuid": "xyz789",
  "ownership": "PURCHASE",
  "services": [Service],
  "activeCustomFields": [CustomField],
  "archivedCustomFields": [CustomField],
  "costLines": [CostLine],
  "assetType": AssetType,
  "assetCategory": AssetCategory,
  "group": Group,
  "events": [Event],
  "checkSchedule": AssetCheckSchedule,
  "assetSiteAssignments": [AssetSiteAssignment],
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "availability": "READY_TO_USE",
  "hasCheckRules": true,
  "manuals": [Document],
  "activeSiteAssignment": AssetSiteAssignment,
  "lastCheck": Event,
  "lastChecks": [Event],
  "primaryServicePackage": ServicePackageWithSourceType,
  "costs": [CostLine],
  "operationalCosts": [Cost],
  "previousSiteId": HashedId,
  "site": Site,
  "assignedToPreviousSite": Site,
  "countNonArchivedSiteAssignments": 123
}

QrLandingProcedureFormData

Description

Qr landing procedure form data record

Fields
Field Name Description
service - QrLandingService! Service
asset - QrLandingAsset Associated asset
site - Site Associated site
event - Event Associated event
Example
{
  "service": QrLandingService,
  "asset": QrLandingAsset,
  "site": Site,
  "event": Event
}

QrLandingRule

Description

Qr landing rule record

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
title - Translation Title text
description - Translation Translatable description text explaining the purpose of this rule
createdByUser - User Created by user
createdByGroup - Group Created by group
assignedToGroup - Group Assigned to group
titleId - HashedId Title identifier
descriptionId - HashedId Description identifier
createdByGroupId - HashedId Created by group identifier
createdByUserId - HashedId! Created by user identifier
assignedToGroupId - HashedId! Group the record is assigned to
eventType - EventTypeEnum! Event type
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! Whether immediate notification
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. Use "deleted" instead
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.
isCheckAllowedForUnauthorizedUsers - Boolean! This setting allows anyone to execute the check and allow changes to the connected asset
purpose - RulePurpose System-set flag, denoting automatically created rules through associated functions, like asset working hours
services - [Service!]! Services linked to this qr landing rule
Arguments
search - String!

Text search query for filtering results

limit - Int!

Maximum number of results to return

filters - RuleServicesFilterArgs

Filter criteria

Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "title": Translation,
  "description": Translation,
  "createdByUser": User,
  "createdByGroup": Group,
  "assignedToGroup": Group,
  "titleId": HashedId,
  "descriptionId": HashedId,
  "createdByGroupId": HashedId,
  "createdByUserId": HashedId,
  "assignedToGroupId": HashedId,
  "eventType": "ERROR",
  "isCritical": true,
  "isOnetime": false,
  "isImmediateNotification": true,
  "isGlobalRule": false,
  "manualDeactivation": true,
  "isArchived": false,
  "isOneshot": true,
  "isActive": false,
  "source": "DATA",
  "enabled": true,
  "isCheckAllowedForUnauthorizedUsers": false,
  "purpose": "GEOFENCE",
  "services": [Service]
}

QrLandingService

Description

Qr landing service record

Fields
Field Name Description
titleId - HashedId! References the i18n translation key used to resolve the localized service display name
procedureTemplateId - HashedId Procedure template identifier
assigneeAutomation - AssigneeAutomation! Rule governing automatic ticket handler assignment when a ticket is created from this service
preset - ServicePreset! Predefined configuration template applied to this service (e.g. regular, BLE, QR landing)
type - ServiceType! Classification that determines service behavior, such as regular form, BLE interaction, QR landing page, or Jotform integration
iconUrl - String URL to the icon image displayed alongside this service in the UI
isServiceCheck - Boolean! Whether this service acts as a periodic maintenance check rather than a one-time request
createdByGroupId - HashedId! Created by group identifier
title - Translation! Translated name of the qr landing service
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
procedureTemplate - ProcedureTemplate Procedure Template for this qr landing service
servicePartner - AvailableHandler Services linked to this qr landing service
availableHandlers - [ServiceTicketHandler!]! Available Handlers for this qr landing service
Example
{
  "titleId": HashedId,
  "procedureTemplateId": HashedId,
  "assigneeAutomation": "SUGGESTED_PARTNER",
  "preset": "BLE",
  "type": "JOT_FORM",
  "iconUrl": "abc123",
  "isServiceCheck": true,
  "createdByGroupId": HashedId,
  "title": Translation,
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "procedureTemplate": ProcedureTemplate,
  "servicePartner": AvailableHandler,
  "availableHandlers": [ServiceTicketHandler]
}

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! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
forGroupId - HashedId! Identifier of the parent group this registration is requested under
firstname - String First name of the requesting user
lastname - String Last name of the requesting user
email - String! Email address
phone - String Phone number
companyAddress - String! Company address of the requesting organization
customerNumber - String Customer number
dealerName - String Dealer name
groupName - String! Group name
acceptedTermsVersionId - HashedId Accepted terms version identifier
salesRepresentative - String Sales representative
vatNumber - String VAT number of the requesting organization
languageId - HashedId! Language preference identifier
isProcessed - Boolean! Whether this request has been reviewed and processed
isActive - Boolean! Whether this record is currently active
resultingUserId - HashedId Resulting user identifier
isDenied - Boolean! Whether this request was denied by an administrator
denialMessage - String Denial message
processedByUserId - HashedId Processed by user identifier
resultingGroupId - HashedId Resulting group identifier
assetsCount - Int! Number of assets
forGroup - Group! Parent group this registration was requested under
resultingUser - User User account created as a result of processing this request
processedByUser - User Administrator who processed this registration request
resultingGroup - Group Organization group created as a result of processing this request
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "forGroupId": HashedId,
  "firstname": "xyz789",
  "lastname": "abc123",
  "email": "xyz789",
  "phone": "xyz789",
  "companyAddress": "abc123",
  "customerNumber": "abc123",
  "dealerName": "abc123",
  "groupName": "abc123",
  "acceptedTermsVersionId": HashedId,
  "salesRepresentative": "abc123",
  "vatNumber": "xyz789",
  "languageId": HashedId,
  "isProcessed": false,
  "isActive": true,
  "resultingUserId": HashedId,
  "isDenied": true,
  "denialMessage": "abc123",
  "processedByUserId": HashedId,
  "resultingGroupId": HashedId,
  "assetsCount": 123,
  "forGroup": Group,
  "resultingUser": User,
  "processedByUser": User,
  "resultingGroup": Group
}

RelatedGroup

Description

Group assignment linking an asset to an organization

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
name - String! Human-readable label used to identify the group in the UI
depth - Int! Hierarchy depth of this group assignment
Example
{
  "id": HashedId,
  "name": "abc123",
  "depth": 123
}

RemoveAssetFromRuleInput

Description

Input data for removing an asset from a rule

Fields
Input Field Description
ruleId - HashedId! Rule identifier
assetId - HashedId! Asset identifier
Example
{
  "ruleId": HashedId,
  "assetId": HashedId
}

RequestForAsset

Description

Input to register a new asset access request

Fields
Input Field Description
serial - String! Serial number of the asset
permalink - String! Permanent link URL for the request page
document - Upload! Verification document file upload
Example
{
  "serial": "abc123",
  "permalink": "xyz789",
  "document": Upload
}

RequestGroupInput

Description

Request group Input data for registration request process target group

Fields
Input Field Description
id - HashedId Unique identifier of the entity
name - String Display name
isCustomer - Boolean Whether this represents a customer
parentGroupId - HashedId Parent group identifier in the hierarchy
customerNumber - String Customer number
vatNumber - String Vat number
Example
{
  "id": HashedId,
  "name": "abc123",
  "isCustomer": true,
  "parentGroupId": HashedId,
  "customerNumber": "xyz789",
  "vatNumber": "xyz789"
}

RescheduledEventDataDto

Description

Details of a rescheduling action, capturing the date change, who performed it, and when

Fields
Field Name Description
noteId - Int Note attached to explain the reason for rescheduling
byUserId - Int User who performed the rescheduling
newDate - Timestamp! Date the event was rescheduled to
oldDate - Timestamp! Original date before rescheduling
created - Timestamp! When this rescheduling action was recorded
Example
{
  "noteId": 987,
  "byUserId": 987,
  "newDate": 1592577642,
  "oldDate": 1592577642,
  "created": 1592577642
}

Reservation

Description

A time-bound booking of an asset for planned usage

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
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!]! IDs of assets assigned to this reservation
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 Notes identifier
createdByUser - User User who created this reservation
createdByUserId - HashedId! Created by user identifier
createdByGroup - Group! Organization group that owns this reservation
createdByGroupId - HashedId! Created by group identifier
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "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
}

ResolvedIntegrationUser

Description

User and group context resolved from an integration for sync authentication

Fields
Field Name Description
userId - HashedId! User resolved for sync authentication
groupId - HashedId! Group the integration is scoped to
treeRootGroupId - HashedId Root group of the organization tree for multi-tenant isolation
Example
{
  "userId": HashedId,
  "groupId": HashedId,
  "treeRootGroupId": HashedId
}

RestrictedServicePackage

Description

Place holder for a service package that the user is not allowed to see, but still needs to be acknowledged by front end

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
restrictionReason - ServicePackageRestrictionReason! Restriction reason
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "restrictionReason": "NOT_IN_CUSTOMER_TREE"
}

Role

Description

A permission role defining what actions a user can perform

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
groupId - HashedId Owned by group identifier
key - RoleKey! Unique lookup key
nameId - HashedId Name identifier
name - Translation Translated name of the role
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "groupId": HashedId,
  "key": "SuperUser",
  "nameId": HashedId,
  "name": Translation
}

RoleKey

Description

Authorization role levels that determine user permissions, ranging from standard users with limited access to admin users with full management capabilities

Values
Enum Value Description

SuperUser

EditorUser

User

ToolSenseUser

Example
"SuperUser"

RoomStatusEnum

Description

Housekeeping status of a room asset indicating its cleanliness and readiness state, from inspected and clean through to out of service

Values
Enum Value Description

Inspected

Clean

Pickup

Dirty

OutOfOrder

OutOfService

Example
"Inspected"

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! Unix timestamp when this waypoint was recorded
Example
{
  "id": 987,
  "lat": 987.65,
  "lng": 123.45,
  "distance": 123.45,
  "speed": 987.65,
  "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
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
title - Translation Translated name of the rule
description - Translation
createdByUser - User Created by user
createdByGroup - Group Group that created this rule
assignedToGroup - Group Group this rule is assigned to
eventStyle - EventStyle! Visual style for the event created by this rule. Defines custom ui display like color, icon url.
titleId - HashedId Title identifier
descriptionId - HashedId Description identifier
createdByGroupId - HashedId Created by group identifier
createdByUserId - HashedId! Created by user identifier
assignedToGroupId - HashedId! Group the record is assigned to
eventStyleId - HashedId! Event style identifier Use eventType instead
eventType - EventTypeEnum! Event type
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! Whether immediate notification
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. Use "deleted" instead
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.
isCheckAllowedForUnauthorizedUsers - Boolean! This setting allows anyone to execute the check and allow changes to the connected asset
purpose - RulePurpose System-set flag, denoting automatically created rules through associated functions, like asset working hours
definition - JSON! Condition logic tree defining when this rule triggers
relations - [RuleRelation!] Asset type and asset associations for this rule
eventsConfigs - [EventConfig!] Events configs
Arguments
assetId - HashedId

Filter events configs to a specific asset

services - [Service!]! Services linked to this rule (deprecated, use servicesV2) Use servicesV2 instead
checkAssetsPaginated - PaginatedRuleCheckAssets! Paginated assets with event configs for this check rule
Arguments
pagination - PaginationParams!

Pagination

search - String

Text search query for filtering results

filters - [FilterParamsInput]

Filter criteria

publicId - String! Public identifier for this rule
relationsV2 - [RuleRelation!] Relations for this rule excluding individual asset relations. Use checkAssetsPaginated field for paginated asset relations
sendNotificationsTo - [RuleNotificationRelation!] Send Notifications To for this rule
servicesV2 - [Service!]! Services linked to this rule
Arguments
search - String!

Text search query for filtering results

limit - Int!

Maximum number of results to return

filters - RuleServicesFilterArgs

Filter criteria

assetBlacklist - [Asset!] Assets excluded from this rule
Example
{
  "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,
  "eventType": "ERROR",
  "isCritical": true,
  "isOnetime": false,
  "isImmediateNotification": true,
  "isGlobalRule": false,
  "manualDeactivation": true,
  "isArchived": true,
  "isOneshot": true,
  "isActive": false,
  "source": "DATA",
  "enabled": false,
  "isCheckAllowedForUnauthorizedUsers": false,
  "purpose": "GEOFENCE",
  "definition": {},
  "relations": [RuleRelation],
  "eventsConfigs": [EventConfig],
  "services": [Service],
  "checkAssetsPaginated": PaginatedRuleCheckAssets,
  "publicId": "xyz789",
  "relationsV2": [RuleRelation],
  "sendNotificationsTo": [RuleNotificationRelation],
  "servicesV2": [Service],
  "assetBlacklist": [Asset]
}

RuleBlock

Description

Rule block record

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
title - Translation Translated name of the rule block
titleId - HashedId Title identifier
type - RuleBlockType! Type category
parameterIdPreset - HashedId! Default parameter ID assigned to this block type
op - String! Comparison operator for condition evaluation
settings - JSON! Configuration settings
source - RuleSource! Evaluation source this block is compatible with
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "title": Translation,
  "titleId": HashedId,
  "type": "parameter_stringequality",
  "parameterIdPreset": HashedId,
  "op": "abc123",
  "settings": {},
  "source": "DATA"
}

RuleBlockType

Description

Type of evaluation block within a rule, defining the specific condition logic such as parameter math comparisons, string equality checks, null checks, binary value decoding, time-based contract intervals, geofence boundary checks, or working hours schedule validation

Values
Enum Value Description

parameter_stringequality

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

parameter_isnull

True if the source parameter is not defined or has a null/0 value. 'compareTo' is ignored. See parameter_math for full description.

parameter_binaryvalue

Checks summarized binary error values against pow2 hex codes — common in electronics. Compares a binary value to target hex values that must be powers of 2 (e.g. 0x40 = 64 = 1000000). A single data value may trigger multiple matches (e.g. 64, 16, 4). See parameter_math for full description.

parameter_math

Math equation for parameter comparison. Supported comparisons: =, >, <, <=, >=, !=. Use 'compareSource' and 'compareTo' to define the data objects or values being compared. Supports timespans like '4d,5h', parameterId references, and 'matchCount' logic for multi-pack evaluation. An optional 'difference' property can be used to compare differences instead of raw values.

contractInterval_service

Checks whether the service start is older than a defined frequency amount. Usable date units: m, h, d, w, M, y (minute, hour, day, week, month, year). Example: { frequency: '2m' }

contractInterval_creation

Same as contractInterval_service, but checks the creation date instead of the service start.

contractInterval_serviceOrCreation

Same as contractInterval_service, but checks both creation date and service start date.

geofence

Checks whether the asset's reported location is within a static boundary. Supported comparisons: '=', '!='. Example: { shape: { type: 'circle', radius: 1000, coordinates: [{ latitude: 50.106549, longitude: 8.634346 }] }, comparison: '=' }

workinghours

Inspects whether an asset reported activity outside a defined weekly schedule. True if asset activity occurs outside allowed timespans. Example: {activityParameterId: 123, weekdays:{0:[[21600000,64800000]],1:[[21600000,64800000]],2:[],3:[],4:[],5:[],6:[]}}
Example
"parameter_stringequality"

RuleCheckAsset

Description

Rule check asset with event config record

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
ruleId - HashedId! Rule identifier
assetId - HashedId! Asset identifier
lastEvent - DateTime Timestamp of the most recent event triggered for this asset
nextEvent - DateTime! Scheduled timestamp for the next rule evaluation on this asset
asset - Asset! Asset details
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "ruleId": HashedId,
  "assetId": HashedId,
  "lastEvent": "2007-12-03T10:15:30Z",
  "nextEvent": "2007-12-03T10:15:30Z",
  "asset": Asset
}

RuleDefinition

Description

Rule definition record

Fields
Field Name Description
op - String! Logical operator applied to child items (and, or, not)
type - RuleDefinitionType Type category
items - [RuleDefinition!] Child nodes forming the branches of this logic tree
settings - RuleDefinitionSettings! Configuration settings
locked - Boolean Whether this definition node is locked from editing
Example
{
  "op": "xyz789",
  "type": "CONTRACT_INTERVAL_SERVICE",
  "items": [RuleDefinition],
  "settings": RuleDefinitionSettings,
  "locked": false
}

RuleDefinitionSettings

Description

Rule definition settings record

Fields
Field Name Description
compareTo - RuleDefinitionSettingsCompareTo Threshold value and unit to compare asset data against
displayUnit - UnitEnum Unit used for displaying the comparison value in the UI
comparison - RuleDefinitionSettingsComparison Comparison operator such as equals, greater than, or less than
compareSource - DefinitionCompareSource Source parameter providing live asset data to compare
sourceReference - RuleDefinitionSourceReference External parameter reference for cross-parameter comparisons
shape - RuleDefinitionSettingsShape Geofence shape definition with coordinates and optional radius
geofenceAlert - RuleGeofenceAlert Alert type triggered when an asset enters or exits the geofence
ruleId - Int Rule identifier
activityParameterId - String Activity parameter identifier
frequency - String Recurrence interval for time-based checks
subType - String Specific variation within the block type
matchCount - Int Consecutive data points required before triggering
activityParameterSavedName - String Cached display name of the activity parameter
weekdays - [Int!] Working hours time ranges per weekday
Example
{
  "compareTo": RuleDefinitionSettingsCompareTo,
  "displayUnit": "AMPERE_HOURS",
  "comparison": "EQUAL",
  "compareSource": DefinitionCompareSource,
  "sourceReference": RuleDefinitionSourceReference,
  "shape": RuleDefinitionSettingsShape,
  "geofenceAlert": "ENTER",
  "ruleId": 987,
  "activityParameterId": "abc123",
  "frequency": "xyz789",
  "subType": "xyz789",
  "matchCount": 123,
  "activityParameterSavedName": "xyz789",
  "weekdays": [987]
}

RuleDefinitionSettingsCompareTo

Description

Threshold target value and unit for a rule condition comparison

Fields
Field Name Description
value - Int! Numeric threshold value the asset data is compared against
displayUnit - UnitEnum Display unit
Example
{"value": 987, "displayUnit": "AMPERE_HOURS"}

RuleDefinitionSettingsComparison

Description

Mathematical comparison operator used in rule definition settings to evaluate sensor data or parameter values against thresholds (e.g. equal, not equal, greater, less, greater or equal, less or equal, every)

Values
Enum Value Description

EQUAL

NOT_EQUAL

GREATER

LESS

GREATER_OR_EQUAL

LESS_OR_EQUAL

EVERY

Example
"EQUAL"

RuleDefinitionSettingsShape

Description

Rule definition settings shape record

Fields
Field Name Description
type - RuleGeofenceType! Type category
radius - Int Radius in meters for circular geofence shapes
coordinates - [Coordinates!]! GPS coordinates defining the geofence boundary points
Example
{
  "type": "CIRCLE",
  "radius": 123,
  "coordinates": [Coordinates]
}

RuleDefinitionSourceReference

Description

Reference to an external parameter for cross-parameter rule comparisons

Fields
Field Name Description
target - String! Time window or scope for the referenced parameter data
parameterId - Int! Parameter identifier
Example
{"target": "abc123", "parameterId": 123}

RuleDefinitionType

Description

Classification of a rule definition that determines the evaluation logic, such as time-based contract intervals since last service or creation, mathematical parameter comparisons, binary value checks, next inspection checks, geofence boundary monitoring, or working hours tracking

Values
Enum Value Description

CONTRACT_INTERVAL_SERVICE

CONTRACT_INTERVAL_CREATION

CONTRACT_INTERVAL_SERVICE_OR_CREATION

PARAMETER_MATH

CHECK_INTERVAL

PARAMETER_BINARY_VALUE

GEOFENCE

WORKING_HOURS

Example
"CONTRACT_INTERVAL_SERVICE"

RuleEntry

Description

A single condition or action step within an automation rule

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
type - RuleEntryType! Type category
createdByUserId - HashedId! Created by user identifier
createdByGroupId - HashedId! Created by group identifier
groupId - HashedId! Group identifier
subType - RuleEntrySubType! Sub type
isCheckAllowedForUnauthorizedUsers - Boolean! Whether check allowed for unauthorized users
geofenceSiteId - HashedId ID of the site used for geofence-based triggering
workingHoursAssetId - HashedId ID of the asset whose working hours define the evaluation window
activatedAt - DateTime Timestamp when this rule entry was activated
isAssetTriggerForCustomers - Boolean! Whether triggers are visible to customer users
assetFilters - [Filters!]! Asset filters
isForAllAssets - Boolean! Whether this rule entry applies to all assets in the group
isAssetAssignNew - Boolean! Whether newly created assets are automatically included
isAssetVehicle - Boolean Whether this rule entry targets vehicle assets
assetGroupId - HashedId Asset group identifier
isScheduleFixed - Boolean Whether the schedule uses fixed calendar dates
scheduleStartAt - DateTime Fixed start date for the schedule evaluation
scheduleStartPointField - RuleEntryScheduleStartPoint Asset field used as dynamic start point for schedule calculation
scheduleStartPointFallback - RuleEntryScheduleStartPointFallback Fallback behavior when the start point field has no value
scheduleStartPointCustomFieldId - HashedId Schedule start point custom field identifier
isScheduleManualDeactivation - Boolean! Whether triggered events require manual deactivation
hasNotification - Boolean! Whether notifications are enabled for this rule entry
hasNotificationCritical - Boolean! Whether triggered notifications are marked as critical
hasNotificationImmediate - Boolean! Whether notifications are sent immediately upon triggering
hasNotificationEmail - Boolean! Whether email notifications are enabled
hasNotificationPush - Boolean! Whether push notifications are enabled
hasNotificationOnNewAsset - Boolean! Whether notifications fire when a new asset matches this rule
hasNotificationTimingBeforeDue - Boolean! Whether advance reminders are sent before the due date
hasNotificationTimingWhenDue - Boolean! Whether notifications are sent when the due date arrives
createdByGroup - Group! Group that created this rule entry
group - Group! Group this rule entry belongs to
assetGroup - Group Group associated with this rule entry for scope-based rule evaluation
workingHoursAsset - Asset Asset whose working hours are tracked by this rule entry
createdByUser - User! User who created this rule entry
site - Site Site associated with this rule entry
scheduleStartPointCustomField - CustomField Custom fields for this rule entry
name - Translation! Translated title
description - Translation! Translated description
manuallyAddedAssets - [Asset!]! Documents attached to this rule entry
scheduleTriggers - [RuleEntryScheduleTrigger!]! Schedule Triggers for this rule entry
notificationRecipients - [RuleEntryNotificationRecipient!]! Notification Recipients for this rule entry
notificationTimings - [RuleEntryNotificationTiming!]! Notification Timings for this rule entry
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "type": "INSPECTION",
  "createdByUserId": HashedId,
  "createdByGroupId": HashedId,
  "groupId": HashedId,
  "subType": "ERROR",
  "isCheckAllowedForUnauthorizedUsers": true,
  "geofenceSiteId": HashedId,
  "workingHoursAssetId": HashedId,
  "activatedAt": "2007-12-03T10:15:30Z",
  "isAssetTriggerForCustomers": false,
  "assetFilters": [Filters],
  "isForAllAssets": false,
  "isAssetAssignNew": false,
  "isAssetVehicle": true,
  "assetGroupId": HashedId,
  "isScheduleFixed": false,
  "scheduleStartAt": "2007-12-03T10:15:30Z",
  "scheduleStartPointField": "CUSTOM_FIELD",
  "scheduleStartPointFallback": "USE_CREATED_DATE",
  "scheduleStartPointCustomFieldId": HashedId,
  "isScheduleManualDeactivation": false,
  "hasNotification": false,
  "hasNotificationCritical": false,
  "hasNotificationImmediate": true,
  "hasNotificationEmail": true,
  "hasNotificationPush": false,
  "hasNotificationOnNewAsset": false,
  "hasNotificationTimingBeforeDue": true,
  "hasNotificationTimingWhenDue": true,
  "createdByGroup": Group,
  "group": Group,
  "assetGroup": Group,
  "workingHoursAsset": Asset,
  "createdByUser": User,
  "site": Site,
  "scheduleStartPointCustomField": CustomField,
  "name": Translation,
  "description": Translation,
  "manuallyAddedAssets": [Asset],
  "scheduleTriggers": [RuleEntryScheduleTrigger],
  "notificationRecipients": [
    RuleEntryNotificationRecipient
  ],
  "notificationTimings": [RuleEntryNotificationTiming]
}

RuleEntryCreateInput

Description

Data required to create a new rule entry

Fields
Input Field Description
type - RuleEntryType! Type category
subType - RuleEntrySubType! Sub type
isCheckAllowedForUnauthorizedUsers - Boolean Whether check allowed for unauthorized users
isForAllAssets - Boolean Whether this rule entry applies to all assets in the group
isAssetAssignNew - Boolean Whether newly created assets are automatically included
isAssetVehicle - Boolean Whether this rule entry targets vehicle assets
assetGroupId - HashedId Asset group identifier
isScheduleFixed - Boolean Whether the schedule uses fixed calendar dates
scheduleStartAt - DateTime Fixed start date for the schedule evaluation
scheduleStartPointField - RuleEntryScheduleStartPoint Asset field used as dynamic start point for schedule calculation
scheduleStartPointFallback - RuleEntryScheduleStartPointFallback Fallback behavior when the start point field has no value
hasNotification - Boolean Whether notifications are enabled for this rule entry
hasNotificationEmail - Boolean Whether email notifications are enabled
hasNotificationPush - Boolean Whether push notifications are enabled
hasNotificationOnNewAsset - Boolean Whether notifications fire when a new asset matches this rule
hasNotificationTimingBeforeDue - Boolean Whether advance reminders are sent before the due date
hasNotificationTimingWhenDue - Boolean Whether notifications are sent when the due date arrives
name - TranslationInput! Display name
description - TranslationInput! Human-readable description
assetFilters - [FilterParamsInput!] Asset filters
manuallyAddedAssetIds - [HashedId!] Manually added asset identifiers
scheduleTriggers - [RuleEntryScheduleTriggerCreateInput!] Schedule triggers
notificationRecipients - [RuleEntryNotificationRecipientCreateInput!] Notification recipients
notificationTimings - [RuleEntryNotificationTimingCreateInput!] Notification timings
Example
{
  "type": "INSPECTION",
  "subType": "ERROR",
  "isCheckAllowedForUnauthorizedUsers": false,
  "isForAllAssets": false,
  "isAssetAssignNew": true,
  "isAssetVehicle": true,
  "assetGroupId": HashedId,
  "isScheduleFixed": true,
  "scheduleStartAt": "2007-12-03T10:15:30Z",
  "scheduleStartPointField": "CUSTOM_FIELD",
  "scheduleStartPointFallback": "USE_CREATED_DATE",
  "hasNotification": false,
  "hasNotificationEmail": false,
  "hasNotificationPush": true,
  "hasNotificationOnNewAsset": true,
  "hasNotificationTimingBeforeDue": true,
  "hasNotificationTimingWhenDue": false,
  "name": TranslationInput,
  "description": TranslationInput,
  "assetFilters": [FilterParamsInput],
  "manuallyAddedAssetIds": [HashedId],
  "scheduleTriggers": [
    RuleEntryScheduleTriggerCreateInput
  ],
  "notificationRecipients": [
    RuleEntryNotificationRecipientCreateInput
  ],
  "notificationTimings": [
    RuleEntryNotificationTimingCreateInput
  ]
}

RuleEntryNotificationRecipient

Description

A user, team, or entity configured to receive rule entry notifications

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
ruleId - HashedId! Rule identifier
userId - HashedId User identifier
teamId - HashedId Team identifier
email - String Email address
isSiteManager - Boolean! Whether the site manager receives notifications
groupTicketHandlerId - HashedId Group ticket handler identifier
hasNotificationOnNewAsset - Boolean! Whether the record has notification on new asset
user - User Associated user
groupTicketHandler - GroupTicketHandler Group Ticket Handler for this rule entry notification recipient
team - Team Team assigned to this rule entry notification recipient
triggerConfigurations - [RuleEntryNotificationRecipientTriggerConfiguration!]! Trigger Configurations for this rule entry notification recipient
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "ruleId": HashedId,
  "userId": HashedId,
  "teamId": HashedId,
  "email": "abc123",
  "isSiteManager": true,
  "groupTicketHandlerId": HashedId,
  "hasNotificationOnNewAsset": false,
  "user": User,
  "groupTicketHandler": GroupTicketHandler,
  "team": Team,
  "triggerConfigurations": [
    RuleEntryNotificationRecipientTriggerConfiguration
  ]
}

RuleEntryNotificationRecipientCreateInput

Description

Data required to create a new rule entry notification recipient

Fields
Input Field Description
userId - HashedId User identifier
teamId - HashedId Team identifier
email - String Email address
isSiteManager - Boolean Whether the site manager receives notifications
groupTicketHandlerId - HashedId Group ticket handler identifier
hasNotificationOnNewAsset - Boolean Whether the record has notification on new asset
triggerConfigurations - [RuleEntryNotificationRecipientTriggerConfigurationCreateInput!]! Trigger configurations
Example
{
  "userId": HashedId,
  "teamId": HashedId,
  "email": "xyz789",
  "isSiteManager": false,
  "groupTicketHandlerId": HashedId,
  "hasNotificationOnNewAsset": false,
  "triggerConfigurations": [
    RuleEntryNotificationRecipientTriggerConfigurationCreateInput
  ]
}

RuleEntryNotificationRecipientTriggerConfiguration

Description

Configuration linking a notification recipient to a schedule trigger

Fields
Field Name Description
notificationRecipientId - HashedId! Notification recipient identifier
triggerId - HashedId! Trigger identifier
enabledAt - DateTime Timestamp when this link was activated, null if disabled
triggerClientId - Int! Trigger Client Id for this rule entry notification recipient trigger configuration
Example
{
  "notificationRecipientId": HashedId,
  "triggerId": HashedId,
  "enabledAt": "2007-12-03T10:15:30Z",
  "triggerClientId": 987
}

RuleEntryNotificationRecipientTriggerConfigurationCreateInput

Description

Data required to create a new rule entry notification recipient trigger configuration

Fields
Input Field Description
enabledAt - DateTime Timestamp when this link was activated, null if disabled
triggerClientId - Int! Client-generated ID of the schedule trigger to link
Example
{
  "enabledAt": "2007-12-03T10:15:30Z",
  "triggerClientId": 987
}

RuleEntryNotificationTiming

Description

Rule entry notification timing record

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
ruleId - HashedId! Rule identifier
triggerId - HashedId! Trigger identifier
isBeforeDue - Boolean! Whether this fires before the due date (true) or when due (false)
timeUnit - RuleEntryScheduleTriggerDateUnit Time unit
timeValue - Int Number of time units before or at due date
order - Int! Sort order position
triggerClientId - Int! Trigger Client Id for this rule entry notification timing
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "ruleId": HashedId,
  "triggerId": HashedId,
  "isBeforeDue": true,
  "timeUnit": "DAYS",
  "timeValue": 987,
  "order": 123,
  "triggerClientId": 987
}

RuleEntryNotificationTimingCreateInput

Description

Data required to create a new rule entry notification timing

Fields
Input Field Description
isBeforeDue - Boolean! Whether this fires before the due date (true) or when due (false)
order - Int! Sort order position
timeUnit - RuleEntryScheduleTriggerDateUnit Time unit
timeValue - Int Number of time units before or at due date
triggerClientId - Int! Client-generated ID of the schedule trigger this timing applies to
Example
{
  "isBeforeDue": false,
  "order": 987,
  "timeUnit": "DAYS",
  "timeValue": 987,
  "triggerClientId": 987
}

RuleEntryPaginatedResult

Description

Rule entry paginated result record

Fields
Field Name Description
meta - PaginationMeta! Pagination metadata including total count and page info
total - Int! Total number of rule entries matching the query
rows - [RuleEntry!]! List of records for the current page
Example
{
  "meta": PaginationMeta,
  "total": 123,
  "rows": [RuleEntry]
}

RuleEntryScheduleStartPoint

Description

Reference date from which a recurring rule entry schedule begins, such as asset creation date, commission date, leasing start/end, purchase warranty dates, or a custom date/field

Values
Enum Value Description

CUSTOM_FIELD

CUSTOM_DATE

CREATED

COMMISSION_DATE

LEASING_START

LEASING_END

LEASING_RENEWAL_DATE

PURCHASE_START

PURCHASE_WARRANTY_START

PURCHASE_WARRANTY_END

RENTAL_START

RENTAL_END

RENTAL_RENEWAL_DATE

SERVICE_CONTRACT_START

SERVICE_CONTRACT_END

CREATED_OR_SERVICE_CONTRACT_START

Example
"CUSTOM_FIELD"

RuleEntryScheduleStartPointFallback

Description

Fallback behavior when the selected start point field has no value for an asset, either using the asset creation date or excluding the asset from the schedule

Values
Enum Value Description

USE_CREATED_DATE

EXCLUDE

Example
"USE_CREATED_DATE"

RuleEntryScheduleTrigger

Description

Rule entry schedule trigger record

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
clientId - Int! Client-generated ID for correlating triggers during creation
type - RuleEntryScheduleTriggerType Type category
isSingleExecution - Boolean! Whether this trigger fires only once instead of recurring
disabledAt - DateTime Timestamp when this trigger was disabled, null if active
order - Int! Sort order position
date - DateTime Specific calendar date for date-based triggers
dateUnit - RuleEntryScheduleTriggerDateUnit Date unit
dateValue - Int Numeric interval value used with dateUnit for recurring schedules
datePatternType - RuleEntryScheduleTriggerDatePatternType Date pattern type
dateDayOfMonth - Int Day of the month for monthly triggers (1-31)
dateWeekday - Int Day of the week for weekly triggers (0=Sun through 6=Sat)
dateMonth - Int Month of the year for yearly triggers (1-12)
dateWeekPosition - Int Week position within the month for pattern triggers
name - Translation Translated title
description - Translation Translated description
services - [Service!]! Services linked to this rule entry schedule trigger
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "clientId": 987,
  "type": "TIME",
  "isSingleExecution": false,
  "disabledAt": "2007-12-03T10:15:30Z",
  "order": 987,
  "date": "2007-12-03T10:15:30Z",
  "dateUnit": "DAYS",
  "dateValue": 987,
  "datePatternType": "MONTHLY_DATE",
  "dateDayOfMonth": 987,
  "dateWeekday": 123,
  "dateMonth": 987,
  "dateWeekPosition": 123,
  "name": Translation,
  "description": Translation,
  "services": [Service]
}

RuleEntryScheduleTriggerCreateInput

Description

Data required to create a new rule entry schedule trigger

Fields
Input Field Description
clientId - Int! Client-generated ID for correlating triggers during creation
isSingleExecution - Boolean! Whether this trigger fires only once instead of recurring
order - Int! Sort order position
type - RuleEntryScheduleTriggerType Type category
disabledAt - DateTime Timestamp when this trigger was disabled, null if active
date - DateTime Specific calendar date for date-based triggers
dateUnit - RuleEntryScheduleTriggerDateUnit Date unit
dateValue - Int Numeric interval value used with dateUnit for recurring schedules
datePatternType - RuleEntryScheduleTriggerDatePatternType Date pattern type
dateDayOfMonth - Int Day of the month for monthly triggers (1-31)
dateWeekday - Int Day of the week for weekly triggers (0=Sun through 6=Sat)
dateMonth - Int Month of the year for yearly triggers (1-12)
dateWeekPosition - Int Week position within the month for pattern triggers
name - TranslationInput! Display name
description - TranslationInput! Human-readable description
serviceIds - [HashedId!] IDs of maintenance services to execute when this trigger fires
Example
{
  "clientId": 987,
  "isSingleExecution": false,
  "order": 987,
  "type": "TIME",
  "disabledAt": "2007-12-03T10:15:30Z",
  "date": "2007-12-03T10:15:30Z",
  "dateUnit": "DAYS",
  "dateValue": 123,
  "datePatternType": "MONTHLY_DATE",
  "dateDayOfMonth": 987,
  "dateWeekday": 123,
  "dateMonth": 123,
  "dateWeekPosition": 123,
  "name": TranslationInput,
  "description": TranslationInput,
  "serviceIds": [HashedId]
}

RuleEntryScheduleTriggerDatePatternType

Description

Recurrence pattern for custom schedule triggers, specifying whether the schedule repeats on a specific day of the month, a specific weekday of the month, a specific date each year, or a specific weekday each year

Values
Enum Value Description

MONTHLY_DATE

MONTHLY_WEEKDAY

YEARLY_DATE

YEARLY_WEEKDAY

Example
"MONTHLY_DATE"

RuleEntryScheduleTriggerDateUnit

Description

Calendar unit used to define the recurring interval for time-based rule entry schedule triggers (days, weeks, months, or years)

Values
Enum Value Description

DAYS

WEEKS

MONTHS

YEARS

Example
"DAYS"

RuleEntryScheduleTriggerType

Description

Mechanism that triggers a rule entry schedule, such as elapsed time intervals, asset usage thresholds, a combination of both, custom schedules, custom dates, geofence boundary crossings, or working hour violations

Values
Enum Value Description

TIME

USAGE

COMBINED

CUSTOM_SCHEDULE

CUSTOM_DATE

GEOFENCE

WORKING_HOURS

Example
"TIME"

RuleEntrySubType

Description

Severity or classification of a rule entry outcome, indicating whether the triggered event is an error, warning, informational notice, service reminder, machine check, or location update

Values
Enum Value Description

ERROR

WARNING

INFO

SERVICE

MACHINE_CHECK

LOCATION

Example
"ERROR"

RuleEntryType

Description

Category of automation rule entry such as inspection schedules, IoT sensor monitoring, geofence boundaries, or working hour tracking

Values
Enum Value Description

INSPECTION

IOT

GEOFENCE

WORKING_HOURS

Example
"INSPECTION"

RuleEntryView

Description

configuration for a rule entry 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! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
titleId - HashedId! 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 - ViewEntityEnum! type of entity that this view is for (e.g. ASSET)
displayMode - ViewDisplayMode! display mode that this view uses (e.g. MAP)
options - RuleEntryViewOptions! 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
title - Translation! User-defined name for this saved view
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "titleId": HashedId,
  "forEntity": "ASSET",
  "displayMode": "LIST",
  "options": RuleEntryViewOptions,
  "isActive": false,
  "isSystemView": false,
  "isShared": true,
  "isEditable": true,
  "isDeletable": false,
  "isShareable": false,
  "isUnsharedByParentGroup": false,
  "title": Translation
}

RuleEntryViewCreateInput

Description

input used to create a new rule entry view

Fields
Input Field Description
displayMode - ViewDisplayMode! display mode that this view uses (e.g. MAP)
options - RuleEntryViewOptionsInput! display options to be stored with this view
title - TranslationInput! Name to assign to the new saved view
Example
{
  "displayMode": "LIST",
  "options": RuleEntryViewOptionsInput,
  "title": TranslationInput
}

RuleEntryViewOptions

Description

Display settings for pagination, filters, and columns in a rule entry view

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

RuleEntryViewOptionsInput

Description

Pagination, filter, and column settings for a rule entry view

Fields
Input Field Description
filters - [FilterParamsInput] Filter criteria
search - String Text search query for filtering results
itemsPerPage - Int! number of rule entries per page in the view
columns - [String!]! ordered rule entry columns that are to be displayed in this view
Example
{
  "filters": [FilterParamsInput],
  "search": "abc123",
  "itemsPerPage": 123,
  "columns": ["abc123"]
}

RuleEntryViewUpdateInput

Description

input for updating a rule entry view

Fields
Input Field Description
id - HashedId! Unique identifier of the entity
displayMode - ViewDisplayMode! display mode that this view uses (e.g. MAP)
options - RuleEntryViewOptionsInput! options for displaying rule entries in this view
title - TranslationInput! Updated name for the saved view
Example
{
  "id": HashedId,
  "displayMode": "LIST",
  "options": RuleEntryViewOptionsInput,
  "title": TranslationInput
}

RuleGeofenceAlert

Description

Geofence crossing direction that triggers an alert: when an asset enters the boundary, exits it, or either enters or exits

Values
Enum Value Description

ENTER

EXIT

ENTER_EXIT

Example
"ENTER"

RuleGeofenceType

Description

Geometric shape used to define a geofence boundary on the map for location-based rule monitoring (circle, rectangle, or polygon)

Values
Enum Value Description

CIRCLE

RECTANGLE

POLYGON

Example
"CIRCLE"

RuleInterval

Description

Legacy time intervals for scheduled rule execution: yearly, monthly, or daily

Values
Enum Value Description

y

M

d

Example
"y"

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": "abc123",
  "relationId": HashedId
}

RuleNotificationRelationInput

Description

Rule notification relation Input data for rule notification relation

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

Description

Specifies the recipient type for rule notifications: external email address, site manager of the related site, or a specific user

Values
Enum Value Description

EXTERNALEMAIL

SITEMANAGER

USERID

Example
"EXTERNALEMAIL"

RulePurpose

Description

Classifies the functional purpose of a rule, such as geofence boundary monitoring or working hours enforcement

Values
Enum Value Description

GEOFENCE

WORKINGHOURS

Example
"GEOFENCE"

RuleRelation

Description

Rule relation record

Fields
Field Name Description
relation - RuleRelationTypeEnum! Type of target this relation binds the rule to
allAssets - Boolean Whether this rule applies to all assets in the group
asset - Asset Associated asset
assetType - AssetType Asset type
reservationWorkinghours - Reservation Reservation whose working hours schedule is used by this rule
siteGeofence - Site Site whose geofence boundary is monitored by this rule
assetWorkinghours - Asset Asset whose working hours configuration is linked to this rule
Example
{
  "relation": "ALLASSETS",
  "allAssets": true,
  "asset": Asset,
  "assetType": AssetType,
  "reservationWorkinghours": Reservation,
  "siteGeofence": Site,
  "assetWorkinghours": Asset
}

RuleRelationInput

Description

Rule relation Input data for rule relations

Fields
Input Field Description
assetTypeIds - [HashedId!] Asset type identifiers
assetIds - [HashedId!] Asset identifiers
allAssets - Boolean All assets. Default = false
assetWorkinghoursIds - [HashedId!] Asset workinghours identifiers
siteGeofenceIds - [HashedId!] Site geofence identifiers
Example
{
  "assetTypeIds": [HashedId],
  "assetIds": [HashedId],
  "allAssets": true,
  "assetWorkinghoursIds": [HashedId],
  "siteGeofenceIds": [HashedId]
}

RuleRelationTypeEnum

Description

Defines how a rule is scoped to assets: all assets, a specific asset, an asset type, working hours tracking, reservation-based working hours, or site geofence boundaries

Values
Enum Value Description

ALLASSETS

ASSETID

ASSETTYPEID

ASSETWORKINGHOURS

RESERVATIONWORKINGHOURS

SITEGEOFENCE

Example
"ALLASSETS"

RuleServicesFilterArgs

Description

Filter criteria for narrowing down rule services.args results

Fields
Input Field Description
isServiceCheck - Boolean if true, only services that are service checks are returned
includeBle - Boolean Include Bluetooth Low Energy (BLE) services in results. Default = null
includeGeneralService - Boolean Include general-purpose services that are not tied to a specific service type. Default = null
includeRegularService - Boolean Include standard maintenance and repair services in results. Default = null
includeQrCodeLanding - Boolean Include QR code landing page services in results. Default = null
type - ServiceType Filter by service classification type. Default = JOT_FORM
itemType - ServiceItemType Filter by the entity type this service applies to (e.g. asset, site)
search - String Text search query for filtering results
Example
{
  "isServiceCheck": false,
  "includeBle": false,
  "includeGeneralService": true,
  "includeRegularService": false,
  "includeQrCodeLanding": false,
  "type": "JOT_FORM",
  "itemType": "general",
  "search": "xyz789"
}

RuleSource

Description

Identifies the trigger source for rule evaluation, such as incoming IoT data, scheduled intervals, checks, BLE proximity, or meter readings

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

BLE

METERREADING

Example
"DATA"

S3PresignedUrl

Fields
Field Name Description
url - String!
key - String!
expiresIn - Int!
publicUrl - String!
Example
{
  "url": "xyz789",
  "key": "xyz789",
  "expiresIn": 123,
  "publicUrl": "abc123"
}

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! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
titleId - HashedId! References the i18n translation key used to resolve the localized service display name
publicId - Int! Public numeric identifier
procedureTemplateId - HashedId Procedure template identifier
publicProcedureTemplateId - Int Public procedure template identifier
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. use preset instead
contentType - ServiceContentType Defines how to render the service, when requested. See ServiceContentType.
assigneeAutomation - AssigneeAutomation! Rule governing automatic ticket handler assignment when a ticket is created from this service
preset - ServicePreset! Predefined configuration template applied to this service (e.g. regular, BLE, QR landing)
type - ServiceType! Classification that determines service behavior, such as regular form, BLE interaction, QR landing page, or Jotform integration
iconUrl - String URL to the icon image displayed alongside this service in the UI
formId - String This is displayed for CRUD reference only. Do not utilize this id in any other way.
jotformId - String External Jotform form identifier linked to this service for data collection
jotformSource - String Origin URL or embed source for the linked Jotform form
isServiceCheck - Boolean! Whether this service acts as a periodic maintenance check rather than a one-time request
assigneeAutomationId - Int Assignee automation identifier use assigneeAutomation field instead
createdByGroupId - HashedId! Created by group identifier
belongsToGroupTypeId - HashedId Belongs to group type identifier
suggestedServicePartner - String Services linked to this service Use ticketHandlers field instead
servicePartner - AvailableHandler Services linked to this service
availableHandlers - [AvailableServiceHandlerDto!]! Available Handlers for this service
ticketHandlers - [ServiceTicketHandler!]! Ticket Handlers for this service
title - Translation Translated name of the service
servicePackage - ServicePackage! Service package for this service
servicePackages - [ServicePackage!]! Service package for this service
procedureTemplate - ProcedureTemplate Procedure Template for this service
deleted - Timestamp Soft deletion timestamp, null if active
createdByGroup - Group! Group this service belongs to
rules - [Rule!]! Rules associated with this service
canBeDeleted - Boolean! Whether this service can be deleted
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "titleId": HashedId,
  "publicId": 987,
  "procedureTemplateId": HashedId,
  "publicProcedureTemplateId": 987,
  "keys": ["abc123"],
  "contentType": "formHtml",
  "assigneeAutomation": "SUGGESTED_PARTNER",
  "preset": "BLE",
  "type": "JOT_FORM",
  "iconUrl": "xyz789",
  "formId": "xyz789",
  "jotformId": "abc123",
  "jotformSource": "abc123",
  "isServiceCheck": false,
  "assigneeAutomationId": 987,
  "createdByGroupId": HashedId,
  "belongsToGroupTypeId": HashedId,
  "suggestedServicePartner": "xyz789",
  "servicePartner": AvailableHandler,
  "availableHandlers": [AvailableServiceHandlerDto],
  "ticketHandlers": [ServiceTicketHandler],
  "title": Translation,
  "servicePackage": ServicePackage,
  "servicePackages": [ServicePackage],
  "procedureTemplate": ProcedureTemplate,
  "deleted": 1592577642,
  "createdByGroup": Group,
  "rules": [Rule],
  "canBeDeleted": false
}

ServiceContent

Description

Rendered HTML content of a service form for client display

Fields
Field Name Description
contentType - String! Format of the rendered content
content - String Content body or payload
Example
{
  "contentType": "xyz789",
  "content": "xyz789"
}

ServiceContentType

Description

Format types for service definition content, determining how the service form is rendered to the end user

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"

ServiceCreateInput

Description

Data required to create a new service

Fields
Input Field Description
assigneeAutomation - AssigneeAutomation! Rule governing automatic ticket handler assignment when a ticket is created from this service
preset - ServicePreset! Predefined configuration template applied to this service (e.g. regular, BLE, QR landing)
type - ServiceType! Classification that determines service behavior, such as regular form, BLE interaction, QR landing page, or Jotform integration
jotformId - String External Jotform form identifier linked to this service for data collection
procedureTemplateId - HashedId Procedure template identifier
iconUrl - String URL to the icon image displayed alongside this service in the UI
jotformSource - String Origin URL or embed source for the linked Jotform form
isServiceCheck - Boolean Whether this service acts as a periodic maintenance check rather than a one-time request
suggestedServicePartner - String Recommended external service partner name for handling tickets created from this service
title - TranslationInput! Localized display name for the new service
ticketHandlers - [ServiceTicketHandlerInput!] Handlers to assign for processing tickets created from this service
Example
{
  "assigneeAutomation": "SUGGESTED_PARTNER",
  "preset": "BLE",
  "type": "JOT_FORM",
  "jotformId": "abc123",
  "procedureTemplateId": HashedId,
  "iconUrl": "abc123",
  "jotformSource": "xyz789",
  "isServiceCheck": false,
  "suggestedServicePartner": "abc123",
  "title": TranslationInput,
  "ticketHandlers": [ServiceTicketHandlerInput]
}

ServiceItemType

Description

Defines the scope of a service item, indicating whether it applies to general information, a specific asset, or a specific site

Values
Enum Value Description

general

asset

site

Example
"general"

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! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
titleId - HashedId! Title identifier
createdByUserId - HashedId! Created by user identifier
createdByGroupId - HashedId! Created by group identifier
assignedSitesCount - Int! Total number of sites this service package is assigned to
assignedGroupsCount - Int! Total number of groups this service package is assigned to
restrictionReason - ServicePackageRestrictionReason Restriction reason
services - [Service!]! A list of services this servicePackage is attached to. See Services for more.
Arguments
search - String!

Text search query for filtering results

limit - Int!

Maximum number of results to return

filters - ServicePackageServicesFilterInput

Filter criteria

createdByGroup - Group! Created by group
title - Translation Translated name of the service package
createdByUser - User Created by user
deleted - Timestamp Soft deletion timestamp, null if active
canBeDeleted - Boolean! Checks if the service package can be deleted
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "titleId": HashedId,
  "createdByUserId": HashedId,
  "createdByGroupId": HashedId,
  "assignedSitesCount": 987,
  "assignedGroupsCount": 987,
  "restrictionReason": "NOT_IN_CUSTOMER_TREE",
  "services": [Service],
  "createdByGroup": Group,
  "title": Translation,
  "createdByUser": User,
  "deleted": 1592577642,
  "canBeDeleted": false
}

ServicePackageCreateInput

Description

Data required to create a new service package

Fields
Input Field Description
title - TranslationInput! Title text
Example
{"title": TranslationInput}

ServicePackageRestrictionReason

Description

Reasons why a service package cannot be used, such as the requesting group not being in the customer organization tree or not in the manufacturer organization tree

Values
Enum Value Description

NOT_IN_CUSTOMER_TREE

NOT_IN_MANUFACTURER_TREE

Example
"NOT_IN_CUSTOMER_TREE"

ServicePackageServicesFilterInput

Description

Filter criteria for narrowing down service package servicess.args results

Fields
Input Field Description
isServiceCheck - Boolean if true, only services that are service checks are returned
includeBle - Boolean Include Bluetooth Low Energy (BLE) services in results. Default = null
includeGeneralService - Boolean Include general-purpose services that are not tied to a specific service type. Default = null
includeRegularService - Boolean Include standard maintenance and repair services in results. Default = null
includeQrCodeLanding - Boolean Include QR code landing page services in results. Default = null
type - ServiceType Filter by service classification type. Default = JOT_FORM
itemType - ServiceItemType Filter by the entity type this service applies to (e.g. asset, site)
excludeQRLandingPage - Boolean Exclude QR code landing page services from results. Default = null
search - String Text search query for filtering results
Example
{
  "isServiceCheck": false,
  "includeBle": false,
  "includeGeneralService": false,
  "includeRegularService": true,
  "includeQrCodeLanding": true,
  "type": "JOT_FORM",
  "itemType": "general",
  "excludeQRLandingPage": true,
  "search": "abc123"
}

ServicePackageSourceTypeEnum

Description

Identifies the entity level from which a service package originates: organization group, asset type, asset category, or site

Values
Enum Value Description

GROUP

ASSET_TYPE

ASSET_CATEGORY

SITE

Example
"GROUP"

ServicePackageUnion

Example
ServicePackage

ServicePackageUpdateInput

Description

Fields to update on an existing service package

Fields
Input Field Description
title - TranslationInput Title text
Example
{"title": TranslationInput}

ServicePackageWithSourceType

Description

A container for service package and its sourceType - entity to which it is bound

Fields
Field Name Description
sourceType - ServicePackageSourceTypeEnum! Source type
servicePackage - ServicePackage! Service package
id - HashedId! Unique identifier
Example
{
  "sourceType": "GROUP",
  "servicePackage": ServicePackage,
  "id": HashedId
}

ServicePreset

Description

Predefined service configurations that determine the trigger mechanism: regular manual services, BLE beacon-triggered services, or QR code landing page services

Values
Enum Value Description

BLE

REGULAR

QR_LANDING

Example
"BLE"

ServiceTicketHandler

Description

Service ticket handler record

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
serviceId - HashedId! Service identifier
groupTicketHandlerId - HashedId Group ticket handler identifier
teamId - HashedId Team identifier
userId - HashedId User identifier
tag - TicketAssigneeTagEnum Classification tag or label
service - Service! Service
groupTicketHandler - GroupTicketHandler Group ticket handler
team - Team Associated team assigned to handle service tickets
user - User Associated user assigned to handle service tickets
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "serviceId": HashedId,
  "groupTicketHandlerId": HashedId,
  "teamId": HashedId,
  "userId": HashedId,
  "tag": "ASSIGNEE_1",
  "service": Service,
  "groupTicketHandler": GroupTicketHandler,
  "team": Team,
  "user": User
}

ServiceTicketHandlerInput

Description

Input data for service ticket handler

Fields
Input Field Description
groupTicketHandlerId - HashedId Group ticket handler identifier
teamId - HashedId Team identifier
userId - HashedId User identifier
tag - TicketAssigneeTagEnum Classification tag or label
Example
{
  "groupTicketHandlerId": HashedId,
  "teamId": HashedId,
  "userId": HashedId,
  "tag": "ASSIGNEE_1"
}

ServiceType

Description

Defines how a service collects data: via an embedded JotForm or a native procedure-based workflow

Values
Enum Value Description

JOT_FORM

PROCEDURE

Example
"JOT_FORM"

ServiceUpdateDeprecatedInput

Description

Fields to update on an existing service

Fields
Input Field Description
assigneeAutomation - AssigneeAutomation Rule governing automatic ticket handler assignment when a ticket is created from this service
preset - ServicePreset Predefined configuration template applied to this service (e.g. regular, BLE, QR landing)
type - ServiceType Classification that determines service behavior, such as regular form, BLE interaction, QR landing page, or Jotform integration
jotformId - String External Jotform form identifier linked to this service for data collection
procedureTemplateId - HashedId Procedure template identifier
iconUrl - String URL to the icon image displayed alongside this service in the UI
jotformSource - String Origin URL or embed source for the linked Jotform form
isServiceCheck - Boolean Whether this service acts as a periodic maintenance check rather than a one-time request
suggestedServicePartner - String Recommended external service partner name for handling tickets created from this service
title - TranslationInput Localized display name for the new service
ticketHandlers - [ServiceTicketHandlerInput!] Handlers to assign for processing tickets created from this service
id - HashedId! Hashed ID of the service to update
Example
{
  "assigneeAutomation": "SUGGESTED_PARTNER",
  "preset": "BLE",
  "type": "JOT_FORM",
  "jotformId": "abc123",
  "procedureTemplateId": HashedId,
  "iconUrl": "abc123",
  "jotformSource": "abc123",
  "isServiceCheck": true,
  "suggestedServicePartner": "xyz789",
  "title": TranslationInput,
  "ticketHandlers": [ServiceTicketHandlerInput],
  "id": HashedId
}

ServicesFilterInput

Description

Filter criteria for narrowing down services results

Fields
Input Field Description
isServiceCheck - Boolean if true, only services that are service checks are returned
includeBle - Boolean Include Bluetooth Low Energy (BLE) services in results. Default = null
includeGeneralService - Boolean Include general-purpose services that are not tied to a specific service type. Default = null
includeRegularService - Boolean Include standard maintenance and repair services in results. Default = null
includeQrCodeLanding - Boolean Include QR code landing page services in results. Default = null
type - ServiceType Filter by service classification type. Default = JOT_FORM
itemType - ServiceItemType Filter by the entity type this service applies to (e.g. asset, site)
excludeQRLandingPage - Boolean Exclude QR code landing page services from results. Default = null
search - String Text search query for filtering results
Example
{
  "isServiceCheck": false,
  "includeBle": true,
  "includeGeneralService": true,
  "includeRegularService": true,
  "includeQrCodeLanding": true,
  "type": "JOT_FORM",
  "itemType": "general",
  "excludeQRLandingPage": true,
  "search": "xyz789"
}

Site

Description

A physical location or facility where assets are deployed and managed

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
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 Free-text notes or additional remarks about this site
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.
image - String Image URL
locationText - String Human-readable location description such as floor or building wing
accountNumber - String Account number - arbitrary, for the Manufacturer to assign them their interal description
address - String Formatted address consisting of street and street number
coordinates - Coordinates GPS coordinates for fixed-location sites, null for non-fixed sites
assignedToGroup - Group Is not provided for customer groups, since this value is equal to the requesting user's group
assignedToGroupId - HashedId Group the record is assigned to Use assignedToGroup property
country - String Country where the site is located
createdByGroup - Group! Group that created this site
createdByGroupId - HashedId! Created by group identifier
costCenter - String Accounting cost center for financial allocation
parentSite - Site Parent site
parentSiteId - HashedId Parent site in the hierarchy, null if top-level
servicePackageId - HashedId Service package identifier
shouldInheritServicePackage - Boolean! When true, uses the service package from the parent site
servicePackage - ServicePackage Service package
shouldInheritGeofenceSettings - Boolean! When true, uses the geofence configuration from the parent site
groupTreeRootId - HashedId! Group tree root identifier
lat - String Latitude coordinate, null for non-fixed sites
lng - String Longitude coordinate, null for non-fixed sites
customerNumber - String Customer number - arbitrary, for the Customer to manage their own Customers
siteTypeId - HashedId Site type identifier
siteManagerName - String Site Manager Name for this site Use siteManagers instead.
email - String Email for this site Use siteManagers instead.
telephone - String Telephone for this site Use siteManagers instead.
postalCode - String Postal or ZIP code of the site address
qrAttached - Boolean! Whether a QR code has been linked to this site
uuid - String! Universally unique identifier
deleted - Timestamp Soft deletion timestamp, null if active
geofenceSettings - JSON Geofence settings, if set. See Rules schema for syntax.
geofenceNotification - [RuleNotificationRelation] When a geofence event happens, send notifications to these entities
assetsCount - Int! Total number of assets currently assigned to this site
events - [Event!]! Events recorded for this site
publicId - Int! Public numeric identifier
siteType - SiteType Site type
siteManagers - [SiteManager!]! Contact persons responsible for managing this site
Arguments
isPrimary - Boolean

Whether primary

containsAssetsToModifyByGroup - Boolean If it has associated assets which group needs to be updated to the new one Not used
shouldInheritManagerDetails - Boolean Whether to inherit manager details Not used
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "externalId": "abc123",
  "name": "xyz789",
  "note": "xyz789",
  "isFixed": true,
  "image": "abc123",
  "locationText": "abc123",
  "accountNumber": "xyz789",
  "address": "xyz789",
  "coordinates": Coordinates,
  "assignedToGroup": Group,
  "assignedToGroupId": HashedId,
  "country": "abc123",
  "createdByGroup": Group,
  "createdByGroupId": HashedId,
  "costCenter": "xyz789",
  "parentSite": Site,
  "parentSiteId": HashedId,
  "servicePackageId": HashedId,
  "shouldInheritServicePackage": true,
  "servicePackage": ServicePackage,
  "shouldInheritGeofenceSettings": false,
  "groupTreeRootId": HashedId,
  "lat": "xyz789",
  "lng": "xyz789",
  "customerNumber": "xyz789",
  "siteTypeId": HashedId,
  "siteManagerName": "xyz789",
  "email": "xyz789",
  "telephone": "abc123",
  "postalCode": "xyz789",
  "qrAttached": true,
  "uuid": "abc123",
  "deleted": 1592577642,
  "geofenceSettings": {},
  "geofenceNotification": [RuleNotificationRelation],
  "assetsCount": 123,
  "events": [Event],
  "publicId": 987,
  "siteType": SiteType,
  "siteManagers": [SiteManager],
  "containsAssetsToModifyByGroup": true,
  "shouldInheritManagerDetails": true
}

SiteAttachQrCodeInput

Description

Input data for site attach qr code

Fields
Input Field Description
scannedUuid - String! UUID read from the physical QR code sticker
Example
{"scannedUuid": "xyz789"}

SiteCreateInput

Description

Data required to create a new site

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 Free-text notes or additional remarks about this site
isFixed - Boolean! Whether this site is at a permanent physical location
locationText - String Human-readable location description such as floor or building wing
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 Country where the site is located
costCenter - String Accounting cost center for financial allocation
parentSiteId - HashedId Parent site in the hierarchy, null if top-level
servicePackageId - HashedId Service package identifier
shouldInheritServicePackage - Boolean! When true, uses the service package from the parent site
shouldInheritGeofenceSettings - Boolean! When true, uses the geofence configuration from the parent site
customerNumber - String Customer number - arbitrary, for the Customer to manage their own Customers
postalCode - String Postal or ZIP code of the site address
lat - Float Latitude of the site location
lng - Float Longitude of the site location
siteManagerName - String Full name of the primary contact person
email - String Email address
telephone - String Phone number of the primary contact person
shouldInheritManagerDetails - Boolean! Whether to copy manager details from the parent site. Default = false
Example
{
  "externalId": "abc123",
  "name": "abc123",
  "note": "abc123",
  "isFixed": false,
  "locationText": "abc123",
  "accountNumber": "xyz789",
  "address": "abc123",
  "country": "abc123",
  "costCenter": "xyz789",
  "parentSiteId": HashedId,
  "servicePackageId": HashedId,
  "shouldInheritServicePackage": false,
  "shouldInheritGeofenceSettings": false,
  "customerNumber": "xyz789",
  "postalCode": "abc123",
  "lat": 987.65,
  "lng": 987.65,
  "siteManagerName": "abc123",
  "email": "xyz789",
  "telephone": "xyz789",
  "shouldInheritManagerDetails": true
}

SiteCreateOptionsInput

Description

Data required to create a new site options

Fields
Input Field Description
assignedToGroupId - HashedId Group the record is assigned to
geofenceSettings - JSON Geofence settings, if set. See Rules schema for syntax.
disableWebhooks - Boolean When true, suppresses webhook notifications for this operation
geofenceNotification - [RuleNotificationRelationInput!] Recipients to notify when a geofence boundary event occurs
siteType - SiteTypeInput Site type
siteManagers - [SiteManagerCreateInput!] Site managers
Example
{
  "assignedToGroupId": HashedId,
  "geofenceSettings": {},
  "disableWebhooks": true,
  "geofenceNotification": [RuleNotificationRelationInput],
  "siteType": SiteTypeInput,
  "siteManagers": [SiteManagerCreateInput]
}

SiteManager

Description

A user assigned as manager responsible for a specific site

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
userId - HashedId User identifier
siteId - HashedId! Site identifier
fullname - String Full name of the site manager
email - String Email address
phone - String Phone number
isPrimary - Boolean! Whether this is the primary manager for the site
user - User Associated platform user account
site - Site! Associated site
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "userId": HashedId,
  "siteId": HashedId,
  "fullname": "xyz789",
  "email": "abc123",
  "phone": "xyz789",
  "isPrimary": true,
  "user": User,
  "site": Site
}

SiteManagerCreateInput

Description

Data required to create a new site manager

Fields
Input Field Description
userId - HashedId User identifier
fullname - String Full name of the site manager
email - String Email address
phone - String Phone number
isPrimary - Boolean! Whether this is the primary manager for the site
Example
{
  "userId": HashedId,
  "fullname": "abc123",
  "email": "xyz789",
  "phone": "xyz789",
  "isPrimary": false
}

SiteManagerTodos

Description

Aggregated to-do summary for a site manager, grouped by asset status and upcoming deadlines

Fields
Field Name Description
id - String! Unique identifier
checkRequired - [Asset!]! Assets requiring an overdue inspection or check
checkRequiredCount - Int! Count of assets requiring an overdue inspection
checkRequiredFilterLink - String! Pre-built filter URL for assets requiring an overdue inspection
checkThisMonth - [Asset!]! Assets with inspections scheduled this month
checkThisMonthCount - Int! Count of assets with inspections scheduled this month
checkThisMonthFilterLink - String! Pre-built filter URL for assets with inspections this month
checkThisWeek - [Asset!]! Assets with inspections scheduled this week
checkThisWeekCount - Int! Count of assets with inspections scheduled this week
checkThisWeekFilterLink - String! Pre-built filter URL for assets with inspections this week
checkUpcoming - [Asset!]! Assets with inspections scheduled in the near future
checkUpcomingCount - Int! Count of assets with upcoming inspections
checkUpcomingFilterLink - String! Pre-built filter URL for assets with upcoming inspections
damaged - [Asset!]! Assets currently marked as damaged
damagedCount - Int! Count of assets currently marked as damaged
damagedFilterLink - String! Pre-built filter URL for damaged assets
inRepair - [Asset!]! Assets currently undergoing repair
inRepairCount - Int! Count of assets currently undergoing repair
inRepairFilterLink - String! Pre-built filter URL for assets in repair
leasingEndExceeded - [Asset!]! Leasing end exceeded
leasingEndExceededCount - Int! Number of leasing end exceeded
leasingEndExceededFilterLink - String! Leasing end exceeded filter link
leasingEndThisMonth - [Asset!]! Leasing end this month
leasingEndThisMonthCount - Int! Number of leasing end this month
leasingEndThisMonthFilterLink - String! Leasing end this month filter link
leasingEndThisWeek - [Asset!]! Leasing end this week
leasingEndThisWeekCount - Int! Number of leasing end this week
leasingEndThisWeekFilterLink - String! Leasing end this week filter link
leasingEndUpcoming - [Asset!]! Leasing end upcoming
leasingEndUpcomingCount - Int! Number of leasing end upcoming
leasingEndUpcomingFilterLink - String! Leasing end upcoming filter link
maintenanceRequired - [Asset!]! Maintenance required
maintenanceRequiredCount - Int! Number of maintenance required
maintenanceRequiredFilterLink - String! Maintenance required filter link
maintenanceThisMonth - [Asset!]! Maintenance this month
maintenanceThisMonthCount - Int! Number of maintenance this month
maintenanceThisMonthFilterLink - String! Maintenance this month filter link
maintenanceThisWeek - [Asset!]! Maintenance this week
maintenanceThisWeekCount - Int! Number of maintenance this week
maintenanceThisWeekFilterLink - String! Maintenance this week filter link
maintenanceUpcoming - [Asset!]! Maintenance upcoming
maintenanceUpcomingCount - Int! Number of maintenance upcoming
maintenanceUpcomingFilterLink - String! Maintenance upcoming filter link
noAction - [Asset!]! Assets requiring no immediate action
noActionCount - Int! Count of assets requiring no immediate action
noActionFilterLink - String! Pre-built filter URL for assets requiring no action
noCheckPlanned - [Asset!]! Assets without any planned inspections
noCheckPlannedCount - Int! Count of assets without any planned inspections
noCheckPlannedFilterLink - String! Pre-built filter URL for assets without planned inspections
noLeasingEnd - [Asset!]! Assets without a defined leasing end date
noLeasingEndCount - Int! Number of no leasing end
noLeasingEndFilterLink - String! No leasing end filter link
noMaintenancePlanned - [Asset!]! No maintenance planned
noMaintenancePlannedCount - Int! Number of no maintenance planned
noMaintenancePlannedFilterLink - String! No maintenance planned filter link
noRentalEnd - [Asset!]! Assets without a defined rental end date
noRentalEndCount - Int! Number of no rental end
noRentalEndFilterLink - String! No rental end filter link
noServiceContractEnd - [Asset!]! No service contract end
noServiceContractEndCount - Int! Number of no service contract end
noServiceContractEndFilterLink - String! No service contract end filter link
noWarrantyEnd - [Asset!]! Assets without a defined warranty end date
noWarrantyEndCount - Int! Number of no warranty end
noWarrantyEndFilterLink - String! No warranty end filter link
ordered - [Asset!]! Assets that have been ordered but not yet received
orderedCount - Int! Count of assets ordered but not yet received
orderedFilterLink - String! Pre-built filter URL for ordered assets
readyToUse - [Asset!]! Assets that are operational and available for use
readyToUseCount - Int! Count of assets available for use
readyToUseFilterLink - String! Pre-built filter URL for assets ready to use
rentalEndExceeded - [Asset!]! Rental end exceeded
rentalEndExceededCount - Int! Number of rental end exceeded
rentalEndExceededFilterLink - String! Rental end exceeded filter link
rentalEndThisMonth - [Asset!]! Rental end this month
rentalEndThisMonthCount - Int! Number of rental end this month
rentalEndThisMonthFilterLink - String! Rental end this month filter link
rentalEndThisWeek - [Asset!]! Rental end this week
rentalEndThisWeekCount - Int! Number of rental end this week
rentalEndThisWeekFilterLink - String! Rental end this week filter link
rentalEndUpcoming - [Asset!]! Rental end upcoming
rentalEndUpcomingCount - Int! Number of rental end upcoming
rentalEndUpcomingFilterLink - String! Rental end upcoming filter link
retired - [Asset!]! Assets that have been retired from service
retiredCount - Int! Count of retired assets
retiredFilterLink - String! Pre-built filter URL for retired assets
serviceContractEndExceeded - [Asset!]! Service contract end exceeded
serviceContractEndExceededCount - Int! Number of service contract end exceeded
serviceContractEndExceededFilterLink - String! Service contract end exceeded filter link
serviceContractEndThisMonth - [Asset!]! Service contract end this month
serviceContractEndThisMonthCount - Int! Number of service contract end this month
serviceContractEndThisMonthFilterLink - String! Service contract end this month filter link
serviceContractEndThisWeek - [Asset!]! Service contract end this week
serviceContractEndThisWeekCount - Int! Number of service contract end this week
serviceContractEndThisWeekFilterLink - String! Service contract end this week filter link
serviceContractEndUpcoming - [Asset!]! Service contract end upcoming
serviceContractEndUpcomingCount - Int! Number of service contract end upcoming
serviceContractEndUpcomingFilterLink - String! Service contract end upcoming filter link
siteManagerEmail - String! Site manager email
warehouse - [Asset!]! Assets currently stored in warehouse
warehouseCount - Int! Count of assets in warehouse
warehouseFilterLink - String! Pre-built filter URL for warehouse assets
warrantyEndExceeded - [Asset!]! Warranty end exceeded
warrantyEndExceededCount - Int! Number of warranty end exceeded
warrantyEndExceededFilterLink - String! Warranty end exceeded filter link
warrantyEndThisMonth - [Asset!]! Warranty end this month
warrantyEndThisMonthCount - Int! Number of warranty end this month
warrantyEndThisMonthFilterLink - String! Warranty end this month filter link
warrantyEndThisWeek - [Asset!]! Warranty end this week
warrantyEndThisWeekCount - Int! Number of warranty end this week
warrantyEndThisWeekFilterLink - String! Warranty end this week filter link
warrantyEndUpcoming - [Asset!]! Warranty end upcoming
warrantyEndUpcomingCount - Int! Number of warranty end upcoming
warrantyEndUpcomingFilterLink - String! Warranty end upcoming filter link
created - Timestamp! Timestamp when this to-do summary was generated
updated - Timestamp Timestamp when this to-do summary was last refreshed
Example
{
  "id": "xyz789",
  "checkRequired": [Asset],
  "checkRequiredCount": 123,
  "checkRequiredFilterLink": "xyz789",
  "checkThisMonth": [Asset],
  "checkThisMonthCount": 123,
  "checkThisMonthFilterLink": "xyz789",
  "checkThisWeek": [Asset],
  "checkThisWeekCount": 123,
  "checkThisWeekFilterLink": "xyz789",
  "checkUpcoming": [Asset],
  "checkUpcomingCount": 987,
  "checkUpcomingFilterLink": "xyz789",
  "damaged": [Asset],
  "damagedCount": 987,
  "damagedFilterLink": "xyz789",
  "inRepair": [Asset],
  "inRepairCount": 987,
  "inRepairFilterLink": "abc123",
  "leasingEndExceeded": [Asset],
  "leasingEndExceededCount": 123,
  "leasingEndExceededFilterLink": "xyz789",
  "leasingEndThisMonth": [Asset],
  "leasingEndThisMonthCount": 123,
  "leasingEndThisMonthFilterLink": "xyz789",
  "leasingEndThisWeek": [Asset],
  "leasingEndThisWeekCount": 987,
  "leasingEndThisWeekFilterLink": "abc123",
  "leasingEndUpcoming": [Asset],
  "leasingEndUpcomingCount": 987,
  "leasingEndUpcomingFilterLink": "abc123",
  "maintenanceRequired": [Asset],
  "maintenanceRequiredCount": 123,
  "maintenanceRequiredFilterLink": "abc123",
  "maintenanceThisMonth": [Asset],
  "maintenanceThisMonthCount": 987,
  "maintenanceThisMonthFilterLink": "abc123",
  "maintenanceThisWeek": [Asset],
  "maintenanceThisWeekCount": 123,
  "maintenanceThisWeekFilterLink": "xyz789",
  "maintenanceUpcoming": [Asset],
  "maintenanceUpcomingCount": 123,
  "maintenanceUpcomingFilterLink": "xyz789",
  "noAction": [Asset],
  "noActionCount": 987,
  "noActionFilterLink": "abc123",
  "noCheckPlanned": [Asset],
  "noCheckPlannedCount": 123,
  "noCheckPlannedFilterLink": "xyz789",
  "noLeasingEnd": [Asset],
  "noLeasingEndCount": 987,
  "noLeasingEndFilterLink": "xyz789",
  "noMaintenancePlanned": [Asset],
  "noMaintenancePlannedCount": 123,
  "noMaintenancePlannedFilterLink": "xyz789",
  "noRentalEnd": [Asset],
  "noRentalEndCount": 123,
  "noRentalEndFilterLink": "xyz789",
  "noServiceContractEnd": [Asset],
  "noServiceContractEndCount": 987,
  "noServiceContractEndFilterLink": "xyz789",
  "noWarrantyEnd": [Asset],
  "noWarrantyEndCount": 123,
  "noWarrantyEndFilterLink": "xyz789",
  "ordered": [Asset],
  "orderedCount": 123,
  "orderedFilterLink": "abc123",
  "readyToUse": [Asset],
  "readyToUseCount": 123,
  "readyToUseFilterLink": "xyz789",
  "rentalEndExceeded": [Asset],
  "rentalEndExceededCount": 987,
  "rentalEndExceededFilterLink": "abc123",
  "rentalEndThisMonth": [Asset],
  "rentalEndThisMonthCount": 987,
  "rentalEndThisMonthFilterLink": "abc123",
  "rentalEndThisWeek": [Asset],
  "rentalEndThisWeekCount": 123,
  "rentalEndThisWeekFilterLink": "xyz789",
  "rentalEndUpcoming": [Asset],
  "rentalEndUpcomingCount": 123,
  "rentalEndUpcomingFilterLink": "abc123",
  "retired": [Asset],
  "retiredCount": 987,
  "retiredFilterLink": "abc123",
  "serviceContractEndExceeded": [Asset],
  "serviceContractEndExceededCount": 123,
  "serviceContractEndExceededFilterLink": "xyz789",
  "serviceContractEndThisMonth": [Asset],
  "serviceContractEndThisMonthCount": 123,
  "serviceContractEndThisMonthFilterLink": "abc123",
  "serviceContractEndThisWeek": [Asset],
  "serviceContractEndThisWeekCount": 987,
  "serviceContractEndThisWeekFilterLink": "xyz789",
  "serviceContractEndUpcoming": [Asset],
  "serviceContractEndUpcomingCount": 987,
  "serviceContractEndUpcomingFilterLink": "abc123",
  "siteManagerEmail": "abc123",
  "warehouse": [Asset],
  "warehouseCount": 123,
  "warehouseFilterLink": "abc123",
  "warrantyEndExceeded": [Asset],
  "warrantyEndExceededCount": 987,
  "warrantyEndExceededFilterLink": "abc123",
  "warrantyEndThisMonth": [Asset],
  "warrantyEndThisMonthCount": 987,
  "warrantyEndThisMonthFilterLink": "xyz789",
  "warrantyEndThisWeek": [Asset],
  "warrantyEndThisWeekCount": 987,
  "warrantyEndThisWeekFilterLink": "abc123",
  "warrantyEndUpcoming": [Asset],
  "warrantyEndUpcomingCount": 987,
  "warrantyEndUpcomingFilterLink": "xyz789",
  "created": 1592577642,
  "updated": 1592577642
}

SiteManagerUpdateInput

Description

Fields to update on an existing site manager

Fields
Input Field Description
userId - HashedId User identifier
fullname - String Full name of the site manager
email - String Email address
phone - String Phone number
isPrimary - Boolean! Whether this is the primary manager for the site
id - HashedId Unique identifier
Example
{
  "userId": HashedId,
  "fullname": "xyz789",
  "email": "xyz789",
  "phone": "abc123",
  "isPrimary": false,
  "id": HashedId
}

SiteSectionEnum

Description

Configuration sections within a site that can be independently managed: geofence settings, site manager details, or service package assignments

Values
Enum Value Description

GEOFENCE_SETTINGS

SITE_MANAGER_DETAILS

SERVICE_PACKAGE

Example
"GEOFENCE_SETTINGS"

SiteType

Description

A classification category for grouping sites by purpose or function

Fields
Field Name Description
id - HashedId! Unique identifier
key - String! Unique lookup key
Example
{
  "id": HashedId,
  "key": "abc123"
}

SiteTypeInput

Description

Data required to create or update a site type classification

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

SiteUpdateInput

Description

Fields to update on an existing site

Fields
Input Field Description
id - HashedId! Unique identifier of the entity
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 Free-text notes or additional remarks about this site
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 Human-readable location description such as floor or building wing
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 Country where the site is located
costCenter - String Accounting cost center for financial allocation
parentSiteId - HashedId Parent site in the hierarchy, null if top-level
servicePackageId - HashedId Service package identifier
shouldInheritServicePackage - Boolean! When true, uses the service package from the parent site
shouldInheritGeofenceSettings - Boolean! When true, uses the geofence configuration from the parent site
customerNumber - String Customer number - arbitrary, for the Customer to manage their own Customers
postalCode - String Postal or ZIP code of the site address
lat - Float Latitude of the site location
lng - Float Longitude of the site location
siteManagerName - String Full name of the primary contact person
email - String Email address
telephone - String Phone number of the primary contact person
shouldInheritManagerDetails - Boolean! Whether to copy manager details from the parent site. Default = false
Example
{
  "id": HashedId,
  "externalId": "abc123",
  "name": "abc123",
  "note": "xyz789",
  "isFixed": true,
  "locationText": "abc123",
  "accountNumber": "abc123",
  "address": "abc123",
  "country": "xyz789",
  "costCenter": "abc123",
  "parentSiteId": HashedId,
  "servicePackageId": HashedId,
  "shouldInheritServicePackage": false,
  "shouldInheritGeofenceSettings": true,
  "customerNumber": "xyz789",
  "postalCode": "abc123",
  "lat": 987.65,
  "lng": 987.65,
  "siteManagerName": "xyz789",
  "email": "abc123",
  "telephone": "xyz789",
  "shouldInheritManagerDetails": true
}

SiteUpdateOptionsInput

Description

Fields to update on an existing site options

Fields
Input Field Description
assignedToGroupId - HashedId Group the record is assigned to
geofenceSettings - JSON Geofence settings, if set. See Rules schema for syntax.
disableWebhooks - Boolean When true, suppresses webhook notifications for this operation
geofenceNotification - [RuleNotificationRelationInput!] Recipients to notify when a geofence boundary event occurs
siteType - SiteTypeInput Site type
shouldSkipGeofenceUpdate - Boolean When true, preserves existing geofence rules without modification
shouldSkipSiteManagersUpdate - Boolean When true, preserves existing site managers without modification
siteManagers - [SiteManagerUpdateInput!] Site managers
containsAssetsToModifyByGroup - Boolean Whether associated assets need their group reassigned
Example
{
  "assignedToGroupId": HashedId,
  "geofenceSettings": {},
  "disableWebhooks": true,
  "geofenceNotification": [RuleNotificationRelationInput],
  "siteType": SiteTypeInput,
  "shouldSkipGeofenceUpdate": true,
  "shouldSkipSiteManagersUpdate": false,
  "siteManagers": [SiteManagerUpdateInput],
  "containsAssetsToModifyByGroup": true
}

SitesPaginatedResult

Description

Sites paginated result record

Fields
Field Name Description
meta - PaginationMeta! Pagination metadata including total count and page info
rows - [Site!] List of records for the current page
Example
{
  "meta": PaginationMeta,
  "rows": [Site]
}

SortDirection

Description

Sort order direction for query results, either ascending or descending

Values
Enum Value Description

ASC

DESC

Example
"ASC"

StatusItem

Description

Single IoT sensor status indicator for an asset

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
key - String! Machine-readable key identifying the status type
displayText - String! Human-readable label for the status item
displayValue - String Formatted sensor value for display
displayName - Translation Translated name of the status item
icon - String Icon key used to render the status visually
Example
{
  "id": HashedId,
  "key": "xyz789",
  "displayText": "xyz789",
  "displayValue": "abc123",
  "displayName": Translation,
  "icon": "xyz789"
}

String

Description

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

Example
"abc123"

StripePrice

Description

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

Fields
Field Name Description
id - String! Unique identifier
amount - Float Monetary amount
currency - String! Currency code
updated - DateTime! Updated
Example
{
  "id": "xyz789",
  "amount": 987.65,
  "currency": "abc123",
  "updated": "2007-12-03T10:15:30Z"
}

StripeSettings

Description

Stripe billing integration parameters for subscription management and IoT device activation

Fields
Field Name Description
stripeCustomerId - String! Stripe customer ID linking this group to its billing account for subscription charges
groupForIOTActivation - String! Group reference used to determine IoT device activation eligibility and billing
gracePeriodIOT - Int! Number of days after IoT device activation before billing begins
stripeUserPriceId - StripeUserPriceId! Price ID mapping defining per-role subscription costs in Stripe
stripeCustomerIds - [String!] Additional Stripe customer IDs for groups with multiple billing accounts
Example
{
  "stripeCustomerId": "abc123",
  "groupForIOTActivation": "abc123",
  "gracePeriodIOT": 987,
  "stripeUserPriceId": StripeUserPriceId,
  "stripeCustomerIds": ["xyz789"]
}

StripeSettingsCreateInput

Description

Data required to create a new stripe settings

Fields
Input Field Description
stripeCustomerId - String Stripe customer ID linking this group to its billing account
stripeCustomerIds - [String!] Additional Stripe customer IDs for groups with multiple billing accounts
groupForIOTActivation - String Group reference used to determine IoT device activation eligibility
gracePeriodIOT - Int Number of days after IoT device activation before billing begins
stripeUserPriceId - StripeUserPriceIdCreateInput Price ID mapping defining per-role subscription costs in Stripe
Example
{
  "stripeCustomerId": "abc123",
  "stripeCustomerIds": ["abc123"],
  "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 Stripe metadata key combining customer ID and renewal month to identify the subscription
type - String Stripe subscription plan type from metadata (e.g. monthly, yearly)
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": "abc123",
  "subKey": "xyz789",
  "type": "abc123",
  "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"
}

StripeUserPriceId

Description

Per-role Stripe price IDs defining subscription cost for each user role tier

Fields
Field Name Description
ALL - String Stripe price ID applied to all user roles when no role-specific price is configured
User - String Stripe price ID for standard user role subscriptions
SuperUser - String Stripe price ID for super user role subscriptions
EditorUser - String Stripe price ID for editor user role subscriptions
Example
{
  "ALL": "abc123",
  "User": "abc123",
  "SuperUser": "abc123",
  "EditorUser": "abc123"
}

StripeUserPriceIdCreateInput

Description

Data required to create a new stripe user price id

Fields
Input Field Description
ALL - String Stripe price ID applied to all user roles when no role-specific price is configured
EditorUser - String Stripe price ID for editor user role subscriptions
SuperUser - String Stripe price ID for super user role subscriptions
User - String Stripe price ID for standard user role subscriptions
Example
{
  "ALL": "xyz789",
  "EditorUser": "xyz789",
  "SuperUser": "xyz789",
  "User": "xyz789"
}

SubscriptionPlan

Description

A subscription tier defining available platform features for an organization

Fields
Field Name Description
key - String! Unique identifying key for this subscription plan
name - String! Display name of this subscription plan
Example
{
  "key": "xyz789",
  "name": "xyz789"
}

Team

Description

A group of users organized for ticket assignment and workload distribution

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
publicId - Int! Public numeric identifier
nameId - HashedId! Name identifier
groupId - HashedId! Group identifier
createdByUserId - HashedId! Created by user identifier
createdByGroupId - HashedId! Created by group identifier
assignedToActiveTicketIds - [Int!]! Active tickets this team is currently assigned to
name - Translation! Display name
group - Group! Associated organization group
createdByUser - User! Created by user
createdByGroup - Group! Created by group
members - [TeamMember!]! Team members
servicePackages - [ServicePackageUnion!]! Service packages assigned to this team
deleted - Timestamp Soft deletion timestamp, null if active
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "publicId": 123,
  "nameId": HashedId,
  "groupId": HashedId,
  "createdByUserId": HashedId,
  "createdByGroupId": HashedId,
  "assignedToActiveTicketIds": [987],
  "name": Translation,
  "group": Group,
  "createdByUser": User,
  "createdByGroup": Group,
  "members": [TeamMember],
  "servicePackages": [ServicePackage],
  "deleted": 1592577642
}

TeamCreateInput

Description

Data required to create a new team

Fields
Input Field Description
groupId - HashedId! Group identifier
name - TranslationInput! Display name
memberEmails - [String!]! Email addresses of users to add as team members
Example
{
  "groupId": HashedId,
  "name": TranslationInput,
  "memberEmails": ["xyz789"]
}

TeamFilterInput

Description

Filter criteria for narrowing down team results

Fields
Input Field Description
withServicePackagesOnly - Boolean if true, only teams that have at least one service package are returned
Example
{"withServicePackagesOnly": true}

TeamMember

Description

A user assigned to a team with optional role designation

Fields
Field Name Description
id - HashedId! Unique identifier
userId - HashedId User identifier
firstname - String First name
lastname - String Last name
email - String! Email address
isDeleted - Boolean! Whether this record has been deleted
Example
{
  "id": HashedId,
  "userId": HashedId,
  "firstname": "abc123",
  "lastname": "xyz789",
  "email": "abc123",
  "isDeleted": true
}

TeamPaginatedResult

Description

Team paginated result record

Fields
Field Name Description
meta - PaginationMeta! Pagination metadata including total count and page info
rows - [Team!]! List of records for the current page
Example
{
  "meta": PaginationMeta,
  "rows": [Team]
}

TeamUpdateInput

Description

Fields to update on an existing team

Fields
Input Field Description
groupId - HashedId Group identifier
name - TranslationInput Display name
memberEmails - [String!] Email addresses of users to add as team members
Example
{
  "groupId": HashedId,
  "name": TranslationInput,
  "memberEmails": ["abc123"]
}

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
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
isActive - Boolean! Whether this record is currently active
titleId - HashedId! Title identifier
title - Translation! Title text
versions - [TermsHasVersion!]! Versions
version - Int! Version
contentId - HashedId! Content identifier
content - Translation! Content body or payload
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "isActive": true,
  "titleId": HashedId,
  "title": Translation,
  "versions": [TermsHasVersion],
  "version": 987,
  "contentId": HashedId,
  "content": Translation
}

TermsHasVersion

Description

Terms has version record

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
version - Int! Version
contentId - HashedId! Content identifier
content - Translation! Content body or payload
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "version": 123,
  "contentId": HashedId,
  "content": Translation
}

TermsQueryFiltersInput

Description

Filter criteria for narrowing down terms querys results

Fields
Input Field Description
withInactive - Boolean With inactive
Example
{"withInactive": true}

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! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
content - JSON The full response from the submitting user or entity, that the ticket is about, and tries to resolve. use ticketContent instead
uuid - String! UUID for external system correlation
serviceResponseId - HashedId Originating service response that created this ticket
isStatusUpdatedAutomatically - Boolean! Whether status updated automatically
statusUpdatedAt - Timestamp! Timestamp of the most recent status change
statusUpdatedByUserId - HashedId User who last changed the ticket status
createdByUserId - HashedId User who originally created this ticket
createdByGroupId - HashedId! Group under which the ticket was created
titleId - HashedId Translation record for the ticket title
serviceId - HashedId Service or flow that generated this ticket
checkEventId - HashedId Scheduled check event that triggered this ticket
ticketId - Int! Internal numeric ticket identifier
creatingSyncedOn - Timestamp When ticket creation was synced to external systems
assignee - ProcessHandler Handler currently assigned to resolve this ticket
responsibles - [ProcessHandler!]! Handlers responsible for overseeing this ticket
statusUpdatedByUser - User Associated user
createdByUser - User Associated user
createdByGroup - Group! Group this ticket belongs to
currentState - TicketCurrentState Legacy snapshot of the current workflow state use "status" enum instead
ticketComments - [TicketComment!]! User and internal comments on this ticket use "comments" instead
associatedAssets - [Asset!]! Assets linked to this ticket
documents - [Document!]! Attached documents and files
pdfCertificateLink - Document Pdf certificate link In May 2023 we switched to on-demand generated (and directly transmitted) PDF documents.
service - Service Services linked to this ticket
title - Translation Translated name of the ticket
lastStatusChange - Timestamp Last status change use "statusUpdatedAt" instead
notifications - NotificationFilter Notification preferences for this ticket
batteryCosts - String! Total battery replacement costs for this ticket
certificationCosts - String! Total certification and compliance costs
consumablesCosts - String! Total consumable material costs
fuelCosts - String! Total fuel expenses for this ticket
insuranceTaxesCosts - String! Total insurance and tax expenses
laborCosts - String! Total labor and workforce costs
logisticsCosts - String! Total shipping and logistics costs
otherCosts - String! Total miscellaneous and uncategorized costs
repairCosts - String! Total repair and maintenance costs
sparePartsCosts - String! Total spare parts procurement costs
ticketTimeline - TicketTimeline! Key milestone timestamps and durations for this ticket
totalCosts - String! Sum of all cost categories for this ticket
urgency - TicketUrgencyEnum! Priority level (e.g. low, normal, high, very high)
status - TicketStateEnum! Current workflow status of the ticket
associatedSites - [Site!]! Associated Sites for this ticket
associatedAssetCategories - [AssetCategory!]! Asset categories associated with this ticket
associatedAssetTypes - [AssetType!]! Asset types associated with this ticket
checkEvent - Event Events recorded for this ticket
ticketContent - [TicketContentField!]! Form fields and values submitted with this ticket
automationDetails - TicketAutomationDetails! Automation rules and triggers configured for this ticket
userHandlers - [TicketHandlerUser!]! Individual users assigned to handle this ticket
teamHandlers - [TicketHandlerTeam!]! Teams assigned to handle this ticket
groupHandlers - [TicketHandlerGroup!]! Groups assigned to handle this ticket
externalEmailHandlers - [TicketHandlerExternalEmail!]! External email recipients handling this ticket
groupTicketHandlerHandlers - [TicketHandlerGroupTicketHandler!]! Group-level ticket handler assignments
siteManagerHandler - TicketHandlerSiteManager Site manager assigned to handle this ticket
costs - [Cost!]! Individual cost line items for this ticket
procedureInstanceId - HashedId Linked procedure instance for this ticket not supported
procedureInstance - ProcedureInstance Linked procedure instance for this ticket not supported
comments - [TicketComment!]! User and internal comments on this ticket
costLines - [CostLine!]! Individual cost line items associated with this ticket
history - [TicketHistory!]! History for this ticket
activityEvents - [TicketActivityLogEntry!]! use "history" instead
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "content": {},
  "uuid": "xyz789",
  "serviceResponseId": HashedId,
  "isStatusUpdatedAutomatically": false,
  "statusUpdatedAt": 1592577642,
  "statusUpdatedByUserId": HashedId,
  "createdByUserId": HashedId,
  "createdByGroupId": HashedId,
  "titleId": HashedId,
  "serviceId": HashedId,
  "checkEventId": HashedId,
  "ticketId": 987,
  "creatingSyncedOn": 1592577642,
  "assignee": ProcessHandler,
  "responsibles": [ProcessHandler],
  "statusUpdatedByUser": User,
  "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": "abc123",
  "laborCosts": "xyz789",
  "logisticsCosts": "xyz789",
  "otherCosts": "abc123",
  "repairCosts": "abc123",
  "sparePartsCosts": "abc123",
  "ticketTimeline": TicketTimeline,
  "totalCosts": "abc123",
  "urgency": "CRITICAL",
  "status": "open",
  "associatedSites": [Site],
  "associatedAssetCategories": [AssetCategory],
  "associatedAssetTypes": [AssetType],
  "checkEvent": Event,
  "ticketContent": [TicketContentField],
  "automationDetails": TicketAutomationDetails,
  "userHandlers": [TicketHandlerUser],
  "teamHandlers": [TicketHandlerTeam],
  "groupHandlers": [TicketHandlerGroup],
  "externalEmailHandlers": [TicketHandlerExternalEmail],
  "groupTicketHandlerHandlers": [
    TicketHandlerGroupTicketHandler
  ],
  "siteManagerHandler": TicketHandlerSiteManager,
  "costs": [Cost],
  "procedureInstanceId": HashedId,
  "procedureInstance": ProcedureInstance,
  "comments": [TicketComment],
  "costLines": [CostLine],
  "history": [TicketHistory],
  "activityEvents": [TicketHandlerUpdate]
}

TicketActivityLogEntry

TicketAssetAvailabilityUpdate

Description

Real-time update when an asset availability changes via a ticket

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
data - EventEntityDataDto! Related data records
isAutomated - Boolean! Always true, this update is triggered by automation
type - EventEntityDataTypeEnum! Event data type, always availability changed by automation
availability - AssetAvailability! New availability status set by the automation
assets - [Asset!]! Assets affected by this availability update event
Example
{
  "id": HashedId,
  "created": 1592577642,
  "data": EventEntityDataDto,
  "isAutomated": true,
  "type": "RESPONSIBLE_UPDATE",
  "availability": "READY_TO_USE",
  "assets": [Asset]
}

TicketAssetAvailabilityUpdatedHistory

Description

Records when the availability status of an asset on a ticket is changed

Fields
Field Name Description
id - HashedId! Unique identifier of the ticket history entry
ticketId - HashedId! Identifier of the ticket this history entry belongs to
commentId - HashedId Identifier of the comment added alongside this change, if any
comment - TicketComment Comment that triggered this history entry
trigger - TicketHistoryTrigger! What initiated this history event such as user action or automation
type - TicketHistoryType! Ticket history event type discriminator
triggeredByUserId - HashedId Identifier of the user who triggered this change, null for automated actions
created - Timestamp! Timestamp when this history entry was created
updated - Timestamp Timestamp when this history entry was last updated
triggeredByUser - User User who triggered this ticket history interface
assets - [Asset!]! Assets associated with this ticket history entry
availability - AssetAvailability! New availability status of the asset
Example
{
  "id": HashedId,
  "ticketId": HashedId,
  "commentId": HashedId,
  "comment": TicketComment,
  "trigger": "USER",
  "type": "ASSIGNEE_REMOVED",
  "triggeredByUserId": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "triggeredByUser": User,
  "assets": [Asset],
  "availability": "READY_TO_USE"
}

TicketAssetCheckComplete

Description

Real-time event when an asset check is completed via a ticket

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
data - EventEntityDataDto! Related data records
isAutomated - Boolean! Always true, check was completed by automation
type - EventEntityDataTypeEnum! Event data type, always check completed by automation
assets - [Asset!]! Assets included in this completed check event
Example
{
  "id": HashedId,
  "created": 1592577642,
  "data": EventEntityDataDto,
  "isAutomated": true,
  "type": "RESPONSIBLE_UPDATE",
  "assets": [Asset]
}

TicketAssetCheckCompletedHistory

Description

Records when an asset check is completed for assets on a ticket

Fields
Field Name Description
id - HashedId! Unique identifier of the ticket history entry
ticketId - HashedId! Identifier of the ticket this history entry belongs to
commentId - HashedId Identifier of the comment added alongside this change, if any
comment - TicketComment Comment that triggered this history entry
trigger - TicketHistoryTrigger! What initiated this history event such as user action or automation
type - TicketHistoryType! Ticket history event type discriminator
triggeredByUserId - HashedId Identifier of the user who triggered this change, null for automated actions
created - Timestamp! Timestamp when this history entry was created
updated - Timestamp Timestamp when this history entry was last updated
triggeredByUser - User User who triggered this ticket history interface
assets - [Asset!]! Assets associated with this ticket history entry
Example
{
  "id": HashedId,
  "ticketId": HashedId,
  "commentId": HashedId,
  "comment": TicketComment,
  "trigger": "USER",
  "type": "ASSIGNEE_REMOVED",
  "triggeredByUserId": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "triggeredByUser": User,
  "assets": [Asset]
}

TicketAssetSiteUpdate

Description

Real-time update when an asset site assignment changes via a ticket

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
siteId - HashedId! Site the assets were moved to
data - EventEntityDataDto! Related data records
isAutomated - Boolean! Always true, site change is triggered by automation
type - EventEntityDataTypeEnum! Event data type, always site changed by automation
site - Site! Target site for this asset relocation event
assets - [Asset!]! Assets relocated by this site update event
Example
{
  "id": HashedId,
  "created": 1592577642,
  "siteId": HashedId,
  "data": EventEntityDataDto,
  "isAutomated": false,
  "type": "RESPONSIBLE_UPDATE",
  "site": Site,
  "assets": [Asset]
}

TicketAssetSiteUpdatedHistory

Description

Records when an asset on a ticket has its site location updated

Fields
Field Name Description
id - HashedId! Unique identifier of the ticket history entry
ticketId - HashedId! Identifier of the ticket this history entry belongs to
commentId - HashedId Identifier of the comment added alongside this change, if any
comment - TicketComment Comment that triggered this history entry
trigger - TicketHistoryTrigger! What initiated this history event such as user action or automation
type - TicketHistoryType! Ticket history event type discriminator
triggeredByUserId - HashedId Identifier of the user who triggered this change, null for automated actions
created - Timestamp! Timestamp when this history entry was created
updated - Timestamp Timestamp when this history entry was last updated
triggeredByUser - User User who triggered this ticket history interface
assets - [Asset!]! Assets associated with this ticket history entry
siteId - HashedId! Site identifier
site - Site! Site associated with this ticket asset site updated history
Example
{
  "id": HashedId,
  "ticketId": HashedId,
  "commentId": HashedId,
  "comment": TicketComment,
  "trigger": "USER",
  "type": "ASSIGNEE_REMOVED",
  "triggeredByUserId": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "triggeredByUser": User,
  "assets": [Asset],
  "siteId": HashedId,
  "site": Site
}

TicketAssetsAddedHistory

Description

Records when one or more assets are added to a ticket

Fields
Field Name Description
id - HashedId! Unique identifier of the ticket history entry
created - Timestamp! Timestamp when this history entry was created
updated - Timestamp Timestamp when this history entry was last updated
trigger - TicketHistoryTrigger! What initiated this history event such as user action or automation
triggeredByUserId - HashedId Identifier of the user who triggered this change, null for automated actions
ticketId - HashedId! Identifier of the ticket this history entry belongs to
commentId - HashedId Identifier of the comment added alongside this change, if any
triggeredByUser - User User who triggered this ticket history interface
comment - TicketComment Comment that triggered this history entry
type - TicketHistoryType! Ticket history event type discriminator
assets - [Asset!]! Assets associated with this ticket history entry
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "trigger": "USER",
  "triggeredByUserId": HashedId,
  "ticketId": HashedId,
  "commentId": HashedId,
  "triggeredByUser": User,
  "comment": TicketComment,
  "type": "ASSIGNEE_REMOVED",
  "assets": [Asset]
}

TicketAssetsRemovedHistory

Description

Records when one or more assets are removed from a ticket

Fields
Field Name Description
id - HashedId! Unique identifier of the ticket history entry
created - Timestamp! Timestamp when this history entry was created
updated - Timestamp Timestamp when this history entry was last updated
trigger - TicketHistoryTrigger! What initiated this history event such as user action or automation
triggeredByUserId - HashedId Identifier of the user who triggered this change, null for automated actions
ticketId - HashedId! Identifier of the ticket this history entry belongs to
commentId - HashedId Identifier of the comment added alongside this change, if any
triggeredByUser - User User who triggered this ticket history interface
comment - TicketComment Comment that triggered this history entry
type - TicketHistoryType! Ticket history event type discriminator
assets - [Asset!]! Assets associated with this ticket history entry
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "trigger": "USER",
  "triggeredByUserId": HashedId,
  "ticketId": HashedId,
  "commentId": HashedId,
  "triggeredByUser": User,
  "comment": TicketComment,
  "type": "ASSIGNEE_REMOVED",
  "assets": [Asset]
}

TicketAssigneeAddedHistory

Description

Records when an assignee is added to a ticket

Fields
Field Name Description
id - HashedId! Unique identifier of the ticket history entry
created - Timestamp! Timestamp when this history entry was created
updated - Timestamp Timestamp when this history entry was last updated
trigger - TicketHistoryTrigger! What initiated this history event such as user action or automation
triggeredByUserId - HashedId Identifier of the user who triggered this change, null for automated actions
ticketId - HashedId! Identifier of the ticket this history entry belongs to
commentId - HashedId Identifier of the comment added alongside this change, if any
triggeredByUser - User User who triggered this ticket history interface
comment - TicketComment Comment that triggered this history entry
group - Group Group context for this ticket handler history entry
groupTicketHandler - GroupTicketHandler Group Ticket Handler for this ticket history with handlers interface
team - Team Team assigned to this ticket history with handlers interface
user - User User who was assigned or unassigned as a handler in this history entry
groupId - HashedId Identifier of the group involved in this handler change
teamId - HashedId Identifier of the team involved in this handler change
userId - HashedId Identifier of the user involved in this handler change
groupTicketHandlerId - HashedId Identifier of the group ticket handler configuration involved in this change
externalEmail - String External email address of the handler, for non-platform users
type - TicketHistoryType! Ticket history event type discriminator
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "trigger": "USER",
  "triggeredByUserId": HashedId,
  "ticketId": HashedId,
  "commentId": HashedId,
  "triggeredByUser": User,
  "comment": TicketComment,
  "group": Group,
  "groupTicketHandler": GroupTicketHandler,
  "team": Team,
  "user": User,
  "groupId": HashedId,
  "teamId": HashedId,
  "userId": HashedId,
  "groupTicketHandlerId": HashedId,
  "externalEmail": "abc123",
  "type": "ASSIGNEE_REMOVED"
}

TicketAssigneeRemovedHistory

Description

Records when an assignee is removed from a ticket

Fields
Field Name Description
id - HashedId! Unique identifier of the ticket history entry
created - Timestamp! Timestamp when this history entry was created
updated - Timestamp Timestamp when this history entry was last updated
trigger - TicketHistoryTrigger! What initiated this history event such as user action or automation
triggeredByUserId - HashedId Identifier of the user who triggered this change, null for automated actions
ticketId - HashedId! Identifier of the ticket this history entry belongs to
commentId - HashedId Identifier of the comment added alongside this change, if any
triggeredByUser - User User who triggered this ticket history interface
comment - TicketComment Comment that triggered this history entry
group - Group Group context for this ticket handler history entry
groupTicketHandler - GroupTicketHandler Group Ticket Handler for this ticket history with handlers interface
team - Team Team assigned to this ticket history with handlers interface
user - User User who was assigned or unassigned as a handler in this history entry
groupId - HashedId Identifier of the group involved in this handler change
teamId - HashedId Identifier of the team involved in this handler change
userId - HashedId Identifier of the user involved in this handler change
groupTicketHandlerId - HashedId Identifier of the group ticket handler configuration involved in this change
externalEmail - String External email address of the handler, for non-platform users
type - TicketHistoryType! Ticket history event type discriminator
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "trigger": "USER",
  "triggeredByUserId": HashedId,
  "ticketId": HashedId,
  "commentId": HashedId,
  "triggeredByUser": User,
  "comment": TicketComment,
  "group": Group,
  "groupTicketHandler": GroupTicketHandler,
  "team": Team,
  "user": User,
  "groupId": HashedId,
  "teamId": HashedId,
  "userId": HashedId,
  "groupTicketHandlerId": HashedId,
  "externalEmail": "abc123",
  "type": "ASSIGNEE_REMOVED"
}

TicketAssigneeTagEnum

Description

Ordered priority tags (1-10) used to label and distinguish multiple assignee slots on a ticket, enabling prioritized assignment workflows

Values
Enum Value Description

ASSIGNEE_1

ASSIGNEE_2

ASSIGNEE_3

ASSIGNEE_4

ASSIGNEE_5

ASSIGNEE_6

ASSIGNEE_7

ASSIGNEE_8

ASSIGNEE_9

ASSIGNEE_10

Example
"ASSIGNEE_1"

TicketAutomation

Description

An automation rule configured for a ticket workflow step

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
ticketId - HashedId! Ticket this automation rule applies to
type - TicketAutomationEnum! Kind of automation action to perform
ranAt - Timestamp When this automation was last executed
runOnTicketStatus - TicketStateEnum Ticket status that triggers this automation
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "ticketId": HashedId,
  "type": "ble",
  "ranAt": 1592577642,
  "runOnTicketStatus": "open"
}

TicketAutomationDetails

Description

All automation rules configured across a ticket workflow

Fields
Field Name Description
automationGroups - [TicketAutomationGroup!]! Automation rules grouped by asset or scope
newSite - Site Site to assign to the asset after automation runs
newAvailability - AssetAvailability Availability status to set after automation runs
Example
{
  "automationGroups": [TicketAutomationGroup],
  "newSite": Site,
  "newAvailability": "READY_TO_USE"
}

TicketAutomationEmailSent

Description

Activity log entry when automation sends ticket PDF to email addresses

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
data - EventEntityDataDto! Related data records
isAutomated - Boolean! Always true, email was sent by automation
type - EventEntityDataTypeEnum! Event data type, always automation email sent
externalEmail - String! Comma-separated list of email addresses the ticket was sent to
Example
{
  "id": HashedId,
  "created": 1592577642,
  "data": EventEntityDataDto,
  "isAutomated": true,
  "type": "RESPONSIBLE_UPDATE",
  "externalEmail": "xyz789"
}

TicketAutomationEmailSentHistory

Description

Records when the automation sends a copy of a ticket to email addresses

Fields
Field Name Description
id - HashedId! Unique identifier of the ticket history entry
created - Timestamp! Timestamp when this history entry was created
updated - Timestamp Timestamp when this history entry was last updated
trigger - TicketHistoryTrigger! What initiated this history event such as user action or automation
triggeredByUserId - HashedId Identifier of the user who triggered this change, null for automated actions
ticketId - HashedId! Identifier of the ticket this history entry belongs to
commentId - HashedId Identifier of the comment added alongside this change, if any
triggeredByUser - User User who triggered this ticket history interface
comment - TicketComment Comment that triggered this history entry
type - TicketHistoryType! Ticket history event type discriminator
externalEmail - String Comma-separated list of email addresses the ticket was sent to
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "trigger": "USER",
  "triggeredByUserId": HashedId,
  "ticketId": HashedId,
  "commentId": HashedId,
  "triggeredByUser": User,
  "comment": TicketComment,
  "type": "ASSIGNEE_REMOVED",
  "externalEmail": "abc123"
}

TicketAutomationEnum

Description

Automation rules that can be configured on ticket workflows, such as BLE-triggered actions, scheduled checks, automatic assignee routing, asset relocation, meter reading updates, and status/urgency transitions

Values
Enum Value Description

ble

check

assignee

move_asset

meter_reading

ticket_status

ticket_urgency

asset_availability

send_ticket_pdf

Example
"ble"

TicketAutomationGroup

Description

Group-level automation settings for ticket routing and handling

Fields
Field Name Description
automations - [TicketAutomation!]! Automation rules in this group
assetDetails - [AssetInAutomationDetails!]! Assets affected by this automation group
Example
{
  "automations": [TicketAutomation],
  "assetDetails": [AssetInAutomationDetails]
}

TicketChangeItemsInput

Description

Input for modifying ticket content field items

Fields
Input Field Description
ticketId - HashedId! Ticket to modify items for
fieldId - HashedId! Content field being changed
comment - String Explanation for the item change
attachments - [Upload!]! Files attached to the change
Example
{
  "ticketId": HashedId,
  "fieldId": HashedId,
  "comment": "abc123",
  "attachments": [Upload]
}

TicketComment

Description

A comment or note added to a ticket by a user or automation

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
createdByUserId - HashedId User who authored this comment
ticketId - HashedId! Ticket this comment belongs to
authorEmail - String Email address of the comment author
createdByUser - TicketUser User who posted this comment on the ticket
history - [TicketCommentContent!]! All content revisions showing edit history of this comment
content - TicketCommentContent Latest content revision of this comment
isAutomated - Boolean! Whether this comment was created by an automation rule
costs - [CostLine!]! Cost entries for this ticket comment
stateEvent - TicketState Status transition recorded with this comment use "ticketStatus" enum instead
ticketStatus - TicketStateEnum Ticket status set when this comment was posted
itemsEvent - TicketItemsChange Linked items change event for this comment
attachments - [Document!]! Documents attached to this ticket comment
connectedEventId - HashedId Event linked to this comment
connectedEvent - Event Events recorded for this ticket comment
internal - Boolean! Whether visible only to internal team members
deleted - Timestamp Soft deletion timestamp, null if active
ticketHistory - TicketHistory History entry associated with this comment
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "createdByUserId": HashedId,
  "ticketId": HashedId,
  "authorEmail": "xyz789",
  "createdByUser": TicketUser,
  "history": [TicketCommentContent],
  "content": TicketCommentContent,
  "isAutomated": false,
  "costs": [CostLine],
  "stateEvent": TicketState,
  "ticketStatus": "open",
  "itemsEvent": TicketItemsChange,
  "attachments": [Document],
  "connectedEventId": HashedId,
  "connectedEvent": Event,
  "internal": true,
  "deleted": 1592577642,
  "ticketHistory": TicketHistory
}

TicketCommentContent

Description

Rich content block within a ticket comment

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
ticketCommentId - HashedId! Parent comment this content belongs to
content - String! Text body of the comment version
deleted - Timestamp Soft deletion timestamp, null if active
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "ticketCommentId": HashedId,
  "content": "xyz789",
  "deleted": 1592577642
}

TicketCommentCreateInput

Description

Data required to create a new ticket comment

Fields
Input Field Description
disableWebhooks - Boolean Whether to skip webhook notifications for this operation. Default = false
ticketId - HashedId! Ticket to add the comment to
content - String! Comment message text
attachments - [Upload!] Files attached to the comment
event - CreateCommentEventInput Cost event linked to this comment
costs - [NewCostInput!] Cost entries recorded with this comment
internal - Boolean Whether the comment is internal-only
connectedEventId - HashedId Existing event to link this comment to
Example
{
  "disableWebhooks": true,
  "ticketId": HashedId,
  "content": "abc123",
  "attachments": [Upload],
  "event": CreateCommentEventInput,
  "costs": [NewCostInput],
  "internal": false,
  "connectedEventId": HashedId
}

TicketCommentFiltersInput

Description

Filter criteria for ticket comments

Fields
Input Field Description
includeInternal - Boolean Whether to include internal-only comments
excludeConnectedEventTypes - [EventTypeEnum!] Event types to exclude from comments by connected event type
Example
{"includeInternal": false, "excludeConnectedEventTypes": ["ERROR"]}

TicketCommentUpdateInput

Description

Fields to update on an existing ticket comment

Fields
Input Field Description
disableWebhooks - Boolean Whether to skip webhook notifications for this operation. Default = false
attachments - [Upload!] Files attached to the comment
content - String Updated comment message text
documentsIdsToDelete - [HashedId!] Attached documents to remove
event - UpdateCommentEventInput Cost event linked to this comment
newCosts - [NewCostInput!] New cost entries to add
changedCosts - [ChangedCostInput!] Existing cost entries to modify
costsIdsToDelete - [HashedId!] Cost entries to remove
Example
{
  "disableWebhooks": false,
  "attachments": [Upload],
  "content": "xyz789",
  "documentsIdsToDelete": [HashedId],
  "event": UpdateCommentEventInput,
  "newCosts": [NewCostInput],
  "changedCosts": [ChangedCostInput],
  "costsIdsToDelete": [HashedId]
}

TicketContentField

Description

A form field and its submitted value from the service template

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
ticketId - HashedId! Ticket this field belongs to
titleId - HashedId Translation record for the field title
descriptionId - HashedId Translation record for the field description
dateValue - DateTime Date entered by the user for this field
comment - String Free-text comment added by the submitter
textValue - String Text entered by the user for this field
includeTime - Boolean! Whether the date field captures time of day
numberValueDecimal - Float Numeric value as a decimal (replaces integer-only field)
numberValue - Int Number value Use "numberValueDecimal" instead. It offers Float type
automations - Int! Number of automations triggered by this field
order - Int! Sort order position
parentId - HashedId Parent field for nested form sections
locationId - HashedId Address linked to this location field
checkedValue - Boolean Whether the checkbox field is checked
yesNoValue - TicketContentFieldYesNo Selected yes/no answer for this field
choiceValue - TicketContentFieldChoice Selected single or multiple choice mode
phoneId - HashedId Phone number linked to this field
contentType - TicketContentFieldContentType! Format of the rendered content
tableId - HashedId Associated table layout for tabular fields
filters - [Filters!]! For now only filters for asset field are supported. This is used to filter the assets via add/remove modal
title - Translation Translated name of the ticket content field
location - Address Physical address associated with this ticket content field
phone - Phone Phone number associated with this ticket content field
description - Translation
documents - [Document!]! Documents attached to this ticket content field
uploadedDocuments - [Document!]! Documents attached to this ticket content field
choiceOptions - [TicketContentFieldChoiceOption!]! Selectable options available for this form field
assets - [Asset!]! Assets referenced in this ticket content field
sites - [Site!]! Sites for this ticket content field
suggestedAssignees - [AvailableHandler!]! Recommended handlers suggested for assignment via this field
assignees - [AvailableHandler!]! Handlers currently assigned via this form field
assetCategories - [AssetCategory!]! Asset categories linked to this ticket content field
assetTypes - [AssetType!]! Asset types linked to this ticket content field
children - [TicketContentField!]! Nested child fields within this section
table - TicketContentFieldTable Table layout structure associated with this form field
emails - [TicketContentFieldEmail!]! Email addresses submitted for this form field
isChangeAllowed - Boolean! Whether change allowed
isHiddenInTicket - Boolean! Whether hidden in ticket
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "ticketId": HashedId,
  "titleId": HashedId,
  "descriptionId": HashedId,
  "dateValue": "2007-12-03T10:15:30Z",
  "comment": "xyz789",
  "textValue": "xyz789",
  "includeTime": true,
  "numberValueDecimal": 987.65,
  "numberValue": 987,
  "automations": 987,
  "order": 123,
  "parentId": HashedId,
  "locationId": HashedId,
  "checkedValue": false,
  "yesNoValue": "na",
  "choiceValue": "na",
  "phoneId": HashedId,
  "contentType": "gps",
  "tableId": HashedId,
  "filters": [Filters],
  "title": Translation,
  "location": Address,
  "phone": Phone,
  "description": Translation,
  "documents": [Document],
  "uploadedDocuments": [Document],
  "choiceOptions": [TicketContentFieldChoiceOption],
  "assets": [Asset],
  "sites": [Site],
  "suggestedAssignees": [AvailableHandler],
  "assignees": [AvailableHandler],
  "assetCategories": [AssetCategory],
  "assetTypes": [AssetType],
  "children": [TicketContentField],
  "table": TicketContentFieldTable,
  "emails": [TicketContentFieldEmail],
  "isChangeAllowed": true,
  "isHiddenInTicket": true
}

TicketContentFieldChoice

Description

Condition assessment options for ticket content fields: not applicable, good, not good, or needs attention

Values
Enum Value Description

na

good

notGood

needsAttention

Example
"na"

TicketContentFieldChoiceOption

Description

A selectable option within a form choice field

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
fieldId - HashedId! Content field this option belongs to
titleId - HashedId! Translation record for the option label
order - Int! Sort order position
value - Boolean! Whether this option is currently selected
isSelectedByDefault - Boolean! Whether selected by default
code - String Machine-readable code for integration mapping
title - Translation Translated name of the ticket content field choice option
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "fieldId": HashedId,
  "titleId": HashedId,
  "order": 123,
  "value": true,
  "isSelectedByDefault": false,
  "code": "abc123",
  "title": Translation
}

TicketContentFieldContentType

Description

Defines the input control type for ticket content fields, such as text, number, date, dropdown, checkbox, signature, attachment, GPS, BLE, asset/site selectors, and meter reading fields

Values
Enum Value Description

gps

ble

text

date

site

asset

phone

number

section

heading

scanned

dropdown

checkbox

assignee

signature

attachment

asset_type

multi_choice

single_choice

single_select

yes_no_choice

ticket_status

ticket_urgency

asset_category

check_next_date

check_last_date

asset_availability

meter_reading_unit

meter_reading_value

meter_reading_parameter

input_table

email

Example
"gps"

TicketContentFieldCreateByTemplateInput

Description

Data required to create a new ticket content field by template

Fields
Input Field Description
dateValue - DateTime Date entered by the user for this field
comment - String Free-text comment added by the submitter
textValue - String Text entered by the user for this field
includeTime - Boolean Whether the date field captures time of day
numberValue - Int Integer numeric value for this field
automations - Int Number of automations triggered by this field
checkedValue - Boolean Whether the checkbox field is checked
yesNoValue - TicketContentFieldYesNo Selected yes/no answer for this field
choiceValue - TicketContentFieldChoice Selected single or multiple choice mode
templateComponentId - HashedId! Template component this field is based on
siteIds - [HashedId!] Sites assigned to this field
teamIds - [HashedId!] Teams assigned to this field
userIds - [HashedId!] Users assigned to this field
groupIds - [HashedId!] Groups assigned to this field
assetIds - [HashedId!] Assets linked to this field
assetTypeIds - [HashedId!] Asset types linked to this field
choiceOptionId - HashedId Selected single-choice option
documents - [Upload!] Attached documents and files
uploadedDocumentUrls - [DocumentUrlInput!]
choiceOptionIds - [HashedId!] Selected multi-choice options
assetCategoryIds - [HashedId!] Asset categories linked to this field
suggestedUserIds - [HashedId!] Suggested users for assignment
suggestedTeamIds - [HashedId!] Suggested teams for assignment
suggestedGroupIds - [HashedId!] Suggested groups for assignment
location - AddressCreateInput Address location for this field
phone - PhoneCreateInput Contact phone number for this field
numberValueDecimal - Float Decimal numeric value for this field
children - [TicketContentFieldCreateByTemplateInput!] Nested child content fields
cells - [TicketContentFieldTableCellCreateInput!] Table cells for grid-type fields
emails - [String!] Email addresses for this field
Example
{
  "dateValue": "2007-12-03T10:15:30Z",
  "comment": "abc123",
  "textValue": "abc123",
  "includeTime": false,
  "numberValue": 987,
  "automations": 123,
  "checkedValue": true,
  "yesNoValue": "na",
  "choiceValue": "na",
  "templateComponentId": HashedId,
  "siteIds": [HashedId],
  "teamIds": [HashedId],
  "userIds": [HashedId],
  "groupIds": [HashedId],
  "assetIds": [HashedId],
  "assetTypeIds": [HashedId],
  "choiceOptionId": HashedId,
  "documents": [Upload],
  "uploadedDocumentUrls": [DocumentUrlInput],
  "choiceOptionIds": [HashedId],
  "assetCategoryIds": [HashedId],
  "suggestedUserIds": [HashedId],
  "suggestedTeamIds": [HashedId],
  "suggestedGroupIds": [HashedId],
  "location": AddressCreateInput,
  "phone": PhoneCreateInput,
  "numberValueDecimal": 123.45,
  "children": [TicketContentFieldCreateByTemplateInput],
  "cells": [TicketContentFieldTableCellCreateInput],
  "emails": ["xyz789"]
}

TicketContentFieldEmail

Description

An email address associated with a ticket content field

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
fieldId - HashedId! Content field this email belongs to
email - String! The email address value
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "fieldId": HashedId,
  "email": "xyz789"
}

TicketContentFieldTable

Description

Tabular data layout within a ticket form field

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
requiredType - TicketContentFieldTableRequiredTypeEnum! Validation rule for required row completion
rows - [TicketContentFieldTableRow!]! Data rows within this form table layout
columns - [TicketContentFieldTableColumn!]! Column definitions for this form table layout
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "requiredType": "NONE",
  "rows": [TicketContentFieldTableRow],
  "columns": [TicketContentFieldTableColumn]
}

TicketContentFieldTableCell

Description

Single cell value at a row-column intersection in a table field

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
columnId - HashedId! Table column this cell belongs to
rowId - HashedId! Table row this cell belongs to
numberValueDecimal - Float Numeric value as a decimal (replaces integer-only field)
numberValue - Int Number value Use "numberValueDecimal" instead. It offers Float type
textValue - String Text entered in this cell
dateValue - DateTime Date entered in this cell
checkedValue - Boolean! Whether the checkbox in this cell is checked
dropdownOptionId - HashedId Selected dropdown option for this cell
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "columnId": HashedId,
  "rowId": HashedId,
  "numberValueDecimal": 123.45,
  "numberValue": 123,
  "textValue": "abc123",
  "dateValue": "2007-12-03T10:15:30Z",
  "checkedValue": true,
  "dropdownOptionId": HashedId
}

TicketContentFieldTableCellCreateInput

Description

Data required to create a new ticket content field table cell

Fields
Input Field Description
numberValue - Int Integer numeric value for this cell
textValue - String Text entered in this cell
dateValue - DateTime Date entered in this cell
checkedValue - Boolean Whether the checkbox in this cell is checked
dropdownOptionId - HashedId Selected dropdown option for this cell
columnId - HashedId! Table column this cell belongs to
rowId - HashedId! Table row this cell belongs to
numberValueDecimal - Float Decimal numeric value for this cell
Example
{
  "numberValue": 123,
  "textValue": "xyz789",
  "dateValue": "2007-12-03T10:15:30Z",
  "checkedValue": true,
  "dropdownOptionId": HashedId,
  "columnId": HashedId,
  "rowId": HashedId,
  "numberValueDecimal": 987.65
}

TicketContentFieldTableColumn

Description

Column definition in a ticket table field

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
order - Int! Sort order position
contentType - TicketContentFieldTableColumnContentTypeEnum! Format of the rendered content
tableId - HashedId! Table this column belongs to
name - Translation! Translated name of the ticket content field table column
dropdownOptions - [TicketContentFieldTableColumnDropdownOption!]! Selectable dropdown options for this table column
cells - [TicketContentFieldTableCell!]! Cell values in each row for this table column
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "order": 123,
  "contentType": "SINGLE_SELECT",
  "tableId": HashedId,
  "name": Translation,
  "dropdownOptions": [
    TicketContentFieldTableColumnDropdownOption
  ],
  "cells": [TicketContentFieldTableCell]
}

TicketContentFieldTableColumnContentTypeEnum

Description

Data entry type for columns within ticket content field tables, such as single select, multi choice, dropdown, text, number, date, or time

Values
Enum Value Description

SINGLE_SELECT

MULTI_CHOICE

DROPDOWN

TEXT

NUMBER

DATE

TIME

Example
"SINGLE_SELECT"

TicketContentFieldTableColumnDropdownOption

Description

Selectable option in a table column dropdown

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
order - Int! Sort order position
columnId - HashedId! Table column this option belongs to
name - Translation! Translated name of the ticket content field table column dropdown option
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "order": 123,
  "columnId": HashedId,
  "name": Translation
}

TicketContentFieldTableRequiredTypeEnum

Description

Validation rules for required data in ticket content field tables: none required, at least one cell, all cells in a row, or all rows must be filled

Values
Enum Value Description

NONE

ONE_CELL

ALL_CELLS

ALL_ROWS

Example
"NONE"

TicketContentFieldTableRow

Description

Single data row in a ticket table field

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
order - Int! Sort order position
tableId - HashedId! Table this row belongs to
name - Translation! Translated name of the ticket content field table row
cells - [TicketContentFieldTableCell!]! Cell values in each column for this table row
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "order": 987,
  "tableId": HashedId,
  "name": Translation,
  "cells": [TicketContentFieldTableCell]
}

TicketContentFieldYesNo

Description

Yes/no response options for ticket content fields, including a not-applicable option

Values
Enum Value Description

na

no

yes

Example
"na"

TicketConvertedToWorkOrderHistory

Description

Records when a ticket is converted into a work order

Fields
Field Name Description
id - HashedId! Unique identifier of the ticket history entry
created - Timestamp! Timestamp when this history entry was created
updated - Timestamp Timestamp when this history entry was last updated
trigger - TicketHistoryTrigger! What initiated this history event such as user action or automation
triggeredByUserId - HashedId Identifier of the user who triggered this change, null for automated actions
ticketId - HashedId! Identifier of the ticket this history entry belongs to
commentId - HashedId Identifier of the comment added alongside this change, if any
triggeredByUser - User User who triggered this ticket history interface
comment - TicketComment Comment that triggered this history entry
type - TicketHistoryType! Ticket history event type discriminator
workOrderId - HashedId! Work order identifier
workOrder - WorkOrderV2! Work order created from this ticket
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "trigger": "USER",
  "triggeredByUserId": HashedId,
  "ticketId": HashedId,
  "commentId": HashedId,
  "triggeredByUser": User,
  "comment": TicketComment,
  "type": "ASSIGNEE_REMOVED",
  "workOrderId": HashedId,
  "workOrder": WorkOrderV2
}

TicketCostAddedHistory

Description

Records when a cost entry is added to a ticket

Fields
Field Name Description
id - HashedId! Unique identifier of the ticket history entry
created - Timestamp! Timestamp when this history entry was created
updated - Timestamp Timestamp when this history entry was last updated
trigger - TicketHistoryTrigger! What initiated this history event such as user action or automation
triggeredByUserId - HashedId Identifier of the user who triggered this change, null for automated actions
ticketId - HashedId! Identifier of the ticket this history entry belongs to
commentId - HashedId Identifier of the comment added alongside this change, if any
triggeredByUser - User User who triggered this ticket history interface
comment - TicketComment Comment that triggered this history entry
type - TicketHistoryType! Ticket history event type discriminator
costId - HashedId! Cost identifier
cost - Cost! Cost value
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "trigger": "USER",
  "triggeredByUserId": HashedId,
  "ticketId": HashedId,
  "commentId": HashedId,
  "triggeredByUser": User,
  "comment": TicketComment,
  "type": "ASSIGNEE_REMOVED",
  "costId": HashedId,
  "cost": Cost
}

TicketCurrentState

Description

Legacy snapshot of the current workflow state with metadata

Fields
Field Name Description
state - TicketState! Mapped workflow state derived from ticket status Use status enum instead
ticketStatus - TicketStateEnum! Current workflow status of the ticket
processedByUser - User User who performed this state transition Web no more needs this field, investigate if mobile needs and remove
authorEmail - String Email of the user who triggered this state change Web no more needs this field, investigate if mobile needs and remove
isAutomated - Boolean! Whether this state change was triggered by automation Web no more needs this field, investigate if mobile needs and remove
processedAtDate - Timestamp! Timestamp when this state transition occurred Web no more needs this field, investigate if mobile needs and remove
Example
{
  "state": TicketState,
  "ticketStatus": "open",
  "processedByUser": User,
  "authorEmail": "abc123",
  "isAutomated": true,
  "processedAtDate": 1592577642
}

TicketDuration

Description

Elapsed time metrics between ticket status transitions

Fields
Field Name Description
from - Timestamp! Start timestamp of the measured duration
to - Timestamp End timestamp, null if still ongoing
Example
{"from": 1592577642, "to": 1592577642}

TicketHandler

Description

Ticket handler record

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
displayName - String! Resolved human-readable name of the handler based on its type
relationValue - String Identifier linking to the underlying handler entity
isDeletable - Boolean! Whether the handler can be removed by the current user
relationType - TicketHandlerRelationTypeEnum! How this handler is related to the ticket
handlerType - TicketRelationHandlerTypeEnum! Whether handler is a user or a group
Example
{
  "id": HashedId,
  "displayName": "xyz789",
  "relationValue": "xyz789",
  "isDeletable": true,
  "relationType": "ASSIGNEE",
  "handlerType": "USER"
}

TicketHandlerCreateInput

Description

Data required to assign a handler to a ticket

Fields
Input Field Description
id - String Existing handler to update instead of creating
handlerType - TicketRelationHandlerTypeEnum! Whether handler is a user, team, or group
relationType - TicketHandlerRelationTypeEnum! Handler role such as assignee or reviewer
relationValue - String Referenced entity ID for this handler
Example
{
  "id": "xyz789",
  "handlerType": "USER",
  "relationType": "ASSIGNEE",
  "relationValue": "abc123"
}

TicketHandlerExternalEmail

Description

Ticket handler external email record

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
isRemovable - Boolean! Whether the handler can be removed from the ticket
ticketId - HashedId! Ticket identifier
isNotifiable - Boolean! Whether this external email receives notifications for ticket updates
role - TicketHandlerRoleEnum! Assigned permission role
email - String! Email address
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "isRemovable": false,
  "ticketId": HashedId,
  "isNotifiable": false,
  "role": "ASSIGNEE",
  "email": "xyz789"
}

TicketHandlerExternalEmailCreateInput

Description

Data required to create a new ticket handler external email

Fields
Input Field Description
ticketId - HashedId! Ticket identifier
email - String! Email address
Example
{
  "ticketId": HashedId,
  "email": "abc123"
}

TicketHandlerGroup

Description

Ticket handler group record

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
isRemovable - Boolean! Whether the handler can be removed from the ticket
ticketId - HashedId! Ticket identifier
isNotifiable - Boolean! Whether the group receives notifications for ticket updates
role - TicketHandlerRoleEnum! Assigned permission role
groupId - HashedId! Group identifier
group - Group! Group this ticket handler group belongs to
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "isRemovable": true,
  "ticketId": HashedId,
  "isNotifiable": true,
  "role": "ASSIGNEE",
  "groupId": HashedId,
  "group": Group
}

TicketHandlerGroupCreateInput

Description

Data required to create a new ticket handler group

Fields
Input Field Description
ticketId - HashedId! Ticket identifier
groupId - HashedId! Group identifier
Example
{
  "ticketId": HashedId,
  "groupId": HashedId
}

TicketHandlerGroupTicketHandler

Description

A group-level ticket handler configuration assigned to a specific ticket

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
isRemovable - Boolean! Whether the handler can be removed from the ticket
ticketId - HashedId! Ticket identifier
isNotifiable - Boolean! Whether this handler receives notifications for ticket updates
role - TicketHandlerRoleEnum! Assigned permission role
groupTicketHandlerId - HashedId! Group ticket handler identifier
groupTicketHandler - GroupTicketHandler! Group Ticket Handler for this ticket handler group ticket handler
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "isRemovable": true,
  "ticketId": HashedId,
  "isNotifiable": false,
  "role": "ASSIGNEE",
  "groupTicketHandlerId": HashedId,
  "groupTicketHandler": GroupTicketHandler
}

TicketHandlerGroupTicketHandlerCreateInput

Description

Data required to create a new ticket handler group ticket handler

Fields
Input Field Description
ticketId - HashedId! Ticket identifier
isNotifiable - Boolean! Whether this handler receives notifications for ticket updates
role - TicketHandlerRoleEnum! Assigned permission role
groupTicketHandlerId - HashedId! Group ticket handler identifier
Example
{
  "ticketId": HashedId,
  "isNotifiable": false,
  "role": "ASSIGNEE",
  "groupTicketHandlerId": HashedId
}

TicketHandlerGroupTicketHandlerUpdateInput

Description

Fields to update on an existing ticket handler group ticket handler

Fields
Input Field Description
isNotifiable - Boolean! Whether this handler receives notifications for ticket updates
Example
{"isNotifiable": true}

TicketHandlerHistory

Description

Ticket history entries that involve changes to assignees, viewers, or ticket handlers

Fields
Field Name Description
id - HashedId! Unique identifier of the ticket history entry
ticketId - HashedId! Identifier of the ticket this history entry belongs to
commentId - HashedId Identifier of the comment added alongside this change, if any
comment - TicketComment Comment that triggered this history entry
trigger - TicketHistoryTrigger! What initiated this history event such as user action or automation
type - TicketHistoryType! Discriminator indicating the specific type of change recorded
triggeredByUserId - HashedId Identifier of the user who triggered this change, null for automated actions
created - Timestamp! Timestamp when this history entry was created
updated - Timestamp Timestamp when this history entry was last updated
triggeredByUser - User User who triggered this ticket history interface
groupId - HashedId Identifier of the group involved in this handler change
teamId - HashedId Identifier of the team involved in this handler change
userId - HashedId Identifier of the user involved in this handler change
groupTicketHandlerId - HashedId Identifier of the group ticket handler configuration involved in this change
externalEmail - String External email address of the handler, for non-platform users
group - Group Group context for this ticket handler history entry
team - Team Team assigned to this ticket history with handlers interface
user - User User who was assigned or unassigned as a handler in this history entry
groupTicketHandler - GroupTicketHandler Group Ticket Handler for this ticket history with handlers interface
Example
{
  "id": HashedId,
  "ticketId": HashedId,
  "commentId": HashedId,
  "comment": TicketComment,
  "trigger": "USER",
  "type": "ASSIGNEE_REMOVED",
  "triggeredByUserId": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "triggeredByUser": User,
  "groupId": HashedId,
  "teamId": HashedId,
  "userId": HashedId,
  "groupTicketHandlerId": HashedId,
  "externalEmail": "abc123",
  "group": Group,
  "team": Team,
  "user": User,
  "groupTicketHandler": GroupTicketHandler
}

TicketHandlerInput

Description

Legacy input for creating a ticket handler assignment

Fields
Input Field Description
id - String Existing handler to update instead of creating
handlerType - TicketRelationHandlerTypeEnum! Whether handler is a user, team, or group
relationType - TicketHandlerRelationTypeEnum! Handler role such as assignee or reviewer
relationValue - String Referenced entity ID for this handler
Example
{
  "id": "xyz789",
  "handlerType": "USER",
  "relationType": "ASSIGNEE",
  "relationValue": "xyz789"
}

TicketHandlerRelationTypeEnum

Description

Role of a handler in relation to a ticket, either as a primary assignee responsible for resolution or as a follower receiving notifications

Values
Enum Value Description

ASSIGNEE

FOLLOWER

Example
"ASSIGNEE"

TicketHandlerRoleEnum

Description

Role assigned to a ticket handler, either as an assignee responsible for ticket resolution or as a viewer with read-only access

Values
Enum Value Description

ASSIGNEE

VIEWER

Example
"ASSIGNEE"

TicketHandlerSiteManager

Description

Ticket handler site manager record

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
isRemovable - Boolean! Whether the handler can be removed from the ticket
ticketId - HashedId! Ticket identifier
isNotifiable - Boolean! Whether the site manager receives notifications for ticket updates
role - TicketHandlerRoleEnum! Assigned permission role
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "isRemovable": true,
  "ticketId": HashedId,
  "isNotifiable": false,
  "role": "ASSIGNEE"
}

TicketHandlerTeam

Description

Ticket handler team record

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
isRemovable - Boolean! Whether the handler can be removed from the ticket
ticketId - HashedId! Ticket identifier
isNotifiable - Boolean! Whether this team receives notifications for ticket updates
role - TicketHandlerRoleEnum! Assigned permission role
teamId - HashedId! Team identifier
team - Team! Associated team assigned to handle tickets
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "isRemovable": false,
  "ticketId": HashedId,
  "isNotifiable": false,
  "role": "ASSIGNEE",
  "teamId": HashedId,
  "team": Team
}

TicketHandlerTeamCreateInput

Description

Data required to create a new ticket handler team

Fields
Input Field Description
ticketId - HashedId! Ticket identifier
isNotifiable - Boolean! Whether this team receives notifications for ticket updates
role - TicketHandlerRoleEnum! Assigned permission role
teamId - HashedId! Team identifier
Example
{
  "ticketId": HashedId,
  "isNotifiable": true,
  "role": "ASSIGNEE",
  "teamId": HashedId
}

TicketHandlerTeamUpdateInput

Description

Fields to update on an existing ticket handler team

Fields
Input Field Description
isNotifiable - Boolean! Whether this team receives notifications for ticket updates
Example
{"isNotifiable": false}

TicketHandlerUpdate

Description

Real-time update event when ticket handlers change

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
action - HandlerUpdateActionEnum Whether handler was added or removed
author - String User who made the handler change
isAutomated - Boolean! Not a result of direct user action but of inner workings. No author in this case.
role - HandlerRelationTypeEnum Assigned permission role
target - TicketHandlerUpdateTargetEnum! Entity type affected by the handler change
targetHandler - String Name of the handler being added or removed
type - EventEntityDataTypeEnum! Event data type, always responsible update
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "action": "ADD",
  "author": "abc123",
  "isAutomated": true,
  "role": "ASSIGNEE",
  "target": "SELF",
  "targetHandler": "xyz789",
  "type": "RESPONSIBLE_UPDATE"
}

TicketHandlerUpdateTargetEnum

Description

Indicates whether a ticket handler update targets the current user themselves (SELF) or another handler (OTHER)

Values
Enum Value Description

SELF

OTHER

Example
"SELF"

TicketHandlerUser

Description

Ticket handler user record

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
isRemovable - Boolean! Whether the handler can be removed from the ticket
ticketId - HashedId! Ticket identifier
isNotifiable - Boolean! Whether this user receives notifications for ticket updates
role - TicketHandlerUserRoleEnum! Assigned permission role
userId - HashedId! User identifier
user - User Associated user
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "isRemovable": false,
  "ticketId": HashedId,
  "isNotifiable": false,
  "role": "ASSIGNEE",
  "userId": HashedId,
  "user": User
}

TicketHandlerUserCreateInput

Description

Data required to create a new ticket handler user

Fields
Input Field Description
ticketId - HashedId! Ticket identifier
isNotifiable - Boolean! Whether this user receives notifications for ticket updates
role - TicketHandlerRoleEnum! Assigned permission role
userId - HashedId! User identifier
Example
{
  "ticketId": HashedId,
  "isNotifiable": false,
  "role": "ASSIGNEE",
  "userId": HashedId
}

TicketHandlerUserRoleEnum

Description

User-specific role within a ticket handler assignment, extending handler roles with a creator role for the user who originally created the ticket

Values
Enum Value Description

ASSIGNEE

VIEWER

CREATOR

Example
"ASSIGNEE"

TicketHandlerUserUpdateInput

Description

Fields to update on an existing ticket handler user

Fields
Input Field Description
isNotifiable - Boolean! Whether this user receives notifications for ticket updates
Example
{"isNotifiable": true}

TicketHistory

Description

Base interface for all ticket history entries that track changes made to a ticket

Fields
Field Name Description
id - HashedId! Unique identifier of the ticket history entry
ticketId - HashedId! Identifier of the ticket this history entry belongs to
commentId - HashedId Identifier of the comment added alongside this change, if any
comment - TicketComment Comment that triggered this history entry
trigger - TicketHistoryTrigger! What initiated this history event such as user action or automation
type - TicketHistoryType! Discriminator indicating the specific type of change recorded
triggeredByUserId - HashedId Identifier of the user who triggered this change, null for automated actions
created - Timestamp! Timestamp when this history entry was created
updated - Timestamp Timestamp when this history entry was last updated
triggeredByUser - User User who triggered this ticket history interface
Example
{
  "id": HashedId,
  "ticketId": HashedId,
  "commentId": HashedId,
  "comment": TicketComment,
  "trigger": "USER",
  "type": "ASSIGNEE_REMOVED",
  "triggeredByUserId": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "triggeredByUser": User
}

TicketHistoryTrigger

Description

Indicates whether a ticket history entry was created by a manual user action or by an automated workflow rule

Values
Enum Value Description

USER

AUTOMATION

Example
"USER"

TicketHistoryType

Description

Categories of changes recorded in ticket history, such as assignee updates, status transitions, asset modifications, and cost additions

Values
Enum Value Description

ASSIGNEE_REMOVED

ASSIGNEE_ADDED

ASSETS_ADDED

ASSETS_REMOVED

SITES_ADDED

SITES_REMOVED

CONVERTED_TO_WORK_ORDER

VIEWER_ADDED

VIEWER_REMOVED

VIEWER_NOTIFICATIONS_DISABLED

VIEWER_NOTIFICATIONS_ENABLED

URGENCY_UPDATED

STATUS_UPDATED

ASSET_AVAILABILITY_UPDATED

ASSET_CHECK_COMPLETED

ASSET_SITE_UPDATED

COST_ADDED

AUTOMATION_EMAIL_SENT

Example
"ASSIGNEE_REMOVED"

TicketHistoryWithAssets

Description

Ticket history entries that involve changes to associated assets

Fields
Field Name Description
id - HashedId! Unique identifier of the ticket history entry
ticketId - HashedId! Identifier of the ticket this history entry belongs to
commentId - HashedId Identifier of the comment added alongside this change, if any
comment - TicketComment Comment that triggered this history entry
trigger - TicketHistoryTrigger! What initiated this history event such as user action or automation
type - TicketHistoryType! Discriminator indicating the specific type of change recorded
triggeredByUserId - HashedId Identifier of the user who triggered this change, null for automated actions
created - Timestamp! Timestamp when this history entry was created
updated - Timestamp Timestamp when this history entry was last updated
triggeredByUser - User User who triggered this ticket history interface
assets - [Asset!]! Assets associated with this ticket history entry
Example
{
  "id": HashedId,
  "ticketId": HashedId,
  "commentId": HashedId,
  "comment": TicketComment,
  "trigger": "USER",
  "type": "ASSIGNEE_REMOVED",
  "triggeredByUserId": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "triggeredByUser": User,
  "assets": [Asset]
}

TicketHistoryWithSites

Description

Ticket history entries that involve changes to associated sites

Fields
Field Name Description
id - HashedId! Unique identifier of the ticket history entry
ticketId - HashedId! Identifier of the ticket this history entry belongs to
commentId - HashedId Identifier of the comment added alongside this change, if any
comment - TicketComment Comment that triggered this history entry
trigger - TicketHistoryTrigger! What initiated this history event such as user action or automation
type - TicketHistoryType! Discriminator indicating the specific type of change recorded
triggeredByUserId - HashedId Identifier of the user who triggered this change, null for automated actions
created - Timestamp! Timestamp when this history entry was created
updated - Timestamp Timestamp when this history entry was last updated
triggeredByUser - User User who triggered this ticket history interface
sites - [Site!]! Sites for this ticket history with sites interface
Possible Types
TicketHistoryWithSites Types

TicketSitesAddedHistory

TicketSitesRemovedHistory

Example
{
  "id": HashedId,
  "ticketId": HashedId,
  "commentId": HashedId,
  "comment": TicketComment,
  "trigger": "USER",
  "type": "ASSIGNEE_REMOVED",
  "triggeredByUserId": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "triggeredByUser": User,
  "sites": [Site]
}

TicketItemsChange

Description

Real-time update event for ticket list subscriptions

Fields
Field Name Description
changeAction - ChangeActionEnum Type of modification applied to ticket items
assets - [Asset!]! Assets affected by this ticket items change event
sites - [Site!]! Sites for this ticket items change
Example
{
  "changeAction": "ADD",
  "assets": [Asset],
  "sites": [Site]
}

TicketPaginatedResult

Description

Paginated list of tickets with cursor-based navigation

Fields
Field Name Description
meta - PaginationMeta! Pagination metadata including total count and page info
rows - [Ticket!]! Tickets for the current page
Example
{
  "meta": PaginationMeta,
  "rows": [Ticket]
}

TicketProcedureCreateInput

Description

Data required to create a new ticket procedure

Fields
Input Field Description
templateId - HashedId! Procedure template to use
serviceId - HashedId! Service this procedure belongs to
checkEventId - HashedId Check event that triggered this procedure
fields - [TicketContentFieldCreateByTemplateInput!]! Content fields to populate in the procedure
Example
{
  "templateId": HashedId,
  "serviceId": HashedId,
  "checkEventId": HashedId,
  "fields": [TicketContentFieldCreateByTemplateInput]
}

TicketRelationHandlerTypeEnum

Description

Type of entity that can be assigned as a handler on a ticket relation, such as an individual user, organization group, site manager, external email recipient, team, or plain group

Values
Enum Value Description

USER

GROUP

SITEMANAGER

EXTERNALEMAIL

TEAM

PLAIN_GROUP

Example
"USER"

TicketSitesAddedHistory

Description

Records when one or more sites are added to a ticket

Fields
Field Name Description
id - HashedId! Unique identifier of the ticket history entry
created - Timestamp! Timestamp when this history entry was created
updated - Timestamp Timestamp when this history entry was last updated
trigger - TicketHistoryTrigger! What initiated this history event such as user action or automation
triggeredByUserId - HashedId Identifier of the user who triggered this change, null for automated actions
ticketId - HashedId! Identifier of the ticket this history entry belongs to
commentId - HashedId Identifier of the comment added alongside this change, if any
triggeredByUser - User User who triggered this ticket history interface
comment - TicketComment Comment that triggered this history entry
type - TicketHistoryType! Ticket history event type discriminator
sites - [Site!]! Sites for this ticket history with sites interface
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "trigger": "USER",
  "triggeredByUserId": HashedId,
  "ticketId": HashedId,
  "commentId": HashedId,
  "triggeredByUser": User,
  "comment": TicketComment,
  "type": "ASSIGNEE_REMOVED",
  "sites": [Site]
}

TicketSitesRemovedHistory

Description

Records when one or more sites are removed from a ticket

Fields
Field Name Description
id - HashedId! Unique identifier of the ticket history entry
created - Timestamp! Timestamp when this history entry was created
updated - Timestamp Timestamp when this history entry was last updated
trigger - TicketHistoryTrigger! What initiated this history event such as user action or automation
triggeredByUserId - HashedId Identifier of the user who triggered this change, null for automated actions
ticketId - HashedId! Identifier of the ticket this history entry belongs to
commentId - HashedId Identifier of the comment added alongside this change, if any
triggeredByUser - User User who triggered this ticket history interface
comment - TicketComment Comment that triggered this history entry
type - TicketHistoryType! Ticket history event type discriminator
sites - [Site!]! Sites for this ticket history with sites interface
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "trigger": "USER",
  "triggeredByUserId": HashedId,
  "ticketId": HashedId,
  "commentId": HashedId,
  "triggeredByUser": User,
  "comment": TicketComment,
  "type": "ASSIGNEE_REMOVED",
  "sites": [Site]
}

TicketState

Description

A single workflow state transition with timestamp and actor

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
titleId - HashedId! Translation record for the state title
title - Translation Localized display name of this workflow state
key - TicketStateEnum Status enum value identifying this workflow state
order - Int Sort position in the workflow from earliest to latest
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "titleId": HashedId,
  "title": Translation,
  "key": "open",
  "order": 987
}

TicketStateEnum

Description

Lifecycle states of a ticket from creation to resolution, including open, in progress, waiting for information, approval needed, on hold, declined, and closed

Values
Enum Value Description

open

declined

closed

inProgress

waitingForInformation

approvalNeeded

onHold

waitingSync

Example
"open"

TicketStateUpdateInput

Description

Fields for updating a ticket status transition

Fields
Input Field Description
disableWebhooks - Boolean Whether to skip webhook notifications for this operation. Default = false
status - TicketStateEnum Current operational status
stateId - HashedId Legacy state reference for this ticket
note - String Explanation for the status change
attachments - [Upload!] Files attached to the status change
event - UpdateTicketStateEventInput Cost event linked to this status change
costs - [NewCostInput!] Cost entries recorded with this status change
assignCurrentUser - Boolean Assign current user as handler on status change. Default = false
Example
{
  "disableWebhooks": false,
  "status": "open",
  "stateId": HashedId,
  "note": "abc123",
  "attachments": [Upload],
  "event": UpdateTicketStateEventInput,
  "costs": [NewCostInput],
  "assignCurrentUser": true
}

TicketStatusUpdatedHistory

Description

Records when the status of a ticket is changed

Fields
Field Name Description
id - HashedId! Unique identifier of the ticket history entry
created - Timestamp! Timestamp when this history entry was created
updated - Timestamp Timestamp when this history entry was last updated
trigger - TicketHistoryTrigger! What initiated this history event such as user action or automation
triggeredByUserId - HashedId Identifier of the user who triggered this change, null for automated actions
ticketId - HashedId! Identifier of the ticket this history entry belongs to
commentId - HashedId Identifier of the comment added alongside this change, if any
triggeredByUser - User User who triggered this ticket history interface
comment - TicketComment Comment that triggered this history entry
type - TicketHistoryType! Ticket history event type discriminator
newStatus - TicketStateEnum! Status the ticket was changed to
oldStatus - TicketStateEnum! Status the ticket was changed from
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "trigger": "USER",
  "triggeredByUserId": HashedId,
  "ticketId": HashedId,
  "commentId": HashedId,
  "triggeredByUser": User,
  "comment": TicketComment,
  "type": "ASSIGNEE_REMOVED",
  "newStatus": "open",
  "oldStatus": "open"
}

TicketTimeline

Description

Key milestone timestamps and duration metrics for a ticket

Fields
Field Name Description
dateCreated - Timestamp! When the ticket was created
dateInProgress - Timestamp When the ticket moved to in-progress
dateDeclined - Timestamp When the ticket was declined
dateClosed - Timestamp When the ticket was closed
dateFirstAssigned - Timestamp When a handler was first assigned
dateFirstCommented - Timestamp When the first comment was added
ticketDuration - TicketDuration! Elapsed time from creation to resolution
Example
{
  "dateCreated": 1592577642,
  "dateInProgress": 1592577642,
  "dateDeclined": 1592577642,
  "dateClosed": 1592577642,
  "dateFirstAssigned": 1592577642,
  "dateFirstCommented": 1592577642,
  "ticketDuration": TicketDuration
}

TicketUrgencyEnum

Description

Priority levels for tickets ranging from critical and high through normal and low to tolerable, used to determine response and resolution urgency

Values
Enum Value Description

CRITICAL

HIGH

NORMAL

LOW

TOLERABLE

Example
"CRITICAL"

TicketUrgencyUpdate

Description

Real-time update event when ticket urgency changes

Fields
Field Name Description
created - Timestamp! Timestamp when the entity was created
createdByUser - User The value is present if the event was created explicitly by a user
data - EventEntityDataDto! Related data records
urgency - TicketUrgencyEnum! Priority level (e.g. low, normal, high, very high)
previousUrgency - TicketUrgencyEnum! Urgency level before this change
isAutomated - Boolean! Not a result of direct user action but of inner workings. No author in this case.
updatedBy - User The value is present if the event was created explicitly by a user
type - EventEntityDataTypeEnum! Event data type, always urgency update
Example
{
  "created": 1592577642,
  "createdByUser": User,
  "data": EventEntityDataDto,
  "urgency": "CRITICAL",
  "previousUrgency": "CRITICAL",
  "isAutomated": false,
  "updatedBy": User,
  "type": "RESPONSIBLE_UPDATE"
}

TicketUrgencyUpdatedHistory

Description

Records when the urgency level of a ticket is changed

Fields
Field Name Description
id - HashedId! Unique identifier of the ticket history entry
created - Timestamp! Timestamp when this history entry was created
updated - Timestamp Timestamp when this history entry was last updated
trigger - TicketHistoryTrigger! What initiated this history event such as user action or automation
triggeredByUserId - HashedId Identifier of the user who triggered this change, null for automated actions
ticketId - HashedId! Identifier of the ticket this history entry belongs to
commentId - HashedId Identifier of the comment added alongside this change, if any
triggeredByUser - User User who triggered this ticket history interface
comment - TicketComment Comment that triggered this history entry
type - TicketHistoryType! Ticket history event type discriminator
newUrgency - TicketUrgencyEnum! Urgency level the ticket was changed to
oldUrgency - TicketUrgencyEnum! Urgency level the ticket was changed from
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "trigger": "USER",
  "triggeredByUserId": HashedId,
  "ticketId": HashedId,
  "commentId": HashedId,
  "triggeredByUser": User,
  "comment": TicketComment,
  "type": "ASSIGNEE_REMOVED",
  "newUrgency": "CRITICAL",
  "oldUrgency": "CRITICAL"
}

TicketUser

Description

Lightweight user reference within a ticket context

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
name - String! Full name or email of the ticket participant
Example
{
  "id": HashedId,
  "name": "xyz789"
}

TicketView

Description

configuration for a ticket 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! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
titleId - HashedId! 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 - ViewEntityEnum! type of entity that this view is for (e.g. ASSET)
displayMode - ViewDisplayMode! display mode that this view uses (e.g. MAP)
options - TicketViewOptions! 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
title - Translation! User-defined name for this saved view
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "titleId": HashedId,
  "forEntity": "ASSET",
  "displayMode": "LIST",
  "options": TicketViewOptions,
  "isActive": false,
  "isSystemView": true,
  "isShared": false,
  "isEditable": false,
  "isDeletable": false,
  "isShareable": false,
  "isUnsharedByParentGroup": false,
  "title": Translation
}

TicketViewCreateInput

Description

input used to create a new ticket view

Fields
Input Field Description
displayMode - ViewDisplayMode! display mode that this view uses (e.g. MAP)
options - TicketViewOptionsInput! display options to be stored with this view
title - TranslationInput! Name to assign to the new saved view
Example
{
  "displayMode": "LIST",
  "options": TicketViewOptionsInput,
  "title": TranslationInput
}

TicketViewOptions

Description

Display settings for pagination, filters, and columns in a ticket view

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

TicketViewOptionsInput

Description

Pagination, filter, and column settings for a ticket view

Fields
Input Field Description
filters - [FilterParamsInput] Filter criteria
search - String Text search query for filtering results
itemsPerPage - Int! number of tickets per page in the view
columns - [String!]! ordered tickets columns that are to be displayed in this view
Example
{
  "filters": [FilterParamsInput],
  "search": "xyz789",
  "itemsPerPage": 987,
  "columns": ["abc123"]
}

TicketViewUpdateInput

Description

input for updating a ticket view

Fields
Input Field Description
id - HashedId! Unique identifier of the entity
displayMode - ViewDisplayMode! display mode that this view uses (e.g. MAP)
options - TicketViewOptionsInput! options for displaying tickets in this view
title - TranslationInput! Updated name for the saved view
Example
{
  "id": HashedId,
  "displayMode": "LIST",
  "options": TicketViewOptionsInput,
  "title": TranslationInput
}

TicketViewerAddedHistory

Description

Records when a viewer is added to a ticket

Fields
Field Name Description
id - HashedId! Unique identifier of the ticket history entry
created - Timestamp! Timestamp when this history entry was created
updated - Timestamp Timestamp when this history entry was last updated
trigger - TicketHistoryTrigger! What initiated this history event such as user action or automation
triggeredByUserId - HashedId Identifier of the user who triggered this change, null for automated actions
ticketId - HashedId! Identifier of the ticket this history entry belongs to
commentId - HashedId Identifier of the comment added alongside this change, if any
triggeredByUser - User User who triggered this ticket history interface
comment - TicketComment Comment that triggered this history entry
group - Group Group context for this ticket handler history entry
groupTicketHandler - GroupTicketHandler Group Ticket Handler for this ticket history with handlers interface
team - Team Team assigned to this ticket history with handlers interface
user - User User who was assigned or unassigned as a handler in this history entry
groupId - HashedId Identifier of the group involved in this handler change
teamId - HashedId Identifier of the team involved in this handler change
userId - HashedId Identifier of the user involved in this handler change
groupTicketHandlerId - HashedId Identifier of the group ticket handler configuration involved in this change
externalEmail - String External email address of the viewer added, for non-platform users
type - TicketHistoryType! Ticket history event type discriminator
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "trigger": "USER",
  "triggeredByUserId": HashedId,
  "ticketId": HashedId,
  "commentId": HashedId,
  "triggeredByUser": User,
  "comment": TicketComment,
  "group": Group,
  "groupTicketHandler": GroupTicketHandler,
  "team": Team,
  "user": User,
  "groupId": HashedId,
  "teamId": HashedId,
  "userId": HashedId,
  "groupTicketHandlerId": HashedId,
  "externalEmail": "abc123",
  "type": "ASSIGNEE_REMOVED"
}

TicketViewerNotificationsDisabledHistory

Description

Records when notifications are disabled for a ticket viewer

Fields
Field Name Description
id - HashedId! Unique identifier of the ticket history entry
created - Timestamp! Timestamp when this history entry was created
updated - Timestamp Timestamp when this history entry was last updated
trigger - TicketHistoryTrigger! What initiated this history event such as user action or automation
triggeredByUserId - HashedId Identifier of the user who triggered this change, null for automated actions
ticketId - HashedId! Identifier of the ticket this history entry belongs to
commentId - HashedId Identifier of the comment added alongside this change, if any
triggeredByUser - User User who triggered this ticket history interface
comment - TicketComment Comment that triggered this history entry
group - Group Group context for this ticket handler history entry
groupTicketHandler - GroupTicketHandler Group Ticket Handler for this ticket history with handlers interface
team - Team Team assigned to this ticket history with handlers interface
user - User User who was assigned or unassigned as a handler in this history entry
groupId - HashedId Identifier of the group involved in this handler change
teamId - HashedId Identifier of the team involved in this handler change
userId - HashedId Identifier of the user involved in this handler change
groupTicketHandlerId - HashedId Identifier of the group ticket handler configuration involved in this change
externalEmail - String External email address of the viewer whose notifications were disabled
type - TicketHistoryType! Ticket history event type discriminator
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "trigger": "USER",
  "triggeredByUserId": HashedId,
  "ticketId": HashedId,
  "commentId": HashedId,
  "triggeredByUser": User,
  "comment": TicketComment,
  "group": Group,
  "groupTicketHandler": GroupTicketHandler,
  "team": Team,
  "user": User,
  "groupId": HashedId,
  "teamId": HashedId,
  "userId": HashedId,
  "groupTicketHandlerId": HashedId,
  "externalEmail": "xyz789",
  "type": "ASSIGNEE_REMOVED"
}

TicketViewerNotificationsEnabledHistory

Description

Records when notifications are enabled for a ticket viewer

Fields
Field Name Description
id - HashedId! Unique identifier of the ticket history entry
created - Timestamp! Timestamp when this history entry was created
updated - Timestamp Timestamp when this history entry was last updated
trigger - TicketHistoryTrigger! What initiated this history event such as user action or automation
triggeredByUserId - HashedId Identifier of the user who triggered this change, null for automated actions
ticketId - HashedId! Identifier of the ticket this history entry belongs to
commentId - HashedId Identifier of the comment added alongside this change, if any
triggeredByUser - User User who triggered this ticket history interface
comment - TicketComment Comment that triggered this history entry
group - Group Group context for this ticket handler history entry
groupTicketHandler - GroupTicketHandler Group Ticket Handler for this ticket history with handlers interface
team - Team Team assigned to this ticket history with handlers interface
user - User User who was assigned or unassigned as a handler in this history entry
groupId - HashedId Identifier of the group involved in this handler change
teamId - HashedId Identifier of the team involved in this handler change
userId - HashedId Identifier of the user involved in this handler change
groupTicketHandlerId - HashedId Identifier of the group ticket handler configuration involved in this change
externalEmail - String External email address of the viewer whose notifications were enabled
type - TicketHistoryType! Ticket history event type discriminator
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "trigger": "USER",
  "triggeredByUserId": HashedId,
  "ticketId": HashedId,
  "commentId": HashedId,
  "triggeredByUser": User,
  "comment": TicketComment,
  "group": Group,
  "groupTicketHandler": GroupTicketHandler,
  "team": Team,
  "user": User,
  "groupId": HashedId,
  "teamId": HashedId,
  "userId": HashedId,
  "groupTicketHandlerId": HashedId,
  "externalEmail": "xyz789",
  "type": "ASSIGNEE_REMOVED"
}

TicketViewerRemovedHistory

Description

Records when a viewer is removed from a ticket

Fields
Field Name Description
id - HashedId! Unique identifier of the ticket history entry
created - Timestamp! Timestamp when this history entry was created
updated - Timestamp Timestamp when this history entry was last updated
trigger - TicketHistoryTrigger! What initiated this history event such as user action or automation
triggeredByUserId - HashedId Identifier of the user who triggered this change, null for automated actions
ticketId - HashedId! Identifier of the ticket this history entry belongs to
commentId - HashedId Identifier of the comment added alongside this change, if any
triggeredByUser - User User who triggered this ticket history interface
comment - TicketComment Comment that triggered this history entry
group - Group Group context for this ticket handler history entry
groupTicketHandler - GroupTicketHandler Group Ticket Handler for this ticket history with handlers interface
team - Team Team assigned to this ticket history with handlers interface
user - User User who was assigned or unassigned as a handler in this history entry
groupId - HashedId Identifier of the group involved in this handler change
teamId - HashedId Identifier of the team involved in this handler change
userId - HashedId Identifier of the user involved in this handler change
groupTicketHandlerId - HashedId Identifier of the group ticket handler configuration involved in this change
externalEmail - String External email address of the viewer removed, for non-platform users
type - TicketHistoryType! Ticket history event type discriminator
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "trigger": "USER",
  "triggeredByUserId": HashedId,
  "ticketId": HashedId,
  "commentId": HashedId,
  "triggeredByUser": User,
  "comment": TicketComment,
  "group": Group,
  "groupTicketHandler": GroupTicketHandler,
  "team": Team,
  "user": User,
  "groupId": HashedId,
  "teamId": HashedId,
  "userId": HashedId,
  "groupTicketHandlerId": HashedId,
  "externalEmail": "abc123",
  "type": "ASSIGNEE_REMOVED"
}

TicketWebhookTriggerTypeEnum

Description

Event that triggers a ticket webhook callback, such as when a new ticket is created or when a comment is added to an existing ticket

Values
Enum Value Description

ticketCreated

ticketCommentAdded

Example
"ticketCreated"

Timestamp

Description

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

Example
1592577642

TranslateResultDto

Description

Translate result dto record

Fields
Field Name Description
sourceLanguage - String! Source language
sourceText - String! Source text
translatedText - JSONObject! Translated text
Example
{
  "sourceLanguage": "xyz789",
  "sourceText": "abc123",
  "translatedText": {}
}

Translation

Description

A translatable text entry with values for multiple languages

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
languages - [TranslationItem!]! Languages
en_us - String! En_us
de_de - String! De_de
translations - String! Translations
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "languages": [TranslationItem],
  "en_us": "xyz789",
  "de_de": "abc123",
  "translations": "abc123"
}

TranslationInput

Description

Translation Input data for translation

Fields
Input Field Description
languages - [TranslationItemInput!] Languages
translations - JSON Translations
de_de - String De_de
en_us - String En_us
id - HashedId Unique identifier
Example
{
  "languages": [TranslationItemInput],
  "translations": {},
  "de_de": "xyz789",
  "en_us": "xyz789",
  "id": HashedId
}

TranslationItem

Description

Translation item record

Fields
Field Name Description
id - HashedId! Unique identifier
code - LanguageLocaleEnum! Code
text - String! Text
Example
{
  "id": HashedId,
  "code": "en_us",
  "text": "abc123"
}

TranslationItemInput

Description

Translation item Input data for translation item

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

Trip

Description

A recorded vehicle trip with GPS tracking data

Fields
Field Name Description
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
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! Unit of measurement for distance values (e.g. km, mi)
driverId - String Driver ID associated with this trip
driverName - String Driver name
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! Unit of measurement for fuel consumption values (e.g. l, gal)
linearDistanceRaw - Float! Linear distance traveled in kilometers
linearDistance - Float! Linear distance traveled in distance units
stopDuration - Float! Duration of stop after this trip
responsiblePerson - String Responsible person
datapoints - [Datapoint!]! List of routes and events points with direction
isPrivate - Boolean! Whether this is private and not publicly visible
group - Group Group this trip belongs to
Example
{
  "created": 1592577642,
  "updated": 1592577642,
  "id": "abc123",
  "active": true,
  "assetId": HashedId,
  "asset": Asset,
  "avgSpeedRaw": 987.65,
  "avgSpeed": 987.65,
  "distanceRaw": 987.65,
  "distance": 123.45,
  "distanceUnit": "abc123",
  "driverId": "xyz789",
  "driverName": "xyz789",
  "duration": 123.45,
  "endLocation": Address,
  "endTime": 987.65,
  "eventPoints": [EventPoint],
  "maxSpeedRaw": 123.45,
  "maxSpeed": 987.65,
  "imei": "abc123",
  "points": [RoutePoint],
  "route": "xyz789",
  "startLocation": Address,
  "startTime": 123.45,
  "timestamp": 123.45,
  "tripId": "4",
  "pointsInRange": [RoutePoint],
  "fuelConsumedRaw": 123,
  "fuelConsumed": 123.45,
  "fuelConsumedPercentage": 987,
  "fuelUnit": "abc123",
  "linearDistanceRaw": 123.45,
  "linearDistance": 987.65,
  "stopDuration": 123.45,
  "responsiblePerson": "abc123",
  "datapoints": [Datapoint],
  "isPrivate": true,
  "group": Group
}

TripDateFilter

Description

Trip date filter input data

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": 123, "to": 987}

TripDateRange

Description

Trip date range record

Fields
Field Name Description
from - Timestamp! Start timestamp of the trip date range
to - Timestamp! End timestamp of the trip date range
Example
{"from": 1592577642, "to": 1592577642}

TripIsPrivateUpdateInput

Description

Trip is private update Fields to update on an existing trip is private

Fields
Input Field Description
isPrivate - Boolean! Whether this is private and not publicly visible. Default = false
comment - String! User comment
Example
{"isPrivate": true, "comment": "abc123"}

TripLatest

Description

Trip latest record

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
active - Boolean! Whether trip is still ongoing (active)
assetId - HashedId! Associated asset ID
distanceUnit - String! Unit of measurement for distance values (e.g. km, mi)
endTime - Float! Trip end time
imei - String! Associated module IMEI
startTime - Float! Trip start time
responsiblePerson - String Responsible person
tripId - HashedId! Trip identifier
groupId - HashedId! Group identifier
latestPointId - Int! Latest point identifier
latestPointLat - Float! Latest point lat
latestPointLng - Float! Latest point lng
latestPointTime - DateTime! Latest point time
latestPointSpeed - Int! Latest point speed
latestPointDistance - Float! Latest point distance
latestDirection - Float! Latest direction
asset - Asset! Associated asset
trip - Trip! Trip
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "active": false,
  "assetId": HashedId,
  "distanceUnit": "abc123",
  "endTime": 123.45,
  "imei": "xyz789",
  "startTime": 123.45,
  "responsiblePerson": "abc123",
  "tripId": HashedId,
  "groupId": HashedId,
  "latestPointId": 123,
  "latestPointLat": 987.65,
  "latestPointLng": 123.45,
  "latestPointTime": "2007-12-03T10:15:30Z",
  "latestPointSpeed": 123,
  "latestPointDistance": 123.45,
  "latestDirection": 987.65,
  "asset": Asset,
  "trip": Trip
}

TripLatestPaginatedResult

Description

Trip latest paginated result record

Fields
Field Name Description
meta - PaginationMeta! Pagination metadata including total count and page info
rows - [TripLatest!]! List of records for the current page
Example
{
  "meta": PaginationMeta,
  "rows": [TripLatest]
}

TripLocationFilter

Description

Trip location filter input data

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

TripPaginatedResult

Description

Trip paginated result record

Fields
Field Name Description
meta - PaginationMeta! Pagination metadata including total count and page info
rows - [Trip!]! List of records for the current page
Example
{
  "meta": PaginationMeta,
  "rows": [Trip]
}

TripsView

Description

configuration for a trips 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! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
titleId - HashedId! 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 - ViewEntityEnum! type of entity that this view is for (e.g. ASSET)
displayMode - ViewDisplayMode! display mode that this view uses (e.g. MAP)
options - TripsViewOptions! 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
title - Translation! User-defined name for this saved view
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "titleId": HashedId,
  "forEntity": "ASSET",
  "displayMode": "LIST",
  "options": TripsViewOptions,
  "isActive": false,
  "isSystemView": false,
  "isShared": true,
  "isEditable": true,
  "isDeletable": false,
  "isShareable": true,
  "isUnsharedByParentGroup": false,
  "title": Translation
}

TripsViewCreateInput

Description

input used to create a new trips view

Fields
Input Field Description
displayMode - ViewDisplayMode! display mode that this view uses (e.g. MAP)
options - TripsViewOptionsInput! display options to be stored with this view
title - TranslationInput! Name to assign to the new saved view
Example
{
  "displayMode": "LIST",
  "options": TripsViewOptionsInput,
  "title": TranslationInput
}

TripsViewOptions

Description

Display settings for pagination, filters, and columns in a trips view

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

TripsViewOptionsInput

Description

Pagination, filter, and column settings for a trips view

Fields
Input Field Description
filters - [FilterParamsInput] Filter criteria
search - String Text search query for filtering results
itemsPerPage - Int! number of trips per page in the view
columns - [String!]! ordered trips columns that are to be displayed in this view
Example
{
  "filters": [FilterParamsInput],
  "search": "xyz789",
  "itemsPerPage": 987,
  "columns": ["abc123"]
}

TripsViewUpdateInput

Description

input for updating a trips view

Fields
Input Field Description
id - HashedId! Unique identifier of the entity
displayMode - ViewDisplayMode! display mode that this view uses (e.g. MAP)
options - TripsViewOptionsInput! options for displaying trips in this view
title - TranslationInput! Updated name for the saved view
Example
{
  "id": HashedId,
  "displayMode": "LIST",
  "options": TripsViewOptionsInput,
  "title": TranslationInput
}

UnitEnum

Description

Measurement units for IoT sensor parameters and telemetry data, including electrical, temperature, distance, time, and other physical quantities

Values
Enum Value Description

AMPERE_HOURS

AMPERE

BAR

BINARY

CELSIUS

FRACTION

DAYS

GRAMS

HERTZ

HOURS

KILOGRAMS

KILOMETER

KMPH

LITER

LPH

MEGAJOULE

METERS

MICROSECONDS

MILLIAMPERE

MILLISECONDS

MINUTES

MONTHS

NOF

PERCENTAGE

RPM

RSSI

SECONDS

SQUARE_METER

TONS

VOLT

WATTS

WEEKS

YEARS

UNIT

KWH

PPM

MICROGRAMS_PER_CUBIC_METER

MILLIGRAMS_PER_CUBIC_METER

FREQUENCY

PASCAL

NO_UNIT

AH

H

KG

VOLTAGE

WATT

MS

HERZ

Example
"AMPERE_HOURS"

UpdateCommentEventInput

Description

Fields to update on an existing ticket comment event

Fields
Input Field Description
title - TranslationInput! Translated event title
assetId - HashedId! Asset associated with the cost event
id - HashedId Comment event to update
Example
{
  "title": TranslationInput,
  "assetId": HashedId,
  "id": HashedId
}

UpdateTicketStateEventInput

Description

Data required to create a cost event on ticket status change

Fields
Input Field Description
title - TranslationInput! Translated event title
assetId - HashedId! Asset associated with the cost event
Example
{
  "title": TranslationInput,
  "assetId": HashedId
}

Upload

Description

The Upload scalar type represents a file upload.

Example
Upload

User

Description

A platform user who can be a technician, manager, administrator, or viewer

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
publicId - Int! Public numeric identifier
firstname - String First name
lastname - String Last name
password - String! Hashed password credential used for local authentication
email - String! Email address
phone - String Phone number
fullName - String! Full name composed from first and last name
groupId - HashedId! Identifier of the organization group this user belongs to
roleId - HashedId! Role identifier
isSupportAdmin - Boolean! Whether this user has administrative privileges for the support portal
canShareViews - Boolean! Whether the user can share views
isSSOEnabled - Boolean! Whether single sign-on (SSO) authentication is enabled for this user
isCostEnabled - Boolean! Whether this user has access to cost tracking and financial features
canEditOnlyOwnDocuments - Boolean! Whether this user can only edit and delete their own documents
toolsenseAdmin - Boolean! Toolsense admin
languageId - HashedId Language preference identifier
language - HashedId Preferred UI language for the application (e.g. 'en', 'de') Use "languageId" instead
languageCode - LanguageLocaleEnum ISO language code for localization of emails and notifications
dashboardId - HashedId Dashboard identifier
locale - LanguageTag Locale tag
timezone - String Timezone identifier
label - String Computed display name shown in dropdowns and user selection lists
apiKey - String API key for external integrations
image - String Image URL
activated - Timestamp Timestamp when the user first confirmed their account and completed onboarding
isServicing - Boolean! Whether this user is currently assigned as a service technician on active work orders
info - JSON Additional contextual details about the user, such as department or job title
stripeSubscriptionId - String Stripe subscription identifier
deleted - Timestamp Soft deletion timestamp, null if active
username - String Username for authentication Use "email" instead
supportAdmin - Boolean! Support admin Use "isSupportAdmin" instead
belongsToGroupId - HashedId! Group this record belongs to Use "groupId" instead
lastLogin - DateTime Last login
services - [JSON!] Service packages assigned to this user that define their available maintenance workflows No implementation for this field
dashboard - JSON Personalized dashboard configuration defining the widgets and layout for this user No implementation for this field
notifications - [JSON!] Notification preference settings controlling how and when this user receives alerts No implementation for this field
notificationIds - [HashedId!] List of notification rule IDs that are active for this user No implementation for this field
checkPassword - Boolean Check password No implementation for this field
loginInterrupts - JSON Pending actions or agreements the user must complete before accessing the application No implementation for this field
loginInterruptIds - [HashedId!] Login interrupt identifiers No implementation for this field
subscription - StripeSubscriptionPlan Billing subscription plan associated with this user's organization
belongsToGroup - Group! Belongs to group Use "group" instead
group - Group! Associated organization group
role - Role! Assigned permission role
roleKey - RoleKey! Role key
teams - [Team!]! Team assigned to this user
Arguments
filters - TeamFilterInput

Filter criteria

groups - [Group!]! Associated organization groups
additionalGroups - [Group!]! Secondary groups the user has been granted access to beyond their primary group
settings - JSON! Configuration settings
unavailability - [UserUnavailability!]! Unavailability
Arguments
hasMultipleGroups - Boolean! Whether the user belongs to more than one group
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "publicId": 987,
  "firstname": "xyz789",
  "lastname": "xyz789",
  "password": "abc123",
  "email": "xyz789",
  "phone": "xyz789",
  "fullName": "xyz789",
  "groupId": HashedId,
  "roleId": HashedId,
  "isSupportAdmin": false,
  "canShareViews": true,
  "isSSOEnabled": true,
  "isCostEnabled": false,
  "canEditOnlyOwnDocuments": true,
  "toolsenseAdmin": false,
  "languageId": HashedId,
  "language": HashedId,
  "languageCode": "en_us",
  "dashboardId": HashedId,
  "locale": LanguageTag,
  "timezone": "xyz789",
  "label": "abc123",
  "apiKey": "abc123",
  "image": "abc123",
  "activated": 1592577642,
  "isServicing": false,
  "info": {},
  "stripeSubscriptionId": "xyz789",
  "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,
  "roleKey": "SuperUser",
  "teams": [Team],
  "groups": [Group],
  "additionalGroups": [Group],
  "settings": {},
  "unavailability": [UserUnavailability],
  "hasMultipleGroups": false
}

UserPaginatedResult

Description

Paginated list of users with cursor-based navigation

Fields
Field Name Description
meta - PaginationMeta! Pagination metadata including total count and page info
rows - [User!]! List of user records for the current page of results
Example
{
  "meta": PaginationMeta,
  "rows": [User]
}

UserUnavailability

Description

User unavailability record

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
createdByWorkOrderId - HashedId! Created by work order identifier
startTime - DateTime! Start time
endTime - DateTime End time
userId - HashedId! User identifier
asWorkOrderWorker - Boolean! As work order worker
Example
{
  "id": HashedId,
  "created": 1592577642,
  "updated": 1592577642,
  "createdByWorkOrderId": HashedId,
  "startTime": "2007-12-03T10:15:30Z",
  "endTime": "2007-12-03T10:15:30Z",
  "userId": HashedId,
  "asWorkOrderWorker": false
}

UserUnavailabilityContext

Description

Defines the context in which a user is marked as unavailable, such as being occupied as a work order worker during a scheduled time period

Values
Enum Value Description

AS_WORKORDER_WORKER

Example
"AS_WORKORDER_WORKER"

UserUnavailabilityFilterInput

Description

Filter criteria for narrowing down user unavailability results

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

Description

Visual layout mode for rendering a saved view: list (table rows), map (geographic positions), or Gantt (timeline chart)

Values
Enum Value Description

LIST

MAP

GANTT

Example
"LIST"

ViewEntityEnum

Description

Entity types that support saved views with custom filters and column configurations, such as assets, tickets, asset site assignments, trips, asset events, rule entries, and operational costs

Values
Enum Value Description

ASSET

TICKET

ASSET_SITE_ASSIGNMENT

TRIPS

ASSET_EVENT

RULE_ENTRY

OPERATIONAL_COSTS

Example
"ASSET"

Webhook

Description

HTTP callback endpoint that receives notifications when entity changes occur

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
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": false,
  "forAssets": true,
  "forWorkOrders": true
}

WebhookCreateInput

Description

Data required to create a new webhook

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": true,
  "forSites": false,
  "forAssets": true,
  "forWorkOrders": true
}

WebhookUpdateInput

Description

Fields to update on an existing webhook

Fields
Input Field Description
id - HashedId! Unique identifier of the entity
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": "xyz789",
  "forTickets": true,
  "forSites": false,
  "forAssets": true,
  "forWorkOrders": false
}

WeekdayEnum

Description

Days of the week used to define working hours, schedules, and availability windows

Values
Enum Value Description

Monday

Tuesday

Wednesday

Thursday

Friday

Saturday

Sunday

Example
"Monday"

WorkOrderAssetCollection

Description

Work order asset collection record

Fields
Field Name Description
workOrderId - HashedId! Work order identifier
widgetHint - String Widget hint
assets - [Asset!]! Assets grouped under this work order asset collection
Example
{
  "workOrderId": HashedId,
  "widgetHint": "xyz789",
  "assets": [Asset]
}

WorkOrderAssetsFieldChange

Description

Work order assets field change record

Fields
Field Name Description
field - WorkOrderHistoryField! Work order field that was changed in this history entry
addedAssets - [Asset!]! Added assets
removedAssets - [Asset!]! Removed assets
Example
{
  "field": "STATUS",
  "addedAssets": [Asset],
  "removedAssets": [Asset]
}

WorkOrderAssigneeChangeNotification

Description

Work order assignee change notification data

Fields
Field Name Description
previous - ProcessHandler Assignee before the change, null if no one was previously assigned
current - ProcessHandler Assignee after the change, null if the assignee was removed
Example
{
  "previous": ProcessHandler,
  "current": ProcessHandler
}

WorkOrderAttachablePersonnel

Description

Work order attachable personnel record

Fields
Field Name Description
userId - HashedId ID of the user assigned as personnel on this work order
groupId - HashedId ID of the group this personnel member belongs to
teamId - HashedId ID of the team assigned as personnel on this work order
displayName - String! Formatted display name of the personnel member
Example
{
  "userId": HashedId,
  "groupId": HashedId,
  "teamId": HashedId,
  "displayName": "abc123"
}

WorkOrderCost

Description

Work order cost record

Fields
Field Name Description
workOrderId - HashedId! Work order identifier
widgetHint - String Widget hint
id - HashedId! Unique identifier of this work order association record
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": "xyz789",
  "id": HashedId,
  "valueCents": 123,
  "costType": "DAILY_RATE",
  "currency": "AED"
}

WorkOrderCostInput

Description

Input data specifying cost details for a work order

Fields
Input Field Description
widgetHint - String Widget hint. Default = null
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 ID of the cost record being updated, null when creating new
Example
{
  "widgetHint": "abc123",
  "valueCents": 987,
  "costType": "DAILY_RATE",
  "currency": "AED",
  "id": HashedId
}

WorkOrderCostStoredHistory

Description

Work order cost stored history record

Fields
Field Name Description
valueCents - Int! Amount of the work order cost
currency - Currency! Currency of the work order cost
Example
{"valueCents": 123, "currency": "AED"}

WorkOrderCostType

Description

Cost calculation methods for work orders, such as daily rate billing

Values
Enum Value Description

DAILY_RATE

Example
"DAILY_RATE"

WorkOrderCreateInput

Description

Data required to create a new work order

Fields
Input Field Description
name - String! Human-readable title of the work order
startDate - DateTime! Start date of the period
endDate - DateTime! End date of the period
procedureTemplateId - HashedId Procedure template identifier
customerName - String Customer name
status - WorkOrderStatus! Current operational status. Default = DRAFT
costCenter - String Accounting cost center for financial allocation
siteId - HashedId Site identifier
notes - TranslationInput Additional notes
Example
{
  "name": "abc123",
  "startDate": "2007-12-03T10:15:30Z",
  "endDate": "2007-12-03T10:15:30Z",
  "procedureTemplateId": HashedId,
  "customerName": "xyz789",
  "status": "PENDING",
  "costCenter": "abc123",
  "siteId": HashedId,
  "notes": TranslationInput
}

WorkOrderDailyRateFieldChange

Description

Work order daily rate field change data

Fields
Field Name Description
field - WorkOrderHistoryField! Work order field that was changed in this history entry
previousDailyRate - WorkOrderCostStoredHistory Previous daily rate
currentDailyRate - WorkOrderCostStoredHistory Current daily rate
Example
{
  "field": "STATUS",
  "previousDailyRate": WorkOrderCostStoredHistory,
  "currentDailyRate": WorkOrderCostStoredHistory
}

WorkOrderDateFieldChange

Description

Work order date field change record

Fields
Field Name Description
field - WorkOrderHistoryField! Work order field that was changed in this history entry
previousDate - Timestamp Previous date
currentDate - Timestamp! Current date
Example
{"field": "STATUS", "previousDate": 1592577642, "currentDate": 1592577642}

WorkOrderDatesInput

Description

Input for work order date range and identification

Fields
Input Field Description
id - HashedId! Unique identifier of the entity
startDate - DateTime! Start date of the period
endDate - DateTime! End date of the period
Example
{
  "id": HashedId,
  "startDate": "2007-12-03T10:15:30Z",
  "endDate": "2007-12-03T10:15:30Z"
}

WorkOrderFieldChange

WorkOrderHistoryEntry

Description

Work order history entry record

Fields
Field Name Description
id - HashedId! Unique identifier of this work order history entry
date - DateTime! Timestamp when this history entry was recorded
type - WorkOrderHistoryEntryType! Category of change recorded by this history entry
createdByUser - User! Created by user
changes - [WorkOrderFieldChange!]! Individual field-level changes captured in this history entry
Example
{
  "id": HashedId,
  "date": "2007-12-03T10:15:30Z",
  "type": "ADDED",
  "createdByUser": User,
  "changes": [WorkOrderAssetsFieldChange]
}

WorkOrderHistoryEntryType

Description

Type of modification recorded in a work order history entry, indicating whether a value was newly added or an existing value was changed

Values
Enum Value Description

ADDED

CHANGED

Example
"ADDED"

WorkOrderHistoryField

Description

Specific field within a work order that was modified, such as status, assignee, followers, workers, start/end dates, site, notes, assets, locations, cost center, or daily rate

Values
Enum Value Description

STATUS

ASSIGNEE

FOLLOWERS

WORKERS

START_DATE

END_DATE

SITE

NOTES

ASSETS

LOCATIONS

COST_CENTER

DAILY_RATE

Example
"STATUS"

WorkOrderLocation

Description

Work order location record

Fields
Field Name Description
workOrderId - HashedId! Work order identifier
widgetHint - String Widget hint
id - HashedId! Unique identifier of this work order association record
name - String! Human-readable name of the work order location
address - String Street address
lat - String Latitude coordinate of the work order location
lng - String Longitude coordinate of the work order location
siteId - HashedId ID of the site associated with this work order location
site - Site Site associated with this work order location
Example
{
  "workOrderId": HashedId,
  "widgetHint": "xyz789",
  "id": HashedId,
  "name": "abc123",
  "address": "abc123",
  "lat": "abc123",
  "lng": "abc123",
  "siteId": HashedId,
  "site": Site
}

WorkOrderLocationInput

Description

Input data specifying a physical location for a work order

Fields
Input Field Description
widgetHint - String Widget hint. Default = null
name - String! Human-readable name of the work order location
address - String Street address
lat - String Latitude coordinate of the work order location
lng - String Longitude coordinate of the work order location
siteId - HashedId ID of the site associated with this work order location
id - HashedId ID of the location record being updated, null when creating new
Example
{
  "widgetHint": "xyz789",
  "name": "xyz789",
  "address": "xyz789",
  "lat": "xyz789",
  "lng": "abc123",
  "siteId": HashedId,
  "id": HashedId
}

WorkOrderLocationStoredHistory

Description

Work order location stored history data

Fields
Field Name Description
name - String! Human-readable name of the work order location
address - String Street address
lat - String Latitude coordinate of the work order location
lng - String Longitude coordinate of the work order location
siteId - HashedId ID of the site associated with this work order location
Example
{
  "name": "xyz789",
  "address": "xyz789",
  "lat": "xyz789",
  "lng": "xyz789",
  "siteId": HashedId
}

WorkOrderLocationsFieldChange

Description

Work order locations field change data

Fields
Field Name Description
field - WorkOrderHistoryField! Work order field that was changed in this history entry
addedLocations - [WorkOrderLocationStoredHistory!]! Added locations
removedLocations - [WorkOrderLocationStoredHistory!]! Removed locations
nameChanges - [WorkOrderNameChange!]! Name changes
Example
{
  "field": "STATUS",
  "addedLocations": [WorkOrderLocationStoredHistory],
  "removedLocations": [WorkOrderLocationStoredHistory],
  "nameChanges": [WorkOrderNameChange]
}

WorkOrderNameChange

Description

Work order name change record

Fields
Field Name Description
previous - String Previous string value before this field change
current - String Current string value after this field change
Example
{
  "previous": "abc123",
  "current": "abc123"
}

WorkOrderNotesFieldChange

Description

Work order notes field change record

Fields
Field Name Description
field - WorkOrderHistoryField! Work order field that was changed in this history entry
previousNotes - Translation Previous notes
currentNotes - Translation Current notes
Example
{
  "field": "STATUS",
  "previousNotes": Translation,
  "currentNotes": Translation
}

WorkOrderNotifications

Description

Work order notifications record

Fields
Field Name Description
created - WorkOrderV2 Created for this event work order notification
followersAdded - [ProcessHandler!]! Followers added
followersRemoved - [ProcessHandler!]! Followers removed
assigneeChanged - WorkOrderAssigneeChangeNotification Assignee changed
statusChanged - WorkOrderStatusChangeNotification Status changed
assetsAssigned - [Asset!]! Assets assigned
assetsUnassigned - [Asset!]! Assets unassigned
Example
{
  "created": WorkOrderV2,
  "followersAdded": [ProcessHandler],
  "followersRemoved": [ProcessHandler],
  "assigneeChanged": WorkOrderAssigneeChangeNotification,
  "statusChanged": WorkOrderStatusChangeNotification,
  "assetsAssigned": [Asset],
  "assetsUnassigned": [Asset]
}

WorkOrderPersonnelAssigneeInput

Description

Input data for work order personnel assignee

Fields
Input Field Description
assigneeType - WorkOrderPersonnelAssigneeType! Whether the assignee is a user or a team
id - HashedId! ID of the user or team being assigned to the work order
Example
{"assigneeType": "USER", "id": HashedId}

WorkOrderPersonnelAssigneeType

Description

Type of entity assigned as personnel on a work order: an individual user, an organization group, or a team

Values
Enum Value Description

USER

GROUP

TEAM

Example
"USER"

WorkOrderPersonnelContact

Description

Work order personnel contact record

Fields
Field Name Description
type - WorkOrderPersonnelContactValueType! Type of contact value such as email or phone
value - String! Stored value
Example
{"type": "EXTERNALEMAIL", "value": "abc123"}

WorkOrderPersonnelContactInput

Description

Input representing a contact method for a work order personnel member

Fields
Input Field Description
type - WorkOrderPersonnelContactValueType! Communication channel type such as email or phone
value - String! Stored value
Example
{"type": "EXTERNALEMAIL", "value": "abc123"}

WorkOrderPersonnelContactValueType

Description

Identifies how a work order personnel contact is specified: by external email address, as a site manager, or by name

Values
Enum Value Description

EXTERNALEMAIL

SITEMANAGER

NAME

Example
"EXTERNALEMAIL"

WorkOrderPersonnelFollowerCollectionInput

Description

Input data for work order personnel follower

Fields
Input Field Description
userIds - [HashedId!] User identifiers
contacts - [WorkOrderPersonnelContactInput!] Contact details for the workers in this collection
groupIds - [HashedId!]! Group identifiers
teamIds - [HashedId!] Team identifiers. Default = []
Example
{
  "userIds": [HashedId],
  "contacts": [WorkOrderPersonnelContactInput],
  "groupIds": [HashedId],
  "teamIds": [HashedId]
}

WorkOrderPersonnelInput

Description

Input data for work order personnel

Fields
Input Field Description
assignee - WorkOrderPersonnelAssigneeInput User or team assigned as the primary responsible party
followers - WorkOrderPersonnelFollowerCollectionInput! Users and teams subscribed to receive updates on this work order
workerCollections - [WorkOrderPersonnelWorkerCollectionInput!]! Grouped collections of workers assigned to this work order
Example
{
  "assignee": WorkOrderPersonnelAssigneeInput,
  "followers": WorkOrderPersonnelFollowerCollectionInput,
  "workerCollections": [
    WorkOrderPersonnelWorkerCollectionInput
  ]
}

WorkOrderPersonnelV2

Description

A user assigned to a work order as a worker or follower

Fields
Field Name Description
workOrderId - HashedId! Work order identifier
widgetHint - String Widget hint
id - HashedId! Unique identifier of this work order association record
userId - HashedId ID of the user assigned as personnel on this work order
groupId - HashedId ID of the group this personnel member belongs to
teamId - HashedId ID of the team assigned as personnel on this work order
user - User Associated user
group - Group Associated organization group
team - Team Team assigned as personnel on this work order
contact - WorkOrderPersonnelContact Contact details for this work order personnel member
removable - Boolean! Whether this personnel assignment can be removed from the work order
displayName - String! Formatted display name of the personnel member
Example
{
  "workOrderId": HashedId,
  "widgetHint": "abc123",
  "id": HashedId,
  "userId": HashedId,
  "groupId": HashedId,
  "teamId": HashedId,
  "user": User,
  "group": Group,
  "team": Team,
  "contact": WorkOrderPersonnelContact,
  "removable": true,
  "displayName": "xyz789"
}

WorkOrderPersonnelWorkerCollectionInput

Description

Input data for work order personnel worker collection

Fields
Input Field Description
widgetHint - String Display hint used by the frontend to render this worker collection. Default = null
userIds - [HashedId!] User identifiers
contacts - [WorkOrderPersonnelContactInput!] Contact details for the workers in this collection
Example
{
  "widgetHint": "abc123",
  "userIds": [HashedId],
  "contacts": [WorkOrderPersonnelContactInput]
}

WorkOrderSiteFieldChange

Description

Work order site field change record

Fields
Field Name Description
field - WorkOrderHistoryField! Work order field that was changed in this history entry
previousSite - Site Previous site
currentSite - Site Current site
Example
{
  "field": "STATUS",
  "previousSite": Site,
  "currentSite": Site
}

WorkOrderStatus

Description

Lifecycle status of a work order from draft through pending, confirmed, in progress, on hold, done, or cancelled

Values
Enum Value Description

PENDING

CONFIRMED

IN_PROGRESS

ON_HOLD

DONE

CANCELLED

DRAFT

Example
"PENDING"

WorkOrderStatusChangeNotification

Description

Work order status change notification data

Fields
Field Name Description
previous - WorkOrderStatus! Work order status before the transition
current - WorkOrderStatus! Work order status after the transition
Example
{"previous": "PENDING", "current": "PENDING"}

WorkOrderStatusFieldChange

Description

Work order status field change record

Fields
Field Name Description
field - WorkOrderHistoryField! Work order field that was changed in this history entry
previousStatus - WorkOrderStatus Previous status
currentStatus - WorkOrderStatus! Current operational status
Example
{"field": "STATUS", "previousStatus": "PENDING", "currentStatus": "PENDING"}

WorkOrderStringArrayFieldChange

Description

Work order string array field change data

Fields
Field Name Description
field - WorkOrderHistoryField! Work order field that was changed in this history entry
added - [String!]! String values added in this field change
removed - [String!]! String values removed in this field change
Example
{
  "field": "STATUS",
  "added": ["xyz789"],
  "removed": ["abc123"]
}

WorkOrderStringFieldChange

Description

Work order string field change record

Fields
Field Name Description
field - WorkOrderHistoryField! Work order field that was changed in this history entry
previous - String Previous string value before this field change
current - String Current string value after this field change
Example
{
  "field": "STATUS",
  "previous": "xyz789",
  "current": "abc123"
}

WorkOrderSummary

Description

Work order summary record

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
name - String! Human-readable title of the work order
workOrderNumber - Int! Work order number
Example
{
  "id": HashedId,
  "name": "abc123",
  "workOrderNumber": 123
}

WorkOrderUpdateInput

Description

Fields to update on an existing work order

Fields
Input Field Description
id - HashedId! Unique identifier of the entity
name - String Human-readable title of the work order
startDate - DateTime Start date of the period
endDate - DateTime End date of the period
procedureTemplateId - HashedId Procedure template identifier
customerName - String Customer name
status - WorkOrderStatus Current operational status
costCenter - String Accounting cost center for financial allocation
siteId - HashedId Site identifier
notes - TranslationInput Additional notes
Example
{
  "id": HashedId,
  "name": "xyz789",
  "startDate": "2007-12-03T10:15:30Z",
  "endDate": "2007-12-03T10:15:30Z",
  "procedureTemplateId": HashedId,
  "customerName": "xyz789",
  "status": "PENDING",
  "costCenter": "xyz789",
  "siteId": HashedId,
  "notes": TranslationInput
}

WorkOrderV2

Description

A planned maintenance task or repair job assigned to technicians

Fields
Field Name Description
id - HashedId! Unique identifier of the entity
created - Timestamp! Timestamp when the entity was created
updated - Timestamp Timestamp when the entity was last updated
name - String! Human-readable title of the work order
startDate - DateTime! Start date of the period
endDate - DateTime! End date of the period
createdByGroupId - HashedId! Created by group identifier
procedureTemplateId - HashedId Procedure template identifier
creatorId - HashedId! Created by user identifier
creationDate - DateTime! Timestamp when this work order was first created
customerName - String Customer name
status - WorkOrderStatus! Current operational status
notesId - HashedId Notes identifier
costCenter - String Accounting cost center for financial allocation
siteId - HashedId Site identifier
creator - User! Associated user
procedureTemplate - ProcedureTemplate Procedure template used to guide execution of this work order
site - Site Site associated with this work order
workOrderNumber - Int! Work order number
notes - Translation Translated value
sourceTicketId - HashedId Source ticket identifier
assignee - WorkOrderPersonnelV2 Personnel member primarily responsible for this work order
followers - [WorkOrderPersonnelV2!]! Personnel members subscribed to updates on this work order
workers - [WorkOrderPersonnelV2!]! Personnel members assigned to carry out this work order
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.
locations - [WorkOrderLocation!]! Physical locations where work is to be performed
Arguments
widgetHint - String

Optional hint indicating which dashboard widget initiated the request

assets - [Asset!]! Assets that are the subject of this work order
createdByGroup - Group! Group this work order belongs to
personnel - [WorkOrderCost!]! Personnel costs for this work order Is not used and returns wrong type
assetCollections - [WorkOrderAssetCollection!]! Asset collections for this work order Use WorkOrderV2.assets
Arguments
widgetHint - String

Optional hint indicating which dashboard widget initiated the request

history - [WorkOrderHistoryEntry!]! History entries for this work order
Example
{
  "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": "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,
  "locations": [WorkOrderLocation],
  "assets": [Asset],
  "createdByGroup": Group,
  "personnel": [WorkOrderCost],
  "assetCollections": [WorkOrderAssetCollection],
  "history": [WorkOrderHistoryEntry]
}

WorkOrdersPaginatedResult

Description

Work orders paginated result record

Fields
Field Name Description
meta - PaginationMeta! Pagination metadata including total count and page info
rows - [WorkOrderV2!]! List of records for the current page
Example
{
  "meta": PaginationMeta,
  "rows": [WorkOrderV2]
}