Skip to main content
Use GraphQL queries to retrieve data from the Manifest API. All queries require authentication.

Asset queries

Get assets

Retrieve assets with filtering and pagination.
query {
  assets(
    filters: {
      status: ACTIVE
      locationId: 123
    }
    pagination: {
      limit: 20
      offset: 0
    }
  ) {
    id
    name
    tag
    status
    assetClass {
      id
      name
    }
    location {
      id
      name
    }
  }
}

Get single asset

query {
  asset(id: 123) {
    id
    name
    tag
    description
    status
    assetClass {
      id
      name
    }
  }
}

Search assets

query {
  assetsSearch(
    search: {
      query: "pump"
      fields: [NAME, TAG]
    }
  ) {
    id
    name
    tag
  }
}

Asset class queries

Get asset classes

query {
  assetClasses(
    filters: {
      status: ACTIVE
    }
    pagination: {
      limit: 20
      offset: 0
    }
  ) {
    id
    name
    description
    models {
      id
      fileId
    }
  }
}

Get single asset class

query {
  assetClass(id: 123) {
    id
    name
    description
    frontFace
    models {
      id
      fileId
    }
  }
}

Job queries

Get jobs

query {
  jobs(
    filters: {
      status: IN_PROGRESS
      priority: HIGH
    }
    pagination: {
      limit: 20
      offset: 0
    }
  ) {
    id
    name
    status
    priority
    assignedUsers {
      id
      firstName
      lastName
    }
    template {
      id
      name
    }
  }
}

Get single job

query {
  job(id: 123) {
    id
    name
    status
    priority
    startedAt
    completedAt
    steps {
      id
      name
      status
      notes {
        id
        content
      }
    }
  }
}

Template queries

Get templates

query {
  templates(
    filters: {
      status: PUBLISHED
    }
    pagination: {
      limit: 20
      offset: 0
    }
  ) {
    id
    name
    description
    status
    versions {
      id
      versionName
      state
    }
  }
}

Get single template

query {
  template(id: 123) {
    id
    name
    description
    currentVersion {
      id
      versionName
      steps {
        id
        name
        order
      }
    }
  }
}

Location queries

Get locations

query {
  locations(
    pagination: {
      limit: 20
      offset: 0
    }
  ) {
    id
    name
    address
    latitude
    longitude
    parentLocation {
      id
      name
    }
  }
}

Get single location

query {
  location(id: 123) {
    id
    name
    address
    assets {
      id
      name
    }
  }
}

User queries

Get users

query {
  users(
    filters: {
      status: ACTIVE
      role: OPERATOR
    }
    pagination: {
      limit: 20
      offset: 0
    }
  ) {
    id
    firstName
    lastName
    email
    roles {
      id
      name
    }
  }
}

Get single user

query {
  user(id: 123) {
    id
    firstName
    lastName
    email
    status
    roles {
      id
      name
    }
  }
}

Meter queries

Get meters

query {
  meters(
    filters: {
      assetClassId: 123
    }
    pagination: {
      limit: 20
      offset: 0
    }
  ) {
    id
    name
    evaluationType
    unit {
      id
      name
      symbol
    }
    requirements {
      id
      minValue
      maxValue
    }
  }
}

Get single meter

query {
  meter(id: 123) {
    id
    name
    evaluationType
    position
    rotation
    measurements {
      id
      value
      timestamp
    }
  }
}

Measurement queries

Get measurements

query {
  measurements(
    filters: {
      meterId: 123
      dateRange: {
        from: "2025-01-01"
        to: "2025-12-31"
      }
    }
    pagination: {
      limit: 100
      offset: 0
    }
  ) {
    id
    value
    timestamp
    meter {
      id
      name
    }
  }
}

Organization queries

Get organizations

query {
  orgs {
    id
    name
    level
    parentOrg {
      id
      name
    }
    childOrgs {
      id
      name
    }
  }
}

Get organization hierarchy

query {
  allHierarchy {
    id
    name
    level
    childOrgs {
      id
      name
      level
    }
  }
}

Fault queries

Get faults

query {
  faults(
    filters: {
      status: OPEN
      assetId: 123
    }
    pagination: {
      limit: 20
      offset: 0
    }
  ) {
    id
    description
    status
    createdAt
    resolvedAt
    asset {
      id
      name
    }
  }
}

Message and chat queries

Get messages

query {
  messages(chatId: 123) {
    id
    content
    createdAt
    sender {
      id
      firstName
      lastName
    }
  }
}

Get chats

query {
  chats {
    id
    name
    type
    participants {
      id
      firstName
      lastName
    }
  }
}

File queries

Get file IDs

query {
  fileIds(ids: [123, 456]) {
    id
    fileName
    contentType
    url
    size
  }
}

Get converted files

query {
  convertedFilesByFilesIds(fileIds: [123, 456]) {
    id
    originalFileId
    convertedFileId
    status
  }
}

Report queries

Get meter evidence reports

query {
  metersEvidenceReports(
    filters: {
      status: ACTIVE
    }
    pagination: {
      limit: 20
      offset: 0
    }
  ) {
    id
    jobStep {
      id
      name
    }
    meter {
      id
      name
    }
    status
  }
}

Search across entities

query {
  globalSearch(
    input: {
      query: "search term"
      entityTypes: [ASSET, JOB, TEMPLATE]
    }
  ) {
    ... on Asset {
      id
      name
      tag
    }
    ... on Job {
      id
      name
      status
    }
    ... on Template {
      id
      name
      description
    }
  }
}

Personal profile queries

Get favorite entities

query {
  favoriteEntities {
    assets {
      id
      name
    }
    templates {
      id
      name
    }
    locations {
      id
      name
    }
  }
}

Get recent activity

query {
  recentActivity(
    pagination: {
      limit: 20
      offset: 0
    }
  ) {
    id
    entityType
    entityId
    action
    timestamp
  }
}

Next steps