Mews Payment plans API

The Payment plans API from Mews — 1 operation(s) for payment plans.

OpenAPI Specification

mews-systems-payment-plans-api-openapi.yml Raw ↑
openapi: 3.0.4
info:
  title: Mews Booking Engine API (Distributor) Account notes Payment plans 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: Payment plans
paths:
  /api/connector/v1/billingAutomationPaymentPlans/add:
    post:
      tags:
      - Payment plans
      summary: Mews Add Billing Automation Payment Plan
      description: "Adds a payment plan connected to a `Billing automation` and returns the payment request URL associated with the created payment plan. The fulfillment of the payment request will activate the payment plan.\r\nNote this operation supports [Portfolio Access Tokens](https://mews-systems.gitbook.io/connector-api/concepts/multi-property/)."
      operationId: billingAutomationPaymentPlans_add
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BillingAutomationPaymentPlanAddParameters'
            example:
              ClientToken: E0D439EE522F44368DC78E1BFB03710C-D24FB11DBE31D4621C4817E028D9E1D
              AccessToken: C66EF7B239D24632943D115EDE9CB810-EA00F8FD8294692C940F6B5A8F9453D
              Client: Sample Client 1.0.0
              BillingAutomationId: ecd64eec-4423-4c65-b844-814b9199856d
              CustomerId: fadd5bb6-b428-45d5-94f8-fd0d89fece6d
              Name: Payment Plan Name
              PaymentRequest:
                PaymentMethods:
                - PaymentCard
                - SepaDirectDebit
                Message: Your scheduled payments will be collected automatically based on your selected plan and timing.
                Note: Bill for previous month included
                ExpirationDateUtc: '2026-10-01T12:00:00Z'
                SendEmail: false
              PaymentOffsetDays: 5
              StartMonth: 2026-10
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentPlanAddResult'
              example:
                PaymentRequestUrl: https://example.com/payment-request-url
        '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:
                BillingAutomationPaymentPlansAdd400Example:
                  summary: Default billingAutomationPaymentPlans_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:
                BillingAutomationPaymentPlansAdd401Example:
                  summary: Default billingAutomationPaymentPlans_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:
                BillingAutomationPaymentPlansAdd403Example:
                  summary: Default billingAutomationPaymentPlans_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:
                BillingAutomationPaymentPlansAdd408Example:
                  summary: Default billingAutomationPaymentPlans_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:
                BillingAutomationPaymentPlansAdd204Example:
                  summary: Default billingAutomationPaymentPlans_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:
                BillingAutomationPaymentPlansAdd429Example:
                  summary: Default billingAutomationPaymentPlans_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:
                BillingAutomationPaymentPlansAdd500Example:
                  summary: Default billingAutomationPaymentPlans_add 500 response
                  x-microcks-default: true
                  value:
                    Message: string
                    RequestId: 3edd5f9e-7e64-4f2a-9a0e-b3f200e6c111
                    Details: string
      x-restricted: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    BillingAutomationPaymentPlanAddParameters:
      title: BillingAutomationPaymentPlanAddParameters
      required:
      - AccessToken
      - BillingAutomationId
      - Client
      - ClientToken
      - CustomerId
      - Name
      - PaymentOffsetDays
      - PaymentRequest
      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
        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
          example: 3edd5f9e-7e64-4f2a-9a0e-b3f200e6c111
        BillingAutomationId:
          type: string
          description: Unique identifier of the `Billing automation` associated with the payment plan.
          format: uuid
          example: 3edd5f9e-7e64-4f2a-9a0e-b3f200e6c111
        CustomerId:
          type: string
          description: Unique identifier of the `Customer` associated with the payment plan.
          format: uuid
          example: 3edd5f9e-7e64-4f2a-9a0e-b3f200e6c111
        Name:
          maxLength: 255
          minLength: 1
          type: string
          description: Name of the payment plan.
          example: Example Name
        PaymentRequest:
          title: Billing automation payment plan payment request
          allOf:
          - $ref: '#/components/schemas/BillingAutomationPaymentPlanPaymentRequest'
          description: Data related to the payment request associated with the payment plan created.
          example: string
        PaymentOffsetDays:
          type: integer
          description: Number of days since the bill creation when the payment will be charged.
          format: int32
          example: 1
        StartMonth:
          type: string
          description: Specifies the month when the payment plan begins collecting payments, in the 'YYYY-MM' format. The month must be in the future. If a value is not set, it'll start with the earliest available bill created from billing automation.
          nullable: true
          example: string
      additionalProperties: false
      x-schema-id: BillingAutomationPaymentPlanAddParameters
    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
    BillingAutomationPaymentPlanPaymentRequest:
      title: Billing automation payment plan payment request
      required:
      - ExpirationDateUtc
      - Message
      - PaymentMethods
      - SendEmail
      type: object
      properties:
        PaymentMethods:
          minItems: 1
          uniqueItems: true
          type: array
          items:
            $ref: '#/components/schemas/PaymentMethodsEnum'
          description: Allowed payment methods to use for the payment plan.
        Message:
          maxLength: 1000
          minLength: 1
          type: string
          description: Message for customer in the payment request email.
          example: string
        Note:
          maxLength: 2000
          type: string
          description: Internal note for the payment request.
          nullable: true
          example: string
        ExpirationDateUtc:
          minLength: 1
          type: string
          description: Expiration date (UTC time) of the payment request. Must be within 30 days of payment plan creation. ISO-8601 format.
          format: date-time
          example: '2026-06-02T14:30:00Z'
        SendEmail:
          type: boolean
          description: Specifies whether a payment request email is sent to the customer.
          example: true
      additionalProperties: false
      x-schema-id: BillingAutomationPaymentPlanPaymentRequest
    PaymentPlanAddResult:
      title: PaymentPlanAddResult
      required:
      - PaymentRequestUrl
      type: object
      properties:
        PaymentRequestUrl:
          minLength: 1
          type: string
          description: Payment request URL associated with the created payment plan.
          example: https://api.mews.com/api/connector/v1
      additionalProperties: false
      x-schema-id: PaymentPlanAddResult
    PaymentMethodsEnum:
      title: Available payment plan payment methods
      enum:
      - Ideal
      - PaymentCard
      - ApplePay
      - GooglePay
      - SepaDirectDebit
      - All
      type: string
      description: '


        Ideal (iDEAL)


        PaymentCard (Payment card)


        ApplePay (Apple Pay)


        GooglePay (Google Pay)


        SepaDirectDebit (SEPA Direct Debit)


        All'
      x-enumNames:
      - Ideal
      - PaymentCard
      - ApplePay
      - GooglePay
      - SepaDirectDebit
      - All
      x-enumDescriptions:
      - iDEAL
      - Payment card
      - Apple Pay
      - Google Pay
      - SEPA Direct Debit
      - ''
  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.