Skip to main content
The Manifest API provides a GraphQL interface for querying and mutating data across all platform entities. GraphQL endpoints are available at multiple versions to support different client needs.

Endpoints

The API exposes GraphQL at the following paths:
  • /v2 - Version 2 GraphQL endpoint
  • /v3 - Version 3 GraphQL endpoint
  • /doc - Documentation endpoint
  • /power-apps - Power Apps integration endpoint

Authentication

All GraphQL requests require authentication. Include your authentication token in the request headers:
Authorization: Bearer YOUR_TOKEN

Query structure

GraphQL queries follow this general structure:
query {
  entityName(filters: {...}, pagination: {...}) {
    id
    field1
    field2
    nestedEntity {
      id
      field
    }
  }
}

Mutation structure

Mutations follow this pattern:
mutation {
  mutationName(input: {...}) {
    id
    field1
    field2
  }
}

Available entities

The API supports queries and mutations for the following entities:

Core entities

  • Assets - Physical assets tracked in the system
  • Asset classes - Templates for asset types
  • Jobs - Work orders and tasks
  • Templates - Job templates and procedures
  • Locations - Physical locations and sites
  • Users - User accounts and profiles
  • Organizations - Organizational hierarchy

Measurements and monitoring

  • Meters - Measurement points and gauges
  • Measurements - Recorded measurement values
  • Meter requirements - Meter configuration and thresholds
  • Devices - IoT devices and sensors
  • Device types - Device classifications
  • IoT mappings - Device-to-meter mappings

Work management

  • Job steps - Individual steps within jobs
  • Work orders - External work order integrations
  • Faults - Fault tracking and resolution
  • Notes - Job and template annotations

Communication

  • Messages - User messages
  • Chats - Chat conversations
  • Notifications - System notifications

Files and media

  • File IDs - File references and metadata
  • Converted files - File conversion tracking
  • Folders - File organization

Reporting

  • Reports - Generated reports
  • Meter evidence reports - Meter reading reports
  • Value list evidence - Checklist and dropdown values

Configuration

  • Client settings - Client configuration
  • Units - Measurement units
  • Roles - User roles and permissions
  • Logs - Activity logs

Advanced features

  • Template versions - Template versioning
  • Touch alignment data - AR alignment data
  • Point clouds - 3D point cloud data
  • Personal profile - User preferences and favorites

Pagination

Most list queries support pagination using these parameters:
{
  entities(
    pagination: {
      limit: 20
      offset: 0
    }
  ) {
    items {
      id
    }
    total
  }
}

Filtering

Queries support filtering with entity-specific filter objects:
{
  entities(
    filters: {
      status: ACTIVE
      createdAt: {
        from: "2025-01-01"
        to: "2025-12-31"
      }
    }
  ) {
    id
  }
}

Sorting

Results can be sorted using sort parameters:
{
  entities(
    sort: {
      field: "createdAt"
      order: DESC
    }
  ) {
    id
  }
}

Error handling

GraphQL errors are returned in the standard GraphQL error format:
{
  "errors": [
    {
      "message": "Error description",
      "locations": [{"line": 2, "column": 3}],
      "path": ["fieldName"]
    }
  ]
}

Next steps