All integrations

MaintainX

BUSINESS · TASKS

Work orders, work requests, assets, and procedures in the account they connected.

Acts as the person, not as itself

Each user connects their own account. Every call carries both identities — the agent and the person it is acting for — so the agent can never reach past what that individual can already do.

Credentials never touch the agent

Tokens live in the vault and attach server-side at call time. The agent holds a session, not a secret, and revoking access does not mean rotating a key.

Every call on the record

Who asked, which agent acted, which action ran, and the verdict that let it through — one audit trail across every integration, not one per vendor.

What an agent can do

Each action is granted on its own. An agent allowed to read is not thereby allowed to write, and the scope beside each row is what the acting user must have connected for it to run at all.

maintainx_delete_assetcustomstatuses_by_idWRITE

Delete asset custom status via DELETE /assetcustomstatuses/{id}

api
maintainx_delete_assets_by_idWRITE

Delete asset via DELETE /assets/{id}

api
maintainx_delete_assets_by_id_attachments_by_filenameWRITE

Remove asset attachment via DELETE /assets/{id}/attachments/{filename}

api
maintainx_delete_assets_external_by_externalidWRITE

Delete asset by external ID via DELETE /assets/external/{externalId}

api
maintainx_delete_categories_by_idWRITE

Delete category via DELETE /categories/{id}

api
maintainx_delete_customfields_by_entity_by_idWRITE

Delete custom field via DELETE /customfields/{entity}/{id}

api
maintainx_delete_locations_by_idWRITE

Delete location via DELETE /locations/{id}

api
maintainx_delete_locations_by_id_attachments_by_filenameWRITE

Remove location attachment via DELETE /locations/{id}/attachments/{filename}

api
maintainx_delete_locations_external_by_externalidWRITE

Delete location by external ID via DELETE /locations/external/{externalId}

api
maintainx_delete_maintenanceplans_by_idWRITE

Delete maintenance plan via DELETE /maintenanceplans/{id}

api
maintainx_delete_meters_by_idWRITE

Delete meter via DELETE /meters/{id}

api
maintainx_delete_metertriggers_by_idWRITE

Delete meterTrigger via DELETE /metertriggers/{id}

api
maintainx_delete_metertriggers_by_id_workordertemplates_attachments_by_filenameWRITE

Remove meter trigger's work order template attachment via DELETE /metertriggers/{id}/workordertemplates/attachments/{filename}

api
maintainx_delete_parts_by_idWRITE

Delete part via DELETE /parts/{id}

api
maintainx_delete_parts_by_id_attachments_by_filenameWRITE

Remove part attachment via DELETE /parts/{id}/attachments/{filename}

api
maintainx_delete_parts_external_by_externalidWRITE

Delete part by external ID via DELETE /parts/external/{externalId}

api
maintainx_delete_proceduretemplaterows_by_idWRITE

Delete procedure Template Row via DELETE /proceduretemplaterows/{id}

api
maintainx_delete_proceduretemplaterows_by_id_attachmentsWRITE

Remove procedure template row attachment via DELETE /proceduretemplaterows/{id}/attachments

api
maintainx_delete_proceduretemplates_by_idWRITE

Delete procedure Template via DELETE /proceduretemplates/{id}

api
maintainx_delete_purchaseorders_by_idWRITE

Delete purchaseOrder via DELETE /purchaseorders/{id}

api
maintainx_delete_purchaseorders_by_id_attachments_by_filenameWRITE

Remove purchase order attachment via DELETE /purchaseorders/{id}/attachments/{filename}

api
maintainx_delete_subscriptions_by_idWRITE

Remove subscription via DELETE /subscriptions/{id}

api
maintainx_delete_teams_by_idWRITE

Delete team via DELETE /teams/{id}

api
maintainx_delete_teams_by_teamid_members_by_useridWRITE

Remove user from team via DELETE /teams/{teamId}/members/{userId}

api
maintainx_delete_users_by_idWRITE

Remove user from organization via DELETE /users/{id}

api
maintainx_delete_vendors_by_idWRITE

Delete vendor via DELETE /vendors/{id}

api
maintainx_delete_vendors_by_id_attachments_by_filenameWRITE

