openapi: 3.0.4 info: title: BookingEngineApi Account notes Messages API version: v1 servers: - url: https://api.mews.com tags: - name: Messages paths: /api/connector/v1/messages/getAll: post: tags: - Messages summary: 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' '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' '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' '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' '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' '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' '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' /api/connector/v1/messages/add: post: tags: - Messages summary: 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' '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' '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' '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' '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' '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' '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' components: schemas: 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 Message: title: Message required: - CreatedUtc - Id - MessageThreadId - Sender - Text type: object properties: Id: type: string description: Unique identifier of the message. format: uuid MessageThreadId: type: string description: Unique identifier of the `MessageThread` to which the message belongs to. format: uuid Text: minLength: 1 type: string description: Text of the message. Sender: title: Sender allOf: - $ref: '#/components/schemas/SenderCoproduct' description: The sender of the message. CreatedUtc: minLength: 1 type: string description: Creation date and time of the message in UTC timezone in ISO 8601 format. format: date-time additionalProperties: false x-schema-id: Message 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 Text: minLength: 1 type: string description: Text of the message. Identifier: type: string description: Identifier of the message to be created. nullable: true additionalProperties: false x-schema-id: MessageAddParameters 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. Value: description: Additional information about the sender. Currently not used and always `null`. nullable: true additionalProperties: false x-schema-id: SenderCoproduct MultipleMessageAddParameters: title: MultipleMessageAddParameters required: - AccessToken - Client - ClientToken - Messages type: object properties: ClientToken: minLength: 1 type: string description: Token identifying the client application. AccessToken: minLength: 1 type: string description: Access token of the client application. Client: minLength: 1 type: string description: Name and version of the client application. Messages: maxItems: 1000 type: array items: $ref: '#/components/schemas/MessageAddParameters' description: Messages to be added. additionalProperties: false x-schema-id: MultipleMessageAddParameters 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 additionalProperties: false x-schema-id: MessageResult MessageFilterParameters: title: MessageFilterParameters required: - AccessToken - Client - ClientToken - Limitation - MessageThreadIds type: object properties: ClientToken: minLength: 1 type: string description: Token identifying the client application. AccessToken: minLength: 1 type: string description: Access token of the client application. Client: minLength: 1 type: string description: Name and version of the client application. Limitation: allOf: - $ref: '#/components/schemas/Limitation' description: Limitation on the quantity of data returned and optional Cursor for the starting point of data. 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 additionalProperties: false x-schema-id: MessageFilterParameters 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. ConnectorApiExceptionResult: title: ConnectorApiExceptionResult type: object properties: Message: type: string nullable: true RequestId: type: string nullable: true Details: nullable: true 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 Message: title: Message allOf: - $ref: '#/components/schemas/Message' description: Message that was added to the `MessageThread`. additionalProperties: false x-schema-id: AddedMessage TimeFilterInterval: title: Time interval type: object properties: StartUtc: type: string format: date-time nullable: true EndUtc: type: string format: date-time nullable: true 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 Limitation: title: Limitation required: - Count type: object properties: Count: type: integer format: int32 Cursor: type: string format: uuid nullable: true additionalProperties: false description: Limitation on the quantity of data returned. x-schema-id: Limitation