tbmaestro Asset Management API Reference

API reference of tbmaestro's API for asset management.

This is a GraphQL API and the documentation assumes the reader is familiar with this language. For more information on how GraphQL works, please refer to the GraphQL documentation.

Access to this API is reserved for customers of tbmaestro, Inc. and requires authentication. Before attempting to connect to this API, please contact us to discuss which access plan best fits your needs. You will then be provided with credentials to access the API.

The full GraphQL schema is available here.

License

© 2026 tbmaestro, Inc. All rights reserved. This documentation is provided to customers of tbmaestro, Inc. for the exclusive purpose of integrating with the Asset Management API. Redistribution or use outside of this purpose is prohibited.

API Endpoints
# HTTP endpoint:
https://backendmya.tbmaestro.com/graphql
# WebSocket endpoint for subscriptions:
wss://backendmya.tbmaestro.com/graphql
Headers
# Specify the JWT from the authentication endpoint here.
Authorization: Bearer <YOUR_TOKEN_HERE>
Version

6.10.0

Authentication

This API uses OAuth 2.0 for authentication. To authenticate your requests, you need to obtain a JSON Web Token (JWT) by sending a request to the following endpoint:

POST https://auth.tbmaestro.com/oauth/token

Please, note that the authentification endpoint is different from the API endpoint. You must provide your credentials (client ID and secret) to obtain a JWT.

The API uses scopes for authorizing requests. Two scopes are available: api:read and api:write. These scopes grant read and write access to the API, respectively. Your may request either of these scopes from the authentication endpoint, provided it is included in your plan.

The body of the request should look like this:

Key Value
grant_type client_credentials
client_id Your client ID.
client_secret Your client secret.
audience https://backendmya.tbmaestro.com
scopes One of api:read or api:write.

The response payload should look like this:

{
  "access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsIm...",
  "scope": "api:read",
  "expires_in": 3600,
  "token_type": "bearer"
}

All requests to the API must include the JWT in the Authorization header, prefixed with Bearer:

POST https://backendmya.tbmaestro.com/graphql
Authorization: Bearer <YOUR_TOKEN_HERE>

API usage

API conventions

The API is organized around entities which may be linked together. The most important entities are Asset and Organization. All entities are linked to an organization, most are also linked to an asset. See the API's types reference for details on each type of entity.

All entities feature the same base fields:

id

The unique ID of the entity. This is the ID used to refer to the entity in most API calls. Note that some entities may have some other sort of unique identifier, either generated or manually assigned.

properties

This object contains all the properties of the entity. Properties are configurable. When an organization is created in myA, it comes with a set of default properties for all entities. New properties may be configured in myA. See the user guide for more information on how to manage properties.

computedProperties

This object contains all the computed properties of the entity, also referred to as "indicators". Like properties, indicators are configurable, but contrary to the former, they are read-only and their value is computed automatically based on a formula.

creationActor

This object contains data about the user or client who created the entity:

{
  "actorId": "10@users",
  "name": "John Doe"
}

lastChangeActor

This object contains data about the user or client who last updated the entity.

creationDate

This is the ISO-8601 date and time at which the entity was created.

lastChangeDate

This is the ISO-8601 date and time at which the entity was last updated.

Notice on subscriptions

This API relies on GraphQL WS for handling subscriptions over WebSockets. Look for the implementation most suitable to your project. The endpoint for subscriptions is wss://backendmya.tbmaestro.com/graphql. For authenticating subscriptions, a connection_init message containing the JWT must be sent over the WebSocket first:

{
  "type": "connection_init",
  "payload": {
    "Authorization": "Bearer <YOUR_TOKEN_HERE>"
  }
}

Warning: This is the only accepted way to authenticate subscriptions. The Authorization header in the WSS request is ignored by GraphQL WS. Note that some GraphQL clients such as Postman do not support GraphQL WS natively and subscriptions may not work as expected.

Queries

asset

Description

Returns an asset based on its ID.

Response

Returns an Asset!

Arguments
Name Description
id - String! Asset's ID.

Example

Query
query Asset($id: String!) {
  asset(id: $id) {
    id
    organizationId
    typeId
    name
    identifier
    assetState
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
    dataDate
  }
}
Variables
{"id": "xyz789"}
Response
{
  "data": {
    "asset": {
      "id": "xyz789",
      "organizationId": "xyz789",
      "typeId": "xyz789",
      "name": "abc123",
      "identifier": 123,
      "assetState": "xyz789",
      "properties": Object,
      "computedProperties": Object,
      "creationDate": "2007-12-03T10:15:30Z",
      "lastChangeDate": "2007-12-03T10:15:30Z",
      "createdBy": "abc123",
      "creationActor": Actor,
      "updatedBy": "xyz789",
      "lastChangeActor": Actor,
      "dataDate": "2007-12-03T10:15:30Z"
    }
  }
}

assetAudit

Description

Returns an asset's audit.

Response

Returns an AssetAudit!

Arguments
Name Description
assetId - String! ID of the asset to which the audit is related.

Example

Query
query AssetAudit($assetId: String!) {
  assetAudit(assetId: $assetId) {
    id
    organizationId
    assetId
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
  }
}
Variables
{"assetId": "xyz789"}
Response
{
  "data": {
    "assetAudit": {
      "id": "xyz789",
      "organizationId": "xyz789",
      "assetId": "xyz789",
      "properties": Object,
      "computedProperties": Object,
      "creationDate": "2007-12-03T10:15:30Z",
      "lastChangeDate": "2007-12-03T10:15:30Z",
      "createdBy": "xyz789",
      "creationActor": Actor,
      "updatedBy": "abc123",
      "lastChangeActor": Actor
    }
  }
}

assetAudits

Description

Returns audits of an organization.

Response

Returns [AssetAudit!]!

Arguments
Name Description
organizationId - String! Organization's ID.
selectParams - SelectParams Params for filtering, sorting and grouping audits. Warning: starting next version, this field will be required.

Example

Query
query AssetAudits(
  $organizationId: String!,
  $selectParams: SelectParams
) {
  assetAudits(
    organizationId: $organizationId,
    selectParams: $selectParams
  ) {
    id
    organizationId
    assetId
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
  }
}
Variables
{
  "organizationId": "abc123",
  "selectParams": SelectParams
}
Response
{
  "data": {
    "assetAudits": [
      {
        "id": "abc123",
        "organizationId": "abc123",
        "assetId": "xyz789",
        "properties": Object,
        "computedProperties": Object,
        "creationDate": "2007-12-03T10:15:30Z",
        "lastChangeDate": "2007-12-03T10:15:30Z",
        "createdBy": "abc123",
        "creationActor": Actor,
        "updatedBy": "abc123",
        "lastChangeActor": Actor
      }
    ]
  }
}

assetCrv

Description

Returns an asset's CRV.

Response

Returns an AssetCrv!

Arguments
Name Description
assetId - String! Asset's ID.

Example

Query
query AssetCrv($assetId: String!) {
  assetCrv(assetId: $assetId) {
    id
    assetId
    useSuggestedUnitReplacementValue
    useSuggestedPercentReplacementValue
    unitCrvDetailsList {
      id
      assetCrvId
      organizationCrvId
      quantity
      properties
      computedProperties
      creationDate
      lastChangeDate
      createdBy
      creationActor {
        ...ActorFragment
      }
      updatedBy
      lastChangeActor {
        ...ActorFragment
      }
    }
    technicalCategoryCrvsList {
      id
      assetCrvId
      technicalCategory {
        ...RelatedTechnicalCategoryFragment
      }
      properties
      computedProperties
      creationDate
      lastChangeDate
      createdBy
      creationActor {
        ...ActorFragment
      }
      updatedBy
      lastChangeActor {
        ...ActorFragment
      }
    }
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
  }
}
Variables
{"assetId": "abc123"}
Response
{
  "data": {
    "assetCrv": {
      "id": "abc123",
      "assetId": "xyz789",
      "useSuggestedUnitReplacementValue": false,
      "useSuggestedPercentReplacementValue": false,
      "unitCrvDetailsList": [UnitCrvDetail],
      "technicalCategoryCrvsList": [TechnicalCategoryCrv],
      "properties": Object,
      "computedProperties": Object,
      "creationDate": "2007-12-03T10:15:30Z",
      "lastChangeDate": "2007-12-03T10:15:30Z",
      "createdBy": "xyz789",
      "creationActor": Actor,
      "updatedBy": "abc123",
      "lastChangeActor": Actor
    }
  }
}

assetCrvExists

Description

Returns whether an asset has a related CRV.

Response

Returns a Boolean!

Arguments
Name Description
assetId - String! Asset's ID.

Example

Query
query AssetCrvExists($assetId: String!) {
  assetCrvExists(assetId: $assetId)
}
Variables
{"assetId": "abc123"}
Response
{"data": {"assetCrvExists": false}}

assetTypes

Description

Returns all asset types of an organization.

Response

Returns [AssetType!]!

Arguments
Name Description
organizationId - String! Organization's ID.

Example

Query
query AssetTypes($organizationId: String!) {
  assetTypes(organizationId: $organizationId) {
    id
    organizationId
    name
    modulesList
    creationDate
    lastChangeDate
    createdBy
    updatedBy
  }
}
Variables
{"organizationId": "xyz789"}
Response
{
  "data": {
    "assetTypes": [
      {
        "id": "xyz789",
        "organizationId": "xyz789",
        "name": "abc123",
        "modulesList": ["xyz789"],
        "creationDate": "2007-12-03T10:15:30Z",
        "lastChangeDate": "2007-12-03T10:15:30Z",
        "createdBy": "abc123",
        "updatedBy": "abc123"
      }
    ]
  }
}

assets

Description

Returns assets of an organization.

Response

Returns [Asset!]!

Arguments
Name Description
organizationId - String! Organization's ID.
selectParams - SelectParams Params for filtering, sorting and grouping assets. Warning: starting next version, this field will be required.

Example

Query
query Assets(
  $organizationId: String!,
  $selectParams: SelectParams
) {
  assets(
    organizationId: $organizationId,
    selectParams: $selectParams
  ) {
    id
    organizationId
    typeId
    name
    identifier
    assetState
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
    dataDate
  }
}
Variables
{
  "organizationId": "xyz789",
  "selectParams": SelectParams
}
Response
{
  "data": {
    "assets": [
      {
        "id": "abc123",
        "organizationId": "abc123",
        "typeId": "abc123",
        "name": "xyz789",
        "identifier": 987,
        "assetState": "abc123",
        "properties": Object,
        "computedProperties": Object,
        "creationDate": "2007-12-03T10:15:30Z",
        "lastChangeDate": "2007-12-03T10:15:30Z",
        "createdBy": "abc123",
        "creationActor": Actor,
        "updatedBy": "xyz789",
        "lastChangeActor": Actor,
        "dataDate": "2007-12-03T10:15:30Z"
      }
    ]
  }
}

canChangeWorkAsset

Description

Returns whether changing an intervention's asset to one unrelated to that intervention's project assets would cause an error. An empty string means the change is allowed. This is used only for validation before calling updateWorks. This query does not update the work.

Response

Returns a String!

Arguments
Name Description
workId - String! Work's ID.
assetId - String! New asset's ID

Example

Query
query CanChangeWorkAsset(
  $workId: String!,
  $assetId: String!
) {
  canChangeWorkAsset(
    workId: $workId,
    assetId: $assetId
  )
}
Variables
{
  "workId": "abc123",
  "assetId": "xyz789"
}
Response
{"data": {"canChangeWorkAsset": "abc123"}}

canMoveSpace

Description

Returns whether updating a space's hierarchy by moving it under a new parent would cause an error. An empty string means the move is allowed. This is used only for validation before calling updateSpace. No space is changed by this query.

Response

Returns a String!

Arguments
Name Description
id - String! Space's ID.
parentPath - [String]! New parent path under which the space would be moved.
moveSpaceChildren - Boolean! Whether the space's children would move along with their parent. If true, the updated space's children would move along under the new hierarchy. If false, children spaces would be detached from the updated space and reattached to its previous parent.

Example

Query
query CanMoveSpace(
  $id: String!,
  $parentPath: [String]!,
  $moveSpaceChildren: Boolean!
) {
  canMoveSpace(
    id: $id,
    parentPath: $parentPath,
    moveSpaceChildren: $moveSpaceChildren
  )
}
Variables
{
  "id": "xyz789",
  "parentPath": ["abc123"],
  "moveSpaceChildren": true
}
Response
{"data": {"canMoveSpace": "xyz789"}}

checkType

Description

Returns an inspection type of an organization based on its code.

Response

Returns a CheckType!

Arguments
Name Description
organizationId - String! Organization's ID.
code - String! Inspection type's code.

Example

Query
query CheckType(
  $organizationId: String!,
  $code: String!
) {
  checkType(
    organizationId: $organizationId,
    code: $code
  ) {
    code
    values
    observation
  }
}
Variables
{
  "organizationId": "xyz789",
  "code": "xyz789"
}
Response
{
  "data": {
    "checkType": {
      "code": "abc123",
      "values": Object,
      "observation": Object
    }
  }
}

checkTypes

Description

Returns all inspection types of an organization.

Response

Returns [CheckType!]!

Arguments
Name Description
organizationId - String! Organization's ID.

Example

Query
query CheckTypes($organizationId: String!) {
  checkTypes(organizationId: $organizationId) {
    code
    values
    observation
  }
}
Variables
{"organizationId": "abc123"}
Response
{
  "data": {
    "checkTypes": [
      {
        "code": "abc123",
        "values": Object,
        "observation": Object
      }
    ]
  }
}

checks

Description

Returns inspections of an organization.

Response

Returns [Check!]!

Arguments
Name Description
organizationId - String! Organization's ID.
selectParams - SelectParams Params for filtering, sorting and grouping inspections. Warning: starting next version, this field will be required.

Example

Query
query Checks(
  $organizationId: String!,
  $selectParams: SelectParams
) {
  checks(
    organizationId: $organizationId,
    selectParams: $selectParams
  ) {
    id
    organizationId
    assetId
    spaceIdsList
    state
    type
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
    dataDate
  }
}
Variables
{
  "organizationId": "abc123",
  "selectParams": SelectParams
}
Response
{
  "data": {
    "checks": [
      {
        "id": "xyz789",
        "organizationId": "xyz789",
        "assetId": "xyz789",
        "spaceIdsList": ["xyz789"],
        "state": "CHECK_ABSENT",
        "type": "xyz789",
        "properties": Object,
        "computedProperties": Object,
        "creationDate": "2007-12-03T10:15:30Z",
        "lastChangeDate": "2007-12-03T10:15:30Z",
        "createdBy": "xyz789",
        "creationActor": Actor,
        "updatedBy": "abc123",
        "lastChangeActor": Actor,
        "dataDate": "2007-12-03T10:15:30Z"
      }
    ]
  }
}

checksByAsset

Inspection queries will be merged in the next version. Use checks instead.
Description

Returns all inspections of an asset.

Response

Returns [Check!]!

Arguments
Name Description
assetId - String! Asset's ID.

Example

Query
query ChecksByAsset($assetId: String!) {
  checksByAsset(assetId: $assetId) {
    id
    organizationId
    assetId
    spaceIdsList
    state
    type
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
    dataDate
  }
}
Variables
{"assetId": "xyz789"}
Response
{
  "data": {
    "checksByAsset": [
      {
        "id": "abc123",
        "organizationId": "xyz789",
        "assetId": "xyz789",
        "spaceIdsList": ["xyz789"],
        "state": "CHECK_ABSENT",
        "type": "xyz789",
        "properties": Object,
        "computedProperties": Object,
        "creationDate": "2007-12-03T10:15:30Z",
        "lastChangeDate": "2007-12-03T10:15:30Z",
        "createdBy": "abc123",
        "creationActor": Actor,
        "updatedBy": "xyz789",
        "lastChangeActor": Actor,
        "dataDate": "2007-12-03T10:15:30Z"
      }
    ]
  }
}

contractTypes

Contract queries will be merged in the next version. Use contracts instead.
Description

Returns all used values for the contract 'type' field within an organization.

Response

Returns [String!]!

Arguments
Name Description
organizationId - String! Organization's ID.

Example

Query
query ContractTypes($organizationId: String!) {
  contractTypes(organizationId: $organizationId)
}
Variables
{"organizationId": "abc123"}
Response
{"data": {"contractTypes": ["abc123"]}}

contracts

Description

Returns contracts of an organization.

Response

Returns [Contract!]!

Arguments
Name Description
organizationId - String! Organization's ID.
selectParams - SelectParams Params for filtering, sorting and grouping contracts. Warning: starting next version, this field will be required.

Example

Query
query Contracts(
  $organizationId: String!,
  $selectParams: SelectParams
) {
  contracts(
    organizationId: $organizationId,
    selectParams: $selectParams
  ) {
    id
    organizationId
    assetId
    spaceIdsList
    provider
    status
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
    dataDate
  }
}
Variables
{
  "organizationId": "xyz789",
  "selectParams": SelectParams
}
Response
{
  "data": {
    "contracts": [
      {
        "id": "xyz789",
        "organizationId": "abc123",
        "assetId": "xyz789",
        "spaceIdsList": ["abc123"],
        "provider": "abc123",
        "status": "CONTRACT_ACTIVE",
        "properties": Object,
        "computedProperties": Object,
        "creationDate": "2007-12-03T10:15:30Z",
        "lastChangeDate": "2007-12-03T10:15:30Z",
        "createdBy": "xyz789",
        "creationActor": Actor,
        "updatedBy": "abc123",
        "lastChangeActor": Actor,
        "dataDate": "2007-12-03T10:15:30Z"
      }
    ]
  }
}

contractsByAsset

Contract queries will be merged in the next version. Use contracts instead.
Description

Returns all contracts of an asset.

Response

Returns [Contract!]!

Arguments
Name Description
assetId - String! Asset's ID.

Example

Query
query ContractsByAsset($assetId: String!) {
  contractsByAsset(assetId: $assetId) {
    id
    organizationId
    assetId
    spaceIdsList
    provider
    status
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
    dataDate
  }
}
Variables
{"assetId": "abc123"}
Response
{
  "data": {
    "contractsByAsset": [
      {
        "id": "xyz789",
        "organizationId": "abc123",
        "assetId": "xyz789",
        "spaceIdsList": ["abc123"],
        "provider": "xyz789",
        "status": "CONTRACT_ACTIVE",
        "properties": Object,
        "computedProperties": Object,
        "creationDate": "2007-12-03T10:15:30Z",
        "lastChangeDate": "2007-12-03T10:15:30Z",
        "createdBy": "xyz789",
        "creationActor": Actor,
        "updatedBy": "xyz789",
        "lastChangeActor": Actor,
        "dataDate": "2007-12-03T10:15:30Z"
      }
    ]
  }
}

currentlyUsedStorageSpace

Description

Returns the total storage space an organization's files occupy.

Response

Returns an Int!

Arguments
Name Description
organizationId - String! Organization's ID.

Example

Query
query CurrentlyUsedStorageSpace($organizationId: String!) {
  currentlyUsedStorageSpace(organizationId: $organizationId)
}
Variables
{"organizationId": "abc123"}
Response
{"data": {"currentlyUsedStorageSpace": 987}}

document

Description

Returns a document based on its ID.

Response

Returns a Document!

Arguments
Name Description
id - String! Document entity's ID.

Example

Query
query Document($id: String!) {
  document(id: $id) {
    id
    organizationId
    entityId
    entityType
    name
    type
    state
    size
    mimeType
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
  }
}
Variables
{"id": "abc123"}
Response
{
  "data": {
    "document": {
      "id": "xyz789",
      "organizationId": "xyz789",
      "entityId": "abc123",
      "entityType": "ASSET",
      "name": "xyz789",
      "type": "DOCUMENT",
      "state": "ACTIVE",
      "size": 987,
      "mimeType": "xyz789",
      "properties": Object,
      "computedProperties": Object,
      "creationDate": "2007-12-03T10:15:30Z",
      "lastChangeDate": "2007-12-03T10:15:30Z",
      "createdBy": "abc123",
      "creationActor": Actor,
      "updatedBy": "xyz789",
      "lastChangeActor": Actor
    }
  }
}

documentCategories

Document queries will be merged in the next version. Use documents instead.
Description

Returns all existing values for documents' "category" property within an organization. The "category" field must exist for the organization for this query to be relevant.

Response

Returns [String!]!

Arguments
Name Description
organizationId - String! Organization's ID.

Example

Query
query DocumentCategories($organizationId: String!) {
  documentCategories(organizationId: $organizationId)
}
Variables
{"organizationId": "abc123"}
Response
{"data": {"documentCategories": ["abc123"]}}

documents

Description

Returns documents of an organization.

Response

Returns [Document!]!

Arguments
Name Description
organizationId - String! Organization's ID.
selectParams - SelectParams Params for filtering, sorting and grouping documents. Warning: starting next version, this field will be required.

Example

Query
query Documents(
  $organizationId: String!,
  $selectParams: SelectParams
) {
  documents(
    organizationId: $organizationId,
    selectParams: $selectParams
  ) {
    id
    organizationId
    entityId
    entityType
    name
    type
    state
    size
    mimeType
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
  }
}
Variables
{
  "organizationId": "xyz789",
  "selectParams": SelectParams
}
Response
{
  "data": {
    "documents": [
      {
        "id": "xyz789",
        "organizationId": "abc123",
        "entityId": "xyz789",
        "entityType": "ASSET",
        "name": "xyz789",
        "type": "DOCUMENT",
        "state": "ACTIVE",
        "size": 987,
        "mimeType": "xyz789",
        "properties": Object,
        "computedProperties": Object,
        "creationDate": "2007-12-03T10:15:30Z",
        "lastChangeDate": "2007-12-03T10:15:30Z",
        "createdBy": "abc123",
        "creationActor": Actor,
        "updatedBy": "abc123",
        "lastChangeActor": Actor
      }
    ]
  }
}

documentsByAsset

Document queries will be merged in the next version. Use documents instead.
Description

Returns all documents of an asset.

Response

Returns [Document!]!

Arguments
Name Description
assetId - String! Asset's ID.

Example

Query
query DocumentsByAsset($assetId: String!) {
  documentsByAsset(assetId: $assetId) {
    id
    organizationId
    entityId
    entityType
    name
    type
    state
    size
    mimeType
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
  }
}
Variables
{"assetId": "xyz789"}
Response
{
  "data": {
    "documentsByAsset": [
      {
        "id": "abc123",
        "organizationId": "abc123",
        "entityId": "xyz789",
        "entityType": "ASSET",
        "name": "abc123",
        "type": "DOCUMENT",
        "state": "ACTIVE",
        "size": 123,
        "mimeType": "abc123",
        "properties": Object,
        "computedProperties": Object,
        "creationDate": "2007-12-03T10:15:30Z",
        "lastChangeDate": "2007-12-03T10:15:30Z",
        "createdBy": "abc123",
        "creationActor": Actor,
        "updatedBy": "xyz789",
        "lastChangeActor": Actor
      }
    ]
  }
}

documentsByEntity

Document queries will be merged in the next version. Use documents instead.
Description

Returns all documents of an entity.

Response

Returns [Document!]!

Arguments
Name Description
entityId - String! Entity's ID.
entityType - EntityType! Entity's type.
documentType - DocumentType Type of documents to return.

Example

Query
query DocumentsByEntity(
  $entityId: String!,
  $entityType: EntityType!,
  $documentType: DocumentType
) {
  documentsByEntity(
    entityId: $entityId,
    entityType: $entityType,
    documentType: $documentType
  ) {
    id
    organizationId
    entityId
    entityType
    name
    type
    state
    size
    mimeType
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
  }
}
Variables
{
  "entityId": "abc123",
  "entityType": "ASSET",
  "documentType": "DOCUMENT"
}
Response
{
  "data": {
    "documentsByEntity": [
      {
        "id": "abc123",
        "organizationId": "xyz789",
        "entityId": "abc123",
        "entityType": "ASSET",
        "name": "xyz789",
        "type": "DOCUMENT",
        "state": "ACTIVE",
        "size": 123,
        "mimeType": "abc123",
        "properties": Object,
        "computedProperties": Object,
        "creationDate": "2007-12-03T10:15:30Z",
        "lastChangeDate": "2007-12-03T10:15:30Z",
        "createdBy": "xyz789",
        "creationActor": Actor,
        "updatedBy": "abc123",
        "lastChangeActor": Actor
      }
    ]
  }
}

documentsUrls

Description

Generates and returns a presigned URL for each of the files associated with a list of documents.

Response

Returns [DocumentPresignedUrl!]!

Arguments
Name Description
ids - [String!]! IDs of the documents for which to get a presigned URL.

Example

Query
query DocumentsUrls($ids: [String!]!) {
  documentsUrls(ids: $ids) {
    documentId
    url
  }
}
Variables
{"ids": ["abc123"]}
Response
{
  "data": {
    "documentsUrls": [
      {
        "documentId": "abc123",
        "url": "xyz789"
      }
    ]
  }
}

equipment

Description

Returns an equipment item based on its ID.

Response

Returns an Equipment!

Arguments
Name Description
id - String! Equipment item's ID.

Example

Query
query Equipment($id: String!) {
  equipment(id: $id) {
    id
    organizationId
    assetId
    spaceIdsList
    name
    identifier
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
    dataDate
  }
}
Variables
{"id": "abc123"}
Response
{
  "data": {
    "equipment": {
      "id": "abc123",
      "organizationId": "abc123",
      "assetId": "abc123",
      "spaceIdsList": ["xyz789"],
      "name": "abc123",
      "identifier": 123,
      "properties": Object,
      "computedProperties": Object,
      "creationDate": "2007-12-03T10:15:30Z",
      "lastChangeDate": "2007-12-03T10:15:30Z",
      "createdBy": "abc123",
      "creationActor": Actor,
      "updatedBy": "xyz789",
      "lastChangeActor": Actor,
      "dataDate": "2007-12-03T10:15:30Z"
    }
  }
}

equipmentHasRelatedWork

Description

Returns whether an equipment item is linked to at least one intervention. See Work for more information on interventions.

Response

Returns a Boolean!

Arguments
Name Description
id - String! Equipment item's ID.

Example

Query
query EquipmentHasRelatedWork($id: String!) {
  equipmentHasRelatedWork(id: $id)
}
Variables
{"id": "abc123"}
Response
{"data": {"equipmentHasRelatedWork": true}}

equipments

Description

Returns equipment items of an organization.

Response

Returns [Equipment!]!

Arguments
Name Description
organizationId - String! Organization's ID.
selectParams - SelectParams Params for filtering, sorting and grouping equipment. Warning: starting next version, this field will be required.

Example

Query
query Equipments(
  $organizationId: String!,
  $selectParams: SelectParams
) {
  equipments(
    organizationId: $organizationId,
    selectParams: $selectParams
  ) {
    id
    organizationId
    assetId
    spaceIdsList
    name
    identifier
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
    dataDate
  }
}
Variables
{
  "organizationId": "abc123",
  "selectParams": SelectParams
}
Response
{
  "data": {
    "equipments": [
      {
        "id": "abc123",
        "organizationId": "xyz789",
        "assetId": "abc123",
        "spaceIdsList": ["xyz789"],
        "name": "xyz789",
        "identifier": 987,
        "properties": Object,
        "computedProperties": Object,
        "creationDate": "2007-12-03T10:15:30Z",
        "lastChangeDate": "2007-12-03T10:15:30Z",
        "createdBy": "abc123",
        "creationActor": Actor,
        "updatedBy": "xyz789",
        "lastChangeActor": Actor,
        "dataDate": "2007-12-03T10:15:30Z"
      }
    ]
  }
}

equipmentsByAsset

Equipment queries will be merged in the next version. Use equipments instead.
Description

Returns all equipment of an asset.

Response

Returns [Equipment!]!

Arguments
Name Description
assetId - String! Asset's ID.

Example

Query
query EquipmentsByAsset($assetId: String!) {
  equipmentsByAsset(assetId: $assetId) {
    id
    organizationId
    assetId
    spaceIdsList
    name
    identifier
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
    dataDate
  }
}
Variables
{"assetId": "xyz789"}
Response
{
  "data": {
    "equipmentsByAsset": [
      {
        "id": "abc123",
        "organizationId": "abc123",
        "assetId": "abc123",
        "spaceIdsList": ["abc123"],
        "name": "xyz789",
        "identifier": 123,
        "properties": Object,
        "computedProperties": Object,
        "creationDate": "2007-12-03T10:15:30Z",
        "lastChangeDate": "2007-12-03T10:15:30Z",
        "createdBy": "xyz789",
        "creationActor": Actor,
        "updatedBy": "xyz789",
        "lastChangeActor": Actor,
        "dataDate": "2007-12-03T10:15:30Z"
      }
    ]
  }
}

field

Description

Returns a field based on its code and the entity it belongs to.

Response

Returns a Field!

Arguments
Name Description
organizationId - String! ID of the organization to which the field belongs.
code - String! Field's code.
entityType - EntityType! Type of entity the field is for.

Example

Query
query Field(
  $organizationId: String!,
  $code: String!,
  $entityType: EntityType!
) {
  field(
    organizationId: $organizationId,
    code: $code,
    entityType: $entityType
  ) {
    id
    organizationId
    code
    entityType
    fieldType
    label
    tooltip
    checkType
    fieldValuesList
    validatorsList {
      type
      definition
      conditionsList {
        ...ConditionFragment
      }
    }
    parentPathList
    computed
    formulaList
  }
}
Variables
{
  "organizationId": "xyz789",
  "code": "xyz789",
  "entityType": "ASSET"
}
Response
{
  "data": {
    "field": {
      "id": "abc123",
      "organizationId": "xyz789",
      "code": "xyz789",
      "entityType": "abc123",
      "fieldType": "xyz789",
      "label": "xyz789",
      "tooltip": "abc123",
      "checkType": "xyz789",
      "fieldValuesList": ["abc123"],
      "validatorsList": [Validator],
      "parentPathList": ["abc123"],
      "computed": true,
      "formulaList": [Object]
    }
  }
}

fields

Description

Returns a list of fields given filters.

Response

Returns [Field!]!

Arguments
Name Description
organizationId - String! ID of the organization to which the field belongs.
entityType - EntityType Optional argument. Use this to only return fields for a certain type of entity.
fieldType - FieldTypeEnum Optional argument. Use this to only return fields of a certain type.
assetTypes - [String!] Optional argument. Use this to only return fields strictly related to at least one of the asset types.
noAssetTypes - Boolean Optional argument. Use this to only return fields strictly not related to any asset types.
computed - FieldComputation Optional argument. Use this to return only computed fields or only non-computed fields. By default, all fields are returned. Default = ALL

Example

