Arthur Online Messages API

The Messages API from Arthur Online — 2 operation(s) for messages.

Operations 3

GET /conversations/{conversation_id}/messages List Messages Related To Conversation #
POST /conversations/{conversation_id}/messages Add Messages Related To Conversation #
GET /conversations/{conversation_id}/messages/{message_id} View Message Related To 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/arthur-online-messages-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

arthur-online-messages-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Arthur Conversations Messages API
  version: 2.0.0
  description: Arthur Conversations API - the conversations surface of the Arthur API v2, the UK property management platform from Arthur Online (an Aareon company). Derived operation-for-operation from the provider's public Postman Documenter collection at https://developer.arthuronline.co.uk/. Every request is scoped to an Arthur entity via the mandatory X-EntityID header and authorised with an OAuth 2.0 Authorization Code access token.
  contact:
    name: Arthur Online API Support
    url: https://support.arthuronline.co.uk/
  termsOfService: https://www.arthuronline.co.uk/terms-and-conditions/
  x-derived-from: collections/arthur-online.postman_collection.json
  x-derived-by: API Evangelist enrichment pipeline
  x-derived-date: '2026-07-26'
servers:
- url: https://api.arthuronline.co.uk/v2
  description: Arthur API v2 production
security:
- arthurOAuth: []
tags:
- name: Messages
paths:
  /conversations/{conversation_id}/messages:
    get:
      operationId: listMessagesRelatedToConversation
      summary: List Messages Related To Conversation
      tags:
      - Messages
      parameters:
      - name: conversation_id
        in: path
        required: true
        description: Arthur conversation id.
        schema:
          type: integer
      - $ref: '#/components/parameters/EntityId'
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/Sort'
      - $ref: '#/components/parameters/Direction'
      description: This retrieves a list of messages related to a conversation id .
      responses:
        '200':
          description: The request was completed successfully without errors.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                  data:
                    type: array
                    items:
                      type: object
                  pagination:
                    $ref: '#/components/schemas/Pagination'
              example:
                status: 200
                data:
                - id: 1
                  conversation_id: 2
                  title: subject
                  message: Hello
                  sent_by_me: true
                  model: Property
                  model_id: 3
                  parent_id: 4
                  is_group: false
                  total_replies: 2
                  created_by:
                    id: 5
                    name: Brian Acton
                    group: manager
                  recipients:
                  - id: 6
                    full_name: Dan Dudley
                    is_read: false
                  sent_by:
                    id: 5
                    name: Brian Acton
                  created: '2020-06-04T14:29:14+01:00'
                  modified: '2020-06-04T14:29:14+01:00'
                - id: 12
                  conversation_id: 2
                  title: subject
                  message: Hello
                  sent_by_me: true
                  model: Property
                  model_id: 3
                  parent_id: 1
                  is_group: false
                  total_replies: 2
                  created_by:
                    id: 5
                    name: Brian Acton
                    group: manager
                  recipients:
                  - id: 6
                    full_name: Dan Dudley
                    is_read: false
                  sent_by:
                    id: 6
                    name: Dan Dudley
                  created: '2020-06-04T14:22:13+01:00'
                  modified: '2020-06-04T14:29:14+01:00'
                pagination:
                  page: 1
                  current: 2
                  count: 2
                  pageCount: 1
                  limit: 20
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    post:
      operationId: addMessagesRelatedToConversation
      summary: Add Messages Related To Conversation
      tags:
      - Messages
      parameters:
      - name: conversation_id
        in: path
        required: true
        description: Arthur conversation id.
        schema:
          type: integer
      - $ref: '#/components/parameters/EntityId'
      - $ref: '#/components/parameters/Strict'
      description: "Use this endpoint to add a new message related to a  conversation . The API will return the saved data.\n\nSupported Fields \n The following fields are supported for the request body\n\nField \n Example \n Type \n Required? \n\nmessage \n It's done \n String \n Yes"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                message:
                  type: string
                  example: It's done
              required:
              - message
            example:
              message: No problem
      responses:
        '200':
          description: The request was completed successfully without errors.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                  data:
                    type: object
              example:
                status: 200
                data:
                  id: 123
                  conversation_id: 123
                  title: Conversation Subject
                  message: No problem
                  model: Property
                  model_id: 123
                  parent_id: 1234
                  is_group: false
                  total_replies: 1234
                  created_by:
                    id: 123
                    name: Ronnie Wilson
                    group: manager
                  recipients:
                  - id: 123
                    full_name: Ronnie Wilson
                    entity_id: 123
                    is_read: true
                  - id: 123
                    full_name: Ronnie Wilson
                    entity_id: 123
                    is_read: false
                  sent_by:
                    id: 123
                    name: Ronnie Wilson
                  created: '2020-06-02T14:29:14+01:00'
                  modified: '2020-06-02T14:29:14+01:00'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /conversations/{conversation_id}/messages/{message_id}:
    get:
      operationId: viewMessageRelatedToConversation
      summary: View Message Related To Conversation
      tags:
      - Messages
      parameters:
      - name: conversation_id
        in: path
        required: true
        description: Arthur conversation id.
        schema:
          type: integer
      - name: message_id
        in: path
        required: true
        description: Arthur message id.
        schema:
          type: integer
      - $ref: '#/components/parameters/EntityId'
      description: 'This API endpoint retrieves the details of a single message, identified by its unique  message_id .


        Use this endpoint to view the specific details of a message within a conversation.'
      responses:
        '200':
          description: The request was completed successfully without errors.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                  data:
                    type: array
                    items:
                      type: object
                  pagination:
                    $ref: '#/components/schemas/Pagination'
              example:
                status: 200
                data:
                - id: 1
                  conversation_id: 2
                  title: subject
                  message: Hello
                  sent_by_me: true
                  model: Property
                  model_id: 3
                  parent_id: 4
                  is_group: false
                  total_replies: 2
                  created_by:
                    id: 5
                    name: Brian Acton
                    group: manager
                  recipients:
                  - id: 6
                    full_name: Dan Dudley
                    is_read: false
                  sent_by:
                    id: 5
                    name: Brian Acton
                  created: '2020-06-04T14:29:14+01:00'
                  modified: '2020-06-04T14:29:14+01:00'
                pagination:
                  page: 1
                  current: 2
                  count: 2
                  pageCount: 1
                  limit: 20
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  parameters:
    Direction:
      name: direction
      in: query
      required: false
      description: Sort direction.
      schema:
        type: string
        enum:
        - ASC
        - DESC
    Sort:
      name: sort
      in: query
      required: false
      description: Field to sort the collection by.
      schema:
        type: string
    Strict:
      name: strict
      in: query
      required: false
      description: When true, abort the request instead of auto-creating an unknown Simple type. POST and PUT only.
      schema:
        type: boolean
    EntityId:
      name: X-EntityID
      in: header
      required: true
      description: The Arthur entity (account) the request is scoped to. Mandatory on every API call.
      schema:
        type: string
    Page:
      name: page
      in: query
      required: false
      description: Page number, between 1 and the total number of pages.
      schema:
        type: integer
        minimum: 1
    Limit:
      name: limit
      in: query
      required: false
      description: Items per page, between 1 and 100.
      schema:
        type: integer
        minimum: 1
        maximum: 100
  responses:
    BadRequest:
      description: The request was invalid or malformed.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: The request was sent to a location that does not exist in the API.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: Missing, invalid or expired access token.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: expired_token
            message: This token has expired.
  schemas:
    Pagination:
      type: object
      description: Pagination block returned on every list response.
      properties:
        page:
          type: integer
        current:
          type: integer
        count:
          type: integer
        pageCount:
          type: integer
        limit:
          type: integer
    Error:
      type: object
      description: Arthur error envelope.
      properties:
        status:
          type: integer
        error:
          type: string
          description: Machine-readable error code, e.g. expired_token.
        message:
          type: string
  securitySchemes:
    arthurOAuth:
      type: oauth2
      description: OAuth 2.0 Authorization Code flow. Access tokens are valid for 14 days; refresh tokens for 21 days. Register an application in Arthur Settings > OAuth Applications to obtain a client_id and client_secret.
      flows:
        authorizationCode:
          authorizationUrl: https://auth.arthuronline.co.uk/oauth/authorize
          tokenUrl: https://auth.arthuronline.co.uk/oauth/token
          refreshUrl: https://auth.arthuronline.co.uk/oauth/token
          scopes: {}