Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.taqtile.com/llms.txt

Use this file to discover all available pages before exploring further.

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
    }
  }
}

Get active invites for the current user

query {
  activeInvitesForUser {
    id
    email
    role
    org {
      id
      name
    }
    createdAt
    expiresAt
  }
}

Get active invites for an organization

query {
  activeInvitesForOrg(orgId: 123) {
    id
    email
    role
    createdAt
    expiresAt
  }
}

Get invite by token

Look up an invite using the token from the invitation email. Useful when rendering an invitation acceptance page.
query {
  getInviteByToken(token: "INVITE_TOKEN") {
    id
    email
    role
    org {
      id
      name
    }
    expiresAt
  }
}

Folder queries

Get folder

query {
  folder(id: 45, orgId: 123) {
    id
    name
    parentId
    ChildFolders {
      id
      name
    }
    Templates {
      id
      name
    }
  }
}

Get folders

Lists folders for an organization. Pass parentId to list children of a specific folder; omit it to list all folders.
query {
  folders(parentId: 12, orgId: 123) {
    id
    name
    parentId
  }
}

Manifest Connect (LiveKit) queries

Check if a LiveKit room is active

Returns true when a LiveKit room exists for the chat with at least one participant. You must be a participant of the chat.
query {
  checkLiveKitRoom(chatId: 123)
}

Fault queries

Get faults

query {
  faults(
    filters: {
      status: OPEN
      assetId: 123
    }
    pagination: {
      limit: 20
      offset: 0
    }
  ) {
    id
    description
    status
    createdAt
    resolvedAt
    lastModified
    asset {
      id
      name
    }
  }
}
The lastModified field returns an ISO 8601 timestamp representing the most recent activity on a fault. It is calculated from the latest of:
  • createdAt
  • resolvedAt (if the fault has been resolved)
  • The creation date of any associated job
Use lastModified to sort or filter faults by recent activity rather than relying on createdAt alone.

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