Query
query Fields(
  $organizationId: String!,
  $entityType: EntityType,
  $fieldType: FieldTypeEnum,
  $assetTypes: [String!],
  $noAssetTypes: Boolean,
  $computed: FieldComputation
) {
  fields(
    organizationId: $organizationId,
    entityType: $entityType,
    fieldType: $fieldType,
    assetTypes: $assetTypes,
    noAssetTypes: $noAssetTypes,
    computed: $computed
  ) {
    id
    organizationId
    code
    entityType
    fieldType
    label
    tooltip
    checkType
    fieldValuesList
    validatorsList {
      type
      definition
      conditionsList {
        ...ConditionFragment
      }
    }
    parentPathList
    computed
    formulaList
  }
}
Variables
{
  "organizationId": "xyz789",
  "entityType": "ASSET",
  "fieldType": "ACTOR",
  "assetTypes": ["xyz789"],
  "noAssetTypes": true,
  "computed": "ALL"
}
Response
{
  "data": {
    "fields": [
      {
        "id": "xyz789",
        "organizationId": "abc123",
        "code": "abc123",
        "entityType": "abc123",
        "fieldType": "abc123",
        "label": "xyz789",
        "tooltip": "xyz789",
        "checkType": "abc123",
        "fieldValuesList": ["abc123"],
        "validatorsList": [Validator],
        "parentPathList": ["xyz789"],
        "computed": false,
        "formulaList": [Object]
      }
    ]
  }
}

files

Description

Returns all files of an organization.

Response

Returns [FileResult!]!

Arguments
Name Description
organizationId - String! Organization's ID.

Example

Query
query Files($organizationId: String!) {
  files(organizationId: $organizationId) {
    name
    path
    associated
    validated
  }
}
Variables
{"organizationId": "xyz789"}
Response
{
  "data": {
    "files": [
      {
        "name": "xyz789",
        "path": "xyz789",
        "associated": false,
        "validated": false
      }
    ]
  }
}

getPutPresignedUrl

Description

Returns presigned URLs for uploading files as part of a document creation process.

Response

Returns [PresignedUrl!]!

Arguments
Name Description
organizationId - String! ID of the organization for which the files are uploaded.
entityId - String! ID of the entity to which the files relate.
entityType - EntityType! Type of entity to which the files relate.
fileNames - [String!]! Names of all files to be uploaded.

Example

Query
query GetPutPresignedUrl(
  $organizationId: String!,
  $entityId: String!,
  $entityType: EntityType!,
  $fileNames: [String!]!
) {
  getPutPresignedUrl(
    organizationId: $organizationId,
    entityId: $entityId,
    entityType: $entityType,
    fileNames: $fileNames
  ) {
    fileName
    documentName
    url
  }
}
Variables
{
  "organizationId": "abc123",
  "entityId": "xyz789",
  "entityType": "ASSET",
  "fileNames": ["xyz789"]
}
Response
{
  "data": {
    "getPutPresignedUrl": [
      {
        "fileName": "abc123",
        "documentName": "xyz789",
        "url": "abc123"
      }
    ]
  }
}

getPutPresignedUrlToImport

Description

Returns presigned URLs for uploading spreadsheet files as part of an entity import process.

Response

Returns [PresignedUrl!]!

Arguments
Name Description
entityType - EntityType! Type of entity to import.
fileNames - [String!]! Name of all files to be uploaded.
organizationId - String! ID of the organization for which the files are uploaded and in which entities will be imported.

Example

Query
query GetPutPresignedUrlToImport(
  $entityType: EntityType!,
  $fileNames: [String!]!,
  $organizationId: String!
) {
  getPutPresignedUrlToImport(
    entityType: $entityType,
    fileNames: $fileNames,
    organizationId: $organizationId
  ) {
    fileName
    documentName
    url
  }
}
Variables
{
  "entityType": "ASSET",
  "fileNames": ["xyz789"],
  "organizationId": "xyz789"
}
Response
{
  "data": {
    "getPutPresignedUrlToImport": [
      {
        "fileName": "xyz789",
        "documentName": "abc123",
        "url": "abc123"
      }
    ]
  }
}

hasRiskProfile

Description

Returns whether an organization's risk assessment profile has been configured and imported.

Response

Returns a Boolean!

Arguments
Name Description
organizationId - String! Organization's ID.

Example

Query
query HasRiskProfile($organizationId: String!) {
  hasRiskProfile(organizationId: $organizationId)
}
Variables
{"organizationId": "abc123"}
Response
{"data": {"hasRiskProfile": false}}

investment

Description

Returns an investment based on its ID.

Response

Returns an Investment!

Arguments
Name Description
id - String! Investment's ID.

Example

Query
query Investment($id: String!) {
  investment(id: $id) {
    id
    organizationId
    entityId
    type
    identifier
    name
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
    dataDate
  }
}
Variables
{"id": "xyz789"}
Response
{
  "data": {
    "investment": {
      "id": "xyz789",
      "organizationId": "xyz789",
      "entityId": "xyz789",
      "type": "ASSET",
      "identifier": 987,
      "name": "xyz789",
      "properties": Object,
      "computedProperties": Object,
      "creationDate": "2007-12-03T10:15:30Z",
      "lastChangeDate": "2007-12-03T10:15:30Z",
      "createdBy": "abc123",
      "creationActor": Actor,
      "updatedBy": "abc123",
      "lastChangeActor": Actor,
      "dataDate": "2007-12-03T10:15:30Z"
    }
  }
}

investments

Description

Returns investments of an organization.

Response

Returns [Investment!]!

Arguments
Name Description
organizationId - String! Organization's ID.
selectParams - SelectParams Params for filtering, sorting and grouping investments. Warning: starting next version, this field will be required.

Example

Query
query Investments(
  $organizationId: String!,
  $selectParams: SelectParams
) {
  investments(
    organizationId: $organizationId,
    selectParams: $selectParams
  ) {
    id
    organizationId
    entityId
    type
    identifier
    name
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
    dataDate
  }
}
Variables
{
  "organizationId": "abc123",
  "selectParams": SelectParams
}
Response
{
  "data": {
    "investments": [
      {
        "id": "abc123",
        "organizationId": "xyz789",
        "entityId": "abc123",
        "type": "ASSET",
        "identifier": 123,
        "name": "abc123",
        "properties": Object,
        "computedProperties": Object,
        "creationDate": "2007-12-03T10:15:30Z",
        "lastChangeDate": "2007-12-03T10:15:30Z",
        "createdBy": "abc123",
        "creationActor": Actor,
        "updatedBy": "xyz789",
        "lastChangeActor": Actor,
        "dataDate": "2007-12-03T10:15:30Z"
      }
    ]
  }
}

investmentsByAsset

Investment queries will be merged in the next version. Use investments instead.
Description

Returns all investments for an asset.

Response

Returns [Investment!]!

Arguments
Name Description
assetId - String! Asset's ID.

Example

Query
query InvestmentsByAsset($assetId: String!) {
  investmentsByAsset(assetId: $assetId) {
    id
    organizationId
    entityId
    type
    identifier
    name
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
    dataDate
  }
}
Variables
{"assetId": "abc123"}
Response
{
  "data": {
    "investmentsByAsset": [
      {
        "id": "abc123",
        "organizationId": "xyz789",
        "entityId": "abc123",
        "type": "ASSET",
        "identifier": 123,
        "name": "xyz789",
        "properties": Object,
        "computedProperties": Object,
        "creationDate": "2007-12-03T10:15:30Z",
        "lastChangeDate": "2007-12-03T10:15:30Z",
        "createdBy": "xyz789",
        "creationActor": Actor,
        "updatedBy": "xyz789",
        "lastChangeActor": Actor,
        "dataDate": "2007-12-03T10:15:30Z"
      }
    ]
  }
}

investmentsByEquipment

Investment queries will be merged in the next version. Use investments instead.
Description

Returns all investments for a piece of equipment.

Response

Returns [Investment!]!

Arguments
Name Description
equipmentId - String! Equipment entity's ID.

Example

Query
query InvestmentsByEquipment($equipmentId: String!) {
  investmentsByEquipment(equipmentId: $equipmentId) {
    id
    organizationId
    entityId
    type
    identifier
    name
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
    dataDate
  }
}
Variables
{"equipmentId": "abc123"}
Response
{
  "data": {
    "investmentsByEquipment": [
      {
        "id": "abc123",
        "organizationId": "abc123",
        "entityId": "abc123",
        "type": "ASSET",
        "identifier": 987,
        "name": "abc123",
        "properties": Object,
        "computedProperties": Object,
        "creationDate": "2007-12-03T10:15:30Z",
        "lastChangeDate": "2007-12-03T10:15:30Z",
        "createdBy": "xyz789",
        "creationActor": Actor,
        "updatedBy": "abc123",
        "lastChangeActor": Actor,
        "dataDate": "2007-12-03T10:15:30Z"
      }
    ]
  }
}

investmentsByProject

Investment queries will be merged in the next version. Use investments instead.
Description

Returns all investments for a project.

Response

Returns [Investment!]!

Arguments
Name Description
projectId - String! Project's ID.

Example

Query
query InvestmentsByProject($projectId: String!) {
  investmentsByProject(projectId: $projectId) {
    id
    organizationId
    entityId
    type
    identifier
    name
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
    dataDate
  }
}
Variables
{"projectId": "xyz789"}
Response
{
  "data": {
    "investmentsByProject": [
      {
        "id": "xyz789",
        "organizationId": "abc123",
        "entityId": "xyz789",
        "type": "ASSET",
        "identifier": 987,
        "name": "xyz789",
        "properties": Object,
        "computedProperties": Object,
        "creationDate": "2007-12-03T10:15:30Z",
        "lastChangeDate": "2007-12-03T10:15:30Z",
        "createdBy": "abc123",
        "creationActor": Actor,
        "updatedBy": "xyz789",
        "lastChangeActor": Actor,
        "dataDate": "2007-12-03T10:15:30Z"
      }
    ]
  }
}

investmentsByWork

Investment queries will be merged in the next version. Use investments instead.
Description

Returns all investments for an intervention.

Response

Returns [Investment!]!

Arguments
Name Description
workId - String! Work entity's ID.

Example

Query
query InvestmentsByWork($workId: String!) {
  investmentsByWork(workId: $workId) {
    id
    organizationId
    entityId
    type
    identifier
    name
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
    dataDate
  }
}
Variables
{"workId": "xyz789"}
Response
{
  "data": {
    "investmentsByWork": [
      {
        "id": "abc123",
        "organizationId": "xyz789",
        "entityId": "xyz789",
        "type": "ASSET",
        "identifier": 987,
        "name": "abc123",
        "properties": Object,
        "computedProperties": Object,
        "creationDate": "2007-12-03T10:15:30Z",
        "lastChangeDate": "2007-12-03T10:15:30Z",
        "createdBy": "abc123",
        "creationActor": Actor,
        "updatedBy": "xyz789",
        "lastChangeActor": Actor,
        "dataDate": "2007-12-03T10:15:30Z"
      }
    ]
  }
}

leaseTypes

Lease queries will be merged in the next version. Use leases instead.
Description

Returns all used values for the lease 'type' field within an organization.

Response

Returns [String!]!

Arguments
Name Description
organizationId - String! Organization's ID.

Example

Query
query LeaseTypes($organizationId: String!) {
  leaseTypes(organizationId: $organizationId)
}
Variables
{"organizationId": "xyz789"}
Response
{"data": {"leaseTypes": ["abc123"]}}

leases

Description

Returns leases of an organization.

Response

Returns [Lease!]!

Arguments
Name Description
organizationId - String! Organization's ID.
selectParams - SelectParams! Params for filtering, sorting and grouping leases.

Example

Query
query Leases(
  $organizationId: String!,
  $selectParams: SelectParams!
) {
  leases(
    organizationId: $organizationId,
    selectParams: $selectParams
  ) {
    id
    organizationId
    assetId
    spaceIdsList
    occupantId
    status
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
    dataDate
  }
}
Variables
{
  "organizationId": "xyz789",
  "selectParams": SelectParams
}
Response
{
  "data": {
    "leases": [
      {
        "id": "xyz789",
        "organizationId": "xyz789",
        "assetId": "abc123",
        "spaceIdsList": ["xyz789"],
        "occupantId": "xyz789",
        "status": "LEASE_ACTIVE",
        "properties": Object,
        "computedProperties": Object,
        "creationDate": "2007-12-03T10:15:30Z",
        "lastChangeDate": "2007-12-03T10:15:30Z",
        "createdBy": "xyz789",
        "creationActor": Actor,
        "updatedBy": "abc123",
        "lastChangeActor": Actor,
        "dataDate": "2007-12-03T10:15:30Z"
      }
    ]
  }
}

meeting

Description

Returns a meeting based on its ID.

Response

Returns a Meeting!

Arguments
Name Description
id - String! Meeting's ID.

Example

Query
query Meeting($id: String!) {
  meeting(id: $id) {
    id
    organizationId
    identifier
    name
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
  }
}
Variables
{"id": "xyz789"}
Response
{
  "data": {
    "meeting": {
      "id": "xyz789",
      "organizationId": "abc123",
      "identifier": 987,
      "name": "xyz789",
      "properties": Object,
      "computedProperties": Object,
      "creationDate": "2007-12-03T10:15:30Z",
      "lastChangeDate": "2007-12-03T10:15:30Z",
      "createdBy": "xyz789",
      "creationActor": Actor,
      "updatedBy": "xyz789",
      "lastChangeActor": Actor
    }
  }
}

meetings

Description

Returns meetings of an organization.

Response

Returns [Meeting!]!

Arguments
Name Description
organizationId - String! Organization's ID.
selectParams - SelectParams Params for filtering, sorting and grouping meetings. Warning: starting next version, this field will be required.

Example

Query
query Meetings(
  $organizationId: String!,
  $selectParams: SelectParams
) {
  meetings(
    organizationId: $organizationId,
    selectParams: $selectParams
  ) {
    id
    organizationId
    identifier
    name
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
  }
}
Variables
{
  "organizationId": "abc123",
  "selectParams": SelectParams
}
Response
{
  "data": {
    "meetings": [
      {
        "id": "xyz789",
        "organizationId": "xyz789",
        "identifier": 987,
        "name": "xyz789",
        "properties": Object,
        "computedProperties": Object,
        "creationDate": "2007-12-03T10:15:30Z",
        "lastChangeDate": "2007-12-03T10:15:30Z",
        "createdBy": "abc123",
        "creationActor": Actor,
        "updatedBy": "abc123",
        "lastChangeActor": Actor
      }
    ]
  }
}

nextSnapshotDate

Description

Returns the scheduled date of the next yearly snapshot for an organization.

Response

Returns a DateTime

Arguments
Name Description
organizationId - String! Organization's ID.

Example

Query
query NextSnapshotDate($organizationId: String!) {
  nextSnapshotDate(organizationId: $organizationId)
}
Variables
{"organizationId": "abc123"}
Response
{
  "data": {
    "nextSnapshotDate": "2007-12-03T10:15:30Z"
  }
}

occupantNames

Occupant queries will be merged in the next version. Use occupants instead.
Description

Returns the list of all tenants' names within an organization.

Response

Returns [String!]!

Arguments
Name Description
organizationId - String! Organization's ID.

Example

Query
query OccupantNames($organizationId: String!) {
  occupantNames(organizationId: $organizationId)
}
Variables
{"organizationId": "xyz789"}
Response
{"data": {"occupantNames": ["abc123"]}}

occupants

Description

Returns tenants of an organization.

Response

Returns [Occupant!]!

Arguments
Name Description
organizationId - String! Organization's ID.
selectParams - SelectParams Params for filtering, sorting and grouping tenants. Warning: starting next version, this field will be required.

Example

Query
query Occupants(
  $organizationId: String!,
  $selectParams: SelectParams
) {
  occupants(
    organizationId: $organizationId,
    selectParams: $selectParams
  ) {
    id
    organizationId
    name
    leasesList {
      id
      organizationId
      assetId
      spaceIdsList
      occupantId
      status
      properties
      computedProperties
      creationDate
      lastChangeDate
      createdBy
      creationActor {
        ...ActorFragment
      }
      updatedBy
      lastChangeActor {
        ...ActorFragment
      }
      dataDate
    }
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
    dataDate
  }
}
Variables
{
  "organizationId": "xyz789",
  "selectParams": SelectParams
}
Response
{
  "data": {
    "occupants": [
      {
        "id": "xyz789",
        "organizationId": "xyz789",
        "name": "abc123",
        "leasesList": [Lease],
        "properties": Object,
        "computedProperties": Object,
        "creationDate": "2007-12-03T10:15:30Z",
        "lastChangeDate": "2007-12-03T10:15:30Z",
        "createdBy": "abc123",
        "creationActor": Actor,
        "updatedBy": "xyz789",
        "lastChangeActor": Actor,
        "dataDate": "2007-12-03T10:15:30Z"
      }
    ]
  }
}

occupantsByAsset

Occupant queries will be merged in the next version. Use occupants instead.
Description

Returns all tenants of an asset.

Response

Returns [Occupant!]!

Arguments
Name Description
assetId - String! Asset's ID.

Example

Query
query OccupantsByAsset($assetId: String!) {
  occupantsByAsset(assetId: $assetId) {
    id
    organizationId
    name
    leasesList {
      id
      organizationId
      assetId
      spaceIdsList
      occupantId
      status
      properties
      computedProperties
      creationDate
      lastChangeDate
      createdBy
      creationActor {
        ...ActorFragment
      }
      updatedBy
      lastChangeActor {
        ...ActorFragment
      }
      dataDate
    }
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
    dataDate
  }
}
Variables
{"assetId": "xyz789"}
Response
{
  "data": {
    "occupantsByAsset": [
      {
        "id": "xyz789",
        "organizationId": "abc123",
        "name": "xyz789",
        "leasesList": [Lease],
        "properties": Object,
        "computedProperties": Object,
        "creationDate": "2007-12-03T10:15:30Z",
        "lastChangeDate": "2007-12-03T10:15:30Z",
        "createdBy": "abc123",
        "creationActor": Actor,
        "updatedBy": "abc123",
        "lastChangeActor": Actor,
        "dataDate": "2007-12-03T10:15:30Z"
      }
    ]
  }
}

organization

Description

Returns an organization based on its ID.

Response

Returns an Organization!

Arguments
Name Description
id - String! Organization's ID.

Example

Query
query Organization($id: String!) {
  organization(id: $id) {
    id
    name
    organizationType
    currency
    locale
    storageSpace
    properties
    computedProperties
  }
}
Variables
{"id": "abc123"}
Response
{
  "data": {
    "organization": {
      "id": "xyz789",
      "name": "abc123",
      "organizationType": "UNIFORMAT_AIRPORT",
      "currency": "CAD",
      "locale": "xyz789",
      "storageSpace": 123,
      "properties": Object,
      "computedProperties": Object
    }
  }
}

organizationCrvIsUsed

Description

Returns whether a CRV purpose configuration is used in at least one purpose detail of an asset's CRV.

Response

Returns a Boolean!

Arguments
Name Description
id - String! CRV purpose configuration's ID.

Example

Query
query OrganizationCrvIsUsed($id: String!) {
  organizationCrvIsUsed(id: $id)
}
Variables
{"id": "abc123"}
Response
{"data": {"organizationCrvIsUsed": true}}

organizationCrvs

Description

Returns all the CRV purpose configuration entities of an organization.

Response

Returns [OrganizationCrv!]!

Arguments
Name Description
organizationId - String! Organization's ID.

Example

Query
query OrganizationCrvs($organizationId: String!) {
  organizationCrvs(organizationId: $organizationId) {
    id
    organizationId
    purpose
    unitCrv
    unit
    percentTechnicalCategoriesList {
      technicalCategoryCode
      percent
    }
    properties
    creationDate
    lastChangeDate
    createdBy
    updatedBy
  }
}
Variables
{"organizationId": "abc123"}
Response
{
  "data": {
    "organizationCrvs": [
      {
        "id": "xyz789",
        "organizationId": "xyz789",
        "purpose": "abc123",
        "unitCrv": 987.65,
        "unit": "abc123",
        "percentTechnicalCategoriesList": [
          PercentTechnicalCategory
        ],
        "properties": Object,
        "creationDate": "2007-12-03T10:15:30Z",
        "lastChangeDate": "2007-12-03T10:15:30Z",
        "createdBy": "abc123",
        "updatedBy": "xyz789"
      }
    ]
  }
}

organizationHasAssets

Description

Returns whether an organization possesses at least one asset.

Response

Returns a Boolean!

Arguments
Name Description
organizationId - String! Organization's ID.

Example

Query
query OrganizationHasAssets($organizationId: String!) {
  organizationHasAssets(organizationId: $organizationId)
}
Variables
{"organizationId": "xyz789"}
Response
{"data": {"organizationHasAssets": true}}

organizations

Description

Returns accessible organizations.

Response

Returns [Organization!]!

Arguments
Name Description
selectParams - SelectParams Params for filtering, sorting and grouping organizations. Warning: starting next version, this field will be required.

Example

Query
query Organizations($selectParams: SelectParams) {
  organizations(selectParams: $selectParams) {
    id
    name
    organizationType
    currency
    locale
    storageSpace
    properties
    computedProperties
  }
}
Variables
{"selectParams": SelectParams}
Response
{
  "data": {
    "organizations": [
      {
        "id": "abc123",
        "name": "abc123",
        "organizationType": "UNIFORMAT_AIRPORT",
        "currency": "CAD",
        "locale": "xyz789",
        "storageSpace": 123,
        "properties": Object,
        "computedProperties": Object
      }
    ]
  }
}

project

Description

Returns a project based on its ID.

Response

Returns a Project!

Arguments
Name Description
id - String! Project's ID.

Example

Query
query Project($id: String!) {
  project(id: $id) {
    id
    organizationId
    assetIdsList
    projectIdsList
    identifier
    name
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
    dataDate
  }
}
Variables
{"id": "abc123"}
Response
{
  "data": {
    "project": {
      "id": "abc123",
      "organizationId": "xyz789",
      "assetIdsList": ["abc123"],
      "projectIdsList": ["xyz789"],
      "identifier": 987,
      "name": "xyz789",
      "properties": Object,
      "computedProperties": Object,
      "creationDate": "2007-12-03T10:15:30Z",
      "lastChangeDate": "2007-12-03T10:15:30Z",
      "createdBy": "abc123",
      "creationActor": Actor,
      "updatedBy": "xyz789",
      "lastChangeActor": Actor,
      "dataDate": "2007-12-03T10:15:30Z"
    }
  }
}

projects

Description

Returns projects of an organization.

Response

Returns [Project!]!

Arguments
Name Description
organizationId - String! Organization's ID.
selectParams - SelectParams Params for filtering, sorting and grouping projects. Warning: starting next version, this field will be required.

Example

Query
query Projects(
  $organizationId: String!,
  $selectParams: SelectParams
) {
  projects(
    organizationId: $organizationId,
    selectParams: $selectParams
  ) {
    id
    organizationId
    assetIdsList
    projectIdsList
    identifier
    name
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
    dataDate
  }
}
Variables
{
  "organizationId": "abc123",
  "selectParams": SelectParams
}
Response
{
  "data": {
    "projects": [
      {
        "id": "abc123",
        "organizationId": "abc123",
        "assetIdsList": ["abc123"],
        "projectIdsList": ["abc123"],
        "identifier": 987,
        "name": "abc123",
        "properties": Object,
        "computedProperties": Object,
        "creationDate": "2007-12-03T10:15:30Z",
        "lastChangeDate": "2007-12-03T10:15:30Z",
        "createdBy": "abc123",
        "creationActor": Actor,
        "updatedBy": "abc123",
        "lastChangeActor": Actor,
        "dataDate": "2007-12-03T10:15:30Z"
      }
    ]
  }
}

projectsByAsset

Project queries will be merged in the next version. Use projects instead.
Description

Returns all projects of an asset.

Response

Returns [Project!]!

Arguments
Name Description
assetId - String! Asset's ID.

Example

Query
query ProjectsByAsset($assetId: String!) {
  projectsByAsset(assetId: $assetId) {
    id
    organizationId
    assetIdsList
    projectIdsList
    identifier
    name
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
    dataDate
  }
}
Variables
{"assetId": "xyz789"}
Response
{
  "data": {
    "projectsByAsset": [
      {
        "id": "xyz789",
        "organizationId": "abc123",
        "assetIdsList": ["abc123"],
        "projectIdsList": ["abc123"],
        "identifier": 987,
        "name": "xyz789",
        "properties": Object,
        "computedProperties": Object,
        "creationDate": "2007-12-03T10:15:30Z",
        "lastChangeDate": "2007-12-03T10:15:30Z",
        "createdBy": "abc123",
        "creationActor": Actor,
        "updatedBy": "abc123",
        "lastChangeActor": Actor,
        "dataDate": "2007-12-03T10:15:30Z"
      }
    ]
  }
}

projectsByAssets

Project queries will be merged in the next version. Use projects instead.
Description

Returns all projects related to a list of assets.

Response

Returns [Project!]!

Arguments
Name Description
assetIds - [String!]! Assets' IDs.

Example

Query
query ProjectsByAssets($assetIds: [String!]!) {
  projectsByAssets(assetIds: $assetIds) {
    id
    organizationId
    assetIdsList
    projectIdsList
    identifier
    name
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
    dataDate
  }
}
Variables
{"assetIds": ["abc123"]}
Response
{
  "data": {
    "projectsByAssets": [
      {
        "id": "xyz789",
        "organizationId": "xyz789",
        "assetIdsList": ["xyz789"],
        "projectIdsList": ["abc123"],
        "identifier": 987,
        "name": "abc123",
        "properties": Object,
        "computedProperties": Object,
        "creationDate": "2007-12-03T10:15:30Z",
        "lastChangeDate": "2007-12-03T10:15:30Z",
        "createdBy": "abc123",
        "creationActor": Actor,
        "updatedBy": "xyz789",
        "lastChangeActor": Actor,
        "dataDate": "2007-12-03T10:15:30Z"
      }
    ]
  }
}

riskProfile

Description

Returns the risk assessment profile for an organization.

Response

Returns a Risk!

Arguments
Name Description
organizationId - String! Organization's ID.

Example

Query
query RiskProfile($organizationId: String!) {
  riskProfile(organizationId: $organizationId) {
    id
    organizationId
    configuration {
      impact {
        ...RiskConfigurationFragment
      }
      intensity {
        ...RiskConfigurationFragment
      }
      probability {
        ...RiskConfigurationFragment
      }
    }
    profileDataList {
      impact
      intensity
      probability
      consequence
      severityLevel
      riskLevel
    }
    majorRiskMax
    riskLevelCount
    creationDate
    lastChangeDate
    createdBy
    updatedBy
    dataDate
  }
}
Variables
{"organizationId": "abc123"}
Response
{
  "data": {
    "riskProfile": {
      "id": "abc123",
      "organizationId": "xyz789",
      "configuration": RiskConfigurations,
      "profileDataList": [ProfileDataItem],
      "majorRiskMax": 123,
      "riskLevelCount": 123,
      "creationDate": "2007-12-03T10:15:30Z",
      "lastChangeDate": "2007-12-03T10:15:30Z",
      "createdBy": "abc123",
      "updatedBy": "xyz789",
      "dataDate": "2007-12-03T10:15:30Z"
    }
  }
}

rootSpace

Description

Returns an asset's root space.

Response

Returns a Space!

Arguments
Name Description
assetId - String! Asset's ID.

Example

Query
query RootSpace($assetId: String!) {
  rootSpace(assetId: $assetId) {
    id
    organizationId
    assetId
    parentPathList
    name
    identifier
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
    dataDate
  }
}
Variables
{"assetId": "xyz789"}
Response
{
  "data": {
    "rootSpace": {
      "id": "abc123",
      "organizationId": "xyz789",
      "assetId": "xyz789",
      "parentPathList": ["abc123"],
      "name": "xyz789",
      "identifier": "xyz789",
      "properties": Object,
      "computedProperties": Object,
      "creationDate": "2007-12-03T10:15:30Z",
      "lastChangeDate": "2007-12-03T10:15:30Z",
      "createdBy": "abc123",
      "creationActor": Actor,
      "updatedBy": "abc123",
      "lastChangeActor": Actor,
      "dataDate": "2007-12-03T10:15:30Z"
    }
  }
}

searchAssets

Asset queries will be merged in the next version. Use assets instead.
Description

Searches and returns assets by name and other criteria, within an organization.

Response

Returns [Asset!]!

Arguments
Name Description
organizationId - String! Organization's ID.
searchName - String! Search query on the asset's name.
exclude - String Optional ID of an asset to exclude from search results.
entityType - EntityType Optional filter on the module enabled for the assets. Set this field to the type of entity corresponding to the module that should be enabled. For instance, if entityType=SPACE, only assets of a type for which the space module is enabled will be returned.

Example

Query
query SearchAssets(
  $organizationId: String!,
  $searchName: String!,
  $exclude: String,
  $entityType: EntityType
) {
  searchAssets(
    organizationId: $organizationId,
    searchName: $searchName,
    exclude: $exclude,
    entityType: $entityType
  ) {
    id
    organizationId
    typeId
    name
    identifier
    assetState
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
    dataDate
  }
}
Variables
{
  "organizationId": "abc123",
  "searchName": "xyz789",
  "exclude": "xyz789",
  "entityType": "ASSET"
}
Response
{
  "data": {
    "searchAssets": [
      {
        "id": "abc123",
        "organizationId": "xyz789",
        "typeId": "abc123",
        "name": "xyz789",
        "identifier": 123,
        "assetState": "abc123",
        "properties": Object,
        "computedProperties": Object,
        "creationDate": "2007-12-03T10:15:30Z",
        "lastChangeDate": "2007-12-03T10:15:30Z",
        "createdBy": "xyz789",
        "creationActor": Actor,
        "updatedBy": "abc123",
        "lastChangeActor": Actor,
        "dataDate": "2007-12-03T10:15:30Z"
      }
    ]
  }
}

snapshots

Description

Returns all snapshots of an organization.

Response

Returns [Snapshot!]!

Arguments
Name Description
organizationId - String! Organization's ID.

Example

Query
query Snapshots($organizationId: String!) {
  snapshots(organizationId: $organizationId) {
    id
    organizationId
    date
    status
    description
    creationDate
    lastChangeDate
    createdBy
    updatedBy
  }
}
Variables
{"organizationId": "xyz789"}
Response
{
  "data": {
    "snapshots": [
      {
        "id": "abc123",
        "organizationId": "xyz789",
        "date": "abc123",
        "status": "SNAPSHOT_AVAILABLE",
        "description": "xyz789",
        "creationDate": "2007-12-03T10:15:30Z",
        "lastChangeDate": "2007-12-03T10:15:30Z",
        "createdBy": "abc123",
        "updatedBy": "xyz789"
      }
    ]
  }
}

space

Description

Returns a space based on its ID.

Response

Returns a Space!

Arguments
Name Description
id - String! Space's ID.

Example

