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
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
Description
Retrieve activity details
Response
Returns a JSON!
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
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!
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!]!
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
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
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
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!]!
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
Response
Returns an AssetSiteAssignmentPaginatedResult!
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Response
Returns an IntegrationObservationPaginatedDto!
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
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
Description
Count assets impacted by a site group reassignment
Response
Returns an Int!
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
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
Response
Returns [IntegrationProviderNewDto!]!
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
Response
Returns [IntegrationProviderNewDto!]!
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
Response
Returns [IntegrationProviderNewDto!]!
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
Response
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
Response
Returns [IntegrationObservationRecord!]!
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
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
Description
Retrieve site manager to-do summaries (deprecated, use siteManagerTodos)
Response
Returns [SiteManagerTodos!]!
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
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
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
Description
Search users, teams, and groups eligible for ticket assignment by name or email
Response
Returns [AvailableHandler!]!
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
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)
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!
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
Response
Returns a ModuleSubscriptionsPaginatedResult!
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
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
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!
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!
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!]
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
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!
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
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
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!]!
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
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
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
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
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
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
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
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
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
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!]!
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
Response
Returns [WorkOrderAttachablePersonnel!]!
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
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
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
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
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
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!
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
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
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
Response
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
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!
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
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
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:
|
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
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
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
Response
Returns a TicketHandlerGroupTicketHandler!
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
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
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
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
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
deleteCost
Description
Remove a cost entry by its ID
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
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
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
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
deleteManufacturerById
Description
Remove a manufacturer by its ID
deleteModuleById
Description
Remove an IoT module by its ID
deletePart
Description
Remove a spare part by its ID
deleteProcedureTemplateById
Description
Soft-deletes a procedure template if the caller has delete access
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
deleteServicePackageById
Description
Remove a service package by its ID
deleteSite
Description
Permanently delete a site and disassociate its related records
deleteTeamById
Description
Remove a team by its ID
deleteTicketById
Description
Permanently delete a ticket by its ID
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
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
deleteTicketHandlerUserById
Description
Remove a user from ticket handler assignment
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
deleteWebhook
Description
Remove a webhook endpoint by its ID
deleteWorkOrder
Description
Permanently delete a work order by ID
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!
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
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
removeHandlerById
Description
Remove ticket handler legacy v2
removeMaintenanceSchedule
Description
Delete a maintenance schedule by its ID
removePushToken
Description
Remove push notification token
removeSitesByTicketId
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
Description
Remove ticket handler legacy v1
Response
Returns a Boolean!
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
runIntegrationByName
Description
Trigger a manual sync run for an integration identified by its string-based name
runIntegrationProvider
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!
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!
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
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!
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!
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!
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!
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
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!
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!
Example
Query
mutation updateIntegrationUser(
$name: String!,
$userId: HashedId!
) {
updateIntegrationUser(
name: $name,
userId: $userId
)
}
Variables
{
"name": "abc123",
"userId": HashedId
}
Response
{"data": {"updateIntegrationUser": false}}
updateLoginInterrupt
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!
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
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!
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:
|
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!
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
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
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
Response
Returns a TicketHandlerGroupTicketHandler!
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
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
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!
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
}
}
}
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
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
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.
|
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
|
|
primaryServicePackage - ServicePackageWithSourceType
|
Main service package assigned to this asset |
eventIds - [HashedId!]!
|
Events recorded for this asset |
Arguments
|
|
nextService - Int
|
Days until the next scheduled service |
downloadLink - String!
|
URL to download the resource |
Arguments
|
|
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
|
|
activeCustomFields - [CustomField!]!
|
Currently active custom fields on this asset |
Arguments
|
|
archivedCustomFields - [CustomField!]!
|
Previously active custom fields now archived |
Arguments
|
|
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
|
|
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
|
|
events - [Event!]!
|
Associated asset |
Arguments
|
|
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
|
|
maintenanceSchedule - AssetMaintenanceSchedule
|
Recurring maintenance schedule for this asset |
workOrders - [WorkOrderV2!]!
|
Work Orders for this asset |
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
|
|
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 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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:
|
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 |
|---|---|
|
|
|
|
|
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 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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
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
Example
{
"name": "abc123",
"manufacturerId": HashedId,
"assetCategoryId": HashedId
}
AssetIntegrationUpdateInput
Description
Fields to update on an existing asset integration
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 connected and active assets are originally connected to the module, we get data from them |
|
|
Secondary assets are cloned from primary assets, we get data based on primary assets |
|
|
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
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 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
|---|---|
|
|
|
|
|
|
|
|
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
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
|
|
totalDaysUntilNowInPeriod - Int!
|
Elapsed days until today within a specified date range |
Arguments
|
|
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
|
|
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
|
|
totalCosts - Float!
|
Total accumulated costs for this site assignment |
totalCostsInPeriod - Float!
|
Total costs within a specified date range |
Arguments
|
|
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 |
|---|---|
|
|
|
|
|
|
|
|
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
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
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 |
|---|---|
|
|
|
|
|
|
|
|
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 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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
|
|
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
}
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 |
|---|---|
|
|
|
|
|
|
|
|
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 |
|---|---|
|
|
|
|
|
Example
"ADD"
ChangedCostInput
Description
Changed cost Fields to update on an existing cost legacy
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
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
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
CoordinatesInput
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 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
|---|---|
|
|
|
|
|
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 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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
Example
{
"user": User,
"passwordResetLink": "xyz789"
}
Currency
Description
ISO 4217 currency codes supported for financial transactions and cost tracking
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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
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 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
|---|---|
|
|
|
|
|
|
|
|
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 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
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
DrivingEventTypesEnum
Description
Types of driving events detected during trips (e.g. harsh braking, sharp cornering, speeding)
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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
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
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 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"ERROR"
ExpectedResultType
Description
Generic operation result with status and optional error details
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 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"GREATER_THAN"
FilterOption
Description
Filter option record
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 |
|---|---|
|
|
|
|
|
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 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"DATETIME_QUICK_TODAY"
FilteringDataTypeEnum
Description
Data types supported by the filtering system (e.g. string, number, date, enum)
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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
|
|
archivedCustomFields - [CustomField!]!
|
Archived custom fields |
Arguments
|
|
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
|
|
servicesV2 - [Service!]!
|
Services associated to current group's servicePackage |
Arguments
|
|
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 |
|---|---|
|
|
|
|
|
|
|
|
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 |
|---|---|
|
|
|
|
|
Example
"PER_DAY"
GroupCostSettingsNonWorkingDays
GroupCostSettingsNonWorkingDaysInput
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
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
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
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
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 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
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 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"EXTERNALEMAIL"
HandlerUpdateActionEnum
Description
Actions available when updating handler assignments, including adding, removing, or toggling notification preferences
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
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 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
|---|---|
|
|
|
|
|
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 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
|---|---|
|
|
|
|
|
|
|
|
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 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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
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 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"en_us"
LanguageNameEnum
Description
Display name of a supported platform language used for user interface localization and content translation
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"GPS"
LocationStatusEnum
Description
Describes the state of the supplied location data
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
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
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
Example
{
"name": "abc123",
"nameKey": "abc123",
"notificationsEnabled": true
}
ManufacturerUpdateInput
Description
Fields to update on an existing manufacturer
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 |
|---|---|
|
|
|
|
|
|
|
|
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
Example
{"ticketPush": true, "ticketEmail": true}
NotificationConfigInput
Description
Toggle switches for enabling or disabling notification channels
Example
{"ticketPush": true, "ticketEmail": false}
NotificationFilter
Description
User-specific settings controlling which notifications are received
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 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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
PaginationMeta
Description
Pagination meta record
Example
{
"count": 987,
"limit": 987,
"offset": 123,
"order": "xyz789",
"orderBy": "abc123"
}
PaginationParams
Description
Pagination params input data
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
Example
{
"rawNumber": "xyz789",
"nationalNumber": "abc123",
"countryCode": "abc123",
"fullNumber": "xyz789"
}
ProcedureComponentChoice
Description
deprecated used in old input
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
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 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
|---|---|
|
|
|
|
|
Example
"CUSTOM"
ProcedureComponentYesNo
Description
deprecated used in old input
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
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 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
|---|---|
|
|
|
|
|
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 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
|---|---|
|
|
|
|
|
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 |
|---|---|
|
|
|
|
|
|
|
|
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 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
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 |
|---|---|
|
|
|
|
|
|
|
|
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 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"check"
ProcedureTemplateType
Description
Determines whether a procedure template is used for tickets or work orders
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
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: [
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 |
|---|---|
|
|
|
|
|
|
|
|
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
Types
| Union Types |
|---|
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
|
|
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
|
|
checkSchedule - AssetCheckSchedule
|
Check schedule visible on the QR landing page |
assetSiteAssignments - [AssetSiteAssignment!]!
|
Site assignments for the QR landing asset |
Arguments
|
|
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
|
|
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
|
|
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
Example
{
"id": HashedId,
"name": "abc123",
"depth": 123
}
RemoveAssetFromRuleInput
RequestForAsset
Description
Input to register a new asset access request
Example
{
"serial": "abc123",
"permalink": "xyz789",
"document": Upload
}
RequestGroupInput
Description
Request group Input data for registration request process target group
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
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 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
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 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"Inspected"
RoutePoint
Description
Waypoints are location snapshots taken at certain intervals that also provide event and other information
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
|
|
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
|
|
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
|
|
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 |
|---|---|
|
|
Simple string comparison. Supported comparisons: =, !=. See parameter_math for full description. |
|
|
True if the source parameter is not defined or has a null/0 value. 'compareTo' is ignored. See parameter_math for full description. |
|
|
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. |
|
|
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. |
|
|
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' } |
|
|
Same as contractInterval_service, but checks the creation date instead of the service start. |
|
|
Same as contractInterval_service, but checks both creation date and service start date. |
|
|
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: '=' } |
|
|
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
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 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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
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 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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
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 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
|---|---|
|
|
|
|
|
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 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
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 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
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 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
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 |
|---|---|
|
|
|
|
|
|
|
|
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 |
|---|---|
|
|
|
|
|
|
|
|
Example
"CIRCLE"
RuleInterval
Description
Legacy time intervals for scheduled rule execution: yearly, monthly, or daily
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
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 |
|---|---|
|
|
|
|
|
|
|
|
Example
"EXTERNALEMAIL"
RulePurpose
Description
Classifies the functional purpose of a rule, such as geofence boundary monitoring or working hours enforcement
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
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 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
|---|---|
|
|
|
|
|
Check like INTERVAL but with asset relation |
|
|
|
|
|
|
|
|
Example
"DATA"
S3PresignedUrl
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
ServiceContentType
Description
Format types for service definition content, determining how the service form is rendered to the end user
Values
| Enum Value | Description |
|---|---|
|
|
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 |
|---|---|
|
|
|
|
|
|
|
|
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
|
|
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 |
|---|---|
|
|
|
|
|
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 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"GROUP"
ServicePackageUnion
Types
| Union Types |
|---|
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 |
|---|---|
|
|
|
|
|
|
|
|
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 |
|---|---|
|
|
|
|
|
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:
|
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
|
|
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:
|
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
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
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 |
|---|---|
|
|
|
|
|
|
|
|
Example
"GEOFENCE_SETTINGS"
SiteType
SiteTypeInput
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:
|
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 |
|---|---|
|
|
|
|
|
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.
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
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
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
Example
TicketHandlerUpdate
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 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
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 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
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 |
|---|---|
|
|
|
|
|
|
|
|
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
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
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 |
Possible Types
| TicketHandlerHistory Types |
|---|
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 |
|---|---|
|
|
|
|
|
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 |
|---|---|
|
|
|
|
|
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 |
|---|---|
|
|
|
|
|
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 |
|---|---|
|
|
|
|
|
|
|
|
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 |
Possible Types
| TicketHistory Types |
|---|
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 |
|---|---|
|
|
|
|
|
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 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
Possible Types
| TicketHistoryWithAssets Types |
|---|
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 |
|---|
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 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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
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 |
|---|---|
|
|
|
|
|
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
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
|
|
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
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
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
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 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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
|
|
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]
}
ViewDisplayMode
Description
Visual layout mode for rendering a saved view: list (table rows), map (geographic positions), or Gantt (timeline chart)
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
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 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"Monday"
WorkOrderAssetCollection
Description
Work order asset collection record
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
WorkOrderCostType
Description
Cost calculation methods for work orders, such as daily rate billing
Values
| Enum Value | Description |
|---|---|
|
|
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
Example
{
"id": HashedId,
"startDate": "2007-12-03T10:15:30Z",
"endDate": "2007-12-03T10:15:30Z"
}
WorkOrderFieldChange
Example
WorkOrderAssetsFieldChange
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 |
|---|---|
|
|
|
|
|
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 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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
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 |
|---|---|
|
|
|
|
|
|
|
|
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 |
|---|---|
|
|
|
|
|
|
|
|
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 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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
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
|
|
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
|
|
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]
}