Mews Messages API

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

OpenAPI Specification

mews-systems-messages-api-openapi.yml Raw ↑
openapi: 3.0.4
info:
  title: Mews Booking Engine API (Distributor) Account notes Messages API
  version: v1
  description: The Mews Booking Engine API (historically the Distributor API, served from /api/distributor/v1) lets developers build guest-facing booking engines that create reservations directly in Mews. It exposes enterprise configuration, availability, pricing, products, vouchers, payment cards, and reservation group creation for front-end client consumption.
  x-generated-from: documentation
  x-source-url: https://api.mews.com/Swagger/distributor/swagger.json
  x-last-validated: '2026-06-02'
servers:
- url: https://api.mews.com
  description: Production
- url: https://api.mews-demo.com
  description: Demo / sandbox
security:
- MewsClientToken: []
  MewsAccessToken: []
tags:
- name: Messages
paths:
  /api/connector/v1/messages/getAll:
    post:
      tags:
      - Messages
      summary: Mews Get All Messages
      description: Get all messages belonging to the specified [Message threads](https://mews-systems.gitbook.io/connector-api/operations/messagethreads/#message-thread). Messages can only be returned for message threads you have created. Note this operation uses [Pagination](https://mews-systems.gitbook.io/connector-api/guidelines/pagination/) and supports [Portfolio Access Tokens](https://mews-systems.gitbook.io/connector-api/concepts/multi-property).
      operationId: messages_getAll
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MessageFilterParameters'
            example:
              ClientToken: E0D439EE522F44368DC78E1BFB03710C-D24FB11DBE31D4621C4817E028D9E1D
              AccessToken: C66EF7B239D24632943D115EDE9CB810-EA00F8FD8294692C940F6B5A8F9453D
              Client: Sample Client 1.0.0
              MessageThreadIds:
              - 7f9325f6-ef44-4911-89a8-ae51010a5aa4
              - 8d02142f-31cf-4115-90bf-ae5200c7a1ba
              CreatedUtc:
                StartUtc: '2022-03-03T00:00:00Z'
                EndUtc: '2022-03-14T00:00:00Z'
              EnterpriseIds:
              - 3fa85f64-5717-4562-b3fc-2c963f66afa6
              - 4d0201db-36f5-428b-8d11-4f0a65e960cc
              Limitation:
                Count: 100
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageResult'
              example:
                Messages:
                - Id: 4bfe4675-98a9-4428-9ea9-ae5300dbaa93
                  MessageThreadId: 7f9325f6-ef44-4911-89a8-ae51010a5aa4
                  Text: Text of the message
                  Sender:
                    Discriminator: Application
                    Value: null
                  CreatedUtc: '2022-03-09T13:19:46Z'
                Cursor: 7f9325f6-ef44-4911-89a8-ae51010a5aa4
        '400':
          description: Error caused by the client app, e.g. in case of malformed request or invalid identifier of a resource. In most cases, such an error signifies a bug in the client app (consumer of the API).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectorApiExceptionResult'
              examples:
                MessagesGetAll400Example:
                  summary: Default messages_getAll 400 response
                  x-microcks-default: true
                  value:
                    Message: string
                    RequestId: 3edd5f9e-7e64-4f2a-9a0e-b3f200e6c111
                    Details: string
        '401':
          description: Error caused by usage of invalid ClientToken, AccessToken, or you may not have the necessary permission to use the endpoint.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectorApiExceptionResult'
              examples:
                MessagesGetAll401Example:
                  summary: Default messages_getAll 401 response
                  x-microcks-default: true
                  value:
                    Message: string
                    RequestId: 3edd5f9e-7e64-4f2a-9a0e-b3f200e6c111
                    Details: string
        '403':
          description: Server error that should be reported to the end user of the client app. Happens for example when the server-side validation fails or when a business-logic check is violated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectorApiExceptionResult'
              examples:
                MessagesGetAll403Example:
                  summary: Default messages_getAll 403 response
                  x-microcks-default: true
                  value:
                    Message: string
                    RequestId: 3edd5f9e-7e64-4f2a-9a0e-b3f200e6c111
                    Details: string
        '408':
          description: Error caused by heavy request that takes too long to process (typically tens of seconds). To get around this, request data in smaller batches. For more information, see [Request timeouts](https://mews-systems.gitbook.io/connector-api/guidelines/requests#request-timeouts)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectorApiExceptionResult'
              examples:
                MessagesGetAll408Example:
                  summary: Default messages_getAll 408 response
                  x-microcks-default: true
                  value:
                    Message: string
                    RequestId: 3edd5f9e-7e64-4f2a-9a0e-b3f200e6c111
                    Details: string
        '204':
          description: Server has successfully fulfilled the request and there is no additional information to send back.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectorApiExceptionResult'
              examples:
                MessagesGetAll204Example:
                  summary: Default messages_getAll 204 response
                  x-microcks-default: true
                  value:
                    Message: string
                    RequestId: 3edd5f9e-7e64-4f2a-9a0e-b3f200e6c111
                    Details: string
        '429':
          description: Error caused by too many requests sent in a given amount of time. Response contains `Retry-After` header indicating how long the user agent should wait before making a follow-up request. For more information, see [Request limits](https://mews-systems.gitbook.io/connector-api/guidelines/requests#request-limits).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectorApiExceptionResult'
              examples:
                MessagesGetAll429Example:
                  summary: Default messages_getAll 429 response
                  x-microcks-default: true
                  value:
                    Message: string
                    RequestId: 3edd5f9e-7e64-4f2a-9a0e-b3f200e6c111
                    Details: string
        '500':
          description: Unexpected error on the Mews side. This may be due to a software fault. If such a situation occurs, the error will be logged and the development team notified, however you can raise an issue through GitHub on our [documentation repository](https://github.com/MewsSystems/gitbook-connector-api).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectorApiExceptionResult'
              examples:
                MessagesGetAll500Example:
                  summary: Default messages_getAll 500 response
                  x-microcks-default: true
                  value:
                    Message: string
                    RequestId: 3edd5f9e-7e64-4f2a-9a0e-b3f200e6c111
                    Details: string
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /api/connector/v1/messages/add:
    post:
      tags:
      - Messages
      summary: Mews Add Messages
      description: Add the specified messages to the specified [Message threads](https://mews-systems.gitbook.io/connector-api/operations/messagethreads/#message-thread). You can only add messages to message threads that you have created.
      operationId: messages_add
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MultipleMessageAddParameters'
            example:
              ClientToken: E0D439EE522F44368DC78E1BFB03710C-D24FB11DBE31D4621C4817E028D9E1D
              AccessToken: C66EF7B239D24632943D115EDE9CB810-EA00F8FD8294692C940F6B5A8F9453D
              Client: Sample Client 1.0.0
              Messages:
              - MessageThreadId: 7f9325f6-ef44-4911-89a8-ae51010a5aa4
                Text: Text of the message
                Identifier: Message 1
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddedMessageResult'
              example:
                Messages:
                - Identifier: Message 1
                  Message:
                    Id: 4bfe4675-98a9-4428-9ea9-ae5300dbaa93
                    MessageThreadId: 7f9325f6-ef44-4911-89a8-ae51010a5aa4
                    Text: Text of the message
                    Sender:
                      Discriminator: Application
                      Value: null
                    CreatedUtc: '2022-03-09T13:19:46Z'
        '400':
          description: Error caused by the client app, e.g. in case of malformed request or invalid identifier of a resource. In most cases, such an error signifies a bug in the client app (consumer of the API).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectorApiExceptionResult'
              examples:
                MessagesAdd400Example:
                  summary: Default messages_add 400 response
                  x-microcks-default: true
                  value:
                    Message: string
                    RequestId: 3edd5f9e-7e64-4f2a-9a0e-b3f200e6c111
                    Details: string
        '401':
          description: Error caused by usage of invalid ClientToken, AccessToken, or you may not have the necessary permission to use the endpoint.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectorApiExceptionResult'
              examples:
                MessagesAdd401Example:
                  summary: Default messages_add 401 response
                  x-microcks-default: true
                  value:
                    Message: string
                    RequestId: 3edd5f9e-7e64-4f2a-9a0e-b3f200e6c111
                    Details: string
        '403':
          description: Server error that should be reported to the end user of the client app. Happens for example when the server-side validation fails or when a business-logic check is violated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectorApiExceptionResult'
              examples:
                MessagesAdd403Example:
                  summary: Default messages_add 403 response
                  x-microcks-default: true
                  value:
                    Message: string
                    RequestId: 3edd5f9e-7e64-4f2a-9a0e-b3f200e6c111
                    Details: string
        '408':
          description: Error caused by heavy request that takes too long to process (typically tens of seconds). To get around this, request data in smaller batches. For more information, see [Request timeouts](https://mews-systems.gitbook.io/connector-api/guidelines/requests#request-timeouts)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectorApiExceptionResult'
              examples:
                MessagesAdd408Example:
                  summary: Default messages_add 408 response
                  x-microcks-default: true
                  value:
                    Message: string
                    RequestId: 3edd5f9e-7e64-4f2a-9a0e-b3f200e6c111
                    Details: string
        '204':
          description: Server has successfully fulfilled the request and there is no additional information to send back.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectorApiExceptionResult'
              examples:
                MessagesAdd204Example:
                  summary: Default messages_add 204 response
                  x-microcks-default: true
                  value:
                    Message: string
                    RequestId: 3edd5f9e-7e64-4f2a-9a0e-b3f200e6c111
                    Details: string
        '429':
          description: Error caused by too many requests sent in a given amount of time. Response contains `Retry-After` header indicating how long the user agent should wait before making a follow-up request. For more information, see [Request limits](https://mews-systems.gitbook.io/connector-api/guidelines/requests#request-limits).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectorApiExceptionResult'
              examples:
                MessagesAdd429Example:
                  summary: Default messages_add 429 response
                  x-microcks-default: true
                  value:
                    Message: string
                    RequestId: 3edd5f9e-7e64-4f2a-9a0e-b3f200e6c111
                    Details: string
        '500':
          description: Unexpected error on the Mews side. This may be due to a software fault. If such a situation occurs, the error will be logged and the development team notified, however you can raise an issue through GitHub on our [documentation repository](https://github.com/MewsSystems/gitbook-connector-api).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectorApiExceptionResult'
              examples:
                MessagesAdd500Example:
                  summary: Default messages_add 500 response
                  x-microcks-default: true
                  value:
                    Message: string
                    RequestId: 3edd5f9e-7e64-4f2a-9a0e-b3f200e6c111
                    Details: string
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    ConnectorApiExceptionResult:
      title: ConnectorApiExceptionResult
      type: object
      properties:
        Message:
          type: string
          nullable: true
          example: string
        RequestId:
          type: string
          nullable: true
          example: 3edd5f9e-7e64-4f2a-9a0e-b3f200e6c111
        Details:
          nullable: true
          example: string
      additionalProperties: false
      x-schema-id: ConnectorApiExceptionResult
    AddedMessage:
      title: Added message
      required:
      - Message
      type: object
      properties:
        Identifier:
          type: string
          description: Identifier of the created message.
          nullable: true
          example: 3edd5f9e-7e64-4f2a-9a0e-b3f200e6c111
        Message:
          title: Message
          allOf:
          - $ref: '#/components/schemas/Message'
          description: Message that was added to the `MessageThread`.
          example: string
      additionalProperties: false
      x-schema-id: AddedMessage
    Limitation:
      title: Limitation
      required:
      - Count
      type: object
      properties:
        Count:
          type: integer
          format: int32
          example: 1
        Cursor:
          type: string
          format: uuid
          nullable: true
          example: 3edd5f9e-7e64-4f2a-9a0e-b3f200e6c111
      additionalProperties: false
      description: Limitation on the quantity of data returned.
      x-schema-id: Limitation
    TimeFilterInterval:
      title: Time interval
      type: object
      properties:
        StartUtc:
          type: string
          format: date-time
          nullable: true
          example: '2026-06-02T14:30:00Z'
        EndUtc:
          type: string
          format: date-time
          nullable: true
          example: '2026-06-02T14:30:00Z'
      additionalProperties: false
      description: "When a time interval is used for **filtering** (for example in parameters such as `CreatedUtc.StartUtc` / `CreatedUtc.EndUtc`), the following rules apply:\r\n\r\n- **Start equals End (equality mode)**  \r\n  If `StartUtc` and `EndUtc` are exactly the same timestamp, the filter is treated as an equality check for that precise moment in time:\r\n  \r\n  ```\r\n  CreatedUtc == StartUtc\r\n  ```\r\n  \r\n  This does not represent an interval; only records with `CreatedUtc` equal to that exact instant are returned.\r\n\r\n- **Start differs from End (interval mode)**  \r\n  If `StartUtc` and `EndUtc` are different, the filter is evaluated as a half-open interval:\r\n  \r\n  ```\r\n  StartUtc <= CreatedUtc < EndUtc\r\n  ```\r\n  \r\n  In other words, the start is inclusive and the end is exclusive.\r\n\r\nMake sure your integration takes inclusive Start / exclusive End behavior of time intervals into account so that no records at the boundaries are omitted."
      x-schema-id: TimeFilterInterval
    MessageAddParameters:
      title: Message parameters
      required:
      - MessageThreadId
      - Text
      type: object
      properties:
        MessageThreadId:
          type: string
          description: Unique identifier of the `MessageThread` to which the message should be added.
          format: uuid
          example: 3edd5f9e-7e64-4f2a-9a0e-b3f200e6c111
        Text:
          minLength: 1
          type: string
          description: Text of the message.
          example: string
        Identifier:
          type: string
          description: Identifier of the message to be created.
          nullable: true
          example: 3edd5f9e-7e64-4f2a-9a0e-b3f200e6c111
      additionalProperties: false
      x-schema-id: MessageAddParameters
    MultipleMessageAddParameters:
      title: MultipleMessageAddParameters
      required:
      - AccessToken
      - Client
      - ClientToken
      - Messages
      type: object
      properties:
        ClientToken:
          minLength: 1
          type: string
          description: Token identifying the client application.
          example: string
        AccessToken:
          minLength: 1
          type: string
          description: Access token of the client application.
          example: string
        Client:
          minLength: 1
          type: string
          description: Name and version of the client application.
          example: string
        Messages:
          maxItems: 1000
          type: array
          items:
            $ref: '#/components/schemas/MessageAddParameters'
          description: Messages to be added.
      additionalProperties: false
      x-schema-id: MultipleMessageAddParameters
    SenderDiscriminatorEnum:
      title: Sender discriminator
      enum:
      - Enterprise
      - Application
      type: string
      description: '


        Enterprise (The message was created by an employee of the enterprise.)


        Application (The message was created by the third party application.)'
      x-enumNames:
      - Enterprise
      - Application
      x-enumDescriptions:
      - The message was created by an employee of the enterprise.
      - The message was created by the third party application.
    AddedMessageResult:
      title: AddedMessageResult
      required:
      - Messages
      type: object
      properties:
        Messages:
          type: array
          items:
            $ref: '#/components/schemas/AddedMessage'
          description: Collection of created messages.
      additionalProperties: false
      x-schema-id: AddedMessageResult
    SenderCoproduct:
      title: Sender
      required:
      - Discriminator
      type: object
      properties:
        Discriminator:
          title: Sender discriminator
          allOf:
          - $ref: '#/components/schemas/SenderDiscriminatorEnum'
          description: 'The sender of the message.


            Enterprise (The message was created by an employee of the enterprise.)


            Application (The message was created by the third party application.)'
          x-enumNames:
          - Enterprise
          - Application
          x-enumDescriptions:
          - The message was created by an employee of the enterprise.
          - The message was created by the third party application.
          example: string
        Value:
          description: Additional information about the sender. Currently not used and always `null`.
          nullable: true
          example: string
      additionalProperties: false
      x-schema-id: SenderCoproduct
    MessageFilterParameters:
      title: MessageFilterParameters
      required:
      - AccessToken
      - Client
      - ClientToken
      - Limitation
      - MessageThreadIds
      type: object
      properties:
        ClientToken:
          minLength: 1
          type: string
          description: Token identifying the client application.
          example: string
        AccessToken:
          minLength: 1
          type: string
          description: Access token of the client application.
          example: string
        Client:
          minLength: 1
          type: string
          description: Name and version of the client application.
          example: string
        Limitation:
          allOf:
          - $ref: '#/components/schemas/Limitation'
          description: Limitation on the quantity of data returned and optional Cursor for the starting point of data.
          example: string
        EnterpriseIds:
          maxItems: 1000
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: Unique identifiers of the Enterprises. If not specified, the operation returns data for all enterprises within scope of the Access Token.
          nullable: true
        MessageThreadIds:
          maxItems: 1000
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: Unique identifiers of `MessageThread`s from where to return messages.
        CreatedUtc:
          title: Time interval
          allOf:
          - $ref: '#/components/schemas/TimeFilterInterval'
          description: Interval in which the `Message` was created.
          nullable: true
          x-max-interval-in-months: 1
          example: string
      additionalProperties: false
      x-schema-id: MessageFilterParameters
    MessageResult:
      title: MessageResult
      required:
      - Messages
      type: object
      properties:
        Messages:
          type: array
          items:
            $ref: '#/components/schemas/Message'
          description: The filtered messages.
        Cursor:
          type: string
          description: Unique identifier of the last and hence oldest message returned. This can be used in `Limitation` in a subsequent request to fetch the next batch of older messages.
          format: uuid
          nullable: true
          example: 3edd5f9e-7e64-4f2a-9a0e-b3f200e6c111
      additionalProperties: false
      x-schema-id: MessageResult
    Message:
      title: Message
      required:
      - CreatedUtc
      - Id
      - MessageThreadId
      - Sender
      - Text
      type: object
      properties:
        Id:
          type: string
          description: Unique identifier of the message.
          format: uuid
          example: 3edd5f9e-7e64-4f2a-9a0e-b3f200e6c111
        MessageThreadId:
          type: string
          description: Unique identifier of the `MessageThread` to which the message belongs to.
          format: uuid
          example: 3edd5f9e-7e64-4f2a-9a0e-b3f200e6c111
        Text:
          minLength: 1
          type: string
          description: Text of the message.
          example: string
        Sender:
          title: Sender
          allOf:
          - $ref: '#/components/schemas/SenderCoproduct'
          description: The sender of the message.
          example: string
        CreatedUtc:
          minLength: 1
          type: string
          description: Creation date and time of the message in UTC timezone in ISO 8601 format.
          format: date-time
          example: '2026-06-02T14:30:00Z'
      additionalProperties: false
      x-schema-id: Message
  securitySchemes:
    MewsClientToken:
      type: apiKey
      in: header
      name: ClientToken
      description: Mews authentication is performed by supplying ClientToken, AccessToken and Client as fields in the JSON request body (not as HTTP headers). This securityScheme is a tooling-compatible representation of the ClientToken credential. ClientToken is unique to your application and identifies the API client.
    MewsAccessToken:
      type: apiKey
      in: header
      name: AccessToken
      description: Tooling-compatible representation of the AccessToken credential, which is supplied in the JSON request body. AccessToken is unique to the connection with a property (enterprise) and identifies the property or properties whose data and services you can access. Portfolio Access Tokens enable multi-property access with a single token.