Remove vendor attachment via DELETE /vendors/{id}/attachments/{filename}

api
maintainx_delete_vendors_by_id_contacts_by_contactidWRITE

Delete contact via DELETE /vendors/{id}/contacts/{contactId}

api
maintainx_delete_workorders_by_idWRITE

Delete workOrder via DELETE /workorders/{id}

api
maintainx_delete_workorders_by_id_attachments_by_filenameWRITE

Remove work order attachment via DELETE /workorders/{id}/attachments/{filename}

api
maintainx_delete_workorders_by_id_procedureWRITE

Detach procedure from work order via DELETE /workorders/{id}/procedure

api
maintainx_delete_workorders_by_id_procedure_fields_by_index_attachmentWRITE

Delete procedure field attachment via DELETE /workorders/{id}/procedure/fields/{index}/attachment

api
maintainx_delete_workorders_external_by_externalidWRITE

Delete work order by external ID via DELETE /workorders/external/{externalId}

api
maintainx_delete_workrequestportals_by_idWRITE

Delete work request portal via DELETE /workrequestportals/{id}

api
maintainx_delete_workrequests_by_idWRITE

Delete workRequest via DELETE /workrequests/{id}

api
maintainx_delete_workrequests_by_id_attachments_by_filenameWRITE

Remove work request attachment via DELETE /workrequests/{id}/attachments/{filename}

api
maintainx_get_assetcriticalitiesREAD

Endpoint used to list asset criticality resources via GET /assetcriticalities

api
maintainx_get_assetcriticalities_by_idREAD

Get asset criticality via GET /assetcriticalities/{id}

api
maintainx_get_assetcustomstatusesREAD

Endpoint used to list asset custom status resources via GET /assetcustomstatuses

api
maintainx_get_assetcustomstatuses_by_idREAD

Get asset custom status via GET /assetcustomstatuses/{id}

api
maintainx_get_assetsREAD

Endpoint used to list asset resources via GET /assets

api
maintainx_get_assets_by_idREAD

Get asset via GET /assets/{id}

api
maintainx_get_assets_external_by_externalidREAD

Get asset by external ID via GET /assets/external/{externalId}

api
maintainx_get_assetstatusesREAD

Endpoint used to list assetStatuses resources via GET /assetstatuses

api
maintainx_get_categoriesREAD

Endpoint used to list category resources via GET /categories

api
maintainx_get_categories_by_idREAD

Get category via GET /categories/{id}

api
maintainx_get_conversationsREAD

Endpoint used to list conversation resources via GET /conversations

api
maintainx_get_conversations_by_id_membersREAD

List conversation members via GET /conversations/{id}/members

api
maintainx_get_customfields_by_entityREAD

List custom fields via GET /customfields/{entity}

api
maintainx_get_locationsREAD

Endpoint used to list location resources via GET /locations

api
maintainx_get_locations_by_idREAD

Get location via GET /locations/{id}

api
maintainx_get_locations_external_by_externalidREAD

Get location by external ID via GET /locations/external/{externalId}

api
maintainx_get_maintenanceplansREAD

Endpoint used to list maintenance plan resources via GET /maintenanceplans

api
maintainx_get_maintenanceplans_by_idREAD

Get maintenance plan via GET /maintenanceplans/{id}

api
maintainx_get_manufacturersREAD

Endpoint used to list manufacturer resources via GET /manufacturers

api
maintainx_get_manufacturers_by_idREAD

Get manufacturer via GET /manufacturers/{id}

api
maintainx_get_metersREAD

Endpoint used to list meter resources via GET /meters

api
maintainx_get_meters_by_idREAD

Get meter via GET /meters/{id}

api
maintainx_get_metertriggersREAD

Endpoint used to list meter trigger resources via GET /metertriggers

api
maintainx_get_metertriggers_by_idREAD

Get meter trigger via GET /metertriggers/{id}

api
maintainx_get_modelsREAD

Endpoint used to list model resources via GET /models

api
maintainx_get_models_by_idREAD

Get model via GET /models/{id}

api
maintainx_get_organizationsREAD

Endpoint used to list organization resources via GET /organizations

api
maintainx_get_partsREAD