Query
query Space($id: String!) {
  space(id: $id) {
    id
    organizationId
    assetId
    parentPathList
    name
    identifier
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
    dataDate
  }
}
Variables
{"id": "abc123"}
Response
{
  "data": {
    "space": {
      "id": "xyz789",
      "organizationId": "abc123",
      "assetId": "xyz789",
      "parentPathList": ["xyz789"],
      "name": "abc123",
      "identifier": "abc123",
      "properties": Object,
      "computedProperties": Object,
      "creationDate": "2007-12-03T10:15:30Z",
      "lastChangeDate": "2007-12-03T10:15:30Z",
      "createdBy": "xyz789",
      "creationActor": Actor,
      "updatedBy": "xyz789",
      "lastChangeActor": Actor,
      "dataDate": "2007-12-03T10:15:30Z"
    }
  }
}

spaceAndRelatedSpaces

Space queries will be merged in the next version. Use spaces instead.
Description

Returns a space along with all relative spaces in its hierarchy. This includes its parents all the way to the asset's root space, and its descendants all the way to the hierarchy's leaf spaces.

Response

Returns [Space!]!

Arguments
Name Description
id - String! Space's ID.

Example

Query
query SpaceAndRelatedSpaces($id: String!) {
  spaceAndRelatedSpaces(id: $id) {
    id
    organizationId
    assetId
    parentPathList
    name
    identifier
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
    dataDate
  }
}
Variables
{"id": "abc123"}
Response
{
  "data": {
    "spaceAndRelatedSpaces": [
      {
        "id": "abc123",
        "organizationId": "abc123",
        "assetId": "abc123",
        "parentPathList": ["xyz789"],
        "name": "xyz789",
        "identifier": "abc123",
        "properties": Object,
        "computedProperties": Object,
        "creationDate": "2007-12-03T10:15:30Z",
        "lastChangeDate": "2007-12-03T10:15:30Z",
        "createdBy": "xyz789",
        "creationActor": Actor,
        "updatedBy": "abc123",
        "lastChangeActor": Actor,
        "dataDate": "2007-12-03T10:15:30Z"
      }
    ]
  }
}

spaceChildren

Space queries will be merged in the next version. Use spaces instead.
Description

Returns all a space's direct children.

Response

Returns [Space!]!

Arguments
Name Description
id - String! ID of the parent space.

Example

Query
query SpaceChildren($id: String!) {
  spaceChildren(id: $id) {
    id
    organizationId
    assetId
    parentPathList
    name
    identifier
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
    dataDate
  }
}
Variables
{"id": "abc123"}
Response
{
  "data": {
    "spaceChildren": [
      {
        "id": "xyz789",
        "organizationId": "abc123",
        "assetId": "xyz789",
        "parentPathList": ["xyz789"],
        "name": "abc123",
        "identifier": "xyz789",
        "properties": Object,
        "computedProperties": Object,
        "creationDate": "2007-12-03T10:15:30Z",
        "lastChangeDate": "2007-12-03T10:15:30Z",
        "createdBy": "xyz789",
        "creationActor": Actor,
        "updatedBy": "abc123",
        "lastChangeActor": Actor,
        "dataDate": "2007-12-03T10:15:30Z"
      }
    ]
  }
}

spaces

Description

Returns spaces of an organization.

Response

Returns [Space!]!

Arguments
Name Description
organizationId - String! Organization's ID.
selectParams - SelectParams Params for filtering, sorting and grouping spaces. Warning: starting next version, this field will be required.

Example

Query
query Spaces(
  $organizationId: String!,
  $selectParams: SelectParams
) {
  spaces(
    organizationId: $organizationId,
    selectParams: $selectParams
  ) {
    id
    organizationId
    assetId
    parentPathList
    name
    identifier
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
    dataDate
  }
}
Variables
{
  "organizationId": "abc123",
  "selectParams": SelectParams
}
Response
{
  "data": {
    "spaces": [
      {
        "id": "abc123",
        "organizationId": "abc123",
        "assetId": "abc123",
        "parentPathList": ["xyz789"],
        "name": "abc123",
        "identifier": "abc123",
        "properties": Object,
        "computedProperties": Object,
        "creationDate": "2007-12-03T10:15:30Z",
        "lastChangeDate": "2007-12-03T10:15:30Z",
        "createdBy": "xyz789",
        "creationActor": Actor,
        "updatedBy": "abc123",
        "lastChangeActor": Actor,
        "dataDate": "2007-12-03T10:15:30Z"
      }
    ]
  }
}

spacesByAsset

Space queries will be merged in the next version. Use spaces instead.
Description

Returns all the spaces of an asset.

Response

Returns [Space!]!

Arguments
Name Description
assetId - String! Asset's ID.

Example

Query
query SpacesByAsset($assetId: String!) {
  spacesByAsset(assetId: $assetId) {
    id
    organizationId
    assetId
    parentPathList
    name
    identifier
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
    dataDate
  }
}
Variables
{"assetId": "abc123"}
Response
{
  "data": {
    "spacesByAsset": [
      {
        "id": "xyz789",
        "organizationId": "abc123",
        "assetId": "xyz789",
        "parentPathList": ["xyz789"],
        "name": "abc123",
        "identifier": "abc123",
        "properties": Object,
        "computedProperties": Object,
        "creationDate": "2007-12-03T10:15:30Z",
        "lastChangeDate": "2007-12-03T10:15:30Z",
        "createdBy": "xyz789",
        "creationActor": Actor,
        "updatedBy": "xyz789",
        "lastChangeActor": Actor,
        "dataDate": "2007-12-03T10:15:30Z"
      }
    ]
  }
}

updatedSpacesAfterMovingSpace

Space queries will be merged in the next version. Use spaces instead.
Description

Returns all spaces that have been impacted after updating a space's hierarchy. This includes the space itself, all its related spaces (hierarchy up to the root space and all children recursively), its former parent and all the latter's related spaces). This is the equivalent to calling spaceAndRelatedSpaces for the moved space and its former parent.

Response

Returns [Space!]!

Arguments
Name Description
id - String! ID of the space whose hierarchy was updated.
oldParentSpaceId - String! ID of the former space's parent, before the move.

Example

Query
query UpdatedSpacesAfterMovingSpace(
  $id: String!,
  $oldParentSpaceId: String!
) {
  updatedSpacesAfterMovingSpace(
    id: $id,
    oldParentSpaceId: $oldParentSpaceId
  ) {
    id
    organizationId
    assetId
    parentPathList
    name
    identifier
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
    dataDate
  }
}
Variables
{
  "id": "abc123",
  "oldParentSpaceId": "xyz789"
}
Response
{
  "data": {
    "updatedSpacesAfterMovingSpace": [
      {
        "id": "xyz789",
        "organizationId": "xyz789",
        "assetId": "abc123",
        "parentPathList": ["abc123"],
        "name": "abc123",
        "identifier": "abc123",
        "properties": Object,
        "computedProperties": Object,
        "creationDate": "2007-12-03T10:15:30Z",
        "lastChangeDate": "2007-12-03T10:15:30Z",
        "createdBy": "xyz789",
        "creationActor": Actor,
        "updatedBy": "xyz789",
        "lastChangeActor": Actor,
        "dataDate": "2007-12-03T10:15:30Z"
      }
    ]
  }
}

version

Description

Returns the current version of the API. E.g., '6.8.0'.

Response

Returns a String!

Example

Query
query Version {
  version
}
Response
{"data": {"version": "xyz789"}}

work

Description

Returns an intervention based on its ID.

Response

Returns a Work!

Arguments
Name Description
id - String! Work entity's ID.

Example

Query
query Work($id: String!) {
  work(id: $id) {
    id
    organizationId
    assetId
    spaceIdsList
    equipmentIdsList
    projectIdsList
    meetingId
    identifier
    action
    state
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
    dataDate
  }
}
Variables
{"id": "abc123"}
Response
{
  "data": {
    "work": {
      "id": "xyz789",
      "organizationId": "xyz789",
      "assetId": "xyz789",
      "spaceIdsList": ["xyz789"],
      "equipmentIdsList": ["abc123"],
      "projectIdsList": ["abc123"],
      "meetingId": "abc123",
      "identifier": 987,
      "action": "xyz789",
      "state": "abc123",
      "properties": Object,
      "computedProperties": Object,
      "creationDate": "2007-12-03T10:15:30Z",
      "lastChangeDate": "2007-12-03T10:15:30Z",
      "createdBy": "xyz789",
      "creationActor": Actor,
      "updatedBy": "abc123",
      "lastChangeActor": Actor,
      "dataDate": "2007-12-03T10:15:30Z"
    }
  }
}

works

Description

Returns interventions of an organization.

Response

Returns [Work!]!

Arguments
Name Description
organizationId - String! Organization's ID.
selectParams - SelectParams Params for filtering, sorting and grouping interventions. Warning: starting next version, this field will be required.

Example

Query
query Works(
  $organizationId: String!,
  $selectParams: SelectParams
) {
  works(
    organizationId: $organizationId,
    selectParams: $selectParams
  ) {
    id
    organizationId
    assetId
    spaceIdsList
    equipmentIdsList
    projectIdsList
    meetingId
    identifier
    action
    state
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
    dataDate
  }
}
Variables
{
  "organizationId": "xyz789",
  "selectParams": SelectParams
}
Response
{
  "data": {
    "works": [
      {
        "id": "xyz789",
        "organizationId": "abc123",
        "assetId": "abc123",
        "spaceIdsList": ["abc123"],
        "equipmentIdsList": ["abc123"],
        "projectIdsList": ["abc123"],
        "meetingId": "xyz789",
        "identifier": 987,
        "action": "xyz789",
        "state": "xyz789",
        "properties": Object,
        "computedProperties": Object,
        "creationDate": "2007-12-03T10:15:30Z",
        "lastChangeDate": "2007-12-03T10:15:30Z",
        "createdBy": "abc123",
        "creationActor": Actor,
        "updatedBy": "abc123",
        "lastChangeActor": Actor,
        "dataDate": "2007-12-03T10:15:30Z"
      }
    ]
  }
}

worksByAsset

Intervention queries will be merged in the next version. Use works instead.
Description

Returns all interventions of an asset.

Response

Returns [Work!]!

Arguments
Name Description
assetId - String! Asset's ID.

Example

Query
query WorksByAsset($assetId: String!) {
  worksByAsset(assetId: $assetId) {
    id
    organizationId
    assetId
    spaceIdsList
    equipmentIdsList
    projectIdsList
    meetingId
    identifier
    action
    state
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
    dataDate
  }
}
Variables
{"assetId": "abc123"}
Response
{
  "data": {
    "worksByAsset": [
      {
        "id": "xyz789",
        "organizationId": "xyz789",
        "assetId": "xyz789",
        "spaceIdsList": ["abc123"],
        "equipmentIdsList": ["xyz789"],
        "projectIdsList": ["abc123"],
        "meetingId": "abc123",
        "identifier": 123,
        "action": "xyz789",
        "state": "xyz789",
        "properties": Object,
        "computedProperties": Object,
        "creationDate": "2007-12-03T10:15:30Z",
        "lastChangeDate": "2007-12-03T10:15:30Z",
        "createdBy": "abc123",
        "creationActor": Actor,
        "updatedBy": "xyz789",
        "lastChangeActor": Actor,
        "dataDate": "2007-12-03T10:15:30Z"
      }
    ]
  }
}

worksByEquipment

Intervention queries will be merged in the next version. Use works instead.
Description

Returns all interventions of a piece of equipment.

Response

Returns [Work!]!

Arguments
Name Description
equipmentId - String! Equipment entity's ID.

Example

Query
query WorksByEquipment($equipmentId: String!) {
  worksByEquipment(equipmentId: $equipmentId) {
    id
    organizationId
    assetId
    spaceIdsList
    equipmentIdsList
    projectIdsList
    meetingId
    identifier
    action
    state
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
    dataDate
  }
}
Variables
{"equipmentId": "xyz789"}
Response
{
  "data": {
    "worksByEquipment": [
      {
        "id": "xyz789",
        "organizationId": "xyz789",
        "assetId": "xyz789",
        "spaceIdsList": ["abc123"],
        "equipmentIdsList": ["abc123"],
        "projectIdsList": ["xyz789"],
        "meetingId": "abc123",
        "identifier": 987,
        "action": "abc123",
        "state": "abc123",
        "properties": Object,
        "computedProperties": Object,
        "creationDate": "2007-12-03T10:15:30Z",
        "lastChangeDate": "2007-12-03T10:15:30Z",
        "createdBy": "xyz789",
        "creationActor": Actor,
        "updatedBy": "abc123",
        "lastChangeActor": Actor,
        "dataDate": "2007-12-03T10:15:30Z"
      }
    ]
  }
}

worksByMeeting

Intervention queries will be merged in the next version. Use works instead.
Description

Returns all interventions of a meeting.

Response

Returns [Work!]!

Arguments
Name Description
meetingId - String! Meeting's ID.

Example

Query
query WorksByMeeting($meetingId: String!) {
  worksByMeeting(meetingId: $meetingId) {
    id
    organizationId
    assetId
    spaceIdsList
    equipmentIdsList
    projectIdsList
    meetingId
    identifier
    action
    state
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
    dataDate
  }
}
Variables
{"meetingId": "xyz789"}
Response
{
  "data": {
    "worksByMeeting": [
      {
        "id": "abc123",
        "organizationId": "abc123",
        "assetId": "abc123",
        "spaceIdsList": ["abc123"],
        "equipmentIdsList": ["abc123"],
        "projectIdsList": ["abc123"],
        "meetingId": "abc123",
        "identifier": 987,
        "action": "xyz789",
        "state": "abc123",
        "properties": Object,
        "computedProperties": Object,
        "creationDate": "2007-12-03T10:15:30Z",
        "lastChangeDate": "2007-12-03T10:15:30Z",
        "createdBy": "xyz789",
        "creationActor": Actor,
        "updatedBy": "xyz789",
        "lastChangeActor": Actor,
        "dataDate": "2007-12-03T10:15:30Z"
      }
    ]
  }
}

worksByProject

Intervention queries will be merged in the next version. Use works instead.
Description

Returns all interventions of a project.

Response

Returns [Work!]!

Arguments
Name Description
projectId - String! Project's ID.

Example

Query
query WorksByProject($projectId: String!) {
  worksByProject(projectId: $projectId) {
    id
    organizationId
    assetId
    spaceIdsList
    equipmentIdsList
    projectIdsList
    meetingId
    identifier
    action
    state
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
    dataDate
  }
}
Variables
{"projectId": "abc123"}
Response
{
  "data": {
    "worksByProject": [
      {
        "id": "xyz789",
        "organizationId": "xyz789",
        "assetId": "xyz789",
        "spaceIdsList": ["xyz789"],
        "equipmentIdsList": ["xyz789"],
        "projectIdsList": ["xyz789"],
        "meetingId": "xyz789",
        "identifier": 123,
        "action": "abc123",
        "state": "abc123",
        "properties": Object,
        "computedProperties": Object,
        "creationDate": "2007-12-03T10:15:30Z",
        "lastChangeDate": "2007-12-03T10:15:30Z",
        "createdBy": "xyz789",
        "creationActor": Actor,
        "updatedBy": "abc123",
        "lastChangeActor": Actor,
        "dataDate": "2007-12-03T10:15:30Z"
      }
    ]
  }
}

zippedDocumentsUrl

Description

Generates and returns a presigned URL for a ZIP file containing all the files associated with a list of documents.

Response

Returns a DocumentPresignedUrl!

Arguments
Name Description
ids - [String!]! IDs of the documents to ZIP and for which to return a URL.

Example

Query
query ZippedDocumentsUrl($ids: [String!]!) {
  zippedDocumentsUrl(ids: $ids) {
    documentId
    url
  }
}
Variables
{"ids": ["abc123"]}
Response
{
  "data": {
    "zippedDocumentsUrl": {
      "documentId": "xyz789",
      "url": "xyz789"
    }
  }
}

Mutations

addProjectsToWorks

Description

Links interventions to a list of projects and returns updated interventions.

Response

Returns [Work!]!

Arguments
Name Description
workIds - [String!]! IDs of the interventions to update.
projectIds - [String!]! IDs of the projects to link to the interventions.

Example

Query
mutation AddProjectsToWorks(
  $workIds: [String!]!,
  $projectIds: [String!]!
) {
  addProjectsToWorks(
    workIds: $workIds,
    projectIds: $projectIds
  ) {
    id
    organizationId
    assetId
    spaceIdsList
    equipmentIdsList
    projectIdsList
    meetingId
    identifier
    action
    state
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
    dataDate
  }
}
Variables
{
  "workIds": ["xyz789"],
  "projectIds": ["abc123"]
}
Response
{
  "data": {
    "addProjectsToWorks": [
      {
        "id": "xyz789",
        "organizationId": "xyz789",
        "assetId": "xyz789",
        "spaceIdsList": ["xyz789"],
        "equipmentIdsList": ["xyz789"],
        "projectIdsList": ["xyz789"],
        "meetingId": "xyz789",
        "identifier": 123,
        "action": "abc123",
        "state": "abc123",
        "properties": Object,
        "computedProperties": Object,
        "creationDate": "2007-12-03T10:15:30Z",
        "lastChangeDate": "2007-12-03T10:15:30Z",
        "createdBy": "xyz789",
        "creationActor": Actor,
        "updatedBy": "xyz789",
        "lastChangeActor": Actor,
        "dataDate": "2007-12-03T10:15:30Z"
      }
    ]
  }
}

archiveDocuments

Description

Updates a document's status to ARCHIVED then returns that document.

Response

Returns [Document!]!

Arguments
Name Description
ids - [String!]! IDs of the documents to archive.

Example

Query
mutation ArchiveDocuments($ids: [String!]!) {
  archiveDocuments(ids: $ids) {
    id
    organizationId
    entityId
    entityType
    name
    type
    state
    size
    mimeType
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
  }
}
Variables
{"ids": ["xyz789"]}
Response
{
  "data": {
    "archiveDocuments": [
      {
        "id": "xyz789",
        "organizationId": "abc123",
        "entityId": "xyz789",
        "entityType": "ASSET",
        "name": "abc123",
        "type": "DOCUMENT",
        "state": "ACTIVE",
        "size": 123,
        "mimeType": "abc123",
        "properties": Object,
        "computedProperties": Object,
        "creationDate": "2007-12-03T10:15:30Z",
        "lastChangeDate": "2007-12-03T10:15:30Z",
        "createdBy": "abc123",
        "creationActor": Actor,
        "updatedBy": "abc123",
        "lastChangeActor": Actor
      }
    ]
  }
}

createAsset

Description

Creates then returns a new asset.

Response

Returns an Asset!

Arguments
Name Description
assetInput - CreateAssetInput! Data for creating the asset.

Example

Query
mutation CreateAsset($assetInput: CreateAssetInput!) {
  createAsset(assetInput: $assetInput) {
    id
    organizationId
    typeId
    name
    identifier
    assetState
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
    dataDate
  }
}
Variables
{"assetInput": CreateAssetInput}
Response
{
  "data": {
    "createAsset": {
      "id": "abc123",
      "organizationId": "abc123",
      "typeId": "abc123",
      "name": "abc123",
      "identifier": 987,
      "assetState": "abc123",
      "properties": Object,
      "computedProperties": Object,
      "creationDate": "2007-12-03T10:15:30Z",
      "lastChangeDate": "2007-12-03T10:15:30Z",
      "createdBy": "xyz789",
      "creationActor": Actor,
      "updatedBy": "abc123",
      "lastChangeActor": Actor,
      "dataDate": "2007-12-03T10:15:30Z"
    }
  }
}

createAssetCrv

Description

Creates then returns an asset's CRV, including breakdown into purpose details and technical categories. Note: the asset must not already have an associated CRV. If an asset already has a CRV, use to updateAssetCrv to change it.

Response

Returns an AssetCrv!

Arguments
Name Description
assetCrvInput - CreateAssetCrvInput! Data for creating the asset's CRV.
unitCrvDetailInputs - [CreateUnitCrvDetailInput!]! A list of data inputs for creating related UnitCrvDetail entities.
technicalCategoryCrvInputs - [CreateTechnicalCategoryCrvInput!] A list of data inputs for creating related TechnicalCategoryCrv entities.

Example

Query
mutation CreateAssetCrv(
  $assetCrvInput: CreateAssetCrvInput!,
  $unitCrvDetailInputs: [CreateUnitCrvDetailInput!]!,
  $technicalCategoryCrvInputs: [CreateTechnicalCategoryCrvInput!]
) {
  createAssetCrv(
    assetCrvInput: $assetCrvInput,
    unitCrvDetailInputs: $unitCrvDetailInputs,
    technicalCategoryCrvInputs: $technicalCategoryCrvInputs
  ) {
    id
    assetId
    useSuggestedUnitReplacementValue
    useSuggestedPercentReplacementValue
    unitCrvDetailsList {
      id
      assetCrvId
      organizationCrvId
      quantity
      properties
      computedProperties
      creationDate
      lastChangeDate
      createdBy
      creationActor {
        ...ActorFragment
      }
      updatedBy
      lastChangeActor {
        ...ActorFragment
      }
    }
    technicalCategoryCrvsList {
      id
      assetCrvId
      technicalCategory {
        ...RelatedTechnicalCategoryFragment
      }
      properties
      computedProperties
      creationDate
      lastChangeDate
      createdBy
      creationActor {
        ...ActorFragment
      }
      updatedBy
      lastChangeActor {
        ...ActorFragment
      }
    }
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
  }
}
Variables
{
  "assetCrvInput": CreateAssetCrvInput,
  "unitCrvDetailInputs": [CreateUnitCrvDetailInput],
  "technicalCategoryCrvInputs": [
    CreateTechnicalCategoryCrvInput
  ]
}
Response
{
  "data": {
    "createAssetCrv": {
      "id": "xyz789",
      "assetId": "xyz789",
      "useSuggestedUnitReplacementValue": true,
      "useSuggestedPercentReplacementValue": true,
      "unitCrvDetailsList": [UnitCrvDetail],
      "technicalCategoryCrvsList": [TechnicalCategoryCrv],
      "properties": Object,
      "computedProperties": Object,
      "creationDate": "2007-12-03T10:15:30Z",
      "lastChangeDate": "2007-12-03T10:15:30Z",
      "createdBy": "xyz789",
      "creationActor": Actor,
      "updatedBy": "abc123",
      "lastChangeActor": Actor
    }
  }
}

createAssetType

Description

Creates then returns a new asset type.

Response

Returns an AssetType!

Arguments
Name Description
assetTypeInput - CreateAssetTypeInput! Data for creating a new asset type.

Example

Query
mutation CreateAssetType($assetTypeInput: CreateAssetTypeInput!) {
  createAssetType(assetTypeInput: $assetTypeInput) {
    id
    organizationId
    name
    modulesList
    creationDate
    lastChangeDate
    createdBy
    updatedBy
  }
}
Variables
{"assetTypeInput": CreateAssetTypeInput}
Response
{
  "data": {
    "createAssetType": {
      "id": "abc123",
      "organizationId": "abc123",
      "name": "abc123",
      "modulesList": ["xyz789"],
      "creationDate": "2007-12-03T10:15:30Z",
      "lastChangeDate": "2007-12-03T10:15:30Z",
      "createdBy": "xyz789",
      "updatedBy": "abc123"
    }
  }
}

createCheck

Description

Creates then returns a new inspection.

Response

Returns a Check!

Arguments
Name Description
checkInput - CreateCheckInput! Data for creating a new inspection.

Example

Query
mutation CreateCheck($checkInput: CreateCheckInput!) {
  createCheck(checkInput: $checkInput) {
    id
    organizationId
    assetId
    spaceIdsList
    state
    type
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
    dataDate
  }
}
Variables
{"checkInput": CreateCheckInput}
Response
{
  "data": {
    "createCheck": {
      "id": "xyz789",
      "organizationId": "abc123",
      "assetId": "abc123",
      "spaceIdsList": ["abc123"],
      "state": "CHECK_ABSENT",
      "type": "xyz789",
      "properties": Object,
      "computedProperties": Object,
      "creationDate": "2007-12-03T10:15:30Z",
      "lastChangeDate": "2007-12-03T10:15:30Z",
      "createdBy": "xyz789",
      "creationActor": Actor,
      "updatedBy": "xyz789",
      "lastChangeActor": Actor,
      "dataDate": "2007-12-03T10:15:30Z"
    }
  }
}

createContract

Description

Creates then returns a new contract.

Response

Returns a Contract!

Arguments
Name Description
contractInput - CreateContractInput! Data for creating a contract.

Example

Query
mutation CreateContract($contractInput: CreateContractInput!) {
  createContract(contractInput: $contractInput) {
    id
    organizationId
    assetId
    spaceIdsList
    provider
    status
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
    dataDate
  }
}
Variables
{"contractInput": CreateContractInput}
Response
{
  "data": {
    "createContract": {
      "id": "abc123",
      "organizationId": "abc123",
      "assetId": "abc123",
      "spaceIdsList": ["xyz789"],
      "provider": "abc123",
      "status": "CONTRACT_ACTIVE",
      "properties": Object,
      "computedProperties": Object,
      "creationDate": "2007-12-03T10:15:30Z",
      "lastChangeDate": "2007-12-03T10:15:30Z",
      "createdBy": "abc123",
      "creationActor": Actor,
      "updatedBy": "abc123",
      "lastChangeActor": Actor,
      "dataDate": "2007-12-03T10:15:30Z"
    }
  }
}

createDocuments

Description

Creates then returns new documents.

Response

Returns [Document!]!

Arguments
Name Description
documentInputs - [CreateDocumentInput!]! A list of data inputs for creating documents.

Example

Query
mutation CreateDocuments($documentInputs: [CreateDocumentInput!]!) {
  createDocuments(documentInputs: $documentInputs) {
    id
    organizationId
    entityId
    entityType
    name
    type
    state
    size
    mimeType
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
  }
}
Variables
{"documentInputs": [CreateDocumentInput]}
Response
{
  "data": {
    "createDocuments": [
      {
        "id": "abc123",
        "organizationId": "xyz789",
        "entityId": "xyz789",
        "entityType": "ASSET",
        "name": "xyz789",
        "type": "DOCUMENT",
        "state": "ACTIVE",
        "size": 123,
        "mimeType": "xyz789",
        "properties": Object,
        "computedProperties": Object,
        "creationDate": "2007-12-03T10:15:30Z",
        "lastChangeDate": "2007-12-03T10:15:30Z",
        "createdBy": "abc123",
        "creationActor": Actor,
        "updatedBy": "xyz789",
        "lastChangeActor": Actor
      }
    ]
  }
}

createEquipment

Description

Creates then returns new equipment item.

Response

Returns an Equipment!

Arguments
Name Description
equipmentInput - CreateEquipmentInput! Data for creating an equipment item.

Example

Query
mutation CreateEquipment($equipmentInput: CreateEquipmentInput!) {
  createEquipment(equipmentInput: $equipmentInput) {
    id
    organizationId
    assetId
    spaceIdsList
    name
    identifier
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
    dataDate
  }
}
Variables
{"equipmentInput": CreateEquipmentInput}
Response
{
  "data": {
    "createEquipment": {
      "id": "xyz789",
      "organizationId": "abc123",
      "assetId": "abc123",
      "spaceIdsList": ["xyz789"],
      "name": "xyz789",
      "identifier": 987,
      "properties": Object,
      "computedProperties": Object,
      "creationDate": "2007-12-03T10:15:30Z",
      "lastChangeDate": "2007-12-03T10:15:30Z",
      "createdBy": "abc123",
      "creationActor": Actor,
      "updatedBy": "xyz789",
      "lastChangeActor": Actor,
      "dataDate": "2007-12-03T10:15:30Z"
    }
  }
}

createInvestment

Description

Creates then returns a new investment.

Response

Returns an Investment!

Arguments
Name Description
investmentInput - CreateInvestmentInput! Data for creating an investment.

Example

Query
mutation CreateInvestment($investmentInput: CreateInvestmentInput!) {
  createInvestment(investmentInput: $investmentInput) {
    id
    organizationId
    entityId
    type
    identifier
    name
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
    dataDate
  }
}
Variables
{"investmentInput": CreateInvestmentInput}
Response
{
  "data": {
    "createInvestment": {
      "id": "xyz789",
      "organizationId": "abc123",
      "entityId": "xyz789",
      "type": "ASSET",
      "identifier": 123,
      "name": "xyz789",
      "properties": Object,
      "computedProperties": Object,
      "creationDate": "2007-12-03T10:15:30Z",
      "lastChangeDate": "2007-12-03T10:15:30Z",
      "createdBy": "abc123",
      "creationActor": Actor,
      "updatedBy": "xyz789",
      "lastChangeActor": Actor,
      "dataDate": "2007-12-03T10:15:30Z"
    }
  }
}

createMeeting

Description

Creates then returns a new meeting.

Response

Returns a Meeting!

Arguments
Name Description
meetingInput - CreateMeetingInput! Data for creating a meeting.

Example

Query
mutation CreateMeeting($meetingInput: CreateMeetingInput!) {
  createMeeting(meetingInput: $meetingInput) {
    id
    organizationId
    identifier
    name
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
  }
}
Variables
{"meetingInput": CreateMeetingInput}
Response
{
  "data": {
    "createMeeting": {
      "id": "abc123",
      "organizationId": "xyz789",
      "identifier": 987,
      "name": "abc123",
      "properties": Object,
      "computedProperties": Object,
      "creationDate": "2007-12-03T10:15:30Z",
      "lastChangeDate": "2007-12-03T10:15:30Z",
      "createdBy": "abc123",
      "creationActor": Actor,
      "updatedBy": "abc123",
      "lastChangeActor": Actor
    }
  }
}

createOccupant

Description

Creates then returns a tenant with a lease. If a tenant with the same name already exists, the lease will be added to this tenant. Otherwise a new tenant will be created with their first lease.

Response

Returns an Occupant!

Arguments
Name Description
occupantInput - CreateOccupantInput! Data for creating the tenant.
leaseInput - CreateLeaseInput! Data for creating the tenant's lease.

Example

Query
mutation CreateOccupant(
  $occupantInput: CreateOccupantInput!,
  $leaseInput: CreateLeaseInput!
) {
  createOccupant(
    occupantInput: $occupantInput,
    leaseInput: $leaseInput
  ) {
    id
    organizationId
    name
    leasesList {
      id
      organizationId
      assetId
      spaceIdsList
      occupantId
      status
      properties
      computedProperties
      creationDate
      lastChangeDate
      createdBy
      creationActor {
        ...ActorFragment
      }
      updatedBy
      lastChangeActor {
        ...ActorFragment
      }
      dataDate
    }
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
    dataDate
  }
}
Variables
{
  "occupantInput": CreateOccupantInput,
  "leaseInput": CreateLeaseInput
}
Response
{
  "data": {
    "createOccupant": {
      "id": "abc123",
      "organizationId": "abc123",
      "name": "abc123",
      "leasesList": [Lease],
      "properties": Object,
      "computedProperties": Object,
      "creationDate": "2007-12-03T10:15:30Z",
      "lastChangeDate": "2007-12-03T10:15:30Z",
      "createdBy": "xyz789",
      "creationActor": Actor,
      "updatedBy": "abc123",
      "lastChangeActor": Actor,
      "dataDate": "2007-12-03T10:15:30Z"
    }
  }
}

