API Reference
Developer API documentation for GraphQL and REST endpoints
Modify Manifest data using GraphQL mutations
mutation { addAsset( input: { name: "Pump A-101" tag: "P-101" assetClassId: 123 locationId: 456 description: "Primary circulation pump" } ) { id name tag } }
mutation { updateAsset( id: 123 input: { name: "Pump A-101 Updated" description: "Updated description" } ) { id name description } }
mutation { archiveAsset(id: 123) { id status } }
mutation { deleteAsset(id: 123) }
mutation { addAssetClass( input: { name: "Centrifugal Pump" description: "Standard centrifugal pump" frontFace: FRONT } ) { id name description } }
mutation { updateAssetClass( id: 123 input: { name: "Updated name" description: "Updated description" } ) { id name } }
mutation { addAssetClassModel( assetClassId: 123 input: { fileId: 456 scale: 1.0 } ) { id fileId } }
mutation { deleteAssetClass(id: 123) }
mutation { addJob( input: { name: "Maintenance inspection" templateId: 123 assetId: 456 priority: HIGH assignedUserIds: [789] } ) { id name status priority } }
mutation { updateJob( id: 123 input: { name: "Updated job name" priority: MEDIUM } ) { id name priority } }
mutation { startJob(id: 123) { id status startedAt } }
mutation { completeJob(id: 123) { id status completedAt } }
mutation { assignUserToJob( jobId: 123 userId: 456 ) { id assignedUsers { id firstName lastName } } }
mutation { addJobNote( input: { jobId: 123 stepId: 456 content: "Note content" type: TEXT } ) { id content createdAt } }
mutation { cancelJob(id: 123) { id status } }
mutation { addTemplate( input: { name: "Inspection procedure" description: "Standard inspection" type: PROCEDURE } ) { id name description } }
mutation { updateTemplate( id: 123 input: { name: "Updated template name" description: "Updated description" } ) { id name } }
mutation { copyTemplate( id: 123 name: "Copy of template" ) { id name } }
mutation { deleteTemplate(id: 123) }
mutation { createTemplateVersion( input: { templateId: 123 versionName: "v1.0" } ) { id versionName state } }
mutation { updateTemplateVersion( id: 123 input: { versionName: "v1.1" } ) { id versionName } }
mutation { editVersionState( input: { versionId: 123 state: PUBLISHED } ) { id state } }
mutation { addLocation( input: { name: "Building A" address: "123 Main St" latitude: 40.7128 longitude: -74.0060 parentLocationId: 456 } ) { id name address } }
mutation { updateLocation( id: 123 input: { name: "Building A - Updated" address: "123 Main St, Floor 2" } ) { id name } }
mutation { deleteLocation(id: 123) }
mutation { updateUser( id: 123 input: { firstName: "John" lastName: "Doe" email: "[email protected]" } ) { id firstName lastName email } }
mutation { addRoleToUser( userId: 123 roleId: 456 ) { id roles { id name } } }
mutation { removeRoleFromUser( userId: 123 roleId: 456 ) { id roles { id name } } }
mutation { disableOrEnableUser( userId: 123 disable: true ) { id status } }
mutation { deleteUser(id: 123) }
mutation { addMeter( input: { name: "Temperature sensor" assetClassId: 123 unitId: 456 evaluationType: NUMERIC position: { x: 0, y: 0, z: 0 } } ) { id name evaluationType } }
mutation { updateMeter( id: 123 input: { name: "Updated meter name" } ) { id name } }
mutation { updateMeterPosition( id: 123 position: { x: 1.0, y: 2.0, z: 3.0 } rotation: { x: 0, y: 0, z: 0 } ) { id position rotation } }
mutation { deleteMeter(id: 123) }
mutation { addMeasurement( input: { meterId: 123 value: "75.5" timestamp: "2025-01-15T10:30:00Z" deviceId: 456 } ) { id value timestamp } }
mutation { addMultipleCustomMeasurements( input: [ { meterId: 123 value: "75.5" timestamp: "2025-01-15T10:30:00Z" }, { meterId: 124 value: "80.2" timestamp: "2025-01-15T10:30:00Z" } ] ) { id value } }
mutation { updateMeasurement( id: 123 input: { value: "76.0" } ) { id value } }
mutation { deleteMeasurement(id: 123) }
mutation { addOrg( input: { name: "Engineering Team" parentOrgId: 123 } ) { id name level } }
mutation { updateOrg( id: 123 input: { name: "Updated org name" } ) { id name } }
mutation { assignUsersToOrg( orgId: 123 userIds: [456, 789] ) { id users { id firstName lastName } } }
mutation { allocateLicenses( input: { orgId: 123 licenses: { full: 10 viewer: 5 } } ) { id allocatedLicenses { full viewer } } }
mutation { addFault( input: { description: "Leak detected" assetId: 123 severity: HIGH } ) { id description status } }
mutation { updateFault( id: 123 input: { description: "Updated description" severity: MEDIUM } ) { id description } }
mutation { resolveFault( id: 123 resolution: "Repaired and tested" ) { id status resolvedAt } }
mutation { reopenFault(id: 123) { id status } }
mutation { sendMessage( input: { chatId: 123 content: "Message content" } ) { id content createdAt } }
mutation { addGroupChat( input: { name: "Project team" userIds: [123, 456, 789] } ) { id name participants { id firstName } } }
mutation { readMessages( chatId: 123 messageIds: [456, 789] ) }
mutation { addFileId( input: { fileName: "document.pdf" contentType: "application/pdf" size: 1024000 } ) { id fileName url } }
mutation { deleteFileId(id: 123) }
mutation { addFavoriteEntity( entityType: ASSET entityId: 123 ) }
mutation { removeFavoriteEntity( entityType: ASSET entityId: 123 ) }
mutation { signIn( input: { email: "[email protected]" password: "password" } ) { token user { id email firstName lastName } } }
mutation { signUp( input: { email: "[email protected]" password: "password" firstName: "John" lastName: "Doe" } ) { token user { id email } } }