MaintainX v2
Provides integration with MaintainX to query and manage maintenance resources, including work orders, assets, locations, parts, meters, and procedures, through its REST API.
Revision History
0.0.0.7 - Initial release.
Connection
Use this Connection to store the MaintainX API key and organization selection used by all MaintainX Methods.
| Property | Type | Description |
|---|---|---|
API Key |
Masked | Required MaintainX user API key. Requests use the permissions of the key's owning user. |
Organization ID |
Integer | Optional target organization identifier. Required for multi-organization keys and must be positive when supplied. |
Setup Notes
- Obtain a MaintainX user API key with access to the resources your Workflow needs.
- Create a
MaintainXConnection and enter theAPI Key. - Enter the target
Organization IDif the key has access to multiple organizations. - Save and test the Connection.
The Connection test reads users without modifying account data. API keys are not renewed automatically. Replace a revoked or expired key and reconnect.
The Node uses https://api.getmaintainx.com/v1/. Templates are available without querying MaintainX, but running an operation requires a valid key and the relevant account permissions.
Methods
Select an operation template for the Method you need. The template populates OperationId and exposes route and query values in Options, request body fields where applicable, and expected response fields. Use the template-selected identifier rather than the provider's textual operation name.
Query
Reads MaintainX resources using GET operations, including collections, individual records, nested resources, and external-ID routes. Supported collections are paged automatically.
| Parameter | Type | Description |
|---|---|---|
Connection |
Connection | MaintainX account Connection. |
OperationId |
String | Required template-selected identifier for a Query operation. |
Options |
Object | Declared route and query values, including resource identifiers and filters required by the selected template. |
| Return | Type | Description |
|---|---|---|
Response |
Array | One provider-shaped row per collection or top-level array element, or the selected individual record. Scalar array elements appear under Value. Query rows do not include mutation metadata. Empty collections return no rows. |
Create
Runs supported POST operations to create resources or perform the selected operation. Each Items row supplies one request object.
| Parameter | Type | Description |
|---|---|---|
Connection |
Connection | MaintainX account Connection. |
OperationId |
String | Required template-selected identifier for a Create operation. |
Options |
Object | Declared route and query values for the selected operation. |
Items |
Array | Required request objects matching the selected template. For array-body operations, each object contains the complete request array in Batch. |
| Return | Type | Description |
|---|---|---|
Response |
Array | One result per input row, preserving provider fields and adding Flowgear.IsSuccess, Flowgear.Message, and Flowgear.Request. Provider array responses are grouped under Results. |
For POST /meterreadings, put up to 100 readings in the structured Batch array of one input row. The Node sends that entire batch as one request. Purchase-order line items remain a nested array within the purchase-order request object.
Subscription operations manage MaintainX subscriptions. They do not create a Flowgear webhook listener.
Update
Runs supported PATCH operations to update resources, including nested resources and resources selected by external ID.
| Parameter | Type | Description |
|---|---|---|
Connection |
Connection | MaintainX account Connection. |
OperationId |
String | Required template-selected identifier for an Update operation. |
Options |
Object | Required route identifiers and declared query values. The same values apply to every input row. |
Items |
Array | Required update request objects matching the selected template. |
| Return | Type | Description |
|---|---|---|
Response |
Array | One result per input row, preserving provider fields and adding Flowgear.IsSuccess, Flowgear.Message, and Flowgear.Request. Provider array responses are grouped under Results. |
Delete
Deletes one explicitly selected resource using a DELETE operation. It runs once and does not accept Items.
| Parameter | Type | Description |
|---|---|---|
Connection |
Connection | MaintainX account Connection. |
OperationId |
String | Required template-selected identifier for a Delete operation. |
Options |
Object | Required route identifiers and declared query values identifying the resource to delete. |
| Return | Type | Description |
|---|---|---|
Response |
Array | One result with any provider response fields and Flowgear.IsSuccess, Flowgear.Message, and Flowgear.Request. The request records the supplied Options. |
Upload
Uploads an attachment or thumbnail using a PUT operation. The Node sends the file bytes directly, without JSON or multipart encoding, and completes one upload per invocation.
| Parameter | Type | Description |
|---|---|---|
Connection |
Connection | MaintainX account Connection. |
OperationId |
String | Required template-selected identifier for an Upload operation. |
FileContent |
Byte | Required raw file bytes. |
Options |
Object | Required route values, including the filename, as declared by the selected template. |
ContentType |
String | A media type supported by the selected endpoint. Defaults to application/octet-stream; use another type when the endpoint requires it. |
| Return | Type | Description |
|---|---|---|
Response |
Array | One result with provider fields and Flowgear.IsSuccess, Flowgear.Message, and Flowgear.Request. The request contains Options, ContentType, and a base64 representation of FileContent. |
An upload rejected for exceeding the provider's size limit returns a failed result with the provider message and original request. It is not retried.
Usage Notes
- Supply the selected template's exact provider field names and required route values. Unknown
Optionsand internal paging controls, including cursor, limit, and offset values, are rejected. Route values equal to.or..are also rejected. - String, integer, and number collections use CSV strings in templates and emitted records, including nested fields. Quote values containing commas, quotes, or line breaks, and double embedded quotes. An empty string represents an empty collection;
""represents one empty string. Object arrays remain structured. Omitted and null values retain provider semantics. - Numeric CSV values must use valid numeric syntax without surrounding whitespace. Mixed category filters use exact string labels, including numeric text.
Queryfetches the first page when the Method starts and subsequent pages as the output is consumed.CreateandUpdatesend the first input row when the Method starts and later rows as output is consumed. An empty connectedItemsinput sends no requests.- Inspect
Flowgear.IsSuccessfor write results. Business rejections produce failed rows and allow later input rows to continue. Setup, authentication, permission, and transport failures stop execution. An invalid first input fails the Node; later invalid inputs produce failed rows. Flowgear.Requestrecords the original request values, including CSV fields. Successful writes without a response body still return theFlowgearmetadata.- Explicit rate-limit rejections permit at most three attempts using the provider reset duration. Ambiguous writes, transport failures, and server errors are not retried. Check provider state before retrying a write after a transport failure.
Known Issues
- The deprecated
POST /meters/{meterId}/readingsoperation is unavailable. Use the batch meter-reading operation instead. - Account-specific and freeform objects do not have fixed template fields. Their runtime values are preserved, but mapping their children requires explicit Workflow child metadata.