createOrganizationCrv

Description

Creates then returns a CRV purpose configuration.

Response

Returns an OrganizationCrv!

Arguments
Name Description
organizationCrvInput - CreateOrganizationCrvInput! Data for creating a CRV purpose configuration.

Example

Query
mutation CreateOrganizationCrv($organizationCrvInput: CreateOrganizationCrvInput!) {
  createOrganizationCrv(organizationCrvInput: $organizationCrvInput) {
    id
    organizationId
    purpose
    unitCrv
    unit
    percentTechnicalCategoriesList {
      technicalCategoryCode
      percent
    }
    properties
    creationDate
    lastChangeDate
    createdBy
    updatedBy
  }
}
Variables
{"organizationCrvInput": CreateOrganizationCrvInput}
Response
{
  "data": {
    "createOrganizationCrv": {
      "id": "abc123",
      "organizationId": "abc123",
      "purpose": "xyz789",
      "unitCrv": 987.65,
      "unit": "xyz789",
      "percentTechnicalCategoriesList": [
        PercentTechnicalCategory
      ],
      "properties": Object,
      "creationDate": "2007-12-03T10:15:30Z",
      "lastChangeDate": "2007-12-03T10:15:30Z",
      "createdBy": "xyz789",
      "updatedBy": "abc123"
    }
  }
}

createProject

Description

Creates then returns a new project.

Response

Returns a Project!

Arguments
Name Description
projectInput - CreateProjectInput! Data for creating a project.

Example

Query
mutation CreateProject($projectInput: CreateProjectInput!) {
  createProject(projectInput: $projectInput) {
    id
    organizationId
    assetIdsList
    projectIdsList
    identifier
    name
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
    dataDate
  }
}
Variables
{"projectInput": CreateProjectInput}
Response
{
  "data": {
    "createProject": {
      "id": "xyz789",
      "organizationId": "xyz789",
      "assetIdsList": ["abc123"],
      "projectIdsList": ["abc123"],
      "identifier": 123,
      "name": "xyz789",
      "properties": Object,
      "computedProperties": Object,
      "creationDate": "2007-12-03T10:15:30Z",
      "lastChangeDate": "2007-12-03T10:15:30Z",
      "createdBy": "abc123",
      "creationActor": Actor,
      "updatedBy": "xyz789",
      "lastChangeActor": Actor,
      "dataDate": "2007-12-03T10:15:30Z"
    }
  }
}

createSnapshot

Description

Creates then returns a snapshot entity, and initiates the process of capturing the organization's data at the specified date.

Response

Returns a Snapshot!

Arguments
Name Description
snapshotInput - CreateSnapshotInput! Data for creating the snapshot.

Example

Query
mutation CreateSnapshot($snapshotInput: CreateSnapshotInput!) {
  createSnapshot(snapshotInput: $snapshotInput) {
    id
    organizationId
    date
    status
    description
    creationDate
    lastChangeDate
    createdBy
    updatedBy
  }
}
Variables
{"snapshotInput": CreateSnapshotInput}
Response
{
  "data": {
    "createSnapshot": {
      "id": "xyz789",
      "organizationId": "abc123",
      "date": "xyz789",
      "status": "SNAPSHOT_AVAILABLE",
      "description": "xyz789",
      "creationDate": "2007-12-03T10:15:30Z",
      "lastChangeDate": "2007-12-03T10:15:30Z",
      "createdBy": "xyz789",
      "updatedBy": "abc123"
    }
  }
}

createSpace

Description

Creates then returns a space.

Response

Returns a Space!

Arguments
Name Description
spaceInput - CreateSpaceInput! Data for creating a space.

Example

Query
mutation CreateSpace($spaceInput: CreateSpaceInput!) {
  createSpace(spaceInput: $spaceInput) {
    id
    organizationId
    assetId
    parentPathList
    name
    identifier
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
    dataDate
  }
}
Variables
{"spaceInput": CreateSpaceInput}
Response
{
  "data": {
    "createSpace": {
      "id": "xyz789",
      "organizationId": "xyz789",
      "assetId": "xyz789",
      "parentPathList": ["xyz789"],
      "name": "xyz789",
      "identifier": "abc123",
      "properties": Object,
      "computedProperties": Object,
      "creationDate": "2007-12-03T10:15:30Z",
      "lastChangeDate": "2007-12-03T10:15:30Z",
      "createdBy": "abc123",
      "creationActor": Actor,
      "updatedBy": "abc123",
      "lastChangeActor": Actor,
      "dataDate": "2007-12-03T10:15:30Z"
    }
  }
}

createWork

Description

Creates then returns a new intervention.

Response

Returns a Work!

Arguments
Name Description
workInput - CreateWorkInput! Data for creating an intervention.

Example

Query
mutation CreateWork($workInput: CreateWorkInput!) {
  createWork(workInput: $workInput) {
    id
    organizationId
    assetId
    spaceIdsList
    equipmentIdsList
    projectIdsList
    meetingId
    identifier
    action
    state
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
    dataDate
  }
}
Variables
{"workInput": CreateWorkInput}
Response
{
  "data": {
    "createWork": {
      "id": "xyz789",
      "organizationId": "abc123",
      "assetId": "abc123",
      "spaceIdsList": ["abc123"],
      "equipmentIdsList": ["abc123"],
      "projectIdsList": ["xyz789"],
      "meetingId": "xyz789",
      "identifier": 123,
      "action": "abc123",
      "state": "abc123",
      "properties": Object,
      "computedProperties": Object,
      "creationDate": "2007-12-03T10:15:30Z",
      "lastChangeDate": "2007-12-03T10:15:30Z",
      "createdBy": "abc123",
      "creationActor": Actor,
      "updatedBy": "xyz789",
      "lastChangeActor": Actor,
      "dataDate": "2007-12-03T10:15:30Z"
    }
  }
}

deleteAllLeasesByAssetAndOccupant

Description

Deletes all leases on an asset for a given tenant, then returns a boolean value indicating whether the operation was successful.

Response

Returns a Boolean!

Arguments
Name Description
assetId - String! Asset's ID.
occupantId - String! Tenant's ID.

Example

Query
mutation DeleteAllLeasesByAssetAndOccupant(
  $assetId: String!,
  $occupantId: String!
) {
  deleteAllLeasesByAssetAndOccupant(
    assetId: $assetId,
    occupantId: $occupantId
  )
}
Variables
{
  "assetId": "xyz789",
  "occupantId": "abc123"
}
Response
{"data": {"deleteAllLeasesByAssetAndOccupant": false}}

deleteAssetCrv

Description

Deletes an asset's CRV then returns a boolean value indicating whether the operation was successful.

Response

Returns a Boolean!

Arguments
Name Description
id - String! ID of the asset's CRV to delete.

Example

Query
mutation DeleteAssetCrv($id: String!) {
  deleteAssetCrv(id: $id)
}
Variables
{"id": "abc123"}
Response
{"data": {"deleteAssetCrv": true}}

deleteAssetType

Description

Deletes a single asset type then returns a boolean value indicating whether the operation was successful. The type must not be used by any existing asset in order to be deleted.

Response

Returns a Boolean!

Arguments
Name Description
id - String! ID of the asset type entity to delete.

Example

Query
mutation DeleteAssetType($id: String!) {
  deleteAssetType(id: $id)
}
Variables
{"id": "abc123"}
Response
{"data": {"deleteAssetType": false}}

deleteAssets

Description

Deletes multiple assets then returns a boolean value indicating whether the operation was successful, i.e. all assets were deleted.

Response

Returns a Boolean!

Arguments
Name Description
ids - [String!]! IDs of the asset entities to delete.

Example

Query
mutation DeleteAssets($ids: [String!]!) {
  deleteAssets(ids: $ids)
}
Variables
{"ids": ["abc123"]}
Response
{"data": {"deleteAssets": false}}

deleteChecks

Description

Deletes multiple inspections then returns a boolean value indicating whether the operation was successful.

Response

Returns a Boolean!

Arguments
Name Description
ids - [String!]! IDs of the Check entities to delete.

Example

Query
mutation DeleteChecks($ids: [String!]!) {
  deleteChecks(ids: $ids)
}
Variables
{"ids": ["abc123"]}
Response
{"data": {"deleteChecks": true}}

deleteContracts

Description

Deletes multiple contracts then returns a boolean value indicating whether the operation was successful.

Response

Returns a Boolean!

Arguments
Name Description
ids - [String!]! IDs of the contract entities to delete.

Example

Query
mutation DeleteContracts($ids: [String!]!) {
  deleteContracts(ids: $ids)
}
Variables
{"ids": ["xyz789"]}
Response
{"data": {"deleteContracts": false}}

deleteDocument

Description

Deletes a single document and its associated file then returns a boolean value indicating whether the operation was successful.

Response

Returns a Boolean!

Arguments
Name Description
id - String! ID of the document entity to delete.

Example

Query
mutation DeleteDocument($id: String!) {
  deleteDocument(id: $id)
}
Variables
{"id": "xyz789"}
Response
{"data": {"deleteDocument": true}}

deleteDocuments

Description

Deletes multiple documents and their associated files then returns a boolean value indicating whether the operation was successful.

Response

Returns a Boolean!

Arguments
Name Description
ids - [String!]! IDs of the document entities to delete.

Example

Query
mutation DeleteDocuments($ids: [String!]!) {
  deleteDocuments(ids: $ids)
}
Variables
{"ids": ["xyz789"]}
Response
{"data": {"deleteDocuments": false}}

deleteEquipments

Description

Delete multiple equipment items then returns a boolean value indicating whether the operation was successful, i.e. all entities were deleted.

Response

Returns a Boolean!

Arguments
Name Description
ids - [String!]! IDs of equipment items to delete.

Example

Query
mutation DeleteEquipments($ids: [String!]!) {
  deleteEquipments(ids: $ids)
}
Variables
{"ids": ["abc123"]}
Response
{"data": {"deleteEquipments": true}}

deleteFiles

Description

Deletes multiple files then returns a boolean value indicating whether the operation was successful, i.e. all files were deleted.

Response

Returns a Boolean!

Arguments
Name Description
filePaths - [String!]! Paths of files to delete.

Example

Query
mutation DeleteFiles($filePaths: [String!]!) {
  deleteFiles(filePaths: $filePaths)
}
Variables
{"filePaths": ["abc123"]}
Response
{"data": {"deleteFiles": false}}

deleteInvestments

Description

Delete multiple investments then returns a boolean value indicating whether the operation was successful, i.e. all investments were deleted.

Response

Returns a Boolean!

Arguments
Name Description
ids - [String!]! IDs of the investment to delete.

Example

Query
mutation DeleteInvestments($ids: [String!]!) {
  deleteInvestments(ids: $ids)
}
Variables
{"ids": ["abc123"]}
Response
{"data": {"deleteInvestments": false}}

deleteLeases

Description

Deletes multiple leases then returns a boolean value indicating whether the operation was successful.

Response

Returns a Boolean!

Arguments
Name Description
ids - [String!] IDs of the leases to delete.

Example

Query
mutation DeleteLeases($ids: [String!]) {
  deleteLeases(ids: $ids)
}
Variables
{"ids": ["xyz789"]}
Response
{"data": {"deleteLeases": false}}

deleteMeetings

Description

Deletes multiple meetings then returns a boolean value indicating whether the operation was successful.

Response

Returns a Boolean!

Arguments
Name Description
ids - [String!]! IDs of meeting entities to delete.

Example

Query
mutation DeleteMeetings($ids: [String!]!) {
  deleteMeetings(ids: $ids)
}
Variables
{"ids": ["xyz789"]}
Response
{"data": {"deleteMeetings": false}}

deleteOrganizationCrv

Description

Deletes a CRV purpose configuration then returns a boolean value indicating whether the operation was successful.

Response

Returns a Boolean!

Arguments
Name Description
id - String! ID of the CRV purpose configuration to delete.

Example

Query
mutation DeleteOrganizationCrv($id: String!) {
  deleteOrganizationCrv(id: $id)
}
Variables
{"id": "xyz789"}
Response
{"data": {"deleteOrganizationCrv": false}}

deleteProjects

Description

Delete multiple projects then returns a boolean value indicating whether the operation was successful, i.e. all projects were deleted.

Response

Returns a Boolean!

Arguments
Name Description
ids - [String!]! IDs of the project entities to delete.

Example

Query
mutation DeleteProjects($ids: [String!]!) {
  deleteProjects(ids: $ids)
}
Variables
{"ids": ["xyz789"]}
Response
{"data": {"deleteProjects": false}}

deleteSnapshot

Description

Deletes a snapshot then returns a boolean value indicating whether the operation was successful. Cancels any ongoing process.

Response

Returns a Boolean!

Arguments
Name Description
id - String! Snapshot's ID.

Example

Query
mutation DeleteSnapshot($id: String!) {
  deleteSnapshot(id: $id)
}
Variables
{"id": "xyz789"}
Response
{"data": {"deleteSnapshot": true}}

deleteSpace

Description

Deletes a single space then returns a boolean value indicating whether the operation was successful.

Response

Returns a Boolean!

Arguments
Name Description
id - String! ID of the space to delete.
deleteChildren - Boolean! Whether to delete the space's children. If true all the space's descendants, all the way to the leaf spaces inclusively, are deleted. When false, the deleted space's children are reattached to its parent.

Example

Query
mutation DeleteSpace(
  $id: String!,
  $deleteChildren: Boolean!
) {
  deleteSpace(
    id: $id,
    deleteChildren: $deleteChildren
  )
}
Variables
{"id": "abc123", "deleteChildren": true}
Response
{"data": {"deleteSpace": true}}

deleteSpaces

Description

Deletes multiple spaces along with all their children recursively, then returns a boolean value indicating whether the operation was successful, i.e. all spaces were deleted.

Response

Returns a Boolean!

Arguments
Name Description
ids - [String!]! IDs of the spaces to delete.

Example

Query
mutation DeleteSpaces($ids: [String!]!) {
  deleteSpaces(ids: $ids)
}
Variables
{"ids": ["xyz789"]}
Response
{"data": {"deleteSpaces": true}}

deleteWorks

Description

Delete multiple interventions then returns a boolean value indicating whether the operation was successful, i.e. all entities were deleted.

Response

Returns a Boolean!

Arguments
Name Description
ids - [String!]! IDs of interventions to delete.

Example

Query
mutation DeleteWorks($ids: [String!]!) {
  deleteWorks(ids: $ids)
}
Variables
{"ids": ["abc123"]}
Response
{"data": {"deleteWorks": false}}

duplicateEquipments

Description

Creates then returns new equipment based on existing equipment.

Response

Returns [Equipment!]!

Arguments
Name Description
ids - [String!]! IDs of existing equipment items to duplicate.
assetId - String! ID of the asset in which to add the new equipment.
spaceIds - [String!]! IDs of spaces in which to add the new equipment.

Example

Query
mutation DuplicateEquipments(
  $ids: [String!]!,
  $assetId: String!,
  $spaceIds: [String!]!
) {
  duplicateEquipments(
    ids: $ids,
    assetId: $assetId,
    spaceIds: $spaceIds
  ) {
    id
    organizationId
    assetId
    spaceIdsList
    name
    identifier
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
    dataDate
  }
}
Variables
{
  "ids": ["xyz789"],
  "assetId": "xyz789",
  "spaceIds": ["xyz789"]
}
Response
{
  "data": {
    "duplicateEquipments": [
      {
        "id": "xyz789",
        "organizationId": "xyz789",
        "assetId": "xyz789",
        "spaceIdsList": ["abc123"],
        "name": "xyz789",
        "identifier": 987,
        "properties": Object,
        "computedProperties": Object,
        "creationDate": "2007-12-03T10:15:30Z",
        "lastChangeDate": "2007-12-03T10:15:30Z",
        "createdBy": "xyz789",
        "creationActor": Actor,
        "updatedBy": "xyz789",
        "lastChangeActor": Actor,
        "dataDate": "2007-12-03T10:15:30Z"
      }
    ]
  }
}

duplicateWorks

Description

Creates then returns new interventions based on existing interventions.

Response

Returns [Work!]!

Arguments
Name Description
ids - [String!]! IDs of existing interventions to duplicate.
assetId - String Optional ID of an asset to which to link the new interventions.
spaceIds - [String!] Optional IDs of spaces to which to link the new interventions."
equipmentIds - [String!] Optional IDs of equipment items to which this intervention is related.
projectIds - [String!] Optional IDs of projects to which this intervention is related.

Example

Query
mutation DuplicateWorks(
  $ids: [String!]!,
  $assetId: String,
  $spaceIds: [String!],
  $equipmentIds: [String!],
  $projectIds: [String!]
) {
  duplicateWorks(
    ids: $ids,
    assetId: $assetId,
    spaceIds: $spaceIds,
    equipmentIds: $equipmentIds,
    projectIds: $projectIds
  ) {
    id
    organizationId
    assetId
    spaceIdsList
    equipmentIdsList
    projectIdsList
    meetingId
    identifier
    action
    state
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
    dataDate
  }
}
Variables
{
  "ids": ["abc123"],
  "assetId": "xyz789",
  "spaceIds": ["xyz789"],
  "equipmentIds": ["xyz789"],
  "projectIds": ["xyz789"]
}
Response
{
  "data": {
    "duplicateWorks": [
      {
        "id": "abc123",
        "organizationId": "abc123",
        "assetId": "abc123",
        "spaceIdsList": ["xyz789"],
        "equipmentIdsList": ["abc123"],
        "projectIdsList": ["abc123"],
        "meetingId": "xyz789",
        "identifier": 987,
        "action": "xyz789",
        "state": "abc123",
        "properties": Object,
        "computedProperties": Object,
        "creationDate": "2007-12-03T10:15:30Z",
        "lastChangeDate": "2007-12-03T10:15:30Z",
        "createdBy": "xyz789",
        "creationActor": Actor,
        "updatedBy": "xyz789",
        "lastChangeActor": Actor,
        "dataDate": "2007-12-03T10:15:30Z"
      }
    ]
  }
}

linkDocument

Description

Creates then returns a new document for an existing file and linked to another entity.

Response

Returns a Document!

Arguments
Name Description
id - String! ID of the existing document entity to duplicate.
entityId - String! ID of the entity to link the new document to.
entityType - EntityType! Type of the entity to link the new document to.

Example

Query
mutation LinkDocument(
  $id: String!,
  $entityId: String!,
  $entityType: EntityType!
) {
  linkDocument(
    id: $id,
    entityId: $entityId,
    entityType: $entityType
  ) {
    id
    organizationId
    entityId
    entityType
    name
    type
    state
    size
    mimeType
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
  }
}
Variables
{
  "id": "abc123",
  "entityId": "abc123",
  "entityType": "ASSET"
}
Response
{
  "data": {
    "linkDocument": {
      "id": "xyz789",
      "organizationId": "abc123",
      "entityId": "xyz789",
      "entityType": "ASSET",
      "name": "xyz789",
      "type": "DOCUMENT",
      "state": "ACTIVE",
      "size": 987,
      "mimeType": "xyz789",
      "properties": Object,
      "computedProperties": Object,
      "creationDate": "2007-12-03T10:15:30Z",
      "lastChangeDate": "2007-12-03T10:15:30Z",
      "createdBy": "abc123",
      "creationActor": Actor,
      "updatedBy": "abc123",
      "lastChangeActor": Actor
    }
  }
}

renewCheck

Description

Creates then returns a new inspection based on an existing inspection whose status will be updated to CHECK_CLOSED.

Response

Returns a Check!

Arguments
Name Description
id - String! ID of the inspection to renew.
checkInput - CreateCheckInput! Data for creating a new inspection.

Example

Query
mutation RenewCheck(
  $id: String!,
  $checkInput: CreateCheckInput!
) {
  renewCheck(
    id: $id,
    checkInput: $checkInput
  ) {
    id
    organizationId
    assetId
    spaceIdsList
    state
    type
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
    dataDate
  }
}
Variables
{
  "id": "xyz789",
  "checkInput": CreateCheckInput
}
Response
{
  "data": {
    "renewCheck": {
      "id": "xyz789",
      "organizationId": "xyz789",
      "assetId": "abc123",
      "spaceIdsList": ["abc123"],
      "state": "CHECK_ABSENT",
      "type": "abc123",
      "properties": Object,
      "computedProperties": Object,
      "creationDate": "2007-12-03T10:15:30Z",
      "lastChangeDate": "2007-12-03T10:15:30Z",
      "createdBy": "xyz789",
      "creationActor": Actor,
      "updatedBy": "abc123",
      "lastChangeActor": Actor,
      "dataDate": "2007-12-03T10:15:30Z"
    }
  }
}

renewContract

Description

Creates then returns a new contract based on an existing contract whose status will be updated to CONTRACT_CLOSED.

Response

Returns a Contract!

Arguments
Name Description
id - String! ID of the contract to renew.
contractInput - CreateContractInput! Data for creating a new contract.

Example

Query
mutation RenewContract(
  $id: String!,
  $contractInput: CreateContractInput!
) {
  renewContract(
    id: $id,
    contractInput: $contractInput
  ) {
    id
    organizationId
    assetId
    spaceIdsList
    provider
    status
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
    dataDate
  }
}
Variables
{
  "id": "abc123",
  "contractInput": CreateContractInput
}
Response
{
  "data": {
    "renewContract": {
      "id": "xyz789",
      "organizationId": "xyz789",
      "assetId": "abc123",
      "spaceIdsList": ["abc123"],
      "provider": "xyz789",
      "status": "CONTRACT_ACTIVE",
      "properties": Object,
      "computedProperties": Object,
      "creationDate": "2007-12-03T10:15:30Z",
      "lastChangeDate": "2007-12-03T10:15:30Z",
      "createdBy": "abc123",
      "creationActor": Actor,
      "updatedBy": "abc123",
      "lastChangeActor": Actor,
      "dataDate": "2007-12-03T10:15:30Z"
    }
  }
}

renewLease

Description

Creates then returns a new lease based on an existing lease whose status will be updated to LEASE_CLOSED.

Response

Returns a Lease!

Arguments
Name Description
id - String! ID of the lease to renew.
leaseInput - CreateLeaseInput! Data for creating a new lease.

Example

Query
mutation RenewLease(
  $id: String!,
  $leaseInput: CreateLeaseInput!
) {
  renewLease(
    id: $id,
    leaseInput: $leaseInput
  ) {
    id
    organizationId
    assetId
    spaceIdsList
    occupantId
    status
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
    dataDate
  }
}
Variables
{
  "id": "abc123",
  "leaseInput": CreateLeaseInput
}
Response
{
  "data": {
    "renewLease": {
      "id": "abc123",
      "organizationId": "abc123",
      "assetId": "xyz789",
      "spaceIdsList": ["xyz789"],
      "occupantId": "abc123",
      "status": "LEASE_ACTIVE",
      "properties": Object,
      "computedProperties": Object,
      "creationDate": "2007-12-03T10:15:30Z",
      "lastChangeDate": "2007-12-03T10:15:30Z",
      "createdBy": "abc123",
      "creationActor": Actor,
      "updatedBy": "xyz789",
      "lastChangeActor": Actor,
      "dataDate": "2007-12-03T10:15:30Z"
    }
  }
}

restoreAsset

Description

Restores a previously deleted asset then returns a boolean value indicating whether the operation was successful.

Response

Returns a Boolean!

Arguments
Name Description
id - String! ID of the asset to restore.

Example

Query
mutation RestoreAsset($id: String!) {
  restoreAsset(id: $id)
}
Variables
{"id": "xyz789"}
Response
{"data": {"restoreAsset": true}}

saveImportConfiguration

Description

Saves the field-parameter value mappings configuration to use for generating the import template for a risk assessment profile. Returns a key that must then be sent in the payload to the importRisks subscription along with the filled import template.

Response

Returns a String!

Arguments
Name Description
organizationId - String! Organization's ID.
configuration - RiskConfigurationsInput! Risk assessment profile configuration containing the field-parameter value mappings.

Example

Query
mutation SaveImportConfiguration(
  $organizationId: String!,
  $configuration: RiskConfigurationsInput!
) {
  saveImportConfiguration(
    organizationId: $organizationId,
    configuration: $configuration
  )
}
Variables
{
  "organizationId": "abc123",
  "configuration": RiskConfigurationsInput
}
Response
{
  "data": {
    "saveImportConfiguration": "abc123"
  }
}

scheduleSnapshot

Description

Schedules a snapshot to be taken automatically at the given date every year.

Response

Returns a DateTime!

Arguments
Name Description
organizationId - String! ID of the organization of which to take a snapshot.
month - Int! Month in which to take the snapshot every year.
day - Int! Day of the month the snapshot must be taken on.

Example

Query
mutation ScheduleSnapshot(
  $organizationId: String!,
  $month: Int!,
  $day: Int!
) {
  scheduleSnapshot(
    organizationId: $organizationId,
    month: $month,
    day: $day
  )
}
Variables
{
  "organizationId": "abc123",
  "month": 987,
  "day": 987
}
Response
{
  "data": {
    "scheduleSnapshot": "2007-12-03T10:15:30Z"
  }
}

setAssetMainPicture

Deprecated in 6.10.0. Use updateAsset instead
Description

Updates an asset's main picture then returns the updated asset.

Response

Returns an Asset!

Arguments
Name Description
id - String! ID of the asset for which to update the main picture.
mainPictureDocumentId - String! ID of the document for the picture to use as main picture.

Example

Query
mutation SetAssetMainPicture(
  $id: String!,
  $mainPictureDocumentId: String!
) {
  setAssetMainPicture(
    id: $id,
    mainPictureDocumentId: $mainPictureDocumentId
  ) {
    id
    organizationId
    typeId
    name
    identifier
    assetState
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
    dataDate
  }
}
Variables
{
  "id": "xyz789",
  "mainPictureDocumentId": "abc123"
}
Response
{
  "data": {
    "setAssetMainPicture": {
      "id": "abc123",
      "organizationId": "xyz789",
      "typeId": "abc123",
      "name": "abc123",
      "identifier": 123,
      "assetState": "abc123",
      "properties": Object,
      "computedProperties": Object,
      "creationDate": "2007-12-03T10:15:30Z",
      "lastChangeDate": "2007-12-03T10:15:30Z",
      "createdBy": "xyz789",
      "creationActor": Actor,
      "updatedBy": "xyz789",
      "lastChangeActor": Actor,
      "dataDate": "2007-12-03T10:15:30Z"
    }
  }
}

setWorkMainPicture

Deprecated in 6.10.0. Use updateWork instead
Description

Updates an intervention's main picture then returns the updated entity.

Response

Returns a Work!

Arguments
Name Description
id - String! ID of the intervention to update.
mainPictureDocumentId - String! ID of the document for the picture to use as main picture.

Example

Query
mutation SetWorkMainPicture(
  $id: String!,
  $mainPictureDocumentId: String!
) {
  setWorkMainPicture(
    id: $id,
    mainPictureDocumentId: $mainPictureDocumentId
  ) {
    id
    organizationId
    assetId
    spaceIdsList
    equipmentIdsList
    projectIdsList
    meetingId
    identifier
    action
    state
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
    dataDate
  }
}
Variables
{
  "id": "xyz789",
  "mainPictureDocumentId": "abc123"
}
Response
{
  "data": {
    "setWorkMainPicture": {
      "id": "abc123",
      "organizationId": "xyz789",
      "assetId": "xyz789",
      "spaceIdsList": ["abc123"],
      "equipmentIdsList": ["abc123"],
      "projectIdsList": ["abc123"],
      "meetingId": "xyz789",
      "identifier": 987,
      "action": "xyz789",
      "state": "xyz789",
      "properties": Object,
      "computedProperties": Object,
      "creationDate": "2007-12-03T10:15:30Z",
      "lastChangeDate": "2007-12-03T10:15:30Z",
      "createdBy": "abc123",
      "creationActor": Actor,
      "updatedBy": "abc123",
      "lastChangeActor": Actor,
      "dataDate": "2007-12-03T10:15:30Z"
    }
  }
}

unscheduleSnapshot

Description

Unschedules a yearly snapshot.

Response

Returns a Boolean!

Arguments
Name Description
organizationId - String! ID of the Organization for which to unschedule the yearly snapshot.

Example

Query
mutation UnscheduleSnapshot($organizationId: String!) {
  unscheduleSnapshot(organizationId: $organizationId)
}
Variables
{"organizationId": "xyz789"}
Response
{"data": {"unscheduleSnapshot": false}}

updateAsset

Description

Updates then returns a single asset.

Response

Returns an Asset!

Arguments
Name Description
assetInput - UpdateAssetInput! Data for updating the asset.

Example

Query
mutation UpdateAsset($assetInput: UpdateAssetInput!) {
  updateAsset(assetInput: $assetInput) {
    id
    organizationId
    typeId
    name
    identifier
    assetState
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
    dataDate
  }
}
Variables
{"assetInput": UpdateAssetInput}
Response
{
  "data": {
    "updateAsset": {
      "id": "xyz789",
      "organizationId": "xyz789",
      "typeId": "xyz789",
      "name": "xyz789",
      "identifier": 987,
      "assetState": "xyz789",
      "properties": Object,
      "computedProperties": Object,
      "creationDate": "2007-12-03T10:15:30Z",
      "lastChangeDate": "2007-12-03T10:15:30Z",
      "createdBy": "xyz789",
      "creationActor": Actor,
      "updatedBy": "abc123",
      "lastChangeActor": Actor,
      "dataDate": "2007-12-03T10:15:30Z"
    }
  }
}

updateAssetAudit

Description

Updates then returns a single audit.

Response

Returns an AssetAudit!

Arguments
Name Description
assetAuditInput - UpdateAssetAuditInput! Data for updating the audit.

Example

Query
mutation UpdateAssetAudit($assetAuditInput: UpdateAssetAuditInput!) {
  updateAssetAudit(assetAuditInput: $assetAuditInput) {
    id
    organizationId
    assetId
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
  }
}
Variables
{"assetAuditInput": UpdateAssetAuditInput}
Response
{
  "data": {
    "updateAssetAudit": {
      "id": "xyz789",
      "organizationId": "xyz789",
      "assetId": "xyz789",
      "properties": Object,
      "computedProperties": Object,
      "creationDate": "2007-12-03T10:15:30Z",
      "lastChangeDate": "2007-12-03T10:15:30Z",
      "createdBy": "xyz789",
      "creationActor": Actor,
      "updatedBy": "abc123",
      "lastChangeActor": Actor
    }
  }
}

updateAssetAudits

Description

Updates then returns a list of audits.

Response

