MaintainX Conversations API

Operations on Conversations

Operations 3

GET /conversations List conversations #
GET /conversations/{id}/members List conversation members #
POST /conversations/{id}/messages Create new message in a conversation #

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.
All 92 tools →

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

maintainx-conversations-api-openapi.yml Raw ↑
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 &gt; Integrations &gt; API Keys\"</a> to generate a key for your user.</p>\n"
      type: http
      scheme: bearer
      bearerFormat: JWT