Work with this as data
Every API 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 apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.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.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/maintainx-conversations-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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.
OpenAPI Specification
openapi: 3.2.0
info:
description: 'Welcome to the MaintainX API documentation!
You can use the MaintainX API to programmatically interact with all the entities in MaintainX. Use it to retrieve and manage data of Work Orders, Work Requests, Assets, and more!
To get started, in your MaintainX account go to "Settings > Integrations" and click "+ New Key" button to generate a new Rest API key.
Missing something?
Don''t hesitate to reach out support@getmaintainx.com'
version: '1'
title: MaintainX Conversations API
contact:
url: https://www.getmaintainx.com/
name: Support
email: support@getmaintainx.com
x-logo:
url: https://maintainx-static.s3-us-west-2.amazonaws.com/img/default-org-logo.png
backgroundColor: '#FFFFFF'
altText: MaintainX logo
servers:
- url: https://api.getmaintainx.com/v1
description: Endpoint
security:
- Bearer: []
tags:
- name: Conversations
description: Operations on Conversations
x-traitTag: false
paths:
/conversations:
get:
summary: List conversations
description: Endpoint used to list conversation resources
parameters:
- name: cursor
in: query
schema:
description: Last pagination reference
type: string
- name: limit
in: query
schema:
description: max number of Conversations returned
type: integer
minimum: 1
maximum: 200
default: 100
- name: type
schema:
type: array
items:
type: string
enum:
- GROUP
- DM
- TEAM
title: conversation type filters
description: 'To filter by multiple type: `type=GROUP&type=TEAM`'
in: query
- name: onlyNamed
schema:
type: boolean
description: Will only show named group conversations and team conversation
in: query
- schema:
type: integer
description: Required if using a multi organizations token
name: x-organization-id
in: header
required: false
example: '1'
responses:
'200':
description: Successfully fetched Conversations list
content:
application/json:
schema:
type: object
required:
- conversations
properties:
conversations:
type: array
items:
type: object
required:
- id
- type
properties:
id:
type: number
description: Global ID of the conversation
type:
type: string
description: Type of conversation
enum:
- GROUP
- DM
- TEAM
name:
type:
- string
- 'null'
description: Display name of the conversation
nextCursor:
description: The cursor to retrieve the next page of Conversations.
type:
- string
- 'null'
nextPageUrl:
description: Path with query parameters that can be used to retrieve the next page of Conversations.
type:
- string
- 'null'
'400':
description: Error with query
content:
application/json:
schema:
type: object
required:
- error
properties:
error:
description: Description of error
type: string
'401':
$ref: '#/components/responses/UnauthorizedError'
tags:
- Conversations
operationId: getConversations
x-operation-id-source: derived
/conversations/{id}/members:
get:
summary: List conversation members
parameters:
- name: cursor
in: query
schema:
description: Last pagination reference
type: string
- name: limit
in: query
schema:
description: max number of Members returned
type: integer
minimum: 1
maximum: 200
default: 100
responses:
'200':
description: Successfully fetched Members list
content:
application/json:
schema:
type: object
required:
- members
properties:
members:
type: array
items:
type: object
required:
- id
- firstName
- lastName
properties:
id:
type: integer
example: 963
description: Global ID of the user
firstName:
type: string
example: John
lastName:
type: string
example: Doe
nextCursor:
description: The cursor to retrieve the next page of Members.
type:
- string
- 'null'
nextPageUrl:
description: Path with query parameters that can be used to retrieve the next page of Members.
type:
- string
- 'null'
'400':
description: Error with query
content:
application/json:
schema:
type: object
required:
- error
properties:
error:
description: Description of error
type: string
'401':
$ref: '#/components/responses/UnauthorizedError'
'404':
description: Cannot find the parent resource
content:
application/json:
schema:
type: object
required:
- error
properties:
error:
description: Description of error
type: string
tags:
- Conversations
operationId: getConversationsByIdMembers
x-operation-id-source: derived
/conversations/{id}/messages:
post:
summary: Create new message in a conversation
parameters:
- schema:
type: integer
name: id
in: path
required: true
description: ID of the conversation
example: '1'
- schema:
type: boolean
description: Set `skipWebhook=true`, `skipWebhook=1` or `skipWebhook=yes` to skip all webhooks upon successful operation on the endpoint. [Learn more about webhooks](#tag/Subscriptions-and-Webhooks)
name: skipWebhook
in: query
required: false
requestBody:
description: Message to create
required: true
content:
application/json:
schema:
type: object
required:
- content
properties:
content:
type: string
description: Content of the message to post
responses:
'201':
description: Successfully created the message
content:
application/json:
schema:
type: object
required:
- id
properties:
id:
type: number
description: Global ID of the message
'400':
description: Failed to create the message
content:
application/json:
schema:
type: object
required:
- errors
example:
errors:
- error: should have required property 'content'
fieldPath: content
properties:
errors:
type: array
items:
type: object
required:
- error
properties:
error:
type: string
fieldPath:
type:
- string
- 'null'
fieldValue:
oneOf:
- type: string
- type: number
- type: boolean
'401':
$ref: '#/components/responses/UnauthorizedError'
'404':
description: Could not find the specified conversation.
content:
application/json:
schema:
type: object
required:
- error
properties:
error:
type: string
example: conversation Not Found
tags:
- Conversations
operationId: postConversationsByIdMessages
x-operation-id-source: derived
components:
responses:
UnauthorizedError:
description: Invalid token
securitySchemes:
Bearer:
description: "\n <p>Authenticate by adding the following HTTP header to your requests:</p>\n<pre>Authorization: bearer {{token}}</pre>\n<p>The <code>token</code> can be generated in your MaintainX account. Go to <a href=\"https://app.getmaintainx.com/settings/integrations/apiKeys\">\"Settings > Integrations > API Keys\"</a> to generate a key for your user.</p>\n"
type: http
scheme: bearer
bearerFormat: JWT