Returns [AssetAudit!]!

Arguments
Name Description
assetAuditInputs - [UpdateAssetAuditInput!]! A list of data inputs for updating audits.

Example

Query
mutation UpdateAssetAudits($assetAuditInputs: [UpdateAssetAuditInput!]!) {
  updateAssetAudits(assetAuditInputs: $assetAuditInputs) {
    id
    organizationId
    assetId
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
  }
}
Variables
{"assetAuditInputs": [UpdateAssetAuditInput]}
Response
{
  "data": {
    "updateAssetAudits": [
      {
        "id": "abc123",
        "organizationId": "abc123",
        "assetId": "abc123",
        "properties": Object,
        "computedProperties": Object,
        "creationDate": "2007-12-03T10:15:30Z",
        "lastChangeDate": "2007-12-03T10:15:30Z",
        "createdBy": "abc123",
        "creationActor": Actor,
        "updatedBy": "xyz789",
        "lastChangeActor": Actor
      }
    ]
  }
}

updateAssetCrv

Description

Updates then returns an asset's CRV.

Response

Returns an AssetCrv!

Arguments
Name Description
assetCrvInput - UpdateAssetCrvInput! Data for updating the asset's CRV.

Example

Query
mutation UpdateAssetCrv($assetCrvInput: UpdateAssetCrvInput!) {
  updateAssetCrv(assetCrvInput: $assetCrvInput) {
    id
    assetId
    useSuggestedUnitReplacementValue
    useSuggestedPercentReplacementValue
    unitCrvDetailsList {
      id
      assetCrvId
      organizationCrvId
      quantity
      properties
      computedProperties
      creationDate
      lastChangeDate
      createdBy
      creationActor {
        ...ActorFragment
      }
      updatedBy
      lastChangeActor {
        ...ActorFragment
      }
    }
    technicalCategoryCrvsList {
      id
      assetCrvId
      technicalCategory {
        ...RelatedTechnicalCategoryFragment
      }
      properties
      computedProperties
      creationDate
      lastChangeDate
      createdBy
      creationActor {
        ...ActorFragment
      }
      updatedBy
      lastChangeActor {
        ...ActorFragment
      }
    }
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
  }
}
Variables
{"assetCrvInput": UpdateAssetCrvInput}
Response
{
  "data": {
    "updateAssetCrv": {
      "id": "abc123",
      "assetId": "xyz789",
      "useSuggestedUnitReplacementValue": true,
      "useSuggestedPercentReplacementValue": false,
      "unitCrvDetailsList": [UnitCrvDetail],
      "technicalCategoryCrvsList": [TechnicalCategoryCrv],
      "properties": Object,
      "computedProperties": Object,
      "creationDate": "2007-12-03T10:15:30Z",
      "lastChangeDate": "2007-12-03T10:15:30Z",
      "createdBy": "xyz789",
      "creationActor": Actor,
      "updatedBy": "xyz789",
      "lastChangeActor": Actor
    }
  }
}

updateAssetType

Description

Updates then returns an existing asset type.

Response

Returns an AssetType!

Arguments
Name Description
assetTypeInput - UpdateAssetTypeInput! Data for updating an asset type.

Example

Query
mutation UpdateAssetType($assetTypeInput: UpdateAssetTypeInput!) {
  updateAssetType(assetTypeInput: $assetTypeInput) {
    id
    organizationId
    name
    modulesList
    creationDate
    lastChangeDate
    createdBy
    updatedBy
  }
}
Variables
{"assetTypeInput": UpdateAssetTypeInput}
Response
{
  "data": {
    "updateAssetType": {
      "id": "abc123",
      "organizationId": "xyz789",
      "name": "abc123",
      "modulesList": ["abc123"],
      "creationDate": "2007-12-03T10:15:30Z",
      "lastChangeDate": "2007-12-03T10:15:30Z",
      "createdBy": "xyz789",
      "updatedBy": "abc123"
    }
  }
}

updateAssets

Description

Updates then returns a list of assets.

Response

Returns [Asset!]!

Arguments
Name Description
assetInputs - [UpdateAssetInput!]! A list of data inputs for updating assets.

Example

Query
mutation UpdateAssets($assetInputs: [UpdateAssetInput!]!) {
  updateAssets(assetInputs: $assetInputs) {
    id
    organizationId
    typeId
    name
    identifier
    assetState
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
    dataDate
  }
}
Variables
{"assetInputs": [UpdateAssetInput]}
Response
{
  "data": {
    "updateAssets": [
      {
        "id": "xyz789",
        "organizationId": "xyz789",
        "typeId": "xyz789",
        "name": "xyz789",
        "identifier": 123,
        "assetState": "xyz789",
        "properties": Object,
        "computedProperties": Object,
        "creationDate": "2007-12-03T10:15:30Z",
        "lastChangeDate": "2007-12-03T10:15:30Z",
        "createdBy": "xyz789",
        "creationActor": Actor,
        "updatedBy": "xyz789",
        "lastChangeActor": Actor,
        "dataDate": "2007-12-03T10:15:30Z"
      }
    ]
  }
}

updateCheck

Description

Updates then returns an existing inspection.

Response

Returns a Check!

Arguments
Name Description
checkInput - UpdateCheckInput! Data for updating the inspection.

Example

Query
mutation UpdateCheck($checkInput: UpdateCheckInput!) {
  updateCheck(checkInput: $checkInput) {
    id
    organizationId
    assetId
    spaceIdsList
    state
    type
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
    dataDate
  }
}
Variables
{"checkInput": UpdateCheckInput}
Response
{
  "data": {
    "updateCheck": {
      "id": "abc123",
      "organizationId": "xyz789",
      "assetId": "xyz789",
      "spaceIdsList": ["abc123"],
      "state": "CHECK_ABSENT",
      "type": "xyz789",
      "properties": Object,
      "computedProperties": Object,
      "creationDate": "2007-12-03T10:15:30Z",
      "lastChangeDate": "2007-12-03T10:15:30Z",
      "createdBy": "xyz789",
      "creationActor": Actor,
      "updatedBy": "xyz789",
      "lastChangeActor": Actor,
      "dataDate": "2007-12-03T10:15:30Z"
    }
  }
}

updateContract

Description

Updates then returns a contract.

Response

Returns a Contract!

Arguments
Name Description
contractInput - UpdateContractInput! Data for updating a contract.

Example

Query
mutation UpdateContract($contractInput: UpdateContractInput!) {
  updateContract(contractInput: $contractInput) {
    id
    organizationId
    assetId
    spaceIdsList
    provider
    status
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
    dataDate
  }
}
Variables
{"contractInput": UpdateContractInput}
Response
{
  "data": {
    "updateContract": {
      "id": "abc123",
      "organizationId": "abc123",
      "assetId": "abc123",
      "spaceIdsList": ["xyz789"],
      "provider": "abc123",
      "status": "CONTRACT_ACTIVE",
      "properties": Object,
      "computedProperties": Object,
      "creationDate": "2007-12-03T10:15:30Z",
      "lastChangeDate": "2007-12-03T10:15:30Z",
      "createdBy": "xyz789",
      "creationActor": Actor,
      "updatedBy": "xyz789",
      "lastChangeActor": Actor,
      "dataDate": "2007-12-03T10:15:30Z"
    }
  }
}

updateDocument

Description

Updates then returns an existing document.

Response

Returns a Document!

Arguments
Name Description
documentInput - UpdateDocumentInput! Data for updating a document.

Example

Query
mutation UpdateDocument($documentInput: UpdateDocumentInput!) {
  updateDocument(documentInput: $documentInput) {
    id
    organizationId
    entityId
    entityType
    name
    type
    state
    size
    mimeType
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
  }
}
Variables
{"documentInput": UpdateDocumentInput}
Response
{
  "data": {
    "updateDocument": {
      "id": "abc123",
      "organizationId": "abc123",
      "entityId": "xyz789",
      "entityType": "ASSET",
      "name": "abc123",
      "type": "DOCUMENT",
      "state": "ACTIVE",
      "size": 987,
      "mimeType": "abc123",
      "properties": Object,
      "computedProperties": Object,
      "creationDate": "2007-12-03T10:15:30Z",
      "lastChangeDate": "2007-12-03T10:15:30Z",
      "createdBy": "xyz789",
      "creationActor": Actor,
      "updatedBy": "abc123",
      "lastChangeActor": Actor
    }
  }
}

updateEquipment

Description

Updates then returns an existing equipment item.

Response

Returns an Equipment!

Arguments
Name Description
equipmentInput - UpdateEquipmentInput! Data for updating an equipment item.

Example

Query
mutation UpdateEquipment($equipmentInput: UpdateEquipmentInput!) {
  updateEquipment(equipmentInput: $equipmentInput) {
    id
    organizationId
    assetId
    spaceIdsList
    name
    identifier
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
    dataDate
  }
}
Variables
{"equipmentInput": UpdateEquipmentInput}
Response
{
  "data": {
    "updateEquipment": {
      "id": "xyz789",
      "organizationId": "abc123",
      "assetId": "xyz789",
      "spaceIdsList": ["abc123"],
      "name": "abc123",
      "identifier": 987,
      "properties": Object,
      "computedProperties": Object,
      "creationDate": "2007-12-03T10:15:30Z",
      "lastChangeDate": "2007-12-03T10:15:30Z",
      "createdBy": "abc123",
      "creationActor": Actor,
      "updatedBy": "xyz789",
      "lastChangeActor": Actor,
      "dataDate": "2007-12-03T10:15:30Z"
    }
  }
}

updateEquipments

Description

Updates then returns a list of existing equipment items.

Response

Returns [Equipment!]!

Arguments
Name Description
equipmentInputs - [UpdateEquipmentInput!]! A list of data inputs for updating equipment.

Example

Query
mutation UpdateEquipments($equipmentInputs: [UpdateEquipmentInput!]!) {
  updateEquipments(equipmentInputs: $equipmentInputs) {
    id
    organizationId
    assetId
    spaceIdsList
    name
    identifier
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
    dataDate
  }
}
Variables
{"equipmentInputs": [UpdateEquipmentInput]}
Response
{
  "data": {
    "updateEquipments": [
      {
        "id": "abc123",
        "organizationId": "xyz789",
        "assetId": "abc123",
        "spaceIdsList": ["xyz789"],
        "name": "xyz789",
        "identifier": 123,
        "properties": Object,
        "computedProperties": Object,
        "creationDate": "2007-12-03T10:15:30Z",
        "lastChangeDate": "2007-12-03T10:15:30Z",
        "createdBy": "abc123",
        "creationActor": Actor,
        "updatedBy": "abc123",
        "lastChangeActor": Actor,
        "dataDate": "2007-12-03T10:15:30Z"
      }
    ]
  }
}

updateInvestment

Description

Updates then returns an existing investment.

Response

Returns an Investment!

Arguments
Name Description
investmentInput - UpdateInvestmentInput! Data for updating an investment.

Example

Query
mutation UpdateInvestment($investmentInput: UpdateInvestmentInput!) {
  updateInvestment(investmentInput: $investmentInput) {
    id
    organizationId
    entityId
    type
    identifier
    name
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
    dataDate
  }
}
Variables
{"investmentInput": UpdateInvestmentInput}
Response
{
  "data": {
    "updateInvestment": {
      "id": "xyz789",
      "organizationId": "abc123",
      "entityId": "xyz789",
      "type": "ASSET",
      "identifier": 987,
      "name": "abc123",
      "properties": Object,
      "computedProperties": Object,
      "creationDate": "2007-12-03T10:15:30Z",
      "lastChangeDate": "2007-12-03T10:15:30Z",
      "createdBy": "xyz789",
      "creationActor": Actor,
      "updatedBy": "abc123",
      "lastChangeActor": Actor,
      "dataDate": "2007-12-03T10:15:30Z"
    }
  }
}

updateInvestments

Description

Updates then returns a list of investments.

Response

Returns [Investment!]!

Arguments
Name Description
investmentInputs - [UpdateInvestmentInput!]! A list of data inputs for updating investments.

Example

Query
mutation UpdateInvestments($investmentInputs: [UpdateInvestmentInput!]!) {
  updateInvestments(investmentInputs: $investmentInputs) {
    id
    organizationId
    entityId
    type
    identifier
    name
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
    dataDate
  }
}
Variables
{"investmentInputs": [UpdateInvestmentInput]}
Response
{
  "data": {
    "updateInvestments": [
      {
        "id": "abc123",
        "organizationId": "xyz789",
        "entityId": "abc123",
        "type": "ASSET",
        "identifier": 123,
        "name": "abc123",
        "properties": Object,
        "computedProperties": Object,
        "creationDate": "2007-12-03T10:15:30Z",
        "lastChangeDate": "2007-12-03T10:15:30Z",
        "createdBy": "abc123",
        "creationActor": Actor,
        "updatedBy": "xyz789",
        "lastChangeActor": Actor,
        "dataDate": "2007-12-03T10:15:30Z"
      }
    ]
  }
}

updateLease

Description

Updates then returns an existing lease.

Response

Returns a Lease!

Arguments
Name Description
leaseInput - UpdateLeaseInput! Data for updating a lease.

Example

Query
mutation UpdateLease($leaseInput: UpdateLeaseInput!) {
  updateLease(leaseInput: $leaseInput) {
    id
    organizationId
    assetId
    spaceIdsList
    occupantId
    status
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
    dataDate
  }
}
Variables
{"leaseInput": UpdateLeaseInput}
Response
{
  "data": {
    "updateLease": {
      "id": "xyz789",
      "organizationId": "xyz789",
      "assetId": "abc123",
      "spaceIdsList": ["xyz789"],
      "occupantId": "abc123",
      "status": "LEASE_ACTIVE",
      "properties": Object,
      "computedProperties": Object,
      "creationDate": "2007-12-03T10:15:30Z",
      "lastChangeDate": "2007-12-03T10:15:30Z",
      "createdBy": "xyz789",
      "creationActor": Actor,
      "updatedBy": "abc123",
      "lastChangeActor": Actor,
      "dataDate": "2007-12-03T10:15:30Z"
    }
  }
}

updateMeeting

Description

Updates then returns an existing meeting.

Response

Returns a Meeting!

Arguments
Name Description
meetingInput - UpdateMeetingInput! Data for updating a meeting.

Example

Query
mutation UpdateMeeting($meetingInput: UpdateMeetingInput!) {
  updateMeeting(meetingInput: $meetingInput) {
    id
    organizationId
    identifier
    name
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
  }
}
Variables
{"meetingInput": UpdateMeetingInput}
Response
{
  "data": {
    "updateMeeting": {
      "id": "abc123",
      "organizationId": "xyz789",
      "identifier": 987,
      "name": "xyz789",
      "properties": Object,
      "computedProperties": Object,
      "creationDate": "2007-12-03T10:15:30Z",
      "lastChangeDate": "2007-12-03T10:15:30Z",
      "createdBy": "xyz789",
      "creationActor": Actor,
      "updatedBy": "xyz789",
      "lastChangeActor": Actor
    }
  }
}

updateOccupant

Description

Updates then returns an existing tenant.

Response

Returns an Occupant!

Arguments
Name Description
occupantInput - UpdateOccupantInput! Data for updating a tenant.

Example

Query
mutation UpdateOccupant($occupantInput: UpdateOccupantInput!) {
  updateOccupant(occupantInput: $occupantInput) {
    id
    organizationId
    name
    leasesList {
      id
      organizationId
      assetId
      spaceIdsList
      occupantId
      status
      properties
      computedProperties
      creationDate
      lastChangeDate
      createdBy
      creationActor {
        ...ActorFragment
      }
      updatedBy
      lastChangeActor {
        ...ActorFragment
      }
      dataDate
    }
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
    dataDate
  }
}
Variables
{"occupantInput": UpdateOccupantInput}
Response
{
  "data": {
    "updateOccupant": {
      "id": "abc123",
      "organizationId": "xyz789",
      "name": "xyz789",
      "leasesList": [Lease],
      "properties": Object,
      "computedProperties": Object,
      "creationDate": "2007-12-03T10:15:30Z",
      "lastChangeDate": "2007-12-03T10:15:30Z",
      "createdBy": "abc123",
      "creationActor": Actor,
      "updatedBy": "xyz789",
      "lastChangeActor": Actor,
      "dataDate": "2007-12-03T10:15:30Z"
    }
  }
}

updateOrganizationCrv

Description

Updates then returns a CRV purpose configuration.

Response

Returns an OrganizationCrv!

Arguments
Name Description
organizationCrvInput - UpdateOrganizationCrvInput! Data for updating a CRV purpose configuration.

Example

Query
mutation UpdateOrganizationCrv($organizationCrvInput: UpdateOrganizationCrvInput!) {
  updateOrganizationCrv(organizationCrvInput: $organizationCrvInput) {
    id
    organizationId
    purpose
    unitCrv
    unit
    percentTechnicalCategoriesList {
      technicalCategoryCode
      percent
    }
    properties
    creationDate
    lastChangeDate
    createdBy
    updatedBy
  }
}
Variables
{"organizationCrvInput": UpdateOrganizationCrvInput}
Response
{
  "data": {
    "updateOrganizationCrv": {
      "id": "abc123",
      "organizationId": "xyz789",
      "purpose": "abc123",
      "unitCrv": 123.45,
      "unit": "xyz789",
      "percentTechnicalCategoriesList": [
        PercentTechnicalCategory
      ],
      "properties": Object,
      "creationDate": "2007-12-03T10:15:30Z",
      "lastChangeDate": "2007-12-03T10:15:30Z",
      "createdBy": "xyz789",
      "updatedBy": "xyz789"
    }
  }
}

updateProject

Description

Updates then returns an existing project.

Response

Returns a Project!

Arguments
Name Description
projectInput - UpdateProjectInput! Data for updating a project.

Example

Query
mutation UpdateProject($projectInput: UpdateProjectInput!) {
  updateProject(projectInput: $projectInput) {
    id
    organizationId
    assetIdsList
    projectIdsList
    identifier
    name
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
    dataDate
  }
}
Variables
{"projectInput": UpdateProjectInput}
Response
{
  "data": {
    "updateProject": {
      "id": "xyz789",
      "organizationId": "xyz789",
      "assetIdsList": ["abc123"],
      "projectIdsList": ["xyz789"],
      "identifier": 123,
      "name": "xyz789",
      "properties": Object,
      "computedProperties": Object,
      "creationDate": "2007-12-03T10:15:30Z",
      "lastChangeDate": "2007-12-03T10:15:30Z",
      "createdBy": "xyz789",
      "creationActor": Actor,
      "updatedBy": "abc123",
      "lastChangeActor": Actor,
      "dataDate": "2007-12-03T10:15:30Z"
    }
  }
}

updateProjects

Description

Updates then returns a list of projects.

Response

Returns [Project!]!

Arguments
Name Description
projectInputs - [UpdateProjectInput!]! A list of data inputs for updating projects.

Example

Query
mutation UpdateProjects($projectInputs: [UpdateProjectInput!]!) {
  updateProjects(projectInputs: $projectInputs) {
    id
    organizationId
    assetIdsList
    projectIdsList
    identifier
    name
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
    dataDate
  }
}
Variables
{"projectInputs": [UpdateProjectInput]}
Response
{
  "data": {
    "updateProjects": [
      {
        "id": "abc123",
        "organizationId": "xyz789",
        "assetIdsList": ["xyz789"],
        "projectIdsList": ["xyz789"],
        "identifier": 123,
        "name": "xyz789",
        "properties": Object,
        "computedProperties": Object,
        "creationDate": "2007-12-03T10:15:30Z",
        "lastChangeDate": "2007-12-03T10:15:30Z",
        "createdBy": "xyz789",
        "creationActor": Actor,
        "updatedBy": "abc123",
        "lastChangeActor": Actor,
        "dataDate": "2007-12-03T10:15:30Z"
      }
    ]
  }
}

updateRiskProfile

Description

Updates then returns a risk assessment profile.

Response

Returns a Risk!

Arguments
Name Description
id - String! Risk profile's ID.
majorRiskMax - Int! Threshold to consider a risk as major when evaluating risk associated with interventions.

Example

Query
mutation UpdateRiskProfile(
  $id: String!,
  $majorRiskMax: Int!
) {
  updateRiskProfile(
    id: $id,
    majorRiskMax: $majorRiskMax
  ) {
    id
    organizationId
    configuration {
      impact {
        ...RiskConfigurationFragment
      }
      intensity {
        ...RiskConfigurationFragment
      }
      probability {
        ...RiskConfigurationFragment
      }
    }
    profileDataList {
      impact
      intensity
      probability
      consequence
      severityLevel
      riskLevel
    }
    majorRiskMax
    riskLevelCount
    creationDate
    lastChangeDate
    createdBy
    updatedBy
    dataDate
  }
}
Variables
{"id": "xyz789", "majorRiskMax": 987}
Response
{
  "data": {
    "updateRiskProfile": {
      "id": "abc123",
      "organizationId": "xyz789",
      "configuration": RiskConfigurations,
      "profileDataList": [ProfileDataItem],
      "majorRiskMax": 123,
      "riskLevelCount": 987,
      "creationDate": "2007-12-03T10:15:30Z",
      "lastChangeDate": "2007-12-03T10:15:30Z",
      "createdBy": "xyz789",
      "updatedBy": "xyz789",
      "dataDate": "2007-12-03T10:15:30Z"
    }
  }
}

updateSnapshot

Description

Updates then returns an existing snapshot's information.

Response

Returns a Snapshot!

Arguments
Name Description
snapshotInput - UpdateSnapshotInput! Data for updating the snapshot.

Example

Query
mutation UpdateSnapshot($snapshotInput: UpdateSnapshotInput!) {
  updateSnapshot(snapshotInput: $snapshotInput) {
    id
    organizationId
    date
    status
    description
    creationDate
    lastChangeDate
    createdBy
    updatedBy
  }
}
Variables
{"snapshotInput": UpdateSnapshotInput}
Response
{
  "data": {
    "updateSnapshot": {
      "id": "abc123",
      "organizationId": "xyz789",
      "date": "abc123",
      "status": "SNAPSHOT_AVAILABLE",
      "description": "xyz789",
      "creationDate": "2007-12-03T10:15:30Z",
      "lastChangeDate": "2007-12-03T10:15:30Z",
      "createdBy": "xyz789",
      "updatedBy": "xyz789"
    }
  }
}

updateSpace

Description

Updates then returns a single space.

Response

Returns a Space!

Arguments
Name Description
spaceInput - UpdateSpaceInput! Data for updating a space.

Example

Query
mutation UpdateSpace($spaceInput: UpdateSpaceInput!) {
  updateSpace(spaceInput: $spaceInput) {
    id
    organizationId
    assetId
    parentPathList
    name
    identifier
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
    dataDate
  }
}
Variables
{"spaceInput": UpdateSpaceInput}
Response
{
  "data": {
    "updateSpace": {
      "id": "xyz789",
      "organizationId": "xyz789",
      "assetId": "xyz789",
      "parentPathList": ["abc123"],
      "name": "abc123",
      "identifier": "xyz789",
      "properties": Object,
      "computedProperties": Object,
      "creationDate": "2007-12-03T10:15:30Z",
      "lastChangeDate": "2007-12-03T10:15:30Z",
      "createdBy": "xyz789",
      "creationActor": Actor,
      "updatedBy": "xyz789",
      "lastChangeActor": Actor,
      "dataDate": "2007-12-03T10:15:30Z"
    }
  }
}

updateSpaces

Description

Updates then returns a list of spaces.

Response

Returns [Space!]!

Arguments
Name Description
spaceInputs - [UpdateSpaceInput!]! A list of data inputs for updating spaces.

Example

Query
mutation UpdateSpaces($spaceInputs: [UpdateSpaceInput!]!) {
  updateSpaces(spaceInputs: $spaceInputs) {
    id
    organizationId
    assetId
    parentPathList
    name
    identifier
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
    dataDate
  }
}
Variables
{"spaceInputs": [UpdateSpaceInput]}
Response
{
  "data": {
    "updateSpaces": [
      {
        "id": "xyz789",
        "organizationId": "xyz789",
        "assetId": "abc123",
        "parentPathList": ["xyz789"],
        "name": "abc123",
        "identifier": "xyz789",
        "properties": Object,
        "computedProperties": Object,
        "creationDate": "2007-12-03T10:15:30Z",
        "lastChangeDate": "2007-12-03T10:15:30Z",
        "createdBy": "xyz789",
        "creationActor": Actor,
        "updatedBy": "xyz789",
        "lastChangeActor": Actor,
        "dataDate": "2007-12-03T10:15:30Z"
      }
    ]
  }
}

updateTechnicalCategoryCrv

Description

Updates then returns a CRV technical category detail.

Response

Returns a TechnicalCategoryCrv!

Arguments
Name Description
technicalCategoryCrvInput - UpdateTechnicalCategoryCrvInput! Data for updating a CRV technical category detail.

Example

Query
mutation UpdateTechnicalCategoryCrv($technicalCategoryCrvInput: UpdateTechnicalCategoryCrvInput!) {
  updateTechnicalCategoryCrv(technicalCategoryCrvInput: $technicalCategoryCrvInput) {
    id
    assetCrvId
    technicalCategory {
      technicalCategoryCode
      technicalCategoryLabel
    }
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
  }
}
Variables
{
  "technicalCategoryCrvInput": UpdateTechnicalCategoryCrvInput
}
Response
{
  "data": {
    "updateTechnicalCategoryCrv": {
      "id": "xyz789",
      "assetCrvId": "xyz789",
      "technicalCategory": RelatedTechnicalCategory,
      "properties": Object,
      "computedProperties": Object,
      "creationDate": "2007-12-03T10:15:30Z",
      "lastChangeDate": "2007-12-03T10:15:30Z",
      "createdBy": "abc123",
      "creationActor": Actor,
      "updatedBy": "xyz789",
      "lastChangeActor": Actor
    }
  }
}

updateUnitCrvDetails

Description

Updates an asset's CRV's breakdown into purpose details.

Response

Returns an AssetCrv!

Arguments
Name Description
assetCrvId - String! ID of the asset CRV whose details to update.
createUnitCrvDetailInputs - [CreateUnitCrvDetailInput!] A list of data inputs for adding new CRV purpose details.
updateUnitCrvDetailInputs - [UpdateUnitCrvDetailInput!] A list of data inputs for updating existing CRV purpose details.
deleteUnitCrvDetailIds - [String!] A list of unit purpose detail entities' IDs to delete.

Example

Query
mutation UpdateUnitCrvDetails(
  $assetCrvId: String!,
  $createUnitCrvDetailInputs: [CreateUnitCrvDetailInput!],
  $updateUnitCrvDetailInputs: [UpdateUnitCrvDetailInput!],
  $deleteUnitCrvDetailIds: [String!]
) {
  updateUnitCrvDetails(
    assetCrvId: $assetCrvId,
    createUnitCrvDetailInputs: $createUnitCrvDetailInputs,
    updateUnitCrvDetailInputs: $updateUnitCrvDetailInputs,
    deleteUnitCrvDetailIds: $deleteUnitCrvDetailIds
  ) {
    id
    assetId
    useSuggestedUnitReplacementValue
    useSuggestedPercentReplacementValue
    unitCrvDetailsList {
      id
      assetCrvId
      organizationCrvId
      quantity
      properties
      computedProperties
      creationDate
      lastChangeDate
      createdBy
      creationActor {
        ...ActorFragment
      }
      updatedBy
      lastChangeActor {
        ...ActorFragment
      }
    }
    technicalCategoryCrvsList {
      id
      assetCrvId
      technicalCategory {
        ...RelatedTechnicalCategoryFragment
      }
      properties
      computedProperties
      creationDate
      lastChangeDate
      createdBy
      creationActor {
        ...ActorFragment
      }
      updatedBy
      lastChangeActor {
        ...ActorFragment
      }
    }
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
  }
}
Variables
{
  "assetCrvId": "abc123",
  "createUnitCrvDetailInputs": [CreateUnitCrvDetailInput],
  "updateUnitCrvDetailInputs": [UpdateUnitCrvDetailInput],
  "deleteUnitCrvDetailIds": ["xyz789"]
}
Response
{
  "data": {
    "updateUnitCrvDetails": {
      "id": "abc123",
      "assetId": "abc123",
      "useSuggestedUnitReplacementValue": false,
      "useSuggestedPercentReplacementValue": true,
      "unitCrvDetailsList": [UnitCrvDetail],
      "technicalCategoryCrvsList": [TechnicalCategoryCrv],
      "properties": Object,
      "computedProperties": Object,
      "creationDate": "2007-12-03T10:15:30Z",
      "lastChangeDate": "2007-12-03T10:15:30Z",
      "createdBy": "abc123",
      "creationActor": Actor,
      "updatedBy": "xyz789",
      "lastChangeActor": Actor
    }
  }
}

updateWork

Description

Updates then returns an existing intervention.

Response

Returns a Work!

Arguments
Name Description
workInput - UpdateWorkInput! Data for updating an intervention.

Example

Query
mutation UpdateWork($workInput: UpdateWorkInput!) {
  updateWork(workInput: $workInput) {
    id
    organizationId
    assetId
    spaceIdsList
    equipmentIdsList
    projectIdsList
    meetingId
    identifier
    action
    state
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
    dataDate
  }
}
Variables
{"workInput": UpdateWorkInput}
Response
{
  "data": {
    "updateWork": {
      "id": "abc123",
      "organizationId": "xyz789",
      "assetId": "xyz789",
      "spaceIdsList": ["xyz789"],
      "equipmentIdsList": ["abc123"],
      "projectIdsList": ["abc123"],
      "meetingId": "xyz789",
      "identifier": 987,
      "action": "xyz789",
      "state": "xyz789",
      "properties": Object,
      "computedProperties": Object,
      "creationDate": "2007-12-03T10:15:30Z",
      "lastChangeDate": "2007-12-03T10:15:30Z",
      "createdBy": "abc123",
      "creationActor": Actor,
      "updatedBy": "abc123",
      "lastChangeActor": Actor,
      "dataDate": "2007-12-03T10:15:30Z"
    }
  }
}

updateWorks

Description

Updates then returns a list of existing interventions.

Response

Returns [Work!]!

Arguments
Name Description
workInputs - [UpdateWorkInput!]! A list of data inputs for updating interventions.

Example

