openapi: 3.0.4 info: title: Connector Account notes Loyalty programs API description: General-purpose API that enables partners of Mews to access data and services in Mews Operations termsOfService: https://www.mews.com/en/terms-conditions/partners contact: name: Partner success email: partnersuccess@mews.com version: v1 servers: - url: https://api.mews.com tags: - name: Loyalty programs paths: /api/connector/v1/loyaltyPrograms/getAll: post: tags: - Loyalty programs summary: Get all loyalty programs description: Returns all loyalty programs of the enterprise, optionally filtered by specific loyalty program identifiers, activity states, or other filter parameters. 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: loyaltyPrograms_getAll requestBody: content: application/json: schema: $ref: '#/components/schemas/LoyaltyProgramFilterParameters' example: ClientToken: E0D439EE522F44368DC78E1BFB03710C-D24FB11DBE31D4621C4817E028D9E1D AccessToken: C66EF7B239D24632943D115EDE9CB810-EA00F8FD8294692C940F6B5A8F9453D Client: Sample Client 1.0.0 ChainIds: - 3fa85f64-5717-4562-b3fc-2c963f66afa6 - 5fcd1933-22f2-40b9-84da-7db04cbecec2 CreatedUtc: StartUtc: '2022-10-05T00:00:00Z' EndUtc: '2022-10-10T00:00:00Z' UpdatedUtc: StartUtc: '2022-10-10T00:00:00Z' EndUtc: '2022-10-17T00:00:00Z' LoyaltyProgramIds: - f701dafb-5765-4cf4-b1dd-1f602a740ae5 - da34b396-41f7-47f6-8847-aecf00a3f19e ActivityStates: - Active Codes: - PC01 - GEC07 Limitation: Count: 100 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/LoyaltyProgramResult' example: LoyaltyPrograms: - Id: f701dafb-5765-4cf4-b1dd-1f602a740ae5 ChainId: 3fa85f64-5717-4562-b3fc-2c963f66afa6 Name: Platinum Club Code: PC01 Type: Hotel Subscription: Free - Id: da34b396-41f7-47f6-8847-aecf00a3f19e ChainId: 3fa85f64-5717-4562-b3fc-2c963f66afa6 Name: Gold Exclusive Club Code: GEC07 Type: ExternalPartner Subscription: Paid Cursor: da34b396-41f7-47f6-8847-aecf00a3f19e '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/loyaltyPrograms/add: post: tags: - Loyalty programs summary: Add loyalty programs description: Adds loyalty programs to the enterprise. Note this operation supports [Portfolio Access Tokens](https://mews-systems.gitbook.io/connector-api/concepts/multi-property). operationId: loyaltyPrograms_add requestBody: content: application/json: schema: $ref: '#/components/schemas/MultipleLoyaltyProgramAddParameters' example: ClientToken: E0D439EE522F44368DC78E1BFB03710C-D24FB11DBE31D4621C4817E028D9E1D AccessToken: C66EF7B239D24632943D115EDE9CB810-EA00F8FD8294692C940F6B5A8F9453D Client: Sample Client 1.0.0 LoyaltyPrograms: - Name: Platinum Club Code: PC01 Type: Hotel Subscription: Free ChainId: 3fa85f64-5717-4562-b3fc-2c963f66afa6 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/LoyaltyProgramAdditionResult' example: LoyaltyPrograms: - Id: f701dafb-5765-4cf4-b1dd-1f602a740ae5 ChainId: 3fa85f64-5717-4562-b3fc-2c963f66afa6 Name: Platinum Club Code: PC01 Type: Hotel Subscription: Free '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/loyaltyPrograms/update: post: tags: - Loyalty programs summary: Update loyalty programs description: Updates information about the specified loyalty programs. Note this operation supports [Portfolio Access Tokens](https://mews-systems.gitbook.io/connector-api/concepts/multi-property). operationId: loyaltyPrograms_update requestBody: content: application/json: schema: $ref: '#/components/schemas/MultipleLoyaltyProgramUpdateParameters' example: ClientToken: E0D439EE522F44368DC78E1BFB03710C-D24FB11DBE31D4621C4817E028D9E1D AccessToken: C66EF7B239D24632943D115EDE9CB810-EA00F8FD8294692C940F6B5A8F9453D Client: Sample Client 1.0.0 LoyaltyProgramUpdates: - LoyaltyProgramId: f701dafb-5765-4cf4-b1dd-1f602a740ae5 Name: Value: Platinum Club Extra Type: Value: Hotel Subscription: Value: Free ChainId: 3fa85f64-5717-4562-b3fc-2c963f66afa6 responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/LoyaltyProgramUpdateResult' example: LoyaltyPrograms: - Id: f701dafb-5765-4cf4-b1dd-1f602a740ae5 ChainId: 3fa85f64-5717-4562-b3fc-2c963f66afa6 Name: Platinum Club Code: PC01 Type: Hotel Subscription: Free '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/loyaltyPrograms/delete: post: tags: - Loyalty programs summary: Delete loyalty programs description: Deletes loyalty programs. Note that a loyalty program containing active memberships cannot be deleted. operationId: loyaltyPrograms_delete requestBody: content: application/json: schema: $ref: '#/components/schemas/LoyaltyProgramDeleteParameters' example: ClientToken: E0D439EE522F44368DC78E1BFB03710C-D24FB11DBE31D4621C4817E028D9E1D AccessToken: C66EF7B239D24632943D115EDE9CB810-EA00F8FD8294692C940F6B5A8F9453D Client: Sample Client 1.0.0 LoyaltyProgramIds: - f701dafb-5765-4cf4-b1dd-1f602a740ae5 - da34b396-41f7-47f6-8847-aecf00a3f19e responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Unit' '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: Unit: type: object additionalProperties: false LoyaltyProgramAddParameters: title: Loyalty program parameters required: - Code - Name - Subscription - Type type: object properties: Name: maxLength: 100 minLength: 1 type: string description: Name of the loyalty program. Code: maxLength: 50 minLength: 1 type: string description: Code of the loyalty program. Type: $ref: '#/components/schemas/LoyaltyProgramType' Subscription: $ref: '#/components/schemas/LoyaltyProgramSubscription' additionalProperties: false x-schema-id: LoyaltyProgramAddParameters 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 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 MultipleLoyaltyProgramUpdateParameters: title: MultipleLoyaltyProgramUpdateParameters required: - AccessToken - Client - ClientToken - LoyaltyProgramUpdates 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. ChainId: type: string description: Unique identifier of the chain. Required when using [Portfolio Access Tokens](https://mews-systems.gitbook.io/connector-api/concepts/multi-property), ignored otherwise. format: uuid nullable: true LoyaltyProgramUpdates: maxItems: 1000 minItems: 1 type: array items: $ref: '#/components/schemas/LoyaltyProgramUpdateParameters' description: Loyalty programs to be updated. additionalProperties: false x-schema-id: MultipleLoyaltyProgramUpdateParameters LoyaltyProgramAdditionResult: title: LoyaltyProgramAdditionResult required: - LoyaltyPrograms type: object properties: LoyaltyPrograms: maxItems: 1000 type: array items: $ref: '#/components/schemas/LoyaltyProgram' description: Added loyalty programs. additionalProperties: false x-schema-id: LoyaltyProgramAdditionResult LoyaltyProgram: title: Loyalty program required: - ChainId - Code - Id - Name - Subscription - Type type: object properties: Id: type: string description: Unique identifier of the loyalty program. format: uuid ChainId: type: string description: Unique identifier of the chain. format: uuid Name: minLength: 1 type: string description: Name of the loyalty program. Code: minLength: 1 type: string description: Code of the loyalty program. Type: $ref: '#/components/schemas/LoyaltyProgramType' Subscription: $ref: '#/components/schemas/LoyaltyProgramSubscription' additionalProperties: false x-schema-id: LoyaltyProgram LoyaltyProgramSubscription: title: Loyalty program subscription enum: - Free - Paid type: string description: 'Subscription of the loyalty program. Free Paid' x-enumNames: - Free - Paid x-enumDescriptions: - '' - '' x-schema-id: LoyaltyProgramSubscription LoyaltyProgramUpdateResult: title: LoyaltyProgramUpdateResult required: - LoyaltyPrograms type: object properties: LoyaltyPrograms: maxItems: 1000 type: array items: $ref: '#/components/schemas/LoyaltyProgram' description: Updated loyalty programs. additionalProperties: false x-schema-id: LoyaltyProgramUpdateResult LoyaltyProgramDeleteParameters: title: LoyaltyProgramDeleteParameters required: - AccessToken - Client - ClientToken - LoyaltyProgramIds 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. LoyaltyProgramIds: maxItems: 1000 minItems: 1 type: array items: type: string format: uuid description: Unique identifier of the loyalty programs to be deleted. additionalProperties: false x-schema-id: LoyaltyProgramDeleteParameters LoyaltyProgramTypeUpdateValue: title: Loyalty program type update value type: object properties: Value: title: Loyalty program type allOf: - $ref: '#/components/schemas/LoyaltyProgramType' description: Value which is to be updated. x-enumNames: - Hotel - ExternalPartner - SoftBrand - Unknown x-enumDescriptions: - '' - '' - '' - '' x-schema-id: LoyaltyProgramType additionalProperties: false x-schema-id: LoyaltyProgramTypeUpdateValue MultipleLoyaltyProgramAddParameters: title: MultipleLoyaltyProgramAddParameters required: - AccessToken - Client - ClientToken - LoyaltyPrograms 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. ChainId: type: string description: Unique identifier of the chain. Required when using [Portfolio Access Tokens](https://mews-systems.gitbook.io/connector-api/concepts/multi-property), ignored otherwise. format: uuid nullable: true LoyaltyPrograms: maxItems: 1000 minItems: 1 type: array items: $ref: '#/components/schemas/LoyaltyProgramAddParameters' description: Loyalty programs to be added. additionalProperties: false x-schema-id: MultipleLoyaltyProgramAddParameters LoyaltyProgramFilterParameters: title: LoyaltyProgramFilterParameters required: - AccessToken - Client - ClientToken - Limitation 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. ChainIds: maxItems: 1000 minItems: 1 type: array items: type: string format: uuid description: Unique identifiers of the chain. If not specified, the operation returns data for all chains within scope of the Access Token. nullable: true CreatedUtc: title: Time interval allOf: - $ref: '#/components/schemas/TimeFilterInterval' description: Interval of `LoyaltyProgram` creation date and time. nullable: true x-max-interval-in-months: 3 UpdatedUtc: title: Time interval allOf: - $ref: '#/components/schemas/TimeFilterInterval' description: Interval of `LoyaltyProgram` last update date and time. nullable: true x-max-interval-in-months: 3 LoyaltyProgramIds: maxItems: 1000 minItems: 1 type: array items: type: string format: uuid description: Unique identifiers of `LoyaltyProgram`. nullable: true ActivityStates: type: array items: $ref: '#/components/schemas/ActivityStates' description: Whether to return only active, only deleted or both records. nullable: true Codes: maxItems: 1000 minItems: 1 type: array items: type: string description: Codes of `LoyaltyProgram`. nullable: true Limitation: allOf: - $ref: '#/components/schemas/Limitation' description: Limitation on the quantity of data returned. additionalProperties: false x-schema-id: LoyaltyProgramFilterParameters ActivityStates: title: Activity state enum: - Deleted - Active type: string description: Activity states used for filtering. LoyaltyProgramType: title: Loyalty program type enum: - Hotel - ExternalPartner - SoftBrand - Unknown type: string description: 'Type of the loyalty program. Hotel ExternalPartner SoftBrand Unknown' x-enumNames: - Hotel - ExternalPartner - SoftBrand - Unknown x-enumDescriptions: - '' - '' - '' - '' x-schema-id: LoyaltyProgramType LoyaltyProgramResult: title: LoyaltyProgramResult required: - LoyaltyPrograms type: object properties: LoyaltyPrograms: maxItems: 1000 minItems: 1 type: array items: $ref: '#/components/schemas/LoyaltyProgram' description: The loyalty programs of the enterprise. Cursor: type: string description: Unique identifier of the item one newer in time order than the items to be returned. If Cursor is not specified, i.e. null, then the latest or most recent items will be returned. format: uuid nullable: true additionalProperties: false x-schema-id: LoyaltyProgramResult 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 LoyaltyProgramUpdateParameters: title: Loyalty program update parameters required: - LoyaltyProgramId type: object properties: LoyaltyProgramId: type: string description: Unique identifier of the loyalty program. format: uuid Name: title: String update value allOf: - $ref: '#/components/schemas/StringUpdateValue' description: Name of the loyalty program (or `null` if the name should not be updated). nullable: true Type: title: Loyalty program type update value allOf: - $ref: '#/components/schemas/LoyaltyProgramTypeUpdateValue' description: Type of the loyalty program (or `null` if the type should not be updated). nullable: true Subscription: title: Loyalty program subscription update value allOf: - $ref: '#/components/schemas/LoyaltyProgramSubscriptionUpdateValue' description: Subscription of the loyalty program (or `null` if the subscription should not be updated). nullable: true additionalProperties: false x-schema-id: LoyaltyProgramUpdateParameters StringUpdateValue: title: String update value type: object properties: Value: type: string description: Value which is to be updated. nullable: true additionalProperties: false x-schema-id: StringUpdateValue LoyaltyProgramSubscriptionUpdateValue: title: Loyalty program subscription update value type: object properties: Value: title: Loyalty program subscription allOf: - $ref: '#/components/schemas/LoyaltyProgramSubscription' description: Value which is to be updated. x-enumNames: - Free - Paid x-enumDescriptions: - '' - '' x-schema-id: LoyaltyProgramSubscription additionalProperties: false x-schema-id: LoyaltyProgramSubscriptionUpdateValue