Mews Voucher codes API

The Voucher codes API from Mews — 3 operation(s) for voucher codes.

OpenAPI Specification

mews-com-voucher-codes-api-openapi.yml Raw ↑
openapi: 3.0.4
info:
  title: BookingEngineApi Account notes Voucher codes API
  version: v1
servers:
- url: https://api.mews.com
tags:
- name: Voucher codes
paths:
  /api/connector/v1/voucherCodes/add:
    post:
      tags:
      - Voucher codes
      summary: Add voucher codes
      description: Adds voucher codes to the specified [Vouchers](https://mews-systems.gitbook.io/connector-api/operations/vouchers/#voucher). Note this operation supports [Portfolio Access Tokens](https://mews-systems.gitbook.io/connector-api/concepts/multi-property).
      operationId: voucherCodes_add
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MultipleVoucherCodeAddParameters'
            example:
              ClientToken: E0D439EE522F44368DC78E1BFB03710C-D24FB11DBE31D4621C4817E028D9E1D
              AccessToken: C66EF7B239D24632943D115EDE9CB810-EA00F8FD8294692C940F6B5A8F9453D
              Client: Sample Client 1.0.0
              EnterpriseId: 3fa85f64-5717-4562-b3fc-2c963f66afa6
              VoucherCodeParameters:
              - VoucherId: 8c364829-c7ae-4972-b67f-93ea704d7228
                Value: 0E5856B0A73E62B7E446
                ValidityStartUtc: '2023-10-09T22:00:00Z'
                ValidityEndUtc: '2023-10-09T22:00:00Z'
              - VoucherId: dc9d3488-7fc4-4fc9-a524-14e6504d8734
                Value: 021D047E42A5FD522CBA
                ValidityStartUtc: '2023-10-09T22:00:00Z'
                ValidityEndUtc: '2023-10-09T22:00:00Z'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VoucherCodeResult'
              example:
                VoucherCodes:
                - Id: 8c364829-c7ae-4972-b67f-93ea704d7228
                  VoucherId: fe568bbd-1ecb-4bb2-bf77-96c3698de20d
                  Value: 0E5856B0A73E62B7E446
                  ValidityStartUtc: null
                  ValidityEndUtc: null
                  CreatedUtc: '2023-10-30T13:37:16Z'
                  UpdatedUtc: '2023-10-30T13:37:16Z'
                  ActivityState: Active
                - Id: dc9d3488-7fc4-4fc9-a524-14e6504d8734
                  VoucherId: fe568bbd-1ecb-4bb2-bf77-96c3698de20d
                  Value: 021D047E42A5FD522CBA
                  ValidityStartUtc: '2023-10-09T22:00:00Z'
                  ValidityEndUtc: '2023-10-09T22:00:00Z'
                  CreatedUtc: '2023-10-09T15:08:14Z'
                  UpdatedUtc: '2023-10-09T15:08:14Z'
                  ActivityState: Active
        '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/voucherCodes/delete:
    post:
      tags:
      - Voucher codes
      summary: Delete voucher codes
      description: Delete specified voucher codes. Note this operation supports [Portfolio Access Tokens](https://mews-systems.gitbook.io/connector-api/concepts/multi-property).
      operationId: voucherCodes_delete
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MultipleVoucherCodeDeleteParameters'
            example:
              ClientToken: E0D439EE522F44368DC78E1BFB03710C-D24FB11DBE31D4621C4817E028D9E1D
              AccessToken: C66EF7B239D24632943D115EDE9CB810-EA00F8FD8294692C940F6B5A8F9453D
              Client: Sample Client 1.0.0
              EnterpriseId: 3fa85f64-5717-4562-b3fc-2c963f66afa6
              VoucherCodeIds:
              - 8c364829-c7ae-4972-b67f-93ea704d7228
              - dc9d3488-7fc4-4fc9-a524-14e6504d8734
      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'
  /api/connector/v1/voucherCodes/getAll:
    post:
      tags:
      - Voucher codes
      summary: Get all voucher codes
      description: Returns all voucher codes filtered by [Voucher](https://mews-systems.gitbook.io/connector-api/operations/vouchers/#voucher) 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: voucherCodes_getAll
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VoucherCodeFilterParameters'
            example:
              ClientToken: E0D439EE522F44368DC78E1BFB03710C-D24FB11DBE31D4621C4817E028D9E1D
              AccessToken: C66EF7B239D24632943D115EDE9CB810-EA00F8FD8294692C940F6B5A8F9453D
              Client: Sample Client 1.0.0
              EnterpriseIds:
              - 3fa85f64-5717-4562-b3fc-2c963f66afa6
              - 4d0201db-36f5-428b-8d11-4f0a65e960cc
              VoucherCodeIds:
              - 8c364829-c7ae-4972-b67f-93ea704d7228
              - dc9d3488-7fc4-4fc9-a524-14e6504d8734
              VoucherIds:
              - fe568bbd-1ecb-4bb2-bf77-96c3698de20d
              UpdatedUtc:
                StartUtc: '2023-10-10T00:00:00Z'
                EndUtc: '2023-10-17T00:00:00Z'
              Limitation:
                Count: 10
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VoucherCodeResult'
              example:
                VoucherCodes:
                - Id: 8c364829-c7ae-4972-b67f-93ea704d7228
                  VoucherId: fe568bbd-1ecb-4bb2-bf77-96c3698de20d
                  Value: 0E5856B0A73E62B7E446
                  ValidityStartUtc: null
                  ValidityEndUtc: null
                  CreatedUtc: '2023-10-30T13:37:16Z'
                  UpdatedUtc: '2023-10-30T13:37:16Z'
                  ActivityState: Active
                - Id: dc9d3488-7fc4-4fc9-a524-14e6504d8734
                  VoucherId: fe568bbd-1ecb-4bb2-bf77-96c3698de20d
                  Value: 021D047E42A5FD522CBA
                  ValidityStartUtc: '2023-10-09T22:00:00Z'
                  ValidityEndUtc: '2023-10-09T22:00:00Z'
                  CreatedUtc: '2023-10-09T15:08:14Z'
                  UpdatedUtc: '2023-10-09T15:08:14Z'
                  ActivityState: Active
        '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:
    MultipleVoucherCodeDeleteParameters:
      title: MultipleVoucherCodeDeleteParameters
      required:
      - AccessToken
      - Client
      - ClientToken
      - VoucherCodeIds
      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.
        EnterpriseId:
          type: string
          description: Unique identifier of the enterprise. Required when using [Portfolio Access Tokens](https://mews-systems.gitbook.io/connector-api/concepts/multi-property), ignored otherwise.
          format: uuid
          nullable: true
        VoucherCodeIds:
          maxItems: 1000
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: Unique identifiers of the voucher codes to be deleted.
      additionalProperties: false
      x-schema-id: MultipleVoucherCodeDeleteParameters
    ActivityStateEnum:
      title: Activity state
      enum:
      - Deleted
      - Active
      type: string
      description: '


        Deleted


        Active'
      x-enumNames:
      - Deleted
      - Active
      x-enumDescriptions:
      - ''
      - ''
    VoucherCodeFilterParameters:
      title: VoucherCodeFilterParameters
      required:
      - AccessToken
      - Client
      - ClientToken
      - Limitation
      - VoucherIds
      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
        VoucherCodeIds:
          maxItems: 1000
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: Unique identifiers of the voucher codes.
          nullable: true
        VoucherIds:
          maxItems: 1000
          minItems: 1
          type: array
          items:
            type: string
            format: uuid
          description: Unique identifiers of vouchers.
        UpdatedUtc:
          title: Time interval
          allOf:
          - $ref: '#/components/schemas/TimeFilterInterval'
          description: Interval of voucher code's last update date and time.
          nullable: true
          x-max-interval-in-months: 3
      additionalProperties: false
      x-schema-id: VoucherCodeFilterParameters
    Unit:
      type: object
      additionalProperties: false
    VoucherCodeAddParameters:
      title: Voucher code parameters
      required:
      - Value
      - VoucherId
      type: object
      properties:
        VoucherId:
          type: string
          description: Unique identifier of [Voucher](#voucher) the code belongs to.
          format: uuid
        Value:
          maxLength: 128
          minLength: 1
          type: string
          description: Value of voucher code used by customers.
        ValidityStartUtc:
          type: string
          description: If specified, marks the beginning of interval in which the code can be used.
          format: date-time
          nullable: true
        ValidityEndUtc:
          type: string
          description: If specified, marks the end of interval in which the code can be used.
          format: date-time
          nullable: true
      additionalProperties: false
      x-schema-id: VoucherCodeAddParameters
    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
    VoucherCodeResult:
      title: VoucherCodeResult
      required:
      - VoucherCodes
      type: object
      properties:
        VoucherCodes:
          maxItems: 1000
          type: array
          items:
            $ref: '#/components/schemas/VoucherCode'
          description: Information about voucher codes used by customers.
        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: VoucherCodeResult
    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
    MultipleVoucherCodeAddParameters:
      title: MultipleVoucherCodeAddParameters
      required:
      - AccessToken
      - Client
      - ClientToken
      - VoucherCodeParameters
      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.
        EnterpriseId:
          type: string
          description: Unique identifier of the enterprise. Required when using [Portfolio Access Tokens](https://mews-systems.gitbook.io/connector-api/concepts/multi-property), ignored otherwise.
          format: uuid
          nullable: true
        VoucherCodeParameters:
          maxItems: 1000
          minItems: 1
          type: array
          items:
            $ref: '#/components/schemas/VoucherCodeAddParameters'
          description: Voucher codes to be added.
      additionalProperties: false
      x-schema-id: MultipleVoucherCodeAddParameters
    VoucherCode:
      title: Voucher code
      required:
      - ActivityState
      - Id
      - IsActive
      - VoucherId
      type: object
      properties:
        Id:
          type: string
          description: Unique identifier of the voucher code.
          format: uuid
        VoucherId:
          type: string
          description: Unique identifier of `Voucher` the code belongs to.
          format: uuid
        Value:
          type: string
          description: Value of voucher code used by customers.
          nullable: true
        ValidityStartUtc:
          type: string
          description: If specified, marks the beginning of interval in which the code can be used.
          nullable: true
        ValidityEndUtc:
          type: string
          description: If specified, marks the end of interval in which the code can be used.
          nullable: true
        CreatedUtc:
          type: string
          description: Creation date and time of the voucher in UTC timezone in ISO 8601 format.
          nullable: true
        UpdatedUtc:
          type: string
          description: Last update date and time of the voucher in UTC timezone in ISO 8601 format.
          nullable: true
        ActivityState:
          title: Activity state
          allOf:
          - $ref: '#/components/schemas/ActivityStateEnum'
          description: 'Whether voucher code is active or deleted.


            Deleted


            Active'
          deprecated: true
          x-enumNames:
          - Deleted
          - Active
          x-enumDescriptions:
          - ''
          - ''
          x-deprecatedMessage: Use `IsActive` instead.
        IsActive:
          type: boolean
          description: Whether the voucher code is still active.
      additionalProperties: false
      x-schema-id: VoucherCode
    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