Query
mutation UpdateWorks($workInputs: [UpdateWorkInput!]!) {
  updateWorks(workInputs: $workInputs) {
    id
    organizationId
    assetId
    spaceIdsList
    equipmentIdsList
    projectIdsList
    meetingId
    identifier
    action
    state
    properties
    computedProperties
    creationDate
    lastChangeDate
    createdBy
    creationActor {
      actorId
      name
    }
    updatedBy
    lastChangeActor {
      actorId
      name
    }
    dataDate
  }
}
Variables
{"workInputs": [UpdateWorkInput]}
Response
{
  "data": {
    "updateWorks": [
      {
        "id": "xyz789",
        "organizationId": "abc123",
        "assetId": "xyz789",
        "spaceIdsList": ["abc123"],
        "equipmentIdsList": ["xyz789"],
        "projectIdsList": ["abc123"],
        "meetingId": "abc123",
        "identifier": 987,
        "action": "abc123",
        "state": "xyz789",
        "properties": Object,
        "computedProperties": Object,
        "creationDate": "2007-12-03T10:15:30Z",
        "lastChangeDate": "2007-12-03T10:15:30Z",
        "createdBy": "abc123",
        "creationActor": Actor,
        "updatedBy": "abc123",
        "lastChangeActor": Actor,
        "dataDate": "2007-12-03T10:15:30Z"
      }
    ]
  }
}

Subscriptions

importAssetCrvs

Description

Imports asset CRVs to an organization from an Excel spreadsheet.

Response

Returns an ImportResults!

Arguments
Name Description
organizationId - String! Organization's ID
importFileName - String! Name of the previously uploaded spreadsheet file. (see "getPutPresignedUrlToImport" mutation).
locale - String! RFC 5646 locale to use for formatting data such as dates. E.g.: "fr-CA".
timezoneId - String! Timezone to use for dates. E.g.: "America/Toronto".

Example

Query
subscription ImportAssetCrvs(
  $organizationId: String!,
  $importFileName: String!,
  $locale: String!,
  $timezoneId: String!
) {
  importAssetCrvs(
    organizationId: $organizationId,
    importFileName: $importFileName,
    locale: $locale,
    timezoneId: $timezoneId
  ) {
    sheetName
    rowNumber
    status
    errorMessagesList
    createCount
    updateCount
    operationCount
    totalOperations
    cancellable
    failMessage
  }
}
Variables
{
  "organizationId": "xyz789",
  "importFileName": "abc123",
  "locale": "abc123",
  "timezoneId": "xyz789"
}
Response
{
  "data": {
    "importAssetCrvs": {
      "sheetName": "xyz789",
      "rowNumber": 123,
      "status": "xyz789",
      "errorMessagesList": ["xyz789"],
      "createCount": 123,
      "updateCount": 123,
      "operationCount": 987,
      "totalOperations": 987,
      "cancellable": true,
      "failMessage": "abc123"
    }
  }
}

importAssets

Description

Imports assets to an organization from an Excel spreadsheet.

Response

Returns an ImportResults!

Arguments
Name Description
organizationId - String! Organization's ID.
importFileName - String! Name of the previously uploaded spreadsheet file. (see "getPutPresignedUrlToImport" mutation).
locale - String! RFC 5646 locale to use for formatting data such as dates. E.g.: "fr-CA".
timezoneId - String! Timezone to use for dates. E.g.: "America/Toronto".

Example

Query
subscription ImportAssets(
  $organizationId: String!,
  $importFileName: String!,
  $locale: String!,
  $timezoneId: String!
) {
  importAssets(
    organizationId: $organizationId,
    importFileName: $importFileName,
    locale: $locale,
    timezoneId: $timezoneId
  ) {
    sheetName
    rowNumber
    status
    errorMessagesList
    createCount
    updateCount
    operationCount
    totalOperations
    cancellable
    failMessage
  }
}
Variables
{
  "organizationId": "abc123",
  "importFileName": "xyz789",
  "locale": "xyz789",
  "timezoneId": "abc123"
}
Response
{
  "data": {
    "importAssets": {
      "sheetName": "abc123",
      "rowNumber": 987,
      "status": "xyz789",
      "errorMessagesList": ["abc123"],
      "createCount": 987,
      "updateCount": 987,
      "operationCount": 123,
      "totalOperations": 987,
      "cancellable": true,
      "failMessage": "xyz789"
    }
  }
}

importChecks

Description

Imports inspections to an organization from an Excel spreadsheet.

Response

Returns an ImportResults!

Arguments
Name Description
organizationId - String! Organization's ID.
importFileName - String! Name of the previously uploaded spreadsheet file. (see "getPutPresignedUrlToImport" mutation).
locale - String! RFC 5646 locale to use for formatting data such as dates. E.g.: "fr-CA".
timezoneId - String! Timezone to use for dates. E.g.: "America/Toronto".

Example

Query
subscription ImportChecks(
  $organizationId: String!,
  $importFileName: String!,
  $locale: String!,
  $timezoneId: String!
) {
  importChecks(
    organizationId: $organizationId,
    importFileName: $importFileName,
    locale: $locale,
    timezoneId: $timezoneId
  ) {
    sheetName
    rowNumber
    status
    errorMessagesList
    createCount
    updateCount
    operationCount
    totalOperations
    cancellable
    failMessage
  }
}
Variables
{
  "organizationId": "abc123",
  "importFileName": "abc123",
  "locale": "abc123",
  "timezoneId": "abc123"
}
Response
{
  "data": {
    "importChecks": {
      "sheetName": "abc123",
      "rowNumber": 123,
      "status": "abc123",
      "errorMessagesList": ["xyz789"],
      "createCount": 123,
      "updateCount": 987,
      "operationCount": 987,
      "totalOperations": 987,
      "cancellable": false,
      "failMessage": "xyz789"
    }
  }
}

importEquipments

Description

Imports equipment to an organization from an Excel spreadsheet.

Response

Returns an ImportResults!

Arguments
Name Description
organizationId - String! Organization's ID.
importFileName - String! Name of the previously uploaded spreadsheet file. (see "getPutPresignedUrlToImport" mutation).
locale - String! RFC 5646 locale to use for formatting data such as dates. E.g.: "fr-CA".
timezoneId - String! Timezone to use for dates. E.g.: "America/Toronto".

Example

Query
subscription ImportEquipments(
  $organizationId: String!,
  $importFileName: String!,
  $locale: String!,
  $timezoneId: String!
) {
  importEquipments(
    organizationId: $organizationId,
    importFileName: $importFileName,
    locale: $locale,
    timezoneId: $timezoneId
  ) {
    sheetName
    rowNumber
    status
    errorMessagesList
    createCount
    updateCount
    operationCount
    totalOperations
    cancellable
    failMessage
  }
}
Variables
{
  "organizationId": "xyz789",
  "importFileName": "xyz789",
  "locale": "xyz789",
  "timezoneId": "xyz789"
}
Response
{
  "data": {
    "importEquipments": {
      "sheetName": "xyz789",
      "rowNumber": 123,
      "status": "xyz789",
      "errorMessagesList": ["xyz789"],
      "createCount": 987,
      "updateCount": 123,
      "operationCount": 987,
      "totalOperations": 123,
      "cancellable": false,
      "failMessage": "abc123"
    }
  }
}

importInvestments

Description

Imports investments to an organization from an Excel spreadsheet.

Response

Returns an ImportResults!

Arguments
Name Description
organizationId - String! Organization's ID.
importFileName - String! Name of the previously uploaded spreadsheet file. (see "getPutPresignedUrlToImport" mutation).
locale - String! RFC 5646 locale to use for formatting data such as dates. E.g.: "fr-CA".
timezoneId - String! Timezone to use for dates. E.g.: "America/Toronto".

Example

Query
subscription ImportInvestments(
  $organizationId: String!,
  $importFileName: String!,
  $locale: String!,
  $timezoneId: String!
) {
  importInvestments(
    organizationId: $organizationId,
    importFileName: $importFileName,
    locale: $locale,
    timezoneId: $timezoneId
  ) {
    sheetName
    rowNumber
    status
    errorMessagesList
    createCount
    updateCount
    operationCount
    totalOperations
    cancellable
    failMessage
  }
}
Variables
{
  "organizationId": "abc123",
  "importFileName": "abc123",
  "locale": "abc123",
  "timezoneId": "abc123"
}
Response
{
  "data": {
    "importInvestments": {
      "sheetName": "abc123",
      "rowNumber": 123,
      "status": "abc123",
      "errorMessagesList": ["xyz789"],
      "createCount": 987,
      "updateCount": 987,
      "operationCount": 123,
      "totalOperations": 123,
      "cancellable": false,
      "failMessage": "abc123"
    }
  }
}

importMeetings

Description

Imports meetings to an organization from an Excel spreadsheet.

Response

Returns an ImportResults

Arguments
Name Description
organizationId - String! Organization's ID.
importFileName - String! Name of the previously uploaded spreadsheet file. (see "getPutPresignedUrlToImport" mutation).
locale - String! RFC 5646 locale to use for formatting data such as dates. E.g.: "fr-CA".
timezoneId - String! Timezone to use for dates. E.g.: "America/Toronto".

Example

Query
subscription ImportMeetings(
  $organizationId: String!,
  $importFileName: String!,
  $locale: String!,
  $timezoneId: String!
) {
  importMeetings(
    organizationId: $organizationId,
    importFileName: $importFileName,
    locale: $locale,
    timezoneId: $timezoneId
  ) {
    sheetName
    rowNumber
    status
    errorMessagesList
    createCount
    updateCount
    operationCount
    totalOperations
    cancellable
    failMessage
  }
}
Variables
{
  "organizationId": "abc123",
  "importFileName": "xyz789",
  "locale": "abc123",
  "timezoneId": "xyz789"
}
Response
{
  "data": {
    "importMeetings": {
      "sheetName": "abc123",
      "rowNumber": 987,
      "status": "xyz789",
      "errorMessagesList": ["xyz789"],
      "createCount": 987,
      "updateCount": 987,
      "operationCount": 123,
      "totalOperations": 987,
      "cancellable": false,
      "failMessage": "xyz789"
    }
  }
}

importOrganizationCrvs

Description

Imports CRV purpose configurations to an organization from an Excel spreadsheet.

Response

Returns an ImportResults!

Arguments
Name Description
organizationId - String! Organization's ID.
importFileName - String! Name of the previously uploaded spreadsheet file. (see "getPutPresignedUrlToImport" mutation).
updateAssetCrvs - Boolean! Whether the asset CRVs with purpose details using purpose configurations updated by this import should be updated as well. Note that if this option is set to false, assets that are currently on suggested CRV mode will be switched to manual mode, and their CRV left unchanged but no longer matching the updated purpose configuration.
locale - String! RFC 5646 locale to use for formatting data such as dates. E.g.: "fr-CA".
timezoneId - String! Timezone to use for dates. E.g.: "America/Toronto".

Example

Query
subscription ImportOrganizationCrvs(
  $organizationId: String!,
  $importFileName: String!,
  $updateAssetCrvs: Boolean!,
  $locale: String!,
  $timezoneId: String!
) {
  importOrganizationCrvs(
    organizationId: $organizationId,
    importFileName: $importFileName,
    updateAssetCrvs: $updateAssetCrvs,
    locale: $locale,
    timezoneId: $timezoneId
  ) {
    sheetName
    rowNumber
    status
    errorMessagesList
    createCount
    updateCount
    operationCount
    totalOperations
    cancellable
    failMessage
  }
}
Variables
{
  "organizationId": "xyz789",
  "importFileName": "xyz789",
  "updateAssetCrvs": false,
  "locale": "abc123",
  "timezoneId": "xyz789"
}
Response
{
  "data": {
    "importOrganizationCrvs": {
      "sheetName": "abc123",
      "rowNumber": 123,
      "status": "xyz789",
      "errorMessagesList": ["abc123"],
      "createCount": 123,
      "updateCount": 123,
      "operationCount": 987,
      "totalOperations": 987,
      "cancellable": false,
      "failMessage": "abc123"
    }
  }
}

importProjects

Description

Imports projects to an organization from an Excel spreadsheet.

Response

Returns an ImportResults!

Arguments
Name Description
organizationId - String! Organization's ID.
importFileName - String! Name of the previously uploaded spreadsheet file. (see "getPutPresignedUrlToImport" mutation).
locale - String! RFC 5646 locale to use for formatting data such as dates. E.g.: "fr-CA".
timezoneId - String! Timezone to use for dates. E.g.: "America/Toronto".

Example

Query
subscription ImportProjects(
  $organizationId: String!,
  $importFileName: String!,
  $locale: String!,
  $timezoneId: String!
) {
  importProjects(
    organizationId: $organizationId,
    importFileName: $importFileName,
    locale: $locale,
    timezoneId: $timezoneId
  ) {
    sheetName
    rowNumber
    status
    errorMessagesList
    createCount
    updateCount
    operationCount
    totalOperations
    cancellable
    failMessage
  }
}
Variables
{
  "organizationId": "abc123",
  "importFileName": "xyz789",
  "locale": "abc123",
  "timezoneId": "abc123"
}
Response
{
  "data": {
    "importProjects": {
      "sheetName": "abc123",
      "rowNumber": 987,
      "status": "xyz789",
      "errorMessagesList": ["xyz789"],
      "createCount": 987,
      "updateCount": 123,
      "operationCount": 987,
      "totalOperations": 123,
      "cancellable": false,
      "failMessage": "abc123"
    }
  }
}

importRiskProfile

Description

Imports a risk assessment profile to an organization from an Excel spreadsheet. Before this subscription is called, it is necessary to have configured the risk assessment profile by calling saveImportConfiguration. A key was provided that must be passed in the importConfigurationKey parameter.

Response

Returns an ImportResults!

Arguments
Name Description
organizationId - String! Organization's ID.
importFileName - String! Name of the previously uploaded spreadsheet file. (see "getPutPresignedUrlToImport" mutation).
importConfigurationKey - String! Key returned by the saveImportConfiguration mutation.
locale - String! RFC 5646 locale to use for formatting data such as dates. E.g.: "fr-CA".
timezoneId - String! Timezone to use for dates. E.g.: "America/Toronto".

Example

Query
subscription ImportRiskProfile(
  $organizationId: String!,
  $importFileName: String!,
  $importConfigurationKey: String!,
  $locale: String!,
  $timezoneId: String!
) {
  importRiskProfile(
    organizationId: $organizationId,
    importFileName: $importFileName,
    importConfigurationKey: $importConfigurationKey,
    locale: $locale,
    timezoneId: $timezoneId
  ) {
    sheetName
    rowNumber
    status
    errorMessagesList
    createCount
    updateCount
    operationCount
    totalOperations
    cancellable
    failMessage
  }
}
Variables
{
  "organizationId": "abc123",
  "importFileName": "abc123",
  "importConfigurationKey": "xyz789",
  "locale": "abc123",
  "timezoneId": "xyz789"
}
Response
{
  "data": {
    "importRiskProfile": {
      "sheetName": "xyz789",
      "rowNumber": 123,
      "status": "xyz789",
      "errorMessagesList": ["abc123"],
      "createCount": 987,
      "updateCount": 123,
      "operationCount": 123,
      "totalOperations": 987,
      "cancellable": true,
      "failMessage": "xyz789"
    }
  }
}

importSpaces

Description

Imports spaces to an organization from an Excel spreadsheet.

Response

Returns an ImportResults!

Arguments
Name Description
organizationId - String! Organization's ID.
importFileName - String! Name of the previously uploaded spreadsheet file. (see "getPutPresignedUrlToImport" mutation).
locale - String! RFC 5646 locale to use for formatting data such as dates. E.g.: "fr-CA".
timezoneId - String! Timezone to use for dates. E.g.: "America/Toronto".

Example

Query
subscription ImportSpaces(
  $organizationId: String!,
  $importFileName: String!,
  $locale: String!,
  $timezoneId: String!
) {
  importSpaces(
    organizationId: $organizationId,
    importFileName: $importFileName,
    locale: $locale,
    timezoneId: $timezoneId
  ) {
    sheetName
    rowNumber
    status
    errorMessagesList
    createCount
    updateCount
    operationCount
    totalOperations
    cancellable
    failMessage
  }
}
Variables
{
  "organizationId": "abc123",
  "importFileName": "abc123",
  "locale": "xyz789",
  "timezoneId": "xyz789"
}
Response
{
  "data": {
    "importSpaces": {
      "sheetName": "xyz789",
      "rowNumber": 987,
      "status": "abc123",
      "errorMessagesList": ["abc123"],
      "createCount": 987,
      "updateCount": 123,
      "operationCount": 987,
      "totalOperations": 987,
      "cancellable": false,
      "failMessage": "xyz789"
    }
  }
}

Types

Actor

Description

An Actor is a user or API client that is involved in creating, updating or deleting an entity.

Fields
Field Name Description
actorId - String! Actor's ID.
name - String Actor's name.
Example
{
  "actorId": "xyz789",
  "name": "abc123"
}

AggregationInput

Description

An aggregation operation to apply on a entity's field. For instance, this allows to compute the sum of all values of a certain field for all entities in a group.

Fields
Input Field Description
field - String! Field path to aggregate. For nested fields, use the dot-notation. E.g., 'properties.value'. Should be a valid field in the GraphQL type for the relevant entity.
operation - AggregationOperation! Aggregation operation to apply.
Example
{"field": "abc123", "operation": "AVG"}

AggregationOperation

Description

Available aggregation operations.

Values
Enum Value Description

AVG

For use with numeric fields. Arithmetic mean (average).

COUNT

Count returned entities. Note: this operation does not depend on the field it applies to, however since the result is a number, ensure the field to which to store the result is compatible with number types.

MAX

For use with numeric fields. Highest value.

MIN

For use with numeric fields. Lowest value.

SUM

For use with numeric fields. Sum of all values.

FIRST

First value for field within a group.

ALL

For use with boolean fields. Evaluates to true if the field is true for all entities in a group, or false if the field is false for at least one entity.

ANY

For use with boolean fields. Evaluates to true if the field is true for at least one entity in a group, or false if the field is false for all entities.

NONE

For use with boolean fields. Evaluates to true if the field is false for all entities in a group, or false if the field is true for at least one entity.
Example
"AVG"

Any

Description

A default type used to represent anything or for fields which can be of any type.

Example
Any

Asset

Description

An Asset entity represents anything of value an organization holds (e.g. a building). It is the principal entity managed through this API: most other entities will refer to one as part of that asset's operation and management (e.g. interventions, inspections, projects, etc.) Assets can be of different types which may be configured, see AssetType.

Fields
Field Name Description
id - String! Asset's ID.
organizationId - String! ID of the organization to which the asset belongs.
typeId - String! ID of the asset's type. See AssetType.
name - String! Asset's name.
identifier - Int! Asset's unique identifier.
assetState - String! Asset's current state.
properties - Object Asset's properties.
computedProperties - Object Asset's computed properties (indicators).
creationDate - DateTime! Date and time at which the asset was created.
lastChangeDate - DateTime Date and time at which the asset was last updated.
createdBy - String! ID of the actor who created this asset. Use creationActor instead. To be removed in next version.
creationActor - Actor! Actor who created this asset.
updatedBy - String ID of the actor who last updated this asset. Use lastChangeActor instead. To be removed in next version.
lastChangeActor - Actor Actor who last updated this asset.
dataDate - DateTime! Asset's data date.
Example
{
  "id": "abc123",
  "organizationId": "xyz789",
  "typeId": "abc123",
  "name": "abc123",
  "identifier": 987,
  "assetState": "xyz789",
  "properties": Object,
  "computedProperties": Object,
  "creationDate": "2007-12-03T10:15:30Z",
  "lastChangeDate": "2007-12-03T10:15:30Z",
  "createdBy": "xyz789",
  "creationActor": Actor,
  "updatedBy": "abc123",
  "lastChangeActor": Actor,
  "dataDate": "2007-12-03T10:15:30Z"
}

AssetAudit

Description

An AssetAudit entity represents an asset's audit and its resulting observations. Note: audits are created automatically when setting an asset's auditType property, in an organization for which this property is enabled.

Fields
Field Name Description
id - String! Audit's ID.
organizationId - String! ID of the organization to which the audit belongs.
assetId - String! ID of the asset to which this audit is related.
properties - Object Audit's properties.
computedProperties - Object Audit's computed properties (indicators).
creationDate - DateTime! Date and time at which the audit was created.
lastChangeDate - DateTime Date and time at which the audit was last updated.
createdBy - String! ID of the actor who created this audit. Use creationActor instead. To be removed in next version.
creationActor - Actor! Actor who created this audit.
updatedBy - String ID of the actor who last updated this audit. Use creationActor instead. To be removed in next version.
lastChangeActor - Actor Actor who last updated this audit.
Example
{
  "id": "abc123",
  "organizationId": "xyz789",
  "assetId": "xyz789",
  "properties": Object,
  "computedProperties": Object,
  "creationDate": "2007-12-03T10:15:30Z",
  "lastChangeDate": "2007-12-03T10:15:30Z",
  "createdBy": "abc123",
  "creationActor": Actor,
  "updatedBy": "abc123",
  "lastChangeActor": Actor
}

AssetCrv

Description

An AssetCrv entity contains all information relative to an asset's Current Replacement Value (CRV). It is used for configuring how the asset's value is calculated based on its purposes and technical categories that apply. Suggestions based on the organization's configuration can be used.

Fields
Field Name Description
id - String! Asset CRV's ID.
assetId - String! ID of the asset this CRV is related to.
useSuggestedUnitReplacementValue - Boolean! Indicate whether this CRV is calculated based on the suggested unit replacement value or the one manually set in the entity's properties.
useSuggestedPercentReplacementValue - Boolean! Indicate whether this CRV's breakdown into technical categories is based on suggested percentages for each category rather than manually set percentages in related TechnicalCategoryCrv entities. See TechnicalCategoryCrv for information on how breakdown by category works.
unitCrvDetailsList - [UnitCrvDetail!] Breakdown of this CRV into different purposes, each associated with a unit quantity and replacement value. See UnitCrvDetail.
technicalCategoryCrvsList - [TechnicalCategoryCrv!] Breakdown of this CRV into technical categories. See TechnicalCategoryCrv.
properties - Object Asset CRV's properties.
computedProperties - Object Asset CRV's computed properties (indicators).
creationDate - DateTime! Date and time at which the asset CRV was created.
lastChangeDate - DateTime Date and time at which the asset CRV was last updated.
createdBy - String! ID of the actor who created this asset CRV. Use creationActor instead. To be removed in next version.
creationActor - Actor! Actor who created this asset CRV.
updatedBy - String ID of the actor who last updated this asset CRV. Use creationActor instead. To be removed in next version.
lastChangeActor - Actor Actor who last updated this asset CRV.
Example
{
  "id": "xyz789",
  "assetId": "xyz789",
  "useSuggestedUnitReplacementValue": true,
  "useSuggestedPercentReplacementValue": false,
  "unitCrvDetailsList": [UnitCrvDetail],
  "technicalCategoryCrvsList": [TechnicalCategoryCrv],
  "properties": Object,
  "computedProperties": Object,
  "creationDate": "2007-12-03T10:15:30Z",
  "lastChangeDate": "2007-12-03T10:15:30Z",
  "createdBy": "abc123",
  "creationActor": Actor,
  "updatedBy": "abc123",
  "lastChangeActor": Actor
}

AssetType

Description

An AssetType is a configuration entity that represents a possible type of asset. A type of asset comes with a list of modules that are available only to assets of this type.

Fields
Field Name Description
id - String! Asset type's ID.
organizationId - String! ID of the organization to which this asset type belongs.
name - String! Asset type's name.
modulesList - [String!]! List of the codes of enabled modules for assets of this type.
creationDate - DateTime! Date and time at which the asset type was created.
lastChangeDate - DateTime Date and time at which the asset type was last updated.
createdBy - String! Actor who created this asset type.
updatedBy - String Actor who last updated this asset type.
Example
{
  "id": "abc123",
  "organizationId": "abc123",
  "name": "abc123",
  "modulesList": ["xyz789"],
  "creationDate": "2007-12-03T10:15:30Z",
  "lastChangeDate": "2007-12-03T10:15:30Z",
  "createdBy": "abc123",
  "updatedBy": "abc123"
}

Boolean

Description

The Boolean scalar type represents true or false.

Example
true

Check

Description

A Check entity represents an inspection.

Fields
Field Name Description
id - String! Inspection's ID.
organizationId - String! ID of the organization to which this check belongs.
assetId - String! ID of the asset to which this inspection is related.
spaceIdsList - [String!]! IDs of the inspected spaces.
state - CheckStateEnum! Inspection's current state.
type - String! Inspection type.
properties - Object Inspection's properties.
computedProperties - Object Inspection's computed properties (indicators).
creationDate - DateTime! Date and time at which the inspection was created.
lastChangeDate - DateTime Date and time at which the inspection was last updated.
createdBy - String! ID of the actor who created this inspection. Use creationActor instead. To be removed in next version.
creationActor - Actor! Actor who created this asset.
updatedBy - String ID of the actor who last updated this inspection. Use lastChangeActor instead. To be removed in next version.
lastChangeActor - Actor Actor who last updated this inspection.
dataDate - DateTime! Inspection's data date.
Example
{
  "id": "xyz789",
  "organizationId": "xyz789",
  "assetId": "abc123",
  "spaceIdsList": ["abc123"],
  "state": "CHECK_ABSENT",
  "type": "xyz789",
  "properties": Object,
  "computedProperties": Object,
  "creationDate": "2007-12-03T10:15:30Z",
  "lastChangeDate": "2007-12-03T10:15:30Z",
  "createdBy": "xyz789",
  "creationActor": Actor,
  "updatedBy": "abc123",
  "lastChangeActor": Actor,
  "dataDate": "2007-12-03T10:15:30Z"
}

CheckStateEnum

Description

Available inspection states.

Values
Enum Value Description

CHECK_ABSENT

CHECK_CLOSED

CHECK_EXPIRED

CHECK_UNDEFINED

CHECK_VALIDATION_IN_PROGRESS

Example
"CHECK_ABSENT"

CheckType

Description

A type of inspection with associated outcome values and observations.

Fields
Field Name Description
code - String! Inspection type code.
values - Object! Available outcome values for this type of inspection.
observation - Object Available observation values for this type of inspection.
Example
{
  "code": "xyz789",
  "values": Object,
  "observation": Object
}

Condition

Description

Condition for a validator to be run. Sometimes, field validation is irrelevant and conditions are used to avoid running a validator given the current state of the entity.

Fields
Field Name Description
field - String! Field to check within the entity.
operator - ConditionOperator! Condition's operator.
value - Any Single value or list of values to check based on the operator.
Example
{
  "field": "abc123",
  "operator": "ALWAYS",
  "value": Any
}

ConditionOperator

Description

Possible types of validator condition operators.

Values
Enum Value Description

ALWAYS

CONTAINS

EMPTY

EQUALS

EXISTS

FIRST

GREATER_THAN

LESS_THAN

NEVER

NOT_CONTAINS

NOT_EQUALS

PROJECT_HAS_NO_INACCESSIBLE_ASSETS

Example
"ALWAYS"

Contract

Description

A Contract entity represents a utility or service contract on an asset.

Fields
Field Name Description
id - String! Contract's ID.
organizationId - String! ID of the organization to which the contract belongs.
assetId - String! ID of the asset covered by the contract.
spaceIdsList - [String!]! IDs of spaces covered by the contract.
provider - String! Name of the contractor or supplier.
status - ContractStatusEnum! Contract's current status.
properties - Object Contract's properties.
computedProperties - Object Contract's computed properties (indicators).
creationDate - DateTime! Date and time at which the contract was created.
lastChangeDate - DateTime Date and time at which the contract was last updated.
createdBy - String! ID of the actor who created this contract. Use creationActor instead. To be removed in next version.
creationActor - Actor! Actor who created this contract.
updatedBy - String ID of the actor who last updated this contract. Use lastChangeActor instead. To be removed in next version.
lastChangeActor - Actor Actor who last updated this contract.
dataDate - DateTime! Contract's data date.
Example
{
  "id": "abc123",
  "organizationId": "abc123",
  "assetId": "abc123",
  "spaceIdsList": ["abc123"],
  "provider": "abc123",
  "status": "CONTRACT_ACTIVE",
  "properties": Object,
  "computedProperties": Object,
  "creationDate": "2007-12-03T10:15:30Z",
  "lastChangeDate": "2007-12-03T10:15:30Z",
  "createdBy": "xyz789",
  "creationActor": Actor,
  "updatedBy": "xyz789",
  "lastChangeActor": Actor,
  "dataDate": "2007-12-03T10:15:30Z"
}

ContractStatusEnum

Description

Available contract statuses.

Values
Enum Value Description

CONTRACT_ACTIVE

CONTRACT_CLOSED

CONTRACT_EXPIRED

Example
"CONTRACT_ACTIVE"

CreateAssetCrvInput

Description

Input data for creating an asset's CRV along with sub-entities for breaking down the value into purposes and technical categories.

Fields
Input Field Description
assetId - String! ID of the asset for which to create a CRV.
unitReplacementValue - Float Manual unit current replacement value. May be ignored when using suggested unit replacement value.
Example
{
  "assetId": "xyz789",
  "unitReplacementValue": 123.45
}

CreateAssetInput

Description

Input data for creating an asset.

Fields
Input Field Description
organizationId - String! ID of the organization in which to create an asset.
typeId - String! ID of the type to assign the new asset. See AssetType.
name - String! New asset's name.
assetState - String! New asset's state.
properties - Object New asset's properties
Example
{
  "organizationId": "abc123",
  "typeId": "abc123",
  "name": "xyz789",
  "assetState": "abc123",
  "properties": Object
}

CreateAssetTypeInput

Description

Data for creating an asset type.

Fields
Input Field Description
organizationId - String! ID of the organization in which to create an asset type.
name - String! Asset type's name.
modules - [String!]! List of the codes of enabled modules for assets of this type.
Example
{
  "organizationId": "abc123",
  "name": "xyz789",
  "modules": ["abc123"]
}

CreateCheckInput

Description

Input data for creating an inspection.

Fields
Input Field Description
assetId - String! ID of the asset for which the inspection is created.
spaceIds - [String!]! IDs of the inspected spaces.
type - String! Type of the new inspection.
state - CheckStateEnum Inspection's state. If this field is empty, an attempt will be made to set it based on the inspection's dates in properties. Note: the state must be consistent with the dates even when set manually.
properties - Object Inspection's properties.
Example
{
  "assetId": "abc123",
  "spaceIds": ["abc123"],
  "type": "abc123",
  "state": "CHECK_ABSENT",
  "properties": Object
}

CreateContractInput

Description

Data for creating a new contract.

Fields
Input Field Description
assetId - String! ID of the asset covered by the contract.
spaceIds - [String!]! IDs of spaces covered by the contract.
provider - String! Name of the contractor or supplier.
status - ContractStatusEnum Contract's status.
properties - Object Contract's properties.
Example
{
  "assetId": "xyz789",
  "spaceIds": ["xyz789"],
  "provider": "xyz789",
  "status": "CONTRACT_ACTIVE",
  "properties": Object
}

CreateDocumentInput

Description

Data for creating a document linked to an uploaded file.

