MaintainX website screenshot

MaintainX

MaintainX is a mobile-first computerized maintenance management system (CMMS) and enterprise asset management (EAM) platform for the industrial and frontline workforce. Teams use it to manage work orders, work requests, assets, parts inventory, purchase orders, meters, preventive maintenance plans, procedures, inspections, and vendors. The MaintainX REST API v1 (https://api.getmaintainx.com/v1) exposes all of these entities programmatically with Bearer (JWT) API-key authentication, cursor pagination, timestamp-based change polling, documented rate limits, and 46 webhook event types for real-time integration. Backed by Bain Capital Ventures and Bessemer Venture Partners.

MaintainX publishes 31 API contracts indexed on the APIs.io network, including Asset Criticalities API, Asset Custom Statuses API, Asset Statuses API, and 28 more. Tagged areas include Company, Physical AI, Maintenance, CMMS, and Asset Management.

The MaintainX catalog on APIs.io includes 1 event-driven AsyncAPI specification and 1 Spectral governance ruleset.

MaintainX’s developer surface includes documentation, API reference, getting-started guide, support, engineering blog, pricing, signup flow, and 28 more developer resources.

73.4/100 exemplar ▬ flat Agent 31/100 agent ready Front door AI 5/6 prominent Heartbeat 100/100 alive saas Full breakdown ↓
scored 2026-11-06 · rubric v0.27.0 · Show this score on your site →
AccessFreemiumSelf serve⚡ Free to try
1 published contract 2 Agent Skills
CompanyPhysical AIMaintenanceCMMSAsset ManagementWork OrdersField Service ManagementManufacturingPreventive MaintenanceIoT

What this lets a business do 6

Business capabilities this provider's published APIs can perform, derived from its own contracts. Browse all capabilities →

Plant Maintenance Management
BC-1030
Maintenance PlansMeter TriggersPart Transfer RequestsPartsRoot Cause Analysis ReportsWork Orders
POST /workorders GET /workorders GET /workorders/{id} GET /workorders/{id}/costs
Physical Asset Management
BC-1040
Asset CriticalitiesAsset Custom StatusesAsset StatusesAssets
GET /assetcriticalities GET /assetcriticalities/{id} POST /assets PATCH /assets/{id}
Infrastructure Maintenance Management
BC-5090
Maintenance PlansMeter TriggersWork OrdersWork Requests
POST /workorders POST /workorders/{id}/costs POST /maintenanceplans POST /maintenanceplans/workorderblueprints
Infrastructure Asset Management
BC-5070
Asset CriticalitiesAssets
POST /assets GET /assets PATCH /assets/{id} GET /assetcriticalities
Procurement Management
BC-500
Purchase Orders
POST /purchaseorders PATCH /purchaseorders/{id} PATCH /purchaseorders/{id}/fulfillment PATCH /purchaseorders/{id}/status
Supplier Management
BC-510
Vendors
POST /vendors POST /vendors/{id}/contacts

Kin Score

Kin Score Kin Score How this is scored →
scored 2026-11-06 · rubric v0.27.0
Regulatory Posture applies to this provider. Its tags matched the Horizontal (data, software, accessibility, platform) regime, so Regulatory Posture carries 15 points of the composite. If this regime is wrong for your business, say so on your provider repo — the applicability map is public and we will correct it.
Create-or-Update Ergonomics applies to this provider. This API accepts writes, so it carries 10 points of the composite. It is scored from the published contracts themselves: whether a caller can create-or-update in one call, whether the write accepts a key the caller already holds, and whether the response says which branch ran. Without that, every write needs a search-and-branch in front of it, and the first time that check is skipped a duplicate record is created. Scored against the observed mean rather than raw — a provider at the catalog average is unchanged by this facet, not penalised by it.
The six quality facets above are damped to 75 points between them, because the conditional facet above carries the other 25. That is why each facet's contribution is shown against a damped maximum: raising a quality facet moves the composite by 75% of its nominal weight, not 100%. The full arithmetic is at apis.io/rating/.
Show this score on your site. Kin Score badge preview for MaintainX It updates itself when the score changes. Paste this where you link to your API docs:
<a href="https://apis.io/providers/maintainx/"><img src="https://apis.io/badge/maintainx/card.svg" alt="MaintainX on APIs.io — Kin Score by API Evangelist"></a>
Other styles, a README pill and a shields.io endpoint are on the badge page.
Raise your score.
Agent readiness — checks not met, largest first (exact, from this profile):
  • MCP Server +12 pts — deployment.mode + probe verdict on the mcp/ manifest, not the pointer; an unprobed slug falls back to authorship
  • Idempotency +9 pts — OpenAPI mutating operations declare an idempotency key — a header, a request-body property, or a named de-duplication token whose own description says so (verified); else common[].type matches /idempoten/i (documented)
  • A2A Agent Card +8 pts — a2a/-a2a.yml manifest, graded on conformance.grade against A2A 1.0.0
  • Registration Without a Human +6 pts — a `registration_endpoint` in the served RFC 8414 / OIDC discovery document
  • Delegated User Identity +6 pts — a served discovery document listing authorization_code in grant_types_supported (served), else an oauth2 authorizationCode flow or openIdConnect declared in an OpenAPI (documented)
  • Documented Reversibility +6 pts — a reversal operation in the contract, graded up when a window is documented too
6 more unmet checks in the Agent Readiness table above.
Kin Score — facets with the most composite points still available (weight × headroom):
Each check links to what satisfies it. Publish the artifact, or tell us where it already lives, and the score moves on the next scoring run.
Improve this rating by publishing the missing artifacts — every area above can be raised, and the full rubric is at apis.io/rating/. Every facet and dimension name above is a link: it opens that measurement's own page — what it means, the exact checks that feed it, how the whole catalog distributes on it, and the providers at the top of it. This rating is computed from the provider profile at artifacts.apis.io/maintainx/apis.yml: open an issue on github.com/api-evangelist/maintainx to ask a question or point us at an artifact you publish. Submit an artifact on GitHub — free → Manage your own listing — the Influence plan, $499/mo →

Markets this provider is in provisional

The Kin Score Market layer reads a provider inside its market: its position, and how deep its integrations go. Depth is only comparable within a position. Provisional and unweighted: not part of the Kin Score or agent readiness.

MarketPositionDepthRegistered MCP serverDeclares compatibility
Industrial Automation and Robotics standard 25.2 - -

Registered MCP server and declares compatibility are report only — not weighted. Undeclared means we found nothing we can read, so there is no number: we never infer integrations.

Standards implemented 1

Standards this provider implements or carries. De facto ones are profiled and measured by the API Commons; formal ones come from the standards directory and are linked by the provider's own tags. The evidence column says how each claim was established — not that it was made.

measured — observed by APIs.io (published)

APIs 31

Individual APIs this provider publishes, each with its own machine-readable definition.

MaintainX Asset Criticalities API

Operations on Asset Criticalities

MaintainX Asset Custom Statuses API

Operations on Asset Custom Statuses

MaintainX Asset Statuses API

Operations on Asset Statuses

MaintainX Assets API

Operations on Assets

MaintainX Categories API

Operations on Categories

MaintainX Conversations API

Operations on Conversations

MaintainX Custom Fields API

Operations on Custom Fields

MaintainX Locations API

Operations on Locations

MaintainX Maintenance Plans API

Operations on Preventive Maintenance Plans

MaintainX Manufacturers API

Operations on Manufacturers and Models

MaintainX Meter Readings API

Operations on Meter Readings

MaintainX Meter Triggers API

Operations on Meter Triggers

MaintainX Meters API

Operations on Meters

MaintainX OpenAPI Documentation API

OpenAPI Specification Documentation

MaintainX Organizations API

Operations on Organizations

MaintainX Part Transfer Requests API

Operations on Part Transfer Requests

MaintainX Parts API

Operations on Parts

MaintainX Procedure Template Rows API

Operations on Procedure Template Rows

MaintainX Procedure Templates API

Operations on Procedure Templates

MaintainX Purchase Orders API

Operations on Purchase Orders

MaintainX Root Cause Analysis Reports API

Operations on Root Cause Analysis Reports

MaintainX Subscriptions & Webhooks API

Webhooks in MaintainX What are Webhooks? Webhooks are HTTP callbacks that allow different systems to communicate with each other in real-time. They're like automated messengers th

MaintainX Teams API

Operations on Teams

MaintainX Users API

Operations on Users

MaintainX Vendors API

Operations on Vendors

MaintainX Work Orders API

Operations on Work Orders

MaintainX Work Permits API

Operations for Work Permits

MaintainX Work Request Portals API

Operations on Work Request Portals

MaintainX Work Requests API

Operations on Work Requests

MaintainX Customers API

Operations on Customers

MaintainX Rotation Schedules API

Operations on Rotation Schedules (custom work rotations)

Scroll for all 31

Open Collections 29

Open, tool-agnostic API collections (OpenAPI-derived and Bruno).

Scroll for all 29

Agent Skills 2

Packaged agent skills for driving this provider's APIs from an AI assistant.

MaintainX API pricing

Prices published by MaintainX, read 2026-10-28 from www.getmaintainx.com/pricing.

PlanPrice
Basic $0 per user/month
Includes: Unlimited Work Orders, Unlimited Procedures, Unlimited requester users, Real-time messaging, 2 Work
Essential $20 per user*/month billed annually
Includes: Everything in Basic, plus unlimited Work Orders with attached images, unlimited repeating Work Order
Premium $65 per user*/month billed annually
Includes: Everything in Essential, plus unlimited Advanced Analytics, parts inventory, purchase orders, Open R
Enterprise Custom pricing
Includes: Everything in Premium, plus Asset Health Insights, Resource Planning, SSO, multi-site management, Ma

Plan details, limits and sources →

Billed by: user · FinOps profile →

Pricing Plans 2

Published pricing tiers and plan structures.

Rate Limits 1

Documented rate limits and quota policies.

Maintainx Rate Limits

6 limits

RATE LIMITS

Service Levels 1

Uptime the provider promises or reports, as SLA4OAI. Read from its own pages; APIs.io runs no monitors.

FinOps 1

Cost, billing, and metering signals for API financial operations.

Event Specifications 1

AsyncAPI definitions for this provider's event-driven and streaming APIs.

Spectral Rules 1

Spectral governance rulesets for linting and validating these APIs.

MaintainX API Rules

68 rules · 57 errors 10 warnings 1 info

SPECTRAL

OpenAPI Overlays 1

Overlays applied on top of this provider's contracts. Each card says who wrote it: a document the provider publishes, or one API Evangelist derived or generated.

Maintainx Openapi Overlay

2 actions · update · maintainx-openapi-original.json

DERIVED

Security Posture 3

Authentication, domain security, vulnerability disclosure, and trust-center signals.

Maintainx Authentication

http · 1 scheme

SECURITY

Maintainx Domain Security

TLSv1.3 · DMARC

SECURITY

Maintainx Trust Center

SOC 2 Type II, ISO/IEC 27001:2022, GDPR

SECURITY

Agentic Access 1

Recommended x-agentic-access execution contracts for AI agents.

Maintainx Agentic Access

169 operations · 113 acting

169 operations · 113 acting

AGENTIC

Resources

Get Started 4

Portal, sign-up, and the first successful call

Documentation 2

Reference material describing how the API behaves

Agent Surfaces 4

MCP servers, agent skills, and machine-readable catalogs

Design & Contract 6

Pagination, idempotency, versioning, errors, and events

Build 2

SDKs, sample code, and the tooling you integrate with

Access & Security 5

Authentication, authorization, and security posture

Operate 4

Status, limits, changes, and where to get help

Commercial 4

Pricing, plans, and the legal terms of use

Company 2

The organization behind the API

Other 2

Properties that don't map to a standard resource type

Source (apis.yml)

apis.yml Raw ↑
aid: maintainx
name: MaintainX
description: MaintainX is a mobile-first computerized maintenance management system (CMMS) and enterprise asset management
  (EAM) platform for the industrial and frontline workforce. Teams use it to manage work orders, work requests, assets, parts
  inventory, purchase orders, meters, preventive maintenance plans, procedures, inspections, and vendors. The MaintainX REST
  API v1 (https://api.getmaintainx.com/v1) exposes all of these entities programmatically with Bearer (JWT) API-key authentication,
  cursor pagination, timestamp-based change polling, documented rate limits, and 46 webhook event types for real-time integration.
  Backed by Bain Capital Ventures and Bessemer Venture Partners.
url: https://raw.githubusercontent.com/api-evangelist/maintainx/refs/heads/main/apis.yml
x-type: company
x-source: vc-portfolio
x-backed-by:
- bain-capital-ventures
- bessemer-venture-partners
x-tier: profiled
x-tier-reason: has-public-api
deliveryModel:
  model: saas
  open_source: false
  commercial: true
  callable_host: true
  label: Hosted service · you call their endpoint
  confidence: high
  source:
  - openapi
  - pricing
  generated: '2026-08-28'
  method: derived
accessModel:
  pricing: freemium
  onboarding: self-serve
  trial: false
  try_now: true
  public: false
  gated: none
  gated_source:
  - onboarding
  label: Freemium · Self-serve signup
  confidence: high
  source:
  - plans
  - authentication
  - rate-limits
  - security
  generated: '2026-11-06'
  method: derived
specificationVersion: '0.23'
created: '2026-07-17'
modified: '2026-07-20'
x-enrichment:
  date: '2026-07-20'
  status: enriched
  artifacts_added: 20
  pass: local-v1
image: https://cdn.prod.website-files.com/65ae6673d2c6ecb99ee249d1/682cc13bc85b61fe2f91f274_Website%20Open%20Graph%20Image%20(1).webp
tags:
- Company
- Physical AI
- Maintenance
- CMMS
- Asset Management
- Work Orders
- Field Service Management
- Manufacturing
- Preventive Maintenance
- IoT
tags_raw:
- Company
- Physical Ai
- Maintenance
- CMMS
- Asset Management
- Work Orders
- Field Service
- Manufacturing
- Preventive Maintenance
- IoT
maintainers:
- FN: Kin Lane
  email: kin@apievangelist.com
- FN: APIs.json
  email: info@apis.io
apis:
- aid: maintainx:maintainx-asset-criticalities-api
  name: MaintainX Asset Criticalities API
  description: Operations on Asset Criticalities
  humanURL: https://api.getmaintainx.com/v1/docs
  baseURL: https://api.getmaintainx.com/v1
  tags:
  - Asset Criticalities
  properties:
  - type: OpenAPI
    url: openapi/maintainx-asset-criticalities-api-openapi.yml
  - type: Documentation
    url: https://api.getmaintainx.com/v1/docs
  - type: APIReference
    url: https://api.getmaintainx.com/v1/docs
- aid: maintainx:maintainx-asset-custom-statuses-api
  name: MaintainX Asset Custom Statuses API
  description: Operations on Asset Custom Statuses
  humanURL: https://api.getmaintainx.com/v1/docs
  baseURL: https://api.getmaintainx.com/v1
  tags:
  - Asset Custom Statuses
  properties:
  - type: OpenAPI
    url: openapi/maintainx-asset-custom-statuses-api-openapi.yml
  - type: Documentation
    url: https://api.getmaintainx.com/v1/docs
  - type: APIReference
    url: https://api.getmaintainx.com/v1/docs
- aid: maintainx:maintainx-asset-statuses-api
  name: MaintainX Asset Statuses API
  description: Operations on Asset Statuses
  humanURL: https://api.getmaintainx.com/v1/docs
  baseURL: https://api.getmaintainx.com/v1
  tags:
  - Asset Statuses
  properties:
  - type: OpenAPI
    url: openapi/maintainx-asset-statuses-api-openapi.yml
  - type: Documentation
    url: https://api.getmaintainx.com/v1/docs
  - type: APIReference
    url: https://api.getmaintainx.com/v1/docs
- aid: maintainx:maintainx-assets-api
  name: MaintainX Assets API
  description: Operations on Assets
  humanURL: https://api.getmaintainx.com/v1/docs
  baseURL: https://api.getmaintainx.com/v1
  tags:
  - Assets
  properties:
  - type: OpenAPI
    url: openapi/maintainx-assets-api-openapi.yml
  - type: Documentation
    url: https://api.getmaintainx.com/v1/docs
  - type: APIReference
    url: https://api.getmaintainx.com/v1/docs
- aid: maintainx:maintainx-categories-api
  name: MaintainX Categories API
  description: Operations on Categories
  humanURL: https://api.getmaintainx.com/v1/docs
  baseURL: https://api.getmaintainx.com/v1
  tags:
  - Categories
  properties:
  - type: OpenAPI
    url: openapi/maintainx-categories-api-openapi.yml
  - type: Documentation
    url: https://api.getmaintainx.com/v1/docs
  - type: APIReference
    url: https://api.getmaintainx.com/v1/docs
- aid: maintainx:maintainx-conversations-api
  name: MaintainX Conversations API
  description: Operations on Conversations
  humanURL: https://api.getmaintainx.com/v1/docs
  baseURL: https://api.getmaintainx.com/v1
  tags:
  - Conversations
  properties:
  - type: OpenAPI
    url: openapi/maintainx-conversations-api-openapi.yml
  - type: Documentation
    url: https://api.getmaintainx.com/v1/docs
  - type: APIReference
    url: https://api.getmaintainx.com/v1/docs
- aid: maintainx:maintainx-custom-fields-api
  name: MaintainX Custom Fields API
  description: Operations on Custom Fields
  humanURL: https://api.getmaintainx.com/v1/docs
  baseURL: https://api.getmaintainx.com/v1
  tags:
  - Custom Fields
  properties:
  - type: OpenAPI
    url: openapi/maintainx-custom-fields-api-openapi.yml
  - type: Documentation
    url: https://api.getmaintainx.com/v1/docs
  - type: APIReference
    url: https://api.getmaintainx.com/v1/docs
- aid: maintainx:maintainx-locations-api
  name: MaintainX Locations API
  description: Operations on Locations
  humanURL: https://api.getmaintainx.com/v1/docs
  baseURL: https://api.getmaintainx.com/v1
  tags:
  - Location
  tags_raw:
  - Locations
  properties:
  - type: OpenAPI
    url: openapi/maintainx-locations-api-openapi.yml
  - type: Documentation
    url: https://api.getmaintainx.com/v1/docs
  - type: APIReference
    url: https://api.getmaintainx.com/v1/docs
- aid: maintainx:maintainx-maintenance-plans-api
  name: MaintainX Maintenance Plans API
  description: Operations on Preventive Maintenance Plans
  humanURL: https://api.getmaintainx.com/v1/docs
  baseURL: https://api.getmaintainx.com/v1
  tags:
  - Maintenance Plans
  properties:
  - type: OpenAPI
    url: openapi/maintainx-maintenance-plans-api-openapi.yml
  - type: Documentation
    url: https://api.getmaintainx.com/v1/docs
  - type: APIReference
    url: https://api.getmaintainx.com/v1/docs
- aid: maintainx:maintainx-manufacturers-api
  name: MaintainX Manufacturers API
  description: Operations on Manufacturers and Models
  humanURL: https://api.getmaintainx.com/v1/docs
  baseURL: https://api.getmaintainx.com/v1
  tags:
  - Manufacturer
  tags_raw:
  - Manufacturers
  properties:
  - type: OpenAPI
    url: openapi/maintainx-manufacturers-api-openapi.yml
  - type: Documentation
    url: https://api.getmaintainx.com/v1/docs
  - type: APIReference
    url: https://api.getmaintainx.com/v1/docs
- aid: maintainx:maintainx-meter-readings-api
  name: MaintainX Meter Readings API
  description: Operations on Meter Readings
  humanURL: https://api.getmaintainx.com/v1/docs
  baseURL: https://api.getmaintainx.com/v1
  tags:
  - Meter Readings
  properties:
  - type: OpenAPI
    url: openapi/maintainx-meter-readings-api-openapi.yml
  - type: Documentation
    url: https://api.getmaintainx.com/v1/docs
  - type: APIReference
    url: https://api.getmaintainx.com/v1/docs
- aid: maintainx:maintainx-meter-triggers-api
  name: MaintainX Meter Triggers API
  description: Operations on Meter Triggers
  humanURL: https://api.getmaintainx.com/v1/docs
  baseURL: https://api.getmaintainx.com/v1
  tags:
  - Meter Triggers
  properties:
  - type: OpenAPI
    url: openapi/maintainx-meter-triggers-api-openapi.yml
  - type: Documentation
    url: https://api.getmaintainx.com/v1/docs
  - type: APIReference
    url: https://api.getmaintainx.com/v1/docs
- aid: maintainx:maintainx-meters-api
  name: MaintainX Meters API
  description: Operations on Meters
  humanURL: https://api.getmaintainx.com/v1/docs
  baseURL: https://api.getmaintainx.com/v1
  tags:
  - Meters
  properties:
  - type: OpenAPI
    url: openapi/maintainx-meters-api-openapi.yml
  - type: Documentation
    url: https://api.getmaintainx.com/v1/docs
  - type: APIReference
    url: https://api.getmaintainx.com/v1/docs
- aid: maintainx:maintainx-openapi-documentation-api
  name: MaintainX OpenAPI Documentation API
  description: OpenAPI Specification Documentation
  humanURL: https://api.getmaintainx.com/v1/docs
  baseURL: https://api.getmaintainx.com/v1
  tags:
  - OpenAPI Documentation
  properties:
  - type: OpenAPI
    url: openapi/maintainx-openapi-documentation-api-openapi.yml
  - type: Documentation
    url: https://api.getmaintainx.com/v1/docs
  - type: APIReference
    url: https://api.getmaintainx.com/v1/docs
- aid: maintainx:maintainx-organizations-api
  name: MaintainX Organizations API
  description: Operations on Organizations
  humanURL: https://api.getmaintainx.com/v1/docs
  baseURL: https://api.getmaintainx.com/v1
  tags:
  - Organization
  tags_raw:
  - Organizations
  properties:
  - type: OpenAPI
    url: openapi/maintainx-organizations-api-openapi.yml
  - type: Documentation
    url: https://api.getmaintainx.com/v1/docs
  - type: APIReference
    url: https://api.getmaintainx.com/v1/docs
- aid: maintainx:maintainx-part-transfer-requests-api
  name: MaintainX Part Transfer Requests API
  description: Operations on Part Transfer Requests
  humanURL: https://api.getmaintainx.com/v1/docs
  baseURL: https://api.getmaintainx.com/v1
  tags:
  - Part Transfer Requests
  properties:
  - type: OpenAPI
    url: openapi/maintainx-part-transfer-requests-api-openapi.yml
  - type: Documentation
    url: https://api.getmaintainx.com/v1/docs
  - type: APIReference
    url: https://api.getmaintainx.com/v1/docs
- aid: maintainx:maintainx-parts-api
  name: MaintainX Parts API
  description: Operations on Parts
  humanURL: https://api.getmaintainx.com/v1/docs
  baseURL: https://api.getmaintainx.com/v1
  tags:
  - Parts
  properties:
  - type: OpenAPI
    url: openapi/maintainx-parts-api-openapi.yml
  - type: Documentation
    url: https://api.getmaintainx.com/v1/docs
  - type: APIReference
    url: https://api.getmaintainx.com/v1/docs
- aid: maintainx:maintainx-procedure-template-rows-api
  name: MaintainX Procedure Template Rows API
  description: Operations on Procedure Template Rows
  humanURL: https://api.getmaintainx.com/v1/docs
  baseURL: https://api.getmaintainx.com/v1
  tags:
  - Procedure Template Rows
  properties:
  - type: OpenAPI
    url: openapi/maintainx-procedure-template-rows-api-openapi.yml
  - type: Documentation
    url: https://api.getmaintainx.com/v1/docs
  - type: APIReference
    url: https://api.getmaintainx.com/v1/docs
- aid: maintainx:maintainx-procedure-templates-api
  name: MaintainX Procedure Templates API
  description: Operations on Procedure Templates
  humanURL: https://api.getmaintainx.com/v1/docs
  baseURL: https://api.getmaintainx.com/v1
  tags:
  - Procedure Templates
  properties:
  - type: OpenAPI
    url: openapi/maintainx-procedure-templates-api-openapi.yml
  - type: Documentation
    url: https://api.getmaintainx.com/v1/docs
  - type: APIReference
    url: https://api.getmaintainx.com/v1/docs
- aid: maintainx:maintainx-purchase-orders-api
  name: MaintainX Purchase Orders API
  description: Operations on Purchase Orders
  humanURL: https://api.getmaintainx.com/v1/docs
  baseURL: https://api.getmaintainx.com/v1
  tags:
  - Purchase Orders
  properties:
  - type: OpenAPI
    url: openapi/maintainx-purchase-orders-api-openapi.yml
  - type: Documentation
    url: https://api.getmaintainx.com/v1/docs
  - type: APIReference
    url: https://api.getmaintainx.com/v1/docs
- aid: maintainx:maintainx-root-cause-analysis-reports-api
  name: MaintainX Root Cause Analysis Reports API
  description: Operations on Root Cause Analysis Reports
  humanURL: https://api.getmaintainx.com/v1/docs
  baseURL: https://api.getmaintainx.com/v1
  tags:
  - Root Cause Analysis Reports
  properties:
  - type: OpenAPI
    url: openapi/maintainx-root-cause-analysis-reports-api-openapi.yml
  - type: Documentation
    url: https://api.getmaintainx.com/v1/docs
  - type: APIReference
    url: https://api.getmaintainx.com/v1/docs
- aid: maintainx:maintainx-subscriptions-webhooks-api
  name: MaintainX Subscriptions & Webhooks API
  description: "<h1>Webhooks in MaintainX</h1>\n\n<h2>What are Webhooks?</h2>\n<p>Webhooks are HTTP callbacks that allow different\
    \ systems to communicate with each other in real-time. They're like automated messengers that deliver information when\
    \ something happens, rather than requiring you to ask for it.</p>\n\n<p>In the context of MaintainX, webhooks are a way\
    \ for our system to automatically notify your application when specific events occur in your account. Instead of your\
    \ application repeatedly checking our API for updates (a process known as \"polling\"), webhooks allow you to receive\
    \ real-time notifications about important events like:</p>\n<ul>\n  <li>Work order status changes</li>\n  <li>New work\
    \ orders being created</li>\n  <li>Asset updates</li>\n  <li>And more...</li>\n</ul>\n\n<p>When an event occurs, MaintainX\
    \ sends an HTTP POST request to the endpoint you specify. The request contains details about the event. It allows your\
    \ application to react immediately to changes in MaintainX.</p>\n\n<h2>Set Up Webhooks</h2>\n<p>You can configure webhooks\
    \ the following ways:</p>\n\n<h3>From the MaintainX Web Application</h3>\n<p>For a quick setup, you can configure webhooks\
    \ in the MaintainX web application:</p>\n<ol>\n  <li>From the sidebar, select <code>Settings > Integrations</code>. Then,\
    \ on the Integrations page,\nselect <code>Webhooks</code></li>\n  <li>Click <b>+ New Webhook</b></li>\n  <li>Configure\
    \ a webhook endpoint and select the events you want to receive</li>\n  <li>Save the configuration</li>\n</ol>\n\n<h3>Via\
    \ the REST API</h3>\n<p>You can configure webhooks using our REST API if you want to integrate with MaintainX in a programmatic\
    \ way. The API allows you to:</p>\n<ul>\n  <li>Create new webhook subscriptions.</li>\n  <li>Update webhook configurations.</li>\n\
    \  <li>Delete webhook subscriptions.</li>\n  <li>Retrieve webhook secrets.</li>\n</ul>\n\n<div class=\"warning-box\">\n\
    \  <strong>⚠️ Warning</strong>\n\n  Webhooks that don't get a successful response from your application over long periods\
    \ of time might\nbe deleted. A webhook call will timeout after 10 seconds.\n  When a webhook is deleted, we send an email\
    \ to the address linked to the user account that made\nthe request. </div>\n\n<h2>Security and Verification</h2>\n<p>To\
    \ verify that webhook requests come from MaintainX and haven't been tampered with, we include security signatures in each\
    \ webhook request. This section explains how to verify these signatures.</p>\n\n<h3>Verify Webhook Signatures</h3>\n<p>All\
    \ webhook HTTP requests sent by MaintainX include two headers containing a timestamp and an HMAC signature that must be\
    \ validated by your application:</p>\n<ul>\n  <li><code>x-maintainx-webhook-body-signature</code></li>\n  <li><code>x-maintainx-webhook-uri-signature</code></li>\n\
    </ul>\n\n<div class=\"note-box\">\n  <strong>ℹ️ Note</strong>\n  <p>When creating a webhook, you'll receive a secret that\
    \ should be securely stored on your end.\nThis secret is essential for signature verification and can also be accessed\
    \ later through the MaintainX interface if needed.</p> </div>\n\n<p>The timestamp is prefixed by <code>t=</code>. Each\
    \ signature is prefixed by a scheme version. Scheme versions start with <code>v</code>, followed by an integer. The only\
    \ valid live signature version is <code>v1</code>.</p>\n\n<pre>x-maintainx-webhook-body-signature: t=<b>&lt;timestamp&gt;</b>,v1=<b>&lt;signature&gt;</b></pre>\n\
    \n<h3>Signature Verification Process</h3>\n<p>MaintainX generates signatures using a hash-based message authentication\
    \ code (HMAC) with SHA-256. Here are the steps to verify a webhook signature:</p>\n\n<ol>\n  <li><b>Extract the timestamp\
    \ and signatures from the header</b>\n    <ol>\n      <li>Split the header, using the <code>,</code> character as the\
    \ separator, to get a list of\nelements.</li>\n      <li>Split each element, using the <code>=</code> character as the\
    \ separator, to get a prefix\nand value pair.\n      The value for the prefix <code>t</code> corresponds to the timestamp,\
    \ and <code>v1</code> corresponds\nto the signature.\n      You can discard all other elements.</li>\n    </ol>\n  </li>\n\
    \n  <li><b>To prepare the signed payload string, concatenate the following:</b>\n    <ol>\n      <li>The timestamp (as\
    \ a string)</li>\n      <li>The character <code>.</code></li>\n      <li>The actual JSON payload (that is, the request\
    \ body, or the full URI)</li>\n    </ol>\n    <pre><b>&lt;timestamp&gt;</b>.<b>&lt;stringified payload&gt;</b></pre>\n\
    \  </li>\n\n  <li><b>Determine the expected signature</b>\n    <ol>\n      <li>Retrieve the secret for your endpoint.\
    \ Visit [https://app.getmaintainx.com/settings/integrations](https://app.getmaintainx.com/settings/integrations),\nfind\
    \ the endpoint you want, and select <b>Copy secret</b>.</li>\n      <li>Compute an HMAC with the SHA256 hash function.</li>\n\
    \      <li>Use the endpoint's signing secret as the key.</li>\n      <li>Use the <code>signed_payload</code> string as\
    \ the message.</li>\n    </ol>\n    <pre>crypto.createHmac(\"sha256\", secret).update('<b>&lt;timestamp&gt;</b>.<b>&lt;stringified\
    \ payload&gt;</b>',\n\"utf8\").digest(\"hex\")</pre>\n  </li>\n\n  <li><b>Compare the signatures</b>\n    <ol>\n     \
    \ <li>Compare the signature in the header to the expected signature.</li>\n      <li>For an equality match, compute the\
    \ difference between the current timestamp and the received\ntimestamp.</li>\n      <li>Decide whether the difference\
    \ is within your tolerance. We recommend a tolerance of 5 minutes\nto allow for clock drift and processing delays. Webhooks\
    \ with timestamps older than your tolerance window should be rejected to prevent replay attacks.</li>\n    </ol>\n  </li>\n\
    </ol>\n\n<h2>Best Practices</h2>\n<ul>\n  <li>Always verify webhook signatures to ensure requests are genuine (see Security\
    \ and Verification\nsection above).</li>\n  <li>Return a 2xx status code as quickly as possible to acknowledge receipt\
    \ (our webhooks will timeout\nafter 10 seconds).</li>\n  <li>Process webhook events asynchronously after acknowledging\
    \ receipt.</li>\n  <li>Implement proper error handling for failed webhook deliveries.</li>\n  <li>Implement retry logic\
    \ in your application to handle temporary failures.</li>\n  <li>Implement idempotency in your webhook handler to prevent\
    \ duplicate processing of the same event.</li>\n  <li>Set up monitoring for your webhook endpoint to detect failures.</li>\n\
    \  <li>Consider using a webhook testing tool during development to simulate events.</li>\n</ul>\n\n<h2>Limitations</h2>\n\
    <ul>\n  <li>Webhook URLs are currently limited to a maximum of 512 characters</li>\n</ul>\n\n<h2>Need Help?</h2>\n<p>If\
    \ you need help implementing webhooks or troubleshooting, contact our Support team from the MaintainX web application.\
    \ From the sidebar, select <strong>Support</strong>, then select <strong>Contact Support</strong>.</p>\n\n<style>\n  .info-box\
    \ {\n    padding: 10px 15px;\n    margin: 15px 0;\n    background-color: #eef9fc;\n    border-left: 4px solid #4bb3d4;\n\
    \    color: #193c47;\n    border-radius: 4px;\n  }\n</style>\n\n<style>\n  .note-box {\n    padding: 10px 15px;\n    margin:\
    \ 15px 0;\n    background-color: #fdfdfe;\n    border-left: 4px solid #d4d5d8;\n    color: #474748;\n    border-radius:\
    \ 4px;\n  }\n</style>\n\n<style>\n  .tip-box {\n    padding: 10px 15px;\n    margin: 15px 0;\n    background-color: #e6f5e6;\n\
    \    border-left: 4px solid #009400;\n    color: #013100;\n    border-radius: 4px;\n  }\n</style>\n\n<style>\n  .warning-box\
    \ {\n    padding: 10px 15px;\n    margin: 15px 0;\n    background-color: #fff8e6;\n    border-left: 4px solid #e6a700;\n\
    \    color: #4d3800;\n    border-radius: 4px;\n  }\n</style>\n\n<style>\n  .danger-box {\n    padding: 10px 15px;\n  \
    \  margin: 15px 0;\n    background-color: #ffebec;\n    border-left: 4px solid #e13238;\n    color: #4b1013;\n    border-radius:\
    \ 4px;\n  }\n</style>"
  humanURL: https://api.getmaintainx.com/v1/docs
  baseURL: https://api.getmaintainx.com/v1
  tags:
  - Subscriptions & Webhooks
  properties:
  - type: OpenAPI
    url: openapi/maintainx-subscriptions-webhooks-api-openapi.yml
  - type: Documentation
    url: https://api.getmaintainx.com/v1/docs
  - type: APIReference
    url: https://api.getmaintainx.com/v1/docs
- aid: maintainx:maintainx-teams-api
  name: MaintainX Teams API
  description: Operations on Teams
  humanURL: https://api.getmaintainx.com/v1/docs
  baseURL: https://api.getmaintainx.com/v1
  tags:
  - Team
  tags_raw:
  - Teams
  properties:
  - type: OpenAPI
    url: openapi/maintainx-teams-api-openapi.yml
  - type: Documentation
    url: https://api.getmaintainx.com/v1/docs
  - type: APIReference
    url: https://api.getmaintainx.com/v1/docs
- aid: maintainx:maintainx-users-api
  name: MaintainX Users API
  description: Operations on Users
  humanURL: https://api.getmaintainx.com/v1/docs
  baseURL: https://api.getmaintainx.com/v1
  tags:
  - User
  tags_raw:
  - Users
  properties:
  - type: OpenAPI
    url: openapi/maintainx-users-api-openapi.yml
  - type: Documentation
    url: https://api.getmaintainx.com/v1/docs
  - type: APIReference
    url: https://api.getmaintainx.com/v1/docs
- aid: maintainx:maintainx-vendors-api
  name: MaintainX Vendors API
  description: Operations on Vendors
  humanURL: https://api.getmaintainx.com/v1/docs
  baseURL: https://api.getmaintainx.com/v1
  tags:
  - Vendors
  properties:
  - type: OpenAPI
    url: openapi/maintainx-vendors-api-openapi.yml
  - type: Documentation
    url: https://api.getmaintainx.com/v1/docs
  - type: APIReference
    url: https://api.getmaintainx.com/v1/docs
- aid: maintainx:maintainx-work-orders-api
  name: MaintainX Work Orders API
  description: Operations on Work Orders
  humanURL: https://api.getmaintainx.com/v1/docs
  baseURL: https://api.getmaintainx.com/v1
  tags:
  - Work Orders
  properties:
  - type: OpenAPI
    url: openapi/maintainx-work-orders-api-openapi.yml
  - type: Documentation
    url: https://api.getmaintainx.com/v1/docs
  - type: APIReference
    url: https://api.getmaintainx.com/v1/docs
- aid: maintainx:maintainx-work-permits-api
  name: MaintainX Work Permits API
  description: Operations for Work Permits
  humanURL: https://api.getmaintainx.com/v1/docs
  baseURL: https://api.getmaintainx.com/v1
  tags:
  - Work Permits
  properties:
  - type: OpenAPI
    url: openapi/maintainx-work-permits-api-openapi.yml
  - type: Documentation
    url: https://api.getmaintainx.com/v1/docs
  - type: APIReference
    url: https://api.getmaintainx.com/v1/docs
- aid: maintainx:maintainx-work-request-portals-api
  name: MaintainX Work Request Portals API
  description: Operations on Work Request Portals
  humanURL: https://api.getmaintainx.com/v1/docs
  baseURL: https://api.getmaintainx.com/v1
  tags:
  - Work Request Portals
  properties:
  - type: OpenAPI
    url: openapi/maintainx-work-request-portals-api-openapi.yml
  - type: Documentation
    url: https://api.getmaintainx.com/v1/docs
  - type: APIReference
    url: https://api.getmaintainx.com/v1/docs
- aid: maintainx:maintainx-work-requests-api
  name: MaintainX Work Requests API
  description: Operations on Work Requests
  humanURL: https://api.getmaintainx.com/v1/docs
  baseURL: https://api.getmaintainx.com/v1
  tags:
  - Work Requests
  properties:
  - type: OpenAPI
    url: openapi/maintainx-work-requests-api-openapi.yml
  - type: Documentation
    url: https://api.getmaintainx.com/v1/docs
  - type: APIReference
    url: https://api.getmaintainx.com/v1/docs
- aid: maintainx:maintainx-customers-api
  name: MaintainX Customers API
  description: Operations on Customers
  humanURL: https://api.getmaintainx.com/v1/docs
  baseURL: https://api.getmaintainx.com/v1
  tags:
  - Customers
  properties:
  - type: OpenAPI
    url: openapi/maintainx-customers-api-openapi.yml
- aid: maintainx:maintainx-rotation-schedules-api
  name: MaintainX Rotation Schedules API
  description: Operations on Rotation Schedules (custom work rotations)
  humanURL: https://api.getmaintainx.com/v1/docs
  baseURL: https://api.getmaintainx.com/v1
  tags:
  - Rotation Schedules
  properties:
  - type: OpenAPI
    url: openapi/maintainx-rotation-schedules-api-openapi.yml
common:
- type: Plans
  url: plans/maintainx-plans-pricing.yml
- type: PostmanWorkspace
  url: https://www.postman.com/kinlaneapi/maintainx/overview
- type: CapabilityMap
  url: capabilities/maintainx-capability-edges.yml
  name: MaintainX Business Capability Map
- type: Website
  url: https://www.getmaintainx.com/
- type: DeveloperPortal
  url: https://api.getmaintainx.com/v1/docs
- type: Documentation
  url: https://api.getmaintainx.com/v1/docs
- type: APIReference
  url: https://api.getmaintainx.com/v1/docs
- type: GettingStarted
  url: https://api.getmaintainx.com/v1/docs
- type: Support
  url: https://help.getmaintainx.com
- type: Blog
  url: https://www.getmaintainx.com/blog
- type: GitHubOrganization
  url: https://github.com/maintainx
- type: Pricing
  url: https://www.getmaintainx.com/pricing
- type: SignUp
  url: https://app.getmaintainx.com/signup
- type: Login
  url: https://app.getmaintainx.com/login
- type: TermsOfService
  url: https://www.getmaintainx.com/terms-of-service
- type: PrivacyPolicy
  url: https://www.getmaintainx.com/privacy-policy
- type: StatusPage
  url: https://status.getmaintainx.com
- type: ChangeLog
  url: changelog/maintainx-changelog.yml
- type: Security
  url: https://www.getmaintainx.com/security
- type: TrustCenter
  url: https://trust.getmaintainx.com
- type: Compliance
  url: https://www.getmaintainx.com/security
- type: LLMsTxt
  url: llms/maintainx-llms.txt
- type: RateLimits
  url: rate-limits/maintainx-rate-limits.yml
- type: Webhooks
  url: asyncapi/maintainx-webhooks.yml
- type: X-MCPServerCandidate
  url: mcp/maintainx-mcp.yml
  note: 'Renamed from MCPServer 2026-09-03 (roadmap#247): the manifest self-describes as status: candidate — a tool list derived
    from the published API contracts, not an existing server. The scorer already read the manifest and reported mcp_server
    correctly; the MCPServer type was crediting the artifact-type surfaces with a server that does not exist.'
- type: Conventions
  url: conventions/maintainx-conventions.yml
- type: ErrorCatalog
  url: errors/maintainx-problem-types.yml
- type: Lifecycle
  url: lifecycle/maintainx-lifecycle.yml
- type: Conformance
  url: conformance/maintainx-conformance.yml
- type: DataModel
  url: data-model/maintainx-data-model.yml
- type: Overlay
  url: overlays/maintainx-openapi-overlay.yaml
- type: AgentSkill
  url: skills/_index.yml
- type: DomainSecurity
  url: security/maintainx-domain-security.yml
- type: AgenticAccess
  url: agentic-access/maintainx-agentic-access.yml
- type: Authentication
  url: authentication/maintainx-authentication.yml

MaintainX API — frequently asked questions

Does MaintainX have an API?

Yes. APIs.io lists 31 APIs from MaintainX, including MaintainX Asset Criticalities API, MaintainX Asset Custom Statuses API and MaintainX Asset Statuses API, and 28 more.

Is there an OpenAPI specification for the MaintainX API?

Yes. APIs.io indexes 31 OpenAPI specifications for MaintainX, each linked for download from this page.

How do I authenticate with the MaintainX API?

MaintainX uses bearer-token authentication (http · 1 scheme). The details are profiled on APIs.io as Maintainx Authentication.

How much does the MaintainX API cost?

MaintainX publishes its prices; its Basic plan is $0 per user/month as of 2026-10-28. APIs.io lists 4 pricing plans for MaintainX, with each plan's price, limits and inclusions under Pricing on this page.

Is the MaintainX API ready for AI agents?

MaintainX has a Kin Score of 73.4 out of 100 (exemplar) and an Agent Readiness score of 31.1 (agent-ready), scored by API Evangelist on 2026-11-06.

Work with this as data

Every provider here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for providers

9 MCP tools reach this
  • find_providersBrowse and filter every provider in the catalog.
  • get_provider_artifactsEvery artifact this provider publishes, grouped by type.
  • get_provider_operationsEvery operation across all of their OpenAPIs — one call instead of parsing every spec.
  • get_provider_toolsEvery MCP tool they ship, with the operation each wraps.
  • get_provider_evidenceHow each part of their score was established. Free — the basis for a claim should not sit behind it.
  • get_provider_ratingPRO — composite, band, trend and facet scores.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This provider
curl "https://apis.io/api/v1/providers/maintainx"
All providers
curl "https://apis.io/api/v1/providers?limit=25"
Every operation they expose
curl "https://apis.io/api/v1/providers/maintainx/operations?limit=25"
How their score was established
curl "https://apis.io/api/v1/providers/maintainx/evidence"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.