Endpoint used to list part resources via GET /parts

api
maintainx_get_parts_by_idREAD

Get part via GET /parts/{id}

api
maintainx_get_parts_external_by_externalidREAD

Get part by external ID via GET /parts/external/{externalId}

api
maintainx_get_parttransferrequestsREAD

Endpoint used to list part transfer request resources via GET /parttransferrequests

api
maintainx_get_parttransferrequests_by_idREAD

Get part transfer request via GET /parttransferrequests/{id}

api
maintainx_get_proceduretemplatesREAD

Endpoint used to list procedure template resources via GET /proceduretemplates

api
maintainx_get_proceduretemplates_by_idREAD

Get procedure template via GET /proceduretemplates/{id}

api
maintainx_get_purchaseordersREAD

Endpoint used to list purchase order resources via GET /purchaseorders

api
maintainx_get_purchaseorders_by_idREAD

Get purchase order via GET /purchaseorders/{id}

api
maintainx_get_rootcauseanalysisreportsREAD

Endpoint used to list root cause analysis report resources via GET /rootcauseanalysisreports

api
maintainx_get_rootcauseanalysisreports_by_idREAD

Get root cause analysis report via GET /rootcauseanalysisreports/{id}

api
maintainx_get_subscriptions_by_idREAD

Get subscription via GET /subscriptions/{id}

api
maintainx_get_subscriptions_by_id_secretREAD

Get secret information via GET /subscriptions/{id}/secret

api
maintainx_get_teamsREAD

Endpoint used to list team resources via GET /teams

api
maintainx_get_teams_by_idREAD

Get team via GET /teams/{id}

api
maintainx_get_teams_by_id_membersREAD

List team members via GET /teams/{id}/members

api
maintainx_get_usersREAD

Endpoint used to list user resources via GET /users

api
maintainx_get_users_by_idREAD

Get user via GET /users/{id}

api
maintainx_get_vendorsREAD

Endpoint used to list vendor resources via GET /vendors

api
maintainx_get_vendors_by_idREAD

Get vendor via GET /vendors/{id}

api
maintainx_get_vendors_by_id_contactsREAD

List contacts via GET /vendors/{id}/contacts

api
maintainx_get_vendors_by_id_contacts_by_contactidREAD

Get contact via GET /vendors/{id}/contacts/{contactId}

api
maintainx_get_versionsREAD

Get list of available API versions via GET /versions

api
maintainx_get_workordersREAD

Endpoint used to list work order resources via GET /workorders

api
maintainx_get_workorders_by_idREAD

Get work order via GET /workorders/{id}

api
maintainx_get_workorders_by_id_commentsREAD

List work order comments via GET /workorders/{id}/comments

api
maintainx_get_workorders_by_id_costsREAD

Get costs information via GET /workorders/{id}/costs

api
maintainx_get_workorders_by_id_subworkordersREAD

List sub work orders via GET /workorders/{id}/subworkorders

api
maintainx_get_workorders_external_by_externalidREAD

Get work order by external ID via GET /workorders/external/{externalId}

api
maintainx_get_workrequestportalsREAD

Endpoint used to list work request portal resources via GET /workrequestportals

api
maintainx_get_workrequestportals_by_idREAD

Get work request portal via GET /workrequestportals/{id}

api
maintainx_get_workrequestsREAD

Endpoint used to list work request resources via GET /workrequests

api
maintainx_get_workrequests_by_idREAD

Get work request via GET /workrequests/{id}

api
maintainx_patch_assetcustomstatuses_by_idWRITE

Update asset custom status via PATCH /assetcustomstatuses/{id}

api
maintainx_patch_assets_by_idWRITE

Update asset via PATCH /assets/{id}

api
maintainx_patch_assets_external_by_externalidWRITE

Idempotent upsert keyed on the external ID in the path. If an asset has this external ID, it will be updated (and undeleted, if the asset was previously deleted). Otherwise, a new asset will be created with this external ID. via PATCH /assets/external/{externalId}

api
maintainx_patch_assetstatuses_by_idWRITE

Update asset status via PATCH /assetstatuses/{id}

api
maintainx_patch_categories_by_idWRITE

Update category via PATCH /categories/{id}