Fields
Input Field Description
entityId - String! ID of the entity to which the new document is related.
entityType - EntityType! Type of the entity to which the new document is related.
fileName - String! Name of the file the document relates to.
name - String! Document's name.
type - DocumentType! Type of the new document. Note: a document's type must be consistent with the file's type, i.e. only documents related to an image file may have their type set to PICTURE.
state - DocumentState! Document's state.
properties - Object Document's properties.
Example
{
  "entityId": "abc123",
  "entityType": "ASSET",
  "fileName": "abc123",
  "name": "abc123",
  "type": "DOCUMENT",
  "state": "ACTIVE",
  "properties": Object
}

CreateEquipmentInput

Description

Data for creating new equipment.

Fields
Input Field Description
name - String! Equipment item's name.
assetId - String! ID of the asset in which the equipment item is located.
spaceIds - [String!]! IDs of spaces in which the equipment item is located.
properties - Object Equipment item's properties.
Example
{
  "name": "abc123",
  "assetId": "abc123",
  "spaceIds": ["abc123"],
  "properties": Object
}

CreateInvestmentInput

Description

Data for creating an investment.

Fields
Input Field Description
organizationId - String! ID of the organization in which to create an investment.
entityId - String! ID of the entity the new investment relates to.
type - EntityType! Type of the entity the new investment relates to.
name - String! Investment's name.
properties - Object Investment's properties.
Example
{
  "organizationId": "xyz789",
  "entityId": "abc123",
  "type": "ASSET",
  "name": "xyz789",
  "properties": Object
}

CreateLeaseInput

Description

Data for creating a new lease.

Fields
Input Field Description
assetId - String! ID of the asset under lease.
spaceIds - [String!]! IDs of spaces under lease.
occupantId - String ID of the tenant for whom the new lease is for. See Occupant. This field is ignored when creating an occupant with a lease, but is required when renewing a lease.
status - LeaseStatusEnum Lease's status.
properties - Object Lease's properties.
Example
{
  "assetId": "abc123",
  "spaceIds": ["abc123"],
  "occupantId": "xyz789",
  "status": "LEASE_ACTIVE",
  "properties": Object
}

CreateMeetingInput

Description

Data for creating a meeting.

Fields
Input Field Description
organizationId - String! ID of the organization in which to create a meeting.
name - String! Meeting's name.
properties - Object Meeting's properties.
Example
{
  "organizationId": "abc123",
  "name": "xyz789",
  "properties": Object
}

CreateOccupantInput

Description

Data for creating a new tenant.

Fields
Input Field Description
name - String! Tenant's name.
organizationId - String! ID of the organization in which to create the tenant.
properties - Object Tenant's properties.
Example
{
  "name": "abc123",
  "organizationId": "abc123",
  "properties": Object
}

CreateOrganizationCrvInput

Description

Data for creating an organization CRV purpose configuration.

Fields
Input Field Description
organizationId - String! ID of the organization for which to create a CRV purpose configuration.
purpose - String! Name of the purpose of an asset or part of an asset.
unitCrv - Float! Replacement value per unit for this purpose.
unit - String! Unit used for this purpose. E.g. 'sq.ft.'
percentTechnicalCategories - [PercentTechnicalCategoryInput!]! Distribution among the organization's classification's categories for this purpose.
properties - Object CRV purpose configuration's properties.
Example
{
  "organizationId": "xyz789",
  "purpose": "abc123",
  "unitCrv": 123.45,
  "unit": "xyz789",
  "percentTechnicalCategories": [
    PercentTechnicalCategoryInput
  ],
  "properties": Object
}

CreateProjectInput

Description

Data for creating a project.

Fields
Input Field Description
organizationId - String! ID of the organization in which to create a project.
assetIds - [String!]! IDs of the assets the project relates to.
projectIds - [String!] IDs of other projects the new project relates to, i.e. subprojects.
name - String! Project's name.
properties - Object Project's properties.
Example
{
  "organizationId": "abc123",
  "assetIds": ["xyz789"],
  "projectIds": ["abc123"],
  "name": "abc123",
  "properties": Object
}

CreateSnapshotInput

Description

Data for creating a snapshot.

Fields
Input Field Description
organizationId - String! ID of the organization of which to take a snapshot.
date - String! Date at which to take the snapshot, in YYYY-MM-DD format. The actual snapshot will be at midnight UTC on this date. Note: the snapshot will start as soon as createSnapshot is called. This is the date at which to capture the organization's data, not the date at which the snapshot starts. Thus this date must be prior to today.
description - String Description of the snapshot, e.g. "2023 financial year".
Example
{
  "organizationId": "xyz789",
  "date": "abc123",
  "description": "xyz789"
}

CreateSpaceInput

Description

Data for creating a new space.

Fields
Input Field Description
name - String! Space's name.
assetId - String! ID of the asset in which to create the space.
parentPath - [String!]! Hierarchical list of parent spaces' IDs.
properties - Object Space's properties.
Example
{
  "name": "abc123",
  "assetId": "abc123",
  "parentPath": ["xyz789"],
  "properties": Object
}

CreateTechnicalCategoryCrvInput

Description

Input data for creating a CRV technical category detail.

Fields
Input Field Description
technicalCategoryCode - String! Technical category's code. Must exist in the organization's classification.
percent - Float! Weight allocated to the category in the asset's CRV breakdown.
Example
{
  "technicalCategoryCode": "abc123",
  "percent": 123.45
}

CreateUnitCrvDetailInput

Description

Input data for creating a CRV purpose detail.

Fields
Input Field Description
organizationCrvId - String! ID of the associated CRV purpose configuration entity.
quantity - Float! Quantity of the related CRV purpose to apply.
Example
{
  "organizationCrvId": "abc123",
  "quantity": 123.45
}

CreateWorkInput

Description

Data for creating an intervention.

Fields
Input Field Description
organizationId - String! ID of the organization in which to create an intervention.
assetId - String Optional ID of an asset to which this intervention is related.
spaceIds - [String!] Optional IDs of spaces to which this intervention is related.
equipmentIds - [String!] Optional IDs of equipment items to which this intervention is related.
projectIds - [String!] Optional IDs of projects to which this intervention is related.
meetingId - String Optional ID of a meeting about this intervention.
action - String! Short description of the intervention.
state - String! Intervention's state.
properties - Object Intervention's properties.
Example
{
  "organizationId": "xyz789",
  "assetId": "abc123",
  "spaceIds": ["xyz789"],
  "equipmentIds": ["xyz789"],
  "projectIds": ["xyz789"],
  "meetingId": "abc123",
  "action": "abc123",
  "state": "xyz789",
  "properties": Object
}

Currency

Description

Available currencies.

Values
Enum Value Description

CAD

EUR

Example
"CAD"

DateFilterInput

Description

Filter to apply on a date field.

Fields
Input Field Description
type - DateFilterType! Type of date filter.
dateFrom - DateTime Lower bound of the date range for filter types which require one.
dateTo - DateTime Upper bound of the date range for filter types which require one.
Example
{
  "type": "DATE_EQUALS",
  "dateFrom": "2007-12-03T10:15:30Z",
  "dateTo": "2007-12-03T10:15:30Z"
}

DateFilterType

Description

Available types of filter conditions for DATE filters. Date-time fields are precise the second and comparison values must be provided as so.

Values
Enum Value Description

DATE_EQUALS

Match a date-time field whose value is exactly equal to dateFrom.

DATE_NOT_EQUALS

Match a date-time field whose value is exactly different from dateFrom.

DATE_BEFORE

Match a date-time field whose value is strictly before dateFrom.

DATE_AFTER

Match a date-time field whose value is strictly after dateFrom.

DATE_BETWEEN

Match a date-time field whose value is after dateFrom (inclusively) and before dateTo (exclusively).

DATE_BLANK

Match a date-time field whose value is null.

DATE_NOT_BLANK

Match a date-time field whose value is not null.
Example
"DATE_EQUALS"

DateTime

Description

A date-time in ISO-8601 format, such as '2007-12-03T10:15:30+01:00'.

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

Document

Description

A Document entity is related to another entity and holds metadata and properties of a file hosted in myA.

Fields
Field Name Description
id - String! Document's ID.
organizationId - String! ID of the organization to which the document belongs.
entityId - String! ID of the entity to which the document is related.
entityType - EntityType! Type of the entity to which the document is related.
name - String! Document's name.
type - DocumentType! Document's type.
state - DocumentState! Document's current state.
size - Int! Size of the file to which this document relates (in bytes).
mimeType - String! MIME type of the file to which this document relates (e.g. image/jpeg).
properties - Object Document's properties.
computedProperties - Object Document's computed properties (indicators).
creationDate - DateTime! Date and time at which the document was created.
lastChangeDate - DateTime Date and time at which the document was last updated.
createdBy - String! ID of the actor who created this document. Use creationActor instead. To be removed in next version.
creationActor - Actor! Actor who created this document.
updatedBy - String ID of the actor who last updated this document. Use lastChangeActor instead. To be removed in next version.
lastChangeActor - Actor Actor who last updated this document.
Example
{
  "id": "abc123",
  "organizationId": "abc123",
  "entityId": "abc123",
  "entityType": "ASSET",
  "name": "abc123",
  "type": "DOCUMENT",
  "state": "ACTIVE",
  "size": 987,
  "mimeType": "abc123",
  "properties": Object,
  "computedProperties": Object,
  "creationDate": "2007-12-03T10:15:30Z",
  "lastChangeDate": "2007-12-03T10:15:30Z",
  "createdBy": "abc123",
  "creationActor": Actor,
  "updatedBy": "xyz789",
  "lastChangeActor": Actor
}

DocumentPresignedUrl

Description

This type contains a presigned URL to access the file linked to a document entity.

Fields
Field Name Description
documentId - String! ID of the document related to the file.
url - String! URL to the document's related file.
Example
{
  "documentId": "abc123",
  "url": "abc123"
}

DocumentState

Description

Available document states.

Values
Enum Value Description

ACTIVE

ARCHIVED

Example
"ACTIVE"

DocumentType

Description

Available document types.

Values
Enum Value Description

DOCUMENT

PICTURE

LOGO

Example
"DOCUMENT"

EntityType

Description

Available types of entity.

Values
Enum Value Description

ASSET

ASSET_AUDIT

ASSET_CRV

ASSET_TYPE

CHECK

CONTRACT

DOCUMENT

EQUIPMENT

FIELD

INVESTMENT

LEASE

OCCUPANT

ORGANIZATION

ORGANIZATION_CRV

MEETING

PROJECT

RISK

SNAPSHOT

SPACE

TECHNICAL_CATEGORY_CRV

UNIT_CRV_DETAIL

WORK

Example
"ASSET"

Equipment

Description

An Equipment entity can represent any technical part, item of machinery or building structure that is part of an asset's operation and which may be subject to maintenance needs and interventions.

Fields
Field Name Description
id - String! Equipment item's ID.
organizationId - String! ID of the organization to which the equipment item belongs.
assetId - String! ID of the asset in which the equipment item is located.
spaceIdsList - [String!]! IDs of spaces in which the equipment item is located.
name - String! Equipment item's name.
identifier - Int! Equipment item's unique identifier.
properties - Object Equipment item's properties.
computedProperties - Object Equipment item's computed properties (indicators).
creationDate - DateTime! Date and time at which the equipment item was created.
lastChangeDate - DateTime Date and time at which the equipment item was last updated.
createdBy - String! ID of the actor who created this equipment item. Use creationActor instead. To be removed in next version.
creationActor - Actor! Actor who created this equipment item.
updatedBy - String ID of the actor who last updated this equipment item. Use lastChangeActor instead. To be removed in next version.
lastChangeActor - Actor Actor who last updated this equipment item.
dataDate - DateTime! Equipment item's data date.
Example
{
  "id": "abc123",
  "organizationId": "abc123",
  "assetId": "xyz789",
  "spaceIdsList": ["xyz789"],
  "name": "xyz789",
  "identifier": 987,
  "properties": Object,
  "computedProperties": Object,
  "creationDate": "2007-12-03T10:15:30Z",
  "lastChangeDate": "2007-12-03T10:15:30Z",
  "createdBy": "xyz789",
  "creationActor": Actor,
  "updatedBy": "abc123",
  "lastChangeActor": Actor,
  "dataDate": "2007-12-03T10:15:30Z"
}

Field

Description

A Field is a configuration entity representing a property within another entity.

Fields
Field Name Description
id - String! Field's ID.
organizationId - String! ID of the organization to which the field belongs.
code - String! Field's code.
entityType - String! Type of entity this field is for.
fieldType - String! Field's type.
label - String! Field's label.
tooltip - String Field's tooltip.
checkType - String Specifically for fields used for the Check entity (inspections). Type of check the field is used for.
fieldValuesList - [String] Specifically for list fields and fields with autosuggestion. List of available or suggested input values.
validatorsList - [Validator!] Field's validators.
parentPathList - [String!] Property path down from the root of the entity to the value.
computed - Boolean Whether this field is computed, i.e. it is an indicator.
formulaList - [Object!] Specifically for computed fields. Formula for calculating the field's value.
Example
{
  "id": "xyz789",
  "organizationId": "abc123",
  "code": "abc123",
  "entityType": "xyz789",
  "fieldType": "xyz789",
  "label": "xyz789",
  "tooltip": "abc123",
  "checkType": "xyz789",
  "fieldValuesList": ["xyz789"],
  "validatorsList": [Validator],
  "parentPathList": ["abc123"],
  "computed": true,
  "formulaList": [Object]
}

FieldComputation

Description

Possible filter values for the 'computed' argument of the 'fields' query.

Values
Enum Value Description

ALL

Return all fields regardless of the computed flag.

NOT_COMPUTED

Return only fields with computed = false.

ONLY_COMPUTED

Return only fields with computed = true.
Example
"ALL"

FieldTypeEnum

Description

Possible types of property fields.

Values
Enum Value Description

ACTOR

ASSET

ASSETS

BUDGET

CHIPS

CHIPS_AUTOCOMPLETE

DATE

DATETIME

DOCUMENT_NAMES

DOCUMENT_RELATED_ASSETS

DOCUMENT_TYPE

DPE_LIST

EMAIL

EQUIPMENTS

FILE_NAME_HEADER

LINK

LIST

LIST_CHECK_RESULT

LIST_MULTIVALUE

MEETING

NUMERIC

NUMERIC_LIST

OBJECT_ID

PERCENT_TECHNICAL_CATEGORY_LIST

PROJECTS

RADIOBUTTON

SUGGESTBOX

TECHNICAL_CATEGORY_CRV_LIST

TECHNICAL_CATEGORY_PERCENT_CRV

TEXT

TEXT_AUTOCOMPLETE

TEXT_HEADER

TEXTAREA

TREE

TREE_PATH

UNIT_CRV_DETAIL_LIST

YEAR

Example
"ACTOR"

FileResult

Description

A file hosted in myA.

Fields
Field Name Description
name - String! File's name.
path - String! File's path.
associated - Boolean! Whether this file has been associated with an entity by creating a document.
validated - Boolean! Whether this file has been validated after upload. Documents cannot be created for invalid files.
Example
{
  "name": "abc123",
  "path": "abc123",
  "associated": false,
  "validated": false
}

FilterInput

Description

A filter to apply on a query.

Fields
Input Field Description
kind - FilterKind! Kind of filter.
field - String Field path on which to apply this filter. Apart from OR, every kind of filter require field to be provided. For nested fields, use the dot-notation. E.g., 'properties.value'.
value - Any Required for EQUALS and NOT_EQUALS filters, comparison value.
values - List Required for IN filters, comparison list.
conditions - [FilterInput!] Required for OR and ELEM_MATCH filters, conditions to apply.
textFilter - TextFilterInput Required for TEXT filters, condition to apply on text field.
numberFilter - NumberFilterInput Required for NUMBER filters, condition to apply on number field.
dateFilter - DateFilterInput Required for DATE filters, condition to apply on date field.
Example
{
  "kind": "EQUALS",
  "field": "xyz789",
  "value": Any,
  "values": List,
  "conditions": [FilterInput],
  "textFilter": TextFilterInput,
  "numberFilter": NumberFilterInput,
  "dateFilter": DateFilterInput
}

FilterKind

Description

Available kinds of filter.

Values
Enum Value Description

EQUALS

Match field exactly against a single value.

NOT_EQUALS

Match field if it does not equal a single value.

IN

Match field against a list of values.

EXISTS

Check if the field exists or not.

OR

Combine multiple filters with logical OR.

ELEM_MATCH

Apply nested conditions inside an array field .

TEXT

Text-specific filters (contains, startsWith...)

NUMBER

Number-specific filters (equals, greaterThan...)

DATE

Date-specific filters (equals, inRange...)
Example
"EQUALS"

Float

Description

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

Example
987.65

ImportResults

Description

Results emitted by import subscriptions, for tracking an import's progress.

Fields
Field Name Description
sheetName - String Name of the sheet currently being parsed.
rowNumber - Int Current row number, in the spreadsheet file, this result corresponds to.
status - String! Whether the spreadsheet row has been imported successfully. Possible values are: VALID, INVALID.
errorMessagesList - [String!] List of error messages relative to the current row in case status = INVALID.
createCount - Int Number of inserted entities up to now.
updateCount - Int Number of updated entities up to now.
operationCount - Int Number of operations that were performed for the current result.
totalOperations - Int Total operations up to now.
cancellable - Boolean True if the import operation can be cancelled, false if no longer possible.
failMessage - String Optional import failure message. Set when an import fails or gets cancelled for a specific reason.
Example
{
  "sheetName": "abc123",
  "rowNumber": 123,
  "status": "abc123",
  "errorMessagesList": ["abc123"],
  "createCount": 123,
  "updateCount": 987,
  "operationCount": 123,
  "totalOperations": 123,
  "cancellable": false,
  "failMessage": "abc123"
}

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
123

Investment

Description

An Investment entity represents a financial investment in regards to another entity, usually an intervention, piece of equipment, project or a whole asset.

Fields
Field Name Description
id - String! Investment's ID.
organizationId - String! ID of the organization to which this investment belongs
entityId - String! ID of the entity this investment relates to.
type - EntityType! Type of the entity this investment relates to.
identifier - Int! Investment's unique identifier.
name - String! Investment's name.
properties - Object Investment's properties.
computedProperties - Object Investment's computed properties (indicators).
creationDate - DateTime! Date and time at which the investment was created.
lastChangeDate - DateTime Date and time at which the investment was last updated.
createdBy - String! ID of the actor who created this investment. Use creationActor instead. To be removed in next version.
creationActor - Actor! Actor who created this investment.
updatedBy - String ID of the actor who last updated this investment. Use lastChangeActor instead. To be removed in next version.
lastChangeActor - Actor Actor who last updated this investment.
dataDate - DateTime! Investment's data date.
Example
{
  "id": "abc123",
  "organizationId": "xyz789",
  "entityId": "abc123",
  "type": "ASSET",
  "identifier": 987,
  "name": "xyz789",
  "properties": Object,
  "computedProperties": Object,
  "creationDate": "2007-12-03T10:15:30Z",
  "lastChangeDate": "2007-12-03T10:15:30Z",
  "createdBy": "abc123",
  "creationActor": Actor,
  "updatedBy": "abc123",
  "lastChangeActor": Actor,
  "dataDate": "2007-12-03T10:15:30Z"
}

Lease

Description

A lease entity is a contract linking a tenant (see Occupant) to an asset.

Fields
Field Name Description
id - String! Lease's ID.
organizationId - String! ID of the organization to which the lease belongs.
assetId - String! ID of the asset under lease.
spaceIdsList - [String!]! IDs of spaces under lease.
occupantId - String! ID of the tenant for whom the lease is for. See Occupant.
status - LeaseStatusEnum! Lease's current status.
properties - Object Lease's properties.
computedProperties - Object Lease's computed properties (indicators).
creationDate - DateTime! Date and time at which the lease was created.
lastChangeDate - DateTime Date and time at which the lease was last updated.
createdBy - String! ID of the actor who created this lease. Use creationActor instead. To be removed in next version.
creationActor - Actor! Actor who created this lease.
updatedBy - String ID of the actor who last updated this lease. Use lastChangeActor instead. To be removed in next version.
lastChangeActor - Actor Actor who last updated this lease.
dataDate - DateTime! Lease's data date.
Example
{
  "id": "xyz789",
  "organizationId": "abc123",
  "assetId": "abc123",
  "spaceIdsList": ["abc123"],
  "occupantId": "abc123",
  "status": "LEASE_ACTIVE",
  "properties": Object,
  "computedProperties": Object,
  "creationDate": "2007-12-03T10:15:30Z",
  "lastChangeDate": "2007-12-03T10:15:30Z",
  "createdBy": "abc123",
  "creationActor": Actor,
  "updatedBy": "abc123",
  "lastChangeActor": Actor,
  "dataDate": "2007-12-03T10:15:30Z"
}

LeaseStatusEnum

Description

Available lease statuses.

Values
Enum Value Description

LEASE_ACTIVE

LEASE_CLOSED

LEASE_EXPIRED

Example
"LEASE_ACTIVE"

List

Description

An ordered list of values of any type. See Any.

Example
List

Meeting

Description

Meeting regarding any subject concerning an organization.

Fields
Field Name Description
id - String! Meeting's ID.
organizationId - String! ID of the organization to which this meeting belongs.
identifier - Int! Meeting's unique identifier.
name - String! Meeting's name.
properties - Object Meeting's properties.
computedProperties - Object Meeting's computed properties (indicators).
creationDate - DateTime! Date and time at which the meeting was created.
lastChangeDate - DateTime Date and time at which the meeting was last updated.
createdBy - String! ID of the actor who created this meeting. Use creationActor instead. To be removed in next version.
creationActor - Actor! Actor who created this meeting.
updatedBy - String ID of the actor who last updated this meeting. Use lastChangeActor instead. To be removed in next version.
lastChangeActor - Actor Actor who last updated this meeting.
Example
{
  "id": "abc123",
  "organizationId": "xyz789",
  "identifier": 987,
  "name": "xyz789",
  "properties": Object,
  "computedProperties": Object,
  "creationDate": "2007-12-03T10:15:30Z",
  "lastChangeDate": "2007-12-03T10:15:30Z",
  "createdBy": "xyz789",
  "creationActor": Actor,
  "updatedBy": "xyz789",
  "lastChangeActor": Actor
}

NumberFilterInput

Description

Filter to apply on a number field.

Fields
Input Field Description
type - NumberFilterType! Type of number filter.
filter - Float First comparison value for filter types which require one.
filterTo - Float Second comparison value for filter types which require one.
Example
{"type": "NUMBER_EQUALS", "filter": 123.45, "filterTo": 123.45}

NumberFilterType

Description

Available types of filter conditions for NUMBER filters.

Values
Enum Value Description

NUMBER_EQUALS

Match a numeric field whose value is exactly equal to a filter value.

NUMBER_NOT_EQUALS

Match a numeric field whose value is exactly different from a filter value.

NUMBER_LESS_THAN

Match a numeric field whose value is strictly less than a filter value.

NUMBER_LESS_THAN_OR_EQUAL

Match a numeric field whose value is less than or equal to a filter value.

NUMBER_GREATER_THAN

Match a numeric field whose value is strictly greater than a filter value.

NUMBER_GREATER_THAN_OR_EQUAL

Match a numeric field whose value is greater than or equal to a filter value.

NUMBER_BETWEEN

Match a numeric field whose value is between a filter value and a filterTo value, inclusively.

NUMBER_BLANK

Match a numeric field whose value is null.

NUMBER_NOT_BLANK

Match a numeric field whose value is not null.
Example
"NUMBER_EQUALS"

Object

Description

A key-value map represented as a JSON object.

Example
Object

Occupant

Description

An Occupant entity represents a tenant who can have leases on assets, or parts of assets, within an organization.

Fields
Field Name Description
id - String! Tenant's ID.
organizationId - String! ID of the organization to which the tenant belongs.
name - String! Tenant's name.
leasesList - [Lease!]! List of all the leases for this tenant within the organization. 'leasesList' will be removed in next release. Use query 'leases' instead.
properties - Object Tenant's properties.
computedProperties - Object Tenant's computed properties (indicators).
creationDate - DateTime! Date and time at which the tenant was created.
lastChangeDate - DateTime Date and time at which the tenant was last updated.
createdBy - String! ID of the actor who created this tenant. Use creationActor instead. To be removed in next version.
creationActor - Actor! Actor who created this tenant.
updatedBy - String ID of the actor who last updated this tenant. Use lastChangeActor instead. To be removed in next version.
lastChangeActor - Actor Actor who last updated this tenant.
dataDate - DateTime! Tenant's data date.
Example
{
  "id": "abc123",
  "organizationId": "abc123",
  "name": "xyz789",
  "leasesList": [Lease],
  "properties": Object,
  "computedProperties": Object,
  "creationDate": "2007-12-03T10:15:30Z",
  "lastChangeDate": "2007-12-03T10:15:30Z",
  "createdBy": "xyz789",
  "creationActor": Actor,
  "updatedBy": "abc123",
  "lastChangeActor": Actor,
  "dataDate": "2007-12-03T10:15:30Z"
}

Organization

Description

An Organization entity represents the organization which is the parent entity to all other entities and meta-entities.

Fields
Field Name Description
id - String! Organization's ID.
name - String! Organization's name.
organizationType - OrganizationType! Organization's type.
currency - Currency! Currency used by this organization.
locale - String! Locale used by this organization.
storageSpace - Int! Storage space allocated for this organization's files.
properties - Object Organization's properties.
computedProperties - Object Organization's computed properties (indicators).
Example
{
  "id": "abc123",
  "name": "abc123",
  "organizationType": "UNIFORMAT_AIRPORT",
  "currency": "CAD",
  "locale": "abc123",
  "storageSpace": 123,
  "properties": Object,
  "computedProperties": Object
}

OrganizationCrv

Description

An OrganizationCrv entity represents a purpose for an asset or part of an asset in regards to its current replacement value. This purpose has an associated unit CRV, i.e. the monetary value per unit this purpose spans over the related asset. The unit may be anything but is usually a surface area. It is used in an asset's CRV breakdown by purpose for calculating the suggested unit replacement value. See UnitCrvDetail for more on an asset's CRV breakdown into purposes. The purpose configuration also has a technical category distribution related to the classification in use by the organization. It is used in an asset's CRV breakdown by technical category for calculating the suggested weight per category. See TechnicalCategoryCrv for more on an asset's CRV breakdown into technical categories.

Fields
Field Name Description
id - String! CRV purpose configuration's ID.
organizationId - String! ID of the organization this purpose configuration belongs to.
purpose - String! Name of the purpose of an asset or part of an asset for this configuration.
unitCrv - Float! Replacement value per unit for this purpose.
unit - String! Unit used for this purpose. E.g. 'sq.ft.'
percentTechnicalCategoriesList - [PercentTechnicalCategory!]! Distribution among the organization's classification's categories for this purpose.
properties - Object CRV purpose configuration's properties.
creationDate - DateTime! Date and time at which the CRV purpose configuration was created.
lastChangeDate - DateTime Date and time at which the CRV purpose configuration was last updated.
createdBy - String! Actor who created this CRV purpose configuration.
updatedBy - String Actor who last updated this CRV purpose configuration.
Example
{
  "id": "abc123",
  "organizationId": "abc123",
  "purpose": "xyz789",
  "unitCrv": 987.65,
  "unit": "xyz789",
  "percentTechnicalCategoriesList": [
    PercentTechnicalCategory
  ],
  "properties": Object,
  "creationDate": "2007-12-03T10:15:30Z",
  "lastChangeDate": "2007-12-03T10:15:30Z",
  "createdBy": "abc123",
  "updatedBy": "abc123"
}

OrganizationType

Description

Possible types of organization, i.e. the technical classification used by an organization.

Values
Enum Value Description

UNIFORMAT_AIRPORT

UNIFORMAT_CITY

UNIFORMAT_STANDARD

Example
"UNIFORMAT_AIRPORT"

PercentTechnicalCategory

Description

Represents how much a technical category weighs in a CRV purpose configuration.

Fields
Field Name Description
technicalCategoryCode - String! Related technical category's code.
percent - Float! Applied weight for this technical category.
Example
{
  "technicalCategoryCode": "abc123",
  "percent": 123.45
}

PercentTechnicalCategoryInput

Description

Data for setting a technical category's weigh in a CRV purpose configuration.

Fields
Input Field Description
technicalCategoryCode - String! Related technical category's code. Must belong to the organization's classification.
percent - Float! Applied weight for this technical category.
Example
{
  "technicalCategoryCode": "abc123",
  "percent": 123.45
}

PresignedUrl

Description

This type contains a presigned URL to which a file can be uploaded. Make a PUT HTTP request to this URL to upload a file.

Fields
Field Name Description
fileName - String! File's name.
documentName - String! Name of the document linked to this file.
url - String! URL to the file's content.
Example
{
  "fileName": "xyz789",
  "documentName": "abc123",
  "url": "abc123"
}

ProfileDataItem

Description

Describes the consequence for a combination of impact, intensity and probability, and the associated levels of severity and risk.

Fields
Field Name Description
impact - String! Value of the impact field.
intensity - String! Value of the intensity field.
probability - String! Value of the probability field.
consequence - String! Description of the consequence of the impact at this intensity and probability.
severityLevel - Int! Level of severity of the consequence.
riskLevel - Int! Risk level for this impact at this intensity and probability.
Example
{
  "impact": "abc123",
  "intensity": "xyz789",
  "probability": "xyz789",
  "consequence": "xyz789",
  "severityLevel": 987,
  "riskLevel": 987
}

Project

Description

A Project entity is used for planning and managing projects regarding assets and interventions. Projects may be linked to one another to form subprojects.

Fields
Field Name Description
id - String! Project's ID.
organizationId - String! ID of the organization to which the project belongs.
assetIdsList - [String!]! IDs of the project's related assets.
projectIdsList - [String!] IDs of other projects this project is related to, i.e. subprojects.
identifier - Int! Project's unique identifier.
name - String! Project's name.
properties - Object Project's properties.
computedProperties - Object Project's computed properties (indicators).
creationDate - DateTime! Date and time at which the project was created.
lastChangeDate - DateTime Date and time at which the project was last updated.
createdBy - String! ID of the actor who created this project. Use creationActor instead. To be removed in next version.
creationActor - Actor! Actor who created this project.
updatedBy - String ID of the actor who last updated this project. Use lastChangeActor instead. To be removed in next version.
lastChangeActor - Actor Actor who last updated this project.
dataDate - DateTime! Project's data date.
Example
{
  "id": "abc123",
  "organizationId": "abc123",
  "assetIdsList": ["abc123"],
  "projectIdsList": ["xyz789"],
  "identifier": 123,
  "name": "abc123",
  "properties": Object,
  "computedProperties": Object,
  "creationDate": "2007-12-03T10:15:30Z",
  "lastChangeDate": "2007-12-03T10:15:30Z",
  "createdBy": "abc123",
  "creationActor": Actor,
  "updatedBy": "xyz789",
  "lastChangeActor": Actor,
  "dataDate": "2007-12-03T10:15:30Z"
}

RelatedTechnicalCategory

Description

