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