api
maintainx_patch_customfields_by_entity_by_idWRITE

Edit custom field via PATCH /customfields/{entity}/{id}

api
maintainx_patch_locations_by_idWRITE

Update location via PATCH /locations/{id}

api
maintainx_patch_locations_external_by_externalidWRITE

Idempotent upsert keyed on the external ID in the path. If a location has this external ID, it will be updated (and undeleted, if the location was previously deleted). Otherwise, a new location will be created with this external ID. via PATCH /locations/external/{externalId}

api
maintainx_patch_maintenanceplans_by_idWRITE

Update a maintenance plan via PATCH /maintenanceplans/{id}

api
maintainx_patch_meters_by_idWRITE

Update meter via PATCH /meters/{id}

api
maintainx_patch_metertriggers_by_idWRITE

Update meter trigger via PATCH /metertriggers/{id}

api
maintainx_patch_metertriggers_by_id_workordertemplatesWRITE

Update Meter Trigger's Work Order Template via PATCH /metertriggers/{id}/workordertemplates

api
maintainx_patch_parts_by_idWRITE

Update part via PATCH /parts/{id}

api
maintainx_patch_parts_external_by_externalidWRITE

Idempotent upsert keyed on the external ID in the path. If a part has this external ID, it will be updated (and undeleted, if the part was previously deleted). Otherwise, a new part will be created with this external ID. via PATCH /parts/external/{externalId}

api
maintainx_patch_parttransferrequests_by_idWRITE

Update part transfer request via PATCH /parttransferrequests/{id}

api
maintainx_patch_proceduretemplaterows_by_idWRITE

Update Procedure Template Row via PATCH /proceduretemplaterows/{id}

api
maintainx_patch_proceduretemplates_by_idWRITE

Update Procedure Template via PATCH /proceduretemplates/{id}

api
maintainx_patch_purchaseorders_by_idWRITE

Update purchase order via PATCH /purchaseorders/{id}

api
maintainx_patch_purchaseorders_by_id_fulfillmentWRITE

Fulfill purchase order via PATCH /purchaseorders/{id}/fulfillment

api
maintainx_patch_purchaseorders_by_id_statusWRITE

Update purchase order status via PATCH /purchaseorders/{id}/status

api
maintainx_patch_subscriptions_by_idWRITE

Update subscription via PATCH /subscriptions/{id}

api
maintainx_patch_teams_by_idWRITE

Update team via PATCH /teams/{id}

api
maintainx_patch_teams_by_teamid_members_by_useridWRITE

Update team member via PATCH /teams/{teamId}/members/{userId}

api
maintainx_patch_users_by_idWRITE

Update user via PATCH /users/{id}

api
maintainx_patch_vendors_by_idWRITE

Update vendor via PATCH /vendors/{id}

api
maintainx_patch_vendors_by_id_contacts_by_contactidWRITE

Update contact via PATCH /vendors/{id}/contacts/{contactId}

api
maintainx_patch_workorders_by_idWRITE

Update work order via PATCH /workorders/{id}

api
maintainx_patch_workorders_by_id_partstatusWRITE

Update work order part status via PATCH /workorders/{id}/partStatus

api
maintainx_patch_workorders_by_id_statusWRITE

Update work order status via PATCH /workorders/{id}/status

api
maintainx_patch_workorders_external_by_externalidWRITE

Idempotent upsert keyed on the external ID in the path. If a work order has this external ID, it will be updated (and undeleted, if the work order was previously deleted). Otherwise, a new work order will be created with this external ID. via PATCH /workorders/external/{externalId}

api
maintainx_patch_workrequestportals_by_idWRITE

Update work request portal via PATCH /workrequestportals/{id}

api
maintainx_patch_workrequests_by_idWRITE

Update work request via PATCH /workrequests/{id}

api
maintainx_post_assetcustomstatusesWRITE

Create new asset custom status type via POST /assetcustomstatuses

api
maintainx_post_assetsWRITE

Create new asset via POST /assets

api
maintainx_post_assets_by_assetid_statusWRITE

Create a new asset status via POST /assets/{assetId}/status

api
maintainx_post_categoriesWRITE

Create new category via POST /categories