Represents a technical category within a classification.

Fields
Field Name Description
technicalCategoryCode - String! Technical category's code.
technicalCategoryLabel - String! Technical category's label.
Example
{
  "technicalCategoryCode": "xyz789",
  "technicalCategoryLabel": "xyz789"
}

Risk

Description

A Risk is a configuration entity representing a risk assessment profile including risk aversion matrix and impacts/consequences configuration. Risk is evaluated on interventions based on this configuration.

Fields
Field Name Description
id - String! Risk profile's ID.
organizationId - String! ID of the organization the risk profile belongs to.
configuration - RiskConfigurations! Configuration of the impact, intensity and probability level values on which risk computation is based. For each parameter, level values are matched with those of an existing field for the Work entity.
profileDataList - [ProfileDataItem!]! Configuration of consequences, risk levels and severity levels associated with each combination of impact, intensity and probability.
majorRiskMax - Int! Threshold to consider a risk as major when evaluating risk in the organization's interventions.
riskLevelCount - Int! Upper limit for risk level when evaluated for the organization's interventions.
creationDate - DateTime! Date and time at which the risk profile was created.
lastChangeDate - DateTime Date and time at which the risk profile was last updated.
createdBy - String! Actor who created this risk profile.
updatedBy - String Actor who last updated this risk profile.
dataDate - DateTime! Risk profile's data date.
Example
{
  "id": "abc123",
  "organizationId": "xyz789",
  "configuration": RiskConfigurations,
  "profileDataList": [ProfileDataItem],
  "majorRiskMax": 987,
  "riskLevelCount": 987,
  "creationDate": "2007-12-03T10:15:30Z",
  "lastChangeDate": "2007-12-03T10:15:30Z",
  "createdBy": "abc123",
  "updatedBy": "abc123",
  "dataDate": "2007-12-03T10:15:30Z"
}

RiskConfiguration

Description

Configuration for a single parameter used in a risk profile. This maps the risk parameter's levels with the values of a field for the Work entity.

Fields
Field Name Description
fieldCode - String! Intervention field's code.
valuesOrder - Object! Map of each of the field's value to its corresponding level for the parameter in question.
Example
{
  "fieldCode": "xyz789",
  "valuesOrder": Object
}

RiskConfigurationInput

Description

Data for configuring a single parameter used in risk calculation. This maps the risk parameter's levels with the values of a field for the Work entity. Note that the referenced field and values must exist in the organization's fields configuration.

Fields
Input Field Description
fieldCode - String! Intervention field's code.
valuesOrder - Object! Map of each of the field's value to its corresponding level for the parameter in question.
Example
{
  "fieldCode": "abc123",
  "valuesOrder": Object
}

RiskConfigurations

Description

Configuration of impact, intensity and probability for a risk profile.

Fields
Field Name Description
impact - RiskConfiguration! Impact configuration.
intensity - RiskConfiguration! Intensity configuration.
probability - RiskConfiguration! Probability configuration.
Example
{
  "impact": RiskConfiguration,
  "intensity": RiskConfiguration,
  "probability": RiskConfiguration
}

RiskConfigurationsInput

Description

Data for setting up a risk profile import configuration.

Fields
Input Field Description
impact - RiskConfigurationInput! Impact configuration.
intensity - RiskConfigurationInput! Intensity configuration.
probability - RiskConfigurationInput! Probability configuration.
majorRiskMax - Int! Threshold to consider a risk as major when evaluating risk in the organization's interventions.
riskLevelCount - Int! Upper limit for risk level when evaluated for the organization's interventions.
Example
{
  "impact": RiskConfigurationInput,
  "intensity": RiskConfigurationInput,
  "probability": RiskConfigurationInput,
  "majorRiskMax": 987,
  "riskLevelCount": 123
}

SelectParams

Description

Input data for selecting, sorting and grouping entities that are returned by a query.

Fields
Input Field Description
start - Int! The zero-based index of the first entity to be returned. Use in combination with count for pagination. Default = 0
count - Int! The number of entities to return. Note that a maximum of 500 entities may be requested. Default = 100
sorts - [SortInput!]!

List of sorting criteria to be applied. Notes on sorting and grouping:

  • For a sort to take effect, the field must be present in the output entities. When using groups, make sure all sorting fields are either the grouping field or one of the aggregated fields.
  • Default sort is deterministic. Even when no sorts are provided, entities will always be returned in the same order, for pagination purposes.
  • Due to internal limitations, it is not possible to sort on more than one field that is a list of values (CHIPS, ASSETS, EQUIPMENTS, PROJECTS, BUDGET). Doing so will result in an INVALID_ARGUMENT error. Note that it is possible to sort on one list field along with any number of non-list fields. Default = []
locale - String Locale to be used for sorting and other locale-specific operations.
groups - [String!]!

Field paths on which to group entities. Each group will be returned as an empty entity with only the grouping field set. If other fields are selected as part of the query, they will be set as follow:

  • 'id' will be set to a unique and deterministic value for pagination to work.
  • String, Int/Float, Boolean, Object and List fields will be respectively set to '', 0, false, {} and [].
  • Array fields will be set to [].
  • Any and DateTime fields will be set to ''.
  • Enum fields will be set with a dedicated unknown value. If the query defines aggregations, aggregated fields will be set with the operation's result instead. The client is responsible for ensuring groups are coherent with the query, i.e. the query's subselection of fields should include the grouping fields for them be present in the returned data. Consequently, the grouping fields must match fields in the GraphQL type for the relevant entity. Using '' as a grouping field will always return a single group containing all the organization's entity. This is particularly useful when used in combination with aggregations. To unwind a group and retrieve the entities or subgroups it contains, set the element of groupKeys at the same index to a value chosen among the group's unique keys.

Example:

  1. One unopen group groupBy = ['properties.category'] groupKeys = [] result = [ { id: '1000', properties: { category: 'A' } }, { id: '1001', properties: { category: 'B' } }, { id: '1002', properties: { category: 'C' } } ] Only empty entities are returned.

  2. One open group groupBy = ['properties.category'] groupKeys = ['A'] result = [ { id: '73ac8a6b', properties: { category: 'A' } }, { id: '73ac8a6c', properties: { category: 'A' } }, { id: '73ac8a6d', properties: { category: 'A' } }, { id: '73ac8a6e', properties: { category: 'A' } } ] Actual entities matching group key are returned.

  3. Multi-level grouping groupBy = ['year', 'month'] groupKeys = ['2025'] result = [ { id: '1001', month: '1' }, { id: '1002', month: '2' }, { id: '1003', month: '3' } ] Empty entities are returned unless the size of groupBy matches that of groupKeys

  4. Single group groupBy = [''] groupKeys = [] result = [ { id: 'null' } ] A single group containing all entities. Use for running aggregation operations on all an organization's dataset.

Known limitations:

  • At this time, it is not possible to return a group whose key is null, even when the grouping field may be null. Instead, a group whose key is either '', 0, false, {} or [] will be returned, depending on the grouping field's type. For fields that may be null or one of these values, two groups will be returned with the same group key: one for null and one for the actual value. To know which one refers to the null value, look for the group whose 'id' field is the string 'null'. The other group refers to the actual value. Default = []
groupKeys - List Unique keys for the groups defined in groupBy to be unwinded. The size of groupKeys must always be a most that of groupBy. Note that groupKeys are irrelevant when grouping by ''.
filters - [FilterInput!]!

Filtering criteria to be applied on entities. Top-level items are combined with an implicit AND.

Examples:

  1. Simple equality { kind: EQUALS, field: 'meetingId', value: '73ac8a6a' }

  2. Membership in a set of values { kind: IN, field: 'assetId', values: ['73ac8a6a', '73ac8a6b'] }

  3. Field existence { kind: EXISTS, field: 'assetId', value: false // true = must exist, false = must not exist }

  4. Logical OR group { kind: OR, conditions: [ { kind: EXISTS, field: 'assetId', value: false }, { kind: IN, field: 'assetId', values: ['73ac8a6a'] } ] }

  5. Nested conditions on array elements ($elemMatch) { kind: ELEM_MATCH, field: 'relatedAssets', conditions: [ { kind: EQUALS, field: 'typeId', value: '73ac8a6a'} ] }

  6. Text filter with operators (contains, equals, notEqual...) { kind: TEXT, field: 'name', textFilter: { type: CONTAINS, filter: 'school' } }

  7. Number filter with range { kind: NUMBER, field: 'capacity', numberFilter: { type: BETWEEN, filter: 100, filterTo: 500 } }

  8. Date filter with interval { kind: DATE, field: 'creationDate', dateFilter: { type: IN_RANGE, dateFrom: '2024-01-01T00:00:00Z', dateTo: '2024-12-31T00:00:00Z' } }. Default = []

search - String

Generic text pattern search on entire entities. Only entities matching this pattern will be returned. The following wildcards may be used:

  • '?' for matching any single character.
  • '*' for matching zero or more characters. Use '' for escaping a wildcard character (beware of implementation-dependant rules for escaping characters).
aggregations - [AggregationInput!]! A list of aggregation operations to apply on certain fields when grouping entities. This parameter has no effect if no groups are defined or if all groups are open. The client is responsible for ensuring aggregations are coherent with the query, i.e. the query's subselection of fields should include all aggregation fields for them to be present in the returned data. Some aggregation operations apply to specific data types and others apply to all data types. An aggregation field must always be the appropriate type in regards to the operation, unless it is inside an Object field. Default = []
Example
{
  "start": 987,
  "count": 123,
  "sorts": [SortInput],
  "locale": "abc123",
  "groups": ["xyz789"],
  "groupKeys": List,
  "filters": [FilterInput],
  "search": "abc123",
  "aggregations": [AggregationInput]
}

Snapshot

Description

A Snapshot entity is a meta-entity representing a organization's snapshot. A snapshot is a capture of all an organization's entities at a given instant in time. Note that this entity does not hold any data itself but only information about an existing snapshot.

Fields
Field Name Description
id - String! Snapshot's ID.
organizationId - String! ID of the organization to which the snapshot belongs.
date - String! Date on which the snapshot was taken.
status - SnapshotStatus! Current status of the snapshot job.
description - String Description of the snapshot.
creationDate - DateTime! Date and time at which this snapshot was created.
lastChangeDate - DateTime Date and time at which this snapshot was last updated.
createdBy - String! Actor who created this snapshot.
updatedBy - String Actor who last updated this snapshot.
Example
{
  "id": "abc123",
  "organizationId": "abc123",
  "date": "xyz789",
  "status": "SNAPSHOT_AVAILABLE",
  "description": "xyz789",
  "creationDate": "2007-12-03T10:15:30Z",
  "lastChangeDate": "2007-12-03T10:15:30Z",
  "createdBy": "abc123",
  "updatedBy": "xyz789"
}

SnapshotStatus

Description

Possible snapshot statuses.

Values
Enum Value Description

SNAPSHOT_AVAILABLE

SNAPSHOT_ERROR

SNAPSHOT_IN_CONSTRUCTION

Example
"SNAPSHOT_AVAILABLE"

SortDirection

Description

Sorting direction for Sort elements.

Values
Enum Value Description

ASC

DESC

Example
"ASC"

SortInput

Description

Criteria for sorting entities.

Fields
Input Field Description
field - String! Field to sort entities by. For nested fields, use the dot-notation. E.g., 'properties.value'.
direction - SortDirection! Direction of sorting. Default = ASC
Example
{"field": "abc123", "direction": "ASC"}

Space

Description

A Space entity represents a subdivision of an asset. Spaces form a hierarchy inside an asset and can have space children up to a limit of 5 levels. All assets have a root space with the same name as the asset, and which cannot be deleted.

Fields
Field Name Description
id - String! Space's ID.
organizationId - String! ID of the organization to which the space belongs.
assetId - String! ID of the asset to which the space belongs.
parentPathList - [String!]! Hierarchical list of parent spaces' IDs. This list is empty for an asset's root space.
name - String! Space's name.
identifier - String! Space's unique identifier.
properties - Object Space's properties.
computedProperties - Object Space's computed properties (indicators).
creationDate - DateTime! Date and time at which the space was created.
lastChangeDate - DateTime Date and time at which the space was last updated.
createdBy - String! ID of the actor who created this space. Use creationActor instead. To be removed in next version.
creationActor - Actor! Actor who created this space.
updatedBy - String ID of the actor who last updated this space. Use lastChangeActor instead. To be removed in next version.
lastChangeActor - Actor Actor who last updated this space.
dataDate - DateTime! Space's data date.
Example
{
  "id": "xyz789",
  "organizationId": "abc123",
  "assetId": "xyz789",
  "parentPathList": ["xyz789"],
  "name": "xyz789",
  "identifier": "abc123",
  "properties": Object,
  "computedProperties": Object,
  "creationDate": "2007-12-03T10:15:30Z",
  "lastChangeDate": "2007-12-03T10:15:30Z",
  "createdBy": "abc123",
  "creationActor": Actor,
  "updatedBy": "abc123",
  "lastChangeActor": Actor,
  "dataDate": "2007-12-03T10:15:30Z"
}

String

Description

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

Example
"xyz789"

TechnicalCategoryCrv

Description

A TechnicalCategoryCrv entity represents how much a technical category weighs in the breakdown by technical category of an asset's CRV configuration. If the related asset's CRV is configured to use suggested percentages, the weight of the technical category will be automatically deduced from the CRV purpose details as per configuration (see OrganizationCrv for more information on how to configure weight by technical category for CRV purposes). Otherwise, set a percentage manually in the entity's properties.

Fields
Field Name Description
id - String! CRV technical category weight entity's ID.
assetCrvId - String! ID of the related asset CRV entity.
technicalCategory - RelatedTechnicalCategory! Related technical category. Must exists within the related organization's classification.
properties - Object CRV technical category's properties.
computedProperties - Object CRV technical category's computed properties (indicators).
creationDate - DateTime! Date and time at which the CRV technical category was created.
lastChangeDate - DateTime Date and time at which the CRV technical category was last updated.
createdBy - String! ID of the actor who created this CRV technical category. Use creationActor instead. To be removed in next version.
creationActor - Actor! Actor who created this CRV technical category.
updatedBy - String ID of the actor who last updated this CRV technical category. Use lastChangeActor instead. To be removed in next version.
lastChangeActor - Actor Actor who last updated this CRV technical category.
Example
{
  "id": "abc123",
  "assetCrvId": "xyz789",
  "technicalCategory": RelatedTechnicalCategory,
  "properties": Object,
  "computedProperties": Object,
  "creationDate": "2007-12-03T10:15:30Z",
  "lastChangeDate": "2007-12-03T10:15:30Z",
  "createdBy": "xyz789",
  "creationActor": Actor,
  "updatedBy": "xyz789",
  "lastChangeActor": Actor
}

TextFilterInput

Description

Filter to apply on a text field.

Fields
Input Field Description
type - TextFilterType! Type of text filter.
filter - String Comparison value for filter types which require one.
Example
{"type": "TEXT_EQUALS", "filter": "xyz789"}

TextFilterType

Description

Available types of filter conditions for TEXT filters.

Values
Enum Value Description

TEXT_EQUALS

Match a text field whose value is exactly equal to a filter value (case-sensitive).

TEXT_NOT_EQUALS

Match a text field whose value is exactly different from a filter value (case-sensitive).

TEXT_CONTAINS

Match a text field whose value contains a filter value (not case-sensitive).

TEXT_NOT_CONTAINS

Match a text field whose value does not contain a filter value (not case-sensitive).

TEXT_STARTS_WITH

Match a text field whose value starts with a filter value (not case-sensitive).

TEXT_ENDS_WITH

Match a text field whose value ends with a filter value (not case-sensitive).

TEXT_BLANK

Match a text field whose value is null, empty or contains only whitespace characters.

TEXT_NOT_BLANK

Match a text field whose value is not null, empty and does not only contain whitespace characters.
Example
"TEXT_EQUALS"

UnitCrvDetail

Description

A UnitCrvDetail entity represents a single purpose detail in the breakdown of an asset's CRV. It is the combination of a purpose configured in the organization with a quantity. For instance, purpose 'Arena' with a unit price of 2,000 and a quantity of 1,000 means 1,000 m2 of the asset is occupied by an arena and has a unit CRV of 2,000,000. See OrganizationCrv for more information on how to configure purposes.

Fields
Field Name Description
id - String! ID of the unit CRV purpose detail.
assetCrvId - String! ID of the related asset's CRV entity.
organizationCrvId - String! ID of the related organization CRV purpose configuration entity.
quantity - Float! Quantity of the associated purpose to apply. Usually a surface area, but may differ depending on the purpose configuration.
properties - Object CRV purpose detail's properties.
computedProperties - Object CRV purpose detail's computed properties (indicators).
creationDate - DateTime! Date and time at which the CRV purpose detail was created.
lastChangeDate - DateTime Date and time at which the CRV purpose detail was last updated.
createdBy - String! ID of the actor who created this CRV purpose detail. Use creationActor instead. To be removed in next version.
creationActor - Actor! Actor who created this CRV purpose detail.
updatedBy - String ID of the actor who last updated this CRV purpose detail. Use lastChangeActor instead. To be removed in next version.
lastChangeActor - Actor Actor who last updated this CRV purpose detail.
Example
{
  "id": "xyz789",
  "assetCrvId": "xyz789",
  "organizationCrvId": "abc123",
  "quantity": 123.45,
  "properties": Object,
  "computedProperties": Object,
  "creationDate": "2007-12-03T10:15:30Z",
  "lastChangeDate": "2007-12-03T10:15:30Z",
  "createdBy": "xyz789",
  "creationActor": Actor,
  "updatedBy": "abc123",
  "lastChangeActor": Actor
}

UpdateAssetAuditInput

Description

Input data for updating an audit.

Fields
Input Field Description
id - String! ID of the audit to update.
properties - Object Audit's properties.
Example
{
  "id": "abc123",
  "properties": Object
}

UpdateAssetCrvInput

Description

Input data for updating an asset's CRV.

Fields
Input Field Description
id - String! ID of the asset CRV to update.
unitReplacementValue - Float Manual unit replacement value. May be ignored when using suggested unit replacement value.
useSuggestedUnitReplacementValue - Boolean! Whether to switch to suggested mode for the unit replacement value.
useSuggestedPercentReplacementValue - Boolean! Whether to switch to suggested mode for technical category percentages.
Example
{
  "id": "xyz789",
  "unitReplacementValue": 987.65,
  "useSuggestedUnitReplacementValue": true,
  "useSuggestedPercentReplacementValue": true
}

UpdateAssetInput

Description

Input data for updating an asset.

Fields
Input Field Description
id - String! ID of the asset to update.
name - String! Asset's name.
assetState - String! Asset's current state.
properties - Object Asset's properties.
Example
{
  "id": "abc123",
  "name": "xyz789",
  "assetState": "xyz789",
  "properties": Object
}

UpdateAssetTypeInput

Description

Data for updating an asset type.

Fields
Input Field Description
id - String! ID of the asset type entity to update.
name - String! Asset type's name.
modules - [String!]! List of the codes of enabled modules for assets of this type.
Example
{
  "id": "abc123",
  "name": "abc123",
  "modules": ["xyz789"]
}

UpdateCheckInput

Description

Input data for updating an inspection.

Fields
Input Field Description
id - String! ID of the inspection to update.
spaceIds - [String!]! IDs of the inspected spaces.
state - CheckStateEnum Inspection's state. If this field is empty, an attempt will be made to set it based on the inspection's dates in properties. Note: the state must be consistent with the dates even when set manually.
properties - Object Inspection's properties.
Example
{
  "id": "abc123",
  "spaceIds": ["xyz789"],
  "state": "CHECK_ABSENT",
  "properties": Object
}

UpdateContractInput

Description

Data for updating a contract.

Fields
Input Field Description
id - String! ID of the contract to update.
spaceIds - [String!]! IDs of spaces covered by the contract.
provider - String! Name of the contractor or supplier.
status - ContractStatusEnum Contract's status.
properties - Object Contract's properties.
Example
{
  "id": "xyz789",
  "spaceIds": ["xyz789"],
  "provider": "abc123",
  "status": "CONTRACT_ACTIVE",
  "properties": Object
}

UpdateDocumentInput

Description

Data for updating a document.

Fields
Input Field Description
id - String! ID of the document entity to update.
entityId - String ID of the entity to which to link the document with. When set, entityType must also be set. Note: only documents currently linked to an organization or asset may have their linked entity changed, and it may only be another asset.
entityType - EntityType Type of the entity to which to link the document with. When set, entityId must also be set.
name - String! Document's name.
type - DocumentType! Document's type. Note: only documents linked to an asset, intervention or equipment item may have their type changed. Only documents related to an image file may have their type set to PICTURE.
state - DocumentState! Document's state.
properties - Object Document's properties.
Example
{
  "id": "abc123",
  "entityId": "xyz789",
  "entityType": "ASSET",
  "name": "abc123",
  "type": "DOCUMENT",
  "state": "ACTIVE",
  "properties": Object
}

UpdateEquipmentInput

Description

Data for updating equipment.

Fields
Input Field Description
id - String! ID of the equipment item to update.
assetId - String! ID of the asset in which the equipment item is located.
spaceIds - [String!]! IDs of spaces in which the equipment item is located.
name - String! Equipment item's name.
properties - Object Equipment item's properties.
Example
{
  "id": "xyz789",
  "assetId": "xyz789",
  "spaceIds": ["xyz789"],
  "name": "abc123",
  "properties": Object
}

UpdateInvestmentInput

Description

Data for updating an investment.

Fields
Input Field Description
id - String! ID of the investment to update.
entityId - String! ID of the entity the investment relates to.
type - EntityType! Type of the entity the investment relates to.
name - String! Investment's name.
properties - Object Investment's properties.
Example
{
  "id": "abc123",
  "entityId": "abc123",
  "type": "ASSET",
  "name": "xyz789",
  "properties": Object
}

UpdateLeaseInput

Description

Data for updating a lease.

Fields
Input Field Description
id - String! ID of the lease to update.
spaceIds - [String!]! IDs of spaces under lease.
status - LeaseStatusEnum Lease's status.
properties - Object Lease's properties.
Example
{
  "id": "abc123",
  "spaceIds": ["xyz789"],
  "status": "LEASE_ACTIVE",
  "properties": Object
}

UpdateMeetingInput

Description

Data for updating a meeting.

Fields
Input Field Description
id - String! ID of the meeting to update.
name - String! Meeting's name.
properties - Object Meeting's properties.
Example
{
  "id": "xyz789",
  "name": "abc123",
  "properties": Object
}

UpdateOccupantInput

Description

Data for updating a tenant.

Fields
Input Field Description
id - String! ID of the tenant to update.
name - String! Tenant's name.
properties - Object Tenant's properties.
Example
{
  "id": "xyz789",
  "name": "abc123",
  "properties": Object
}

UpdateOrganizationCrvInput

Description

Input data for updating a CRV purpose configuration.

Fields
Input Field Description
id - String! ID of the CRV purpose configuration to update.
updateAssetCrvs - Boolean! Whether the asset CRVs with purpose details using this purpose configuration should be updated as well. Note that if this option is set to false, assets that are currently on suggested CRV mode will be switched to manual mode, and their CRV left unchanged but no longer matching this purpose configuration.
purpose - String! Name of the purpose of an asset or part of an asset for this configuration.
unitCrv - Float! Replacement value per unit for this purpose.
unit - String! Unit used for this purpose. E.g. 'sq.ft.'
percentTechnicalCategories - [PercentTechnicalCategoryInput!]! Distribution among the organization's classification's categories for this purpose.
properties - Object CRV purpose configuration's properties.
Example
{
  "id": "abc123",
  "updateAssetCrvs": false,
  "purpose": "abc123",
  "unitCrv": 123.45,
  "unit": "abc123",
  "percentTechnicalCategories": [
    PercentTechnicalCategoryInput
  ],
  "properties": Object
}

UpdateProjectInput

Description

Data for updating a project.

Fields
Input Field Description
id - String! ID of the project entity to update.
assetIds - [String!]! IDs of the assets the project relates to.
projectIds - [String!] IDs of other projects the project relates to, i.e. subprojects.
name - String! Project's name.
properties - Object Project's properties.
Example
{
  "id": "abc123",
  "assetIds": ["xyz789"],
  "projectIds": ["abc123"],
  "name": "xyz789",
  "properties": Object
}

UpdateSnapshotInput

Description

Data for updating a snapshot.

Fields
Input Field Description
id - String! ID of the snapshot to update.
description - String Description of the snapshot, e.g. "2023 financial year".
Example
{
  "id": "xyz789",
  "description": "abc123"
}

UpdateSpaceInput

Description

Data for updating a space.

Fields
Input Field Description
id - String! ID of the space to update.
name - String! Space's name.
parentPath - [String!]! Hierarchical list of parent spaces' IDs.
properties - Object Space's properties.
moveSpaceChildren - Boolean Use this parameter when updating a space's parent. If true, the updated space's children are moved along under the new hierarchy. If false, children spaces are detached from the updated space and reattached to its previous parent. Default is false.
Example
{
  "id": "abc123",
  "name": "xyz789",
  "parentPath": ["abc123"],
  "properties": Object,
  "moveSpaceChildren": true
}

UpdateTechnicalCategoryCrvInput

Description

Data for updating a CRV technical category detail.

Fields
Input Field Description
id - String! ID of the CRV technical category detail entity to update.
percentCrv - Float! Weight allocated to the category in the asset's CRV breakdown.
Example
{"id": "abc123", "percentCrv": 123.45}

UpdateUnitCrvDetailInput

Description

Input data for updating a CRV purpose detail.

Fields
Input Field Description
id - String! ID of the unit CRV detail to update.
organizationCrvId - String! ID of the associated organization CRV purpose configuration.
quantity - Float! Quantity of the related CRV purpose to apply.
Example
{
  "id": "abc123",
  "organizationCrvId": "abc123",
  "quantity": 987.65
}

UpdateWorkInput

Description

Data for updating an intervention.

Fields
Input Field Description
id - String! ID of the intervention to update.
assetId - String Optional ID of an asset to which this intervention is related.
spaceIds - [String!] Optional IDs of spaces to which this intervention is related.
equipmentIds - [String!] Optional IDs of equipment items to which this intervention is related.
projectIds - [String!] Optional IDs of projects to which this intervention is related.
meetingId - String Optional ID of a meeting about this intervention.
action - String! Short description of the intervention.
state - String! Intervention's state.
properties - Object Intervention's properties.
Example
{
  "id": "abc123",
  "assetId": "abc123",
  "spaceIds": ["xyz789"],
  "equipmentIds": ["abc123"],
  "projectIds": ["abc123"],
  "meetingId": "abc123",
  "action": "xyz789",
  "state": "xyz789",
  "properties": Object
}

Validator

Description

Validator for a property field that is checked every time the field's value is set or edited while an entity is created or updated.

Fields
Field Name Description
type - ValidatorType! Type of validator.
definition - String Validator's definition.
conditionsList - [Condition!] Validator's conditions for execution.
Example
{
  "type": "AFTER_OTHER_DATE",
  "definition": "xyz789",
  "conditionsList": [Condition]
}

ValidatorType

Description

Possible types of field validators.

Values
Enum Value Description

AFTER_OTHER_DATE

AFTER_DATE

ASSET_VALUE_GTE_SPACE_CHILDREN_PROPERTY

BEFORE_OTHER_DATE

BEFORE_DATE

DISTINCT

DOCUMENT_EXISTS

END_DATE_IS_AFTER_TODAY

END_DATE_IS_BEFORE_TODAY

END_DATE_IS_UNDEFINED

EQUIPMENT_HAS_RELATED_WORK

FOR_ASSET_TYPE_MODULES

FOR_ASSET_TYPES

GTE_SPACE_CHILDREN_PROPERTY

GTE_TOTAL_EXPENSES

INCOHERENT_SPACES

INTEGER

IS_CLASSIFICATION

IS_SPACE_MOVE_ALLOWED

IS_ASSET_CHANGE_ALLOWED

LTE_SPACE_PARENT_PROPERTY

LTE_TOTAL_COSTS

MAX_LENGTH

MAX_LENGTH_FILE_NAME

MAX_NOW

MAX_VALUE

MIN_VALUE

ORGANIZATION_CRV_EXISTS

READ_ONLY

REALISATION_DATE_IS_AFTER_TODAY

REALISATION_DATE_IS_BEFORE_TODAY

REGEX

RENEW_DATE_IS_AFTER_TODAY

RENEW_DATE_IS_BEFORE_TODAY

RENEW_DATE_IS_UNDEFINED

REQUIRED

REQUIRED_FALSE

REQUIRED_TRUE

SPACE_HAS_INACCESSIBLE_ASSETS

UNIQUE

Example
"AFTER_OTHER_DATE"

Work

Description

A Work entity represents an intervention such as repairs or preventive maintenance on an organization, asset or part of an asset, possibly related to equipment and part of one or many projects. If a risk assessment profile has been configured for the organization, interventions may have an associated risk level. It indicates the risk associated with why the intervention is needed. See Risk for more information on risk assessment.

Fields
Field Name Description
id - String! Intervention's ID.
organizationId - String! ID of the organization to which this intervention belongs.
assetId - String Optional ID of an asset entity to which this intervention is related.
spaceIdsList - [String!] Optional IDs of spaces to which this intervention is related.
equipmentIdsList - [String!] Optional IDs of equipment items to which this intervention is related.
projectIdsList - [String!] Optional IDs of projects to which this intervention is related.
meetingId - String Optional ID of a meeting about this intervention.
identifier - Int! Intervention's unique identifier.
action - String! Short description of the intervention.
state - String! Intervention's current state.
properties - Object Intervention's properties.
computedProperties - Object Intervention's computed properties (indicators).
creationDate - DateTime! Date and time at which the intervention was created.
lastChangeDate - DateTime Date and time at which the intervention was last updated.
createdBy - String! ID of the actor who created this intervention. Use creationActor instead. To be removed in next version.
creationActor - Actor! Actor who created this intervention.
updatedBy - String ID of the actor who last updated this intervention. Use lastChangeActor instead. To be removed in next version.
lastChangeActor - Actor Actor who last updated this intervention.
dataDate - DateTime! Intervention's data date.
Example
{
  "id": "xyz789",
  "organizationId": "abc123",
  "assetId": "xyz789",
  "spaceIdsList": ["abc123"],
  "equipmentIdsList": ["xyz789"],
  "projectIdsList": ["xyz789"],
  "meetingId": "xyz789",
  "identifier": 987,
  "action": "xyz789",
  "state": "abc123",
  "properties": Object,
  "computedProperties": Object,
  "creationDate": "2007-12-03T10:15:30Z",
  "lastChangeDate": "2007-12-03T10:15:30Z",
  "createdBy": "abc123",
  "creationActor": Actor,
  "updatedBy": "abc123",
  "lastChangeActor": Actor,
  "dataDate": "2007-12-03T10:15:30Z"
}