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 29 APIs on the APIs.io network, including Asset Criticalities API, Asset Custom Statuses API, Asset Statuses API, and 26 more. Tagged areas include Company, Physical Ai, Maintenance, CMMS, and Asset Management.

The MaintainX catalog on APIs.io includes 1 event-driven AsyncAPI specification.

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

57.8/100 developing ▬ flat Agent 78/100 agent native Full breakdown ↓
scored 2026-07-27 · rubric v0.5
AccessSelf serve
29 APIs 1 MCP Servers
CompanyPhysical AiMaintenanceCMMSAsset ManagementWork OrdersField ServiceManufacturingPreventive MaintenanceIoT

Kin Score

Kin Score Kin Score How this is scored →
scored 2026-07-27 · rubric v0.5
Composite quality — 57.8/100 · developing
Contract Quality 15.0 / 25
Developer Ergonomics 13.5 / 20
Commercial Clarity 12.1 / 20
Operational Transparency 7.2 / 13
Governance 0.0 / 12
Discoverability 10.0 / 10
Agent readiness — 78/100 · agent native
Machine-Readable Contract 18 / 18
Agentic Access Contract 15 / 15
MCP Server 12 / 12
Machine-Readable Auth 10 / 10
Idempotency 0 / 9
Stable Error Semantics 8 / 8
Request/Response Examples 0 / 7
Rate-Limit Signaling 7 / 7
Typed Event Surface 6 / 6
Agent Skills 5 / 5
Well-Known Catalog 0 / 4
Consent & Bot Identity 0 / 3
Improve this rating by publishing the missing artifacts — every area above can be raised, and the full rubric is at apis.io/rating/. This rating is computed from github.com/api-evangelist/maintainx: open an issue to ask a question, or submit a pull request to add artifacts. Want it done for you? Prioritized profiling — $2,500 →

APIs 29

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 ...

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

Scroll for all 29

MCP Servers 1

Model Context Protocol servers that expose these APIs to AI agents.

maintainx-mcp.yml

MCP SERVER

Rate Limits 1

Documented rate limits and quota policies.

Maintainx Rate Limits

0 limits

RATE LIMITS

Event Specifications 1

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

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 1

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 3

Pricing, plans, and the legal terms of use

Company 2

The organization behind the API

Other 1

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
accessModel:
  pricing: unknown
  onboarding: self-serve
  trial: false
  try_now: false
  public: false
  label: Self-serve signup
  confidence: medium
  source:
  - authentication
  generated: '2026-07-22'
  method: derived
specificationVersion: '0.20'
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
- 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:
  - 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:
  - 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:
  - 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:
  - 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:
  - 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
common:
- 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: MCPServer
  url: mcp/maintainx-mcp.yml
- 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