api
maintainx_post_conversations_by_id_messagesWRITE

Create new message in a conversation via POST /conversations/{id}/messages

api
maintainx_post_customfields_by_entityWRITE

Create custom field via POST /customfields/{entity}

api
maintainx_post_locationsWRITE

Create new location via POST /locations

api
maintainx_post_maintenanceplansWRITE

Create a maintenance plan via POST /maintenanceplans

api
maintainx_post_maintenanceplans_workorderblueprintsWRITE

Create a maintenance plan work order blueprint via POST /maintenanceplans/workorderblueprints

api
maintainx_post_manufacturersWRITE

Create new manufacturer via POST /manufacturers

api
maintainx_post_meterreadingsWRITE

We strongly recommend using this endpoint to create meter readings since it is more efficient. <h3>Rate Limits</h3> <li>For Automated and IoT meter readings: 100 requests / 60 seconds</li> <li>For Manual meter readings: 10 requests / 24 hours</li> via POST /meterreadings

api
maintainx_post_metersWRITE

Endpoint used to create a new meter. Pay attention to the `measurementType` field as it has a significant impact on the behavior of your meter. via POST /meters

api
maintainx_post_meters_by_meterid_readingsWRITE

We strongly recommend using the batch create endpoint [POST /meterreadings](#tag/Meter-Readings/paths/~1meterreadings/post) to create meter readings since it is more efficient and allows you to send more readings at once without consuming as much rate limit as this endpoint. <h3>Rate Limits</h3> <li>For Automated and IoT meter readings: 1 request / 10 seconds</li> <li>For Manual meter readings: 10 requests / 24 hours</li> via POST /meters/{meterId}/readings

api
maintainx_post_metertriggersWRITE

Create meter trigger via POST /metertriggers

api
maintainx_post_modelsWRITE

Create new model via POST /models

api
maintainx_post_partsWRITE

Create new part via POST /parts

api
maintainx_post_parttransferrequestsWRITE

Create a part transfer request via POST /parttransferrequests

api
maintainx_post_proceduretemplatesWRITE

Create procedure template via POST /proceduretemplates

api
maintainx_post_purchaseordersWRITE

Create new purchase order via POST /purchaseorders

api
maintainx_post_purchaseorders_by_id_commentsWRITE

Create new comment on a purchase order via POST /purchaseorders/{id}/comments

api
maintainx_post_purchaseorders_by_id_emailsWRITE

Send Purchase Order as an email via POST /purchaseorders/{id}/emails

api
maintainx_post_subscriptionsWRITE

Create new subscription via POST /subscriptions

api
maintainx_post_teamsWRITE

Create new team via POST /teams

api
maintainx_post_teams_by_id_membersWRITE

Add user to team via POST /teams/{id}/members

api
maintainx_post_usersWRITE

Create new user via POST /users

api
maintainx_post_users_by_id_messagesWRITE

Create new direct message to a user via POST /users/{id}/messages

api
maintainx_post_vendorsWRITE

Create new vendor via POST /vendors

api
maintainx_post_vendors_by_id_contactsWRITE

Create new contact via POST /vendors/{id}/contacts

api
maintainx_post_work_shiftsWRITE

Set per-day work shift capacity for one or more users. Re-sending a (user, date) pair overwrites the previous override. A maximum of 250 work shifts can be set per request. via POST /work-shifts

api
maintainx_post_workordersWRITE

Create new work order via POST /workorders

api
maintainx_post_workorders_by_id_commentsWRITE

Create new comment on a work order via POST /workorders/{id}/comments

api
maintainx_post_workorders_by_id_costsWRITE

Create new cost on a work order via POST /workorders/{id}/costs

api
maintainx_post_workorders_by_id_emailsWRITE

Send work order as an email via POST /workorders/{id}/emails

api
maintainx_post_workpermits_by_id_signWRITE

Sign a work permit via POST /workPermits/{id}/sign

api
maintainx_post_workrequestportalsWRITE

Create new work request portal via POST /workrequestportals

api
maintainx_post_workrequestsWRITE

Create work request via POST /workrequests

api

Put MaintainX behind one governed endpoint.

Same permissions, same audit trail, whatever else you connect next.