Payabli Subscription API

The Subscription API from Payabli — 2 operation(s) for subscription.

OpenAPI Specification

payabli-subscription-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: API reference Bill Subscription API
  version: 1.0.0
servers:
- url: https://api-sandbox.payabli.com/api
  description: Sandbox
- url: https://api.payabli.com/api
  description: Production
tags:
- name: Subscription
paths:
  /Subscription/add:
    post:
      operationId: NewSubscription
      summary: Create Subscription
      description: Creates a subscription or scheduled payment to run at a specified time and frequency. You can use stored payment method tokens for card, ACH, and digital wallets by passing them into the `paymentMethod.storedMethodId` field.
      tags:
      - Subscription
      parameters:
      - name: forceCustomerCreation
        in: query
        description: When `true`, the request creates a new customer record, regardless of whether customer identifiers match an existing customer. Defaults to `false`.
        required: false
        schema:
          $ref: '#/components/schemas/ForceCustomerCreation'
      - name: Authorization
        in: header
        description: 'OAuth2 Bearer access token from the client-credentials flow. See [OAuth authentication](/developers/oauth-authentication).

          '
        required: true
        schema:
          type: string
      - name: idempotencyKey
        in: header
        description: _Optional but recommended_ A unique ID that you can include to prevent duplicating objects or transactions in the case that a request is sent more than once. This key isn't generated in Payabli, you must generate it yourself. This key persists for 2 minutes. After 2 minutes, you can reuse the key if needed.
        required: false
        schema:
          $ref: '#/components/schemas/IdempotencyKey'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddSubscriptionResponse'
        '400':
          description: Bad request / invalid data.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayabliErrorBody'
        '401':
          description: Unauthorized request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayabliErrorBody'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayabliErrorBody'
        '503':
          description: Database connection error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayabliErrorBody'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SubscriptionRequestBody'
  /Subscription/{subId}:
    get:
      operationId: GetSubscription
      summary: Get a subscription
      description: Retrieves a single subscription's details.
      tags:
      - Subscription
      parameters:
      - name: subId
        in: path
        description: The subscription ID.
        required: true
        schema:
          type: integer
      - name: Authorization
        in: header
        description: 'OAuth2 Bearer access token from the client-credentials flow. See [OAuth authentication](/developers/oauth-authentication).

          '
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionQueryRecords'
        '400':
          description: Bad request / invalid data.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayabliErrorBody'
        '401':
          description: Unauthorized request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayabliErrorBody'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayabliErrorBody'
        '503':
          description: Database connection error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayabliErrorBody'
    put:
      operationId: UpdateSubscription
      summary: Update a subscription
      description: Updates a subscription's details.
      tags:
      - Subscription
      parameters:
      - name: subId
        in: path
        description: The subscription ID.
        required: true
        schema:
          type: integer
      - name: Authorization
        in: header
        description: 'OAuth2 Bearer access token from the client-credentials flow. See [OAuth authentication](/developers/oauth-authentication).

          '
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateSubscriptionResponse'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RequestUpdateSchedule'
    delete:
      operationId: RemoveSubscription
      summary: Delete a subscription
      description: Deletes a subscription, autopay, or recurring payment and prevents future charges.
      tags:
      - Subscription
      parameters:
      - name: subId
        in: path
        description: The subscription ID.
        required: true
        schema:
          type: integer
      - name: Authorization
        in: header
        description: 'OAuth2 Bearer access token from the client-credentials flow. See [OAuth authentication](/developers/oauth-authentication).

          '
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RemoveSubscriptionResponse'
        '400':
          description: Bad request / invalid data.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayabliErrorBody'
        '401':
          description: Unauthorized request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayabliErrorBody'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayabliErrorBody'
        '503':
          description: Database connection error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayabliErrorBody'
components:
  schemas:
    AccountId:
      type: string
      description: Custom identifier for payment connector.
      title: AccountId
    Shippingaddress:
      type: string
      description: The shipping address.
      title: Shippingaddress
    FreightAmount:
      type: number
      format: double
      description: Freight/shipping amount.
      title: FreightAmount
    RequestSchedulePaymentMethodInitiator:
      type: object
      properties:
        initiator:
          $ref: '#/components/schemas/Initiator'
        storedMethodId:
          $ref: '#/components/schemas/Storedmethodid'
          description: Payabli identifier of a tokenized payment method.
        storedMethodUsageType:
          $ref: '#/components/schemas/StoredMethodUsageType'
      description: The required and recommended fields for a payment made with a stored payment method.
      title: RequestSchedulePaymentMethodInitiator
    Maskedaccount:
      type: string
      description: 'Masked card or bank account used in transaction. In the case of Apple

        Pay, this is a masked DPAN (device primary account number).

        '
      title: Maskedaccount
    PayabliErrorBodyResponseData:
      type: object
      properties:
        explanation:
          type: string
          description: Human-readable explanation of what happened.
        todoAction:
          type: string
          description: Suggested resolution.
      description: Object with detailed error context.
      title: PayabliErrorBodyResponseData
    BillDataPaymentTerms:
      type: string
      enum:
      - PIA
      - CIA
      - UR
      - NET10
      - NET20
      - NET30
      - NET45
      - NET60
      - NET90
      - EOM
      - MFI
      - 5MFI
      - 10MFI
      - 15MFI
      - 20MFI
      - 2/10NET30
      - UF
      - 10UF
      - 20UF
      - 25UF
      - 50UF
      description: 'Payment terms for invoice. If no terms are defined, then response data for

        this field defaults to `NET30`. Mirrors the values in

        [`Terms`](#schema-terms).

        '
      title: BillDataPaymentTerms
    Email:
      type: string
      format: email
      description: Email address.
      title: Email
    Accountexp:
      type: string
      description: Expiration date of card used in transaction.
      title: Accountexp
    BillingStateNullable:
      type: string
      description: Billing state. Must be a 2-letter state code for addresses in the US.
      title: BillingStateNullable
    BillingCountryNullable:
      type: string
      description: Billing address country.
      title: BillingCountryNullable
    Cardzip:
      type: string
      description: 'ZIP or postal code for the billing address of cardholder. We **strongly

        recommend** that you include this field when using `card` as a method.

        '
      title: Cardzip
    CustomerStatus:
      type: integer
      description: 'Customer Status. Possible values:


        - `-99` Deleted

        - `0` Inactive

        - `1` Active

        - `85` Locked (typically due to multiple failed login attempts)

        '
      title: CustomerStatus
    PayMethodACH:
      type: object
      properties:
        achAccount:
          $ref: '#/components/schemas/Achaccount'
          description: Bank account number. This field is **required** when method = 'ach'.
        achAccountType:
          $ref: '#/components/schemas/Achaccounttype'
          description: Bank account type. This field is **required** when method = 'ach'.
        achCode:
          $ref: '#/components/schemas/AchSecCode'
        achHolder:
          $ref: '#/components/schemas/AchHolder'
        achHolderType:
          $ref: '#/components/schemas/AchHolderType'
          default: personal
        achRouting:
          $ref: '#/components/schemas/Achrouting'
          description: ABA/routing number of bank account. This field is **required** when method = 'ach'.
        device:
          $ref: '#/components/schemas/Device'
        method:
          type: string
          enum:
          - ach
      required:
      - achAccount
      - achHolder
      - achRouting
      - method
      title: PayMethodACH
    SummaryCommodityCode:
      type: string
      description: Commodity code.
      title: SummaryCommodityCode
    ItemUnitofMeasure:
      type: string
      description: Unit of measurement. Max length of 100 characters.
      title: ItemUnitofMeasure
    Entrypointfield:
      type: string
      description: The entrypoint identifier.
      title: Entrypointfield
    IdempotencyKey:
      type: string
      description: '_Optional but recommended._ A unique ID that you can include to prevent

        duplicating objects or transactions in the case that a request is sent

        more than once. This key isn''t generated in Payabli; you must generate it

        yourself. The key persists for 2 minutes. After 2 minutes, you can reuse

        the key if needed.

        '
      title: IdempotencyKey
    AddSubscriptionResponse:
      type: object
      properties:
        customerId:
          $ref: '#/components/schemas/CustomerId'
        responseText:
          $ref: '#/components/schemas/ResponseText'
        isSuccess:
          $ref: '#/components/schemas/IsSuccess'
        responseData:
          type: integer
          description: The identifier of the newly created subscription.
      required:
      - responseText
      - responseData
      description: Success response
      title: AddSubscriptionResponse
    QueryTransactionPayorData:
      type: object
      properties:
        Identifiers:
          type: array
          items:
            description: Any type
          description: Array of field names to be used as identifiers.
        FirstName:
          type: string
          description: Customer/Payor first name.
        LastName:
          type: string
          description: Customer/Payor last name.
        CompanyName:
          type: string
          description: Customer's company name.
        BillingAddress1:
          type: string
          description: Customer's billing address.
        BillingAddress2:
          type: string
          description: Additional line for Customer's billing address.
        BillingCity:
          type: string
          description: Customer's billing city.
        BillingState:
          type: string
          description: Customer's billing state. Must be 2-letter state code for address in US.
        BillingZip:
          $ref: '#/components/schemas/BillingZip'
          description: Customer's billing ZIP code.
        BillingCountry:
          type: string
          description: Customer's billing country.
        BillingPhone:
          type: string
          description: Customer's phone number.
        BillingEmail:
          $ref: '#/components/schemas/Email'
          description: Customer's email address.
        CustomerNumber:
          $ref: '#/components/schemas/CustomerNumberNullable'
        ShippingAddress1:
          $ref: '#/components/schemas/Shippingaddress'
        ShippingAddress2:
          $ref: '#/components/schemas/Shippingaddressadditional'
        ShippingCity:
          $ref: '#/components/schemas/Shippingcity'
        ShippingState:
          $ref: '#/components/schemas/Shippingstate'
        ShippingZip:
          $ref: '#/components/schemas/Shippingzip'
        ShippingCountry:
          $ref: '#/components/schemas/Shippingcountry'
        customerId:
          $ref: '#/components/schemas/CustomerId'
        customerStatus:
          $ref: '#/components/schemas/CustomerStatus'
        AdditionalData:
          $ref: '#/components/schemas/AdditionalDataMap'
      title: QueryTransactionPayorData
    DutyAmount:
      type: number
      format: double
      description: Duty amount.
      title: DutyAmount
    Tax:
      type: number
      format: double
      description: Tax rate in percent applied to the invoice.
      title: Tax
    FileContent:
      type: object
      properties:
        fContent:
          type: string
          description: 'Content of file, Base64-encoded. Ignored if `furl` is specified. Max

            upload size is 30 MB.

            '
        filename:
          type: string
          description: The name of the attached file.
        ftype:
          $ref: '#/components/schemas/FileContentFtype'
        furl:
          type: string
          description: Optional URL provided to show or download the file remotely.
      description: Contains details about a file. Max upload size is 30 MB.
      title: FileContent
    AchSecCode:
      type: string
      description: "Standard Entry Class (SEC) code is a three letter code that describes\nhow an ACH payment was authorized. Supported values are:\n\n- **PPD** (Prearranged Payment and Deposit) — Used for credits or debits\n  where an accountholder authorizes a company to initiate either a single\n  or recurring transaction to their personal bank account. Common examples\n  include direct deposit of payroll, mortgage payments, or utility bills.\n  This is the default value for subscription payments.\n- **WEB** (Internet-Initiated/Mobile Entry) — Used for debit entries when\n  authorization is obtained from an accountholder via the internet or a\n  wireless network. Common examples are online bill payments, ecommerce\n  purchases, and mobile app payments where the consumer enters their\n  banking information online.\n- **TEL** (Telephone-Initiated Entry) — Used for one-time debit entries\n  where authorization is obtained from a consumer via telephone. Common\n  examples are phone-based purchases or bill payments where the consumer\n  provides their banking information over the phone.\n- **CCD** (Corporate Credit or Debit) — Used for fund transfers between\n  business accounts. This code is specifically for business-to-business\n  transactions. Common examples include vendor payments and other\n  business-to-business payments.\n- **BOC** (Back Office Conversion) — Used to convert paper checks received\n  in-person at a point-of-sale or staffed payment location into electronic\n  ACH debits. Required for Remote Deposit Capture (RDC) transactions. Only\n  supports consumer checks; business, government, and mailed checks\n  aren't eligible.\n"
      title: AchSecCode
    ItemDescription:
      type: string
      description: Item or product description. Max length of 250 characters.
      title: ItemDescription
    CreatedAt:
      type: string
      format: date-time
      description: Timestamp of when record was created, in UTC.
      title: CreatedAt
    BinData:
      type: object
      properties:
        binMatchedLength:
          type: string
          description: 'The number of characters from the beginning of the card number that

            were matched against a Bank Identification Number (BIN) or the Card

            Range table.'
        binCardBrand:
          type: string
          description: 'The card brand. For example, Visa, Mastercard, American Express,

            Discover.'
        binCardType:
          type: string
          description: 'The type of card: `Credit` or `Debit`. Case can vary between

            processors, so compare this value case-insensitively.'
        binCardCategory:
          type: string
          description: 'The category of the card, which indicates the card product. For example: Standard, Gold, Platinum, etc. The binCardCategory for prepaid cards is marked `PREPAID`.'
        binCardIssuer:
          type: string
          description: The name of the financial institution that issued the card.
        binCardIssuerCountry:
          type: string
          description: The issuing financial institution's country name.
        binCardIssuerCountryCodeA2:
          type: string
          description: The issuing financial institution's two-character ISO country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes.
        binCardIssuerCountryNumber:
          type: string
          description: The issuing financial institution's ISO standard numeric country code. See [this resource](https://www.iso.org/obp/ui/#search) for a list of codes.
        binCardIsRegulated:
          type: string
          description: Indicates whether the card is regulated.
        binCardUseCategory:
          type: string
          description: The use category classification for the card.
        binCardIssuerCountryCodeA3:
          type: string
          description: 'The issuing financial institution''s three-character ISO country code.

            See [this resource](https://www.iso.org/obp/ui/#search) for a list of

            codes.'
      description: 'Object containing information related to the card. This object is `null`

        unless the payment method is card. If the payment method is Apple Pay, the

        binData will be related to the DPAN (device primary account number), not

        the card connected to Apple Pay.'
      title: BinData
    Holdername:
      type: string
      description: The cardholder name.
      title: Holdername
    ResponseText:
      type: string
      description: 'Response text for operation: ''Success'' or ''Declined''.

        '
      title: ResponseText
    AchHolderType:
      type: string
      enum:
      - personal
      - business
      default: personal
      description: 'The bank''s accountholder type: personal or business.

        '
      title: AchHolderType
    Cardnumber:
      type: string
      description: 'The card number. Required when method is `card` and a `storedMethodId`

        isn''t included.

        '
      title: Cardnumber
    Shippingstate:
      type: string
      description: Shipping state or province.
      title: Shippingstate
    RequestUpdateSchedule:
      type: object
      properties:
        paymentDetails:
          $ref: '#/components/schemas/PaymentDetail'
          description: Object describing details of the payment. For Regular subscriptions, skip a payment by setting `totalAmount` to 0; payments pause until you update it to a non-zero value, and `serviceFee` must also be 0 when `totalAmount` is 0. For BalanceDriven subscriptions, any `totalAmount` you send is accepted but ignored at run time. Each run charges the payor's live balance, and a zero balance is skipped.
        scheduleDetails:
          $ref: '#/components/schemas/ScheduleDetail'
          description: Object describing the schedule for subscription
        setPause:
          $ref: '#/components/schemas/SetPause'
      title: RequestUpdateSchedule
    RequestSchedulePaymentMethod:
      oneOf:
      - $ref: '#/components/schemas/PayMethodCredit'
      - $ref: '#/components/schemas/PayMethodACH'
      - $ref: '#/components/schemas/RequestSchedulePaymentMethodInitiator'
      description: Information about the payment method for the transaction. Required and recommended fields for each payment method type are described in each schema below.
      title: RequestSchedulePaymentMethod
    Initiator:
      type: string
      description: 'The transaction''s initiator. Indicates who initiated the transaction.

        '
      title: Initiator
    CustomerId:
      type: integer
      format: int64
      description: The Payabli-generated unique ID for the customer.
      title: CustomerId
    BillingCityNullable:
      type: string
      description: Billing city.
      title: BillingCityNullable
    CustomerNumberNullable:
      type: string
      description: 'User-provided unique identifier for the customer. This is typically the

        customer ID from your own system.

        '
      title: CustomerNumberNullable
    BillItem:
      type: object
      properties:
        itemCategories:
          type: array
          items:
            type: string
          description: Array of tags classifying item or product.
        itemCommodityCode:
          $ref: '#/components/schemas/ItemCommodityCode'
        itemCost:
          type: number
          format: double
          description: Item or product price per unit.
        itemDescription:
          $ref: '#/components/schemas/ItemDescription'
        itemMode:
          type: integer
          description: 'Internal class of item or product: value `0` is only for invoices,

            `1` for bills, and `2` is common for both. Required on invoice line

            items — invoice creation fails with `Invalid item data` if it''s omitted.

            '
        itemProductCode:
          $ref: '#/components/schemas/ItemProductCode'
        itemProductName:
          $ref: '#/components/schemas/ItemProductName'
        itemQty:
          type: integer
          description: Quantity of item or product.
        itemTaxAmount:
          type: number
          format: double
          description: Tax amount applied to item or product.
        itemTaxRate:
          type: number
          format: double
          description: Tax rate applied to item or product.
        itemTotalAmount:
          type: number
          format: double
          description: 'Per-line total for this item (unit cost times quantity). Distinct from

            the invoice''s overall total, `invoiceAmount`. Required on invoice line items.

            '
        itemUnitOfMeasure:
          $ref: '#/components/schemas/ItemUnitofMeasure'
      title: BillItem
    BillingAddressAddtlNullable:
      type: string
      description: Additional line for the billing address.
      title: BillingAddressAddtlNullable
    ItemProductCode:
      type: string
      description: Item or product code. Max length of 250 characters.
      title: ItemProductCode
    Subdomain:
      type: string
      description: 'Refers to the payment page identifier. If provided, then the

        transaction is linked to the payment page.

        '
      title: Subdomain
    PayabliErrorBody:
      type: object
      properties:
        isSuccess:
          type: boolean
          description: Always `false` for error responses.
        responseCode:
          type: integer
          description: 'Code for the response. Learn more in

            [API Response Codes](/developers/api-reference/api-responses).

            '
        responseText:
          type: string
          description: Error text describing what went wrong.
        responseData:
          $ref: '#/components/schemas/PayabliErrorBodyResponseData'
          description: Object with detailed error context.
      required:
      - isSuccess
      - responseText
      description: 'Shape returned by every Payabli API error response. The `responseData`

        object carries human-readable error context.

        '
      title: PayabliErrorBody
    Achaccounttype:
      type: string
      enum:
      - Checking
      - Savings
      description: 'Bank account type: Checking or Savings.'
      title: Achaccounttype
    BillData:
      type: object
      properties:
        AdditionalData:
          $ref: '#/components/schemas/AdditionalDataMap'
        attachments:
          $ref: '#/components/schemas/Attachments'
        company:
          type: string
          description: Company name of the recipient of the invoice.
        discount:
          $ref: '#/components/schemas/Discount'
        dutyAmount:
          $ref: '#/components/schemas/DutyAmount'
        firstName:
          type: string
          description: First name of the recipient of the invoice.
        freightAmount:
          $ref: '#/components/schemas/FreightAmount'
        frequency:
          $ref: '#/components/schemas/Frequency'
          description: Frequency of scheduled invoice.
        invoiceAmount:
          $ref: '#/components/schemas/InvoiceAmount'
        invoiceDate:
          type: string
          format: date
          description: 'Invoice date in any of the accepted formats: YYYY-MM-DD, MM/DD/YYYY.'
        invoiceDueDate:
          type: string
          format: date
          description: 'Invoice due date in one of the accepted formats: YYYY-MM-DD, MM/DD/YYYY.'
        invoiceEndDate:
          type: string
          format: date
          description: 'Indicate the date to finish a scheduled invoice cycle (`invoiceType`` = 1) in any of the accepted formats: YYYY-MM-DD, MM/DD/YYYY.'
        invoiceNumber:
          $ref: '#/components/schemas/InvoiceNumber'
          description: Invoice number. Identifies the invoice under a paypoint.
        invoiceStatus:
          $ref: '#/components/schemas/Invoicestatus'
        invoiceType:
          $ref: '#/components/schemas/InvoiceType'
        items:
          type: array
          items:
            $ref: '#/components/schemas/BillItem'
          description: Array of line items included in the invoice.
        lastName:
          type: string
          description: Last name of the recipient of the invoice.
        notes:
          type: string
          description: Notes included in the invoice.
        paymentTerms:
          $ref: '#/components/schemas/BillDataPaymentTerms'
        purchaseOrder:
          $ref: '#/components/schemas/PurchaseOrder'
        shippingAddress1:
          $ref: '#/components/schemas/Shippingaddress'
        shippingAddress2:
          $ref: '#/components/schemas/Shippingaddressadditional'
        shippingCity:
          $ref: '#/components/schemas/Shippingcity'
        shippingCountry:
          $ref: '#/components/schemas/Shippingcountry'
        shippingEmail:
          $ref: '#/components/schemas/Email'
          description: Shipping recipient's contact email address.
        shippingFromZip:
          $ref: '#/components/schemas/ShippingFromZip'
        shippingPhone:
          type: string
          description: Recipient phone number.
        shippingState:
          $ref: '#/components/schemas/Shippingstate'
        shippingZip:
          $ref: '#/components/schemas/Shippingzip'
        summaryCommodityCode:
          $ref: '#/components/schemas/SummaryCommodityCode'
        tax:
          $ref: '#/components/schemas/Tax'
        termsConditions:
          $ref: '#/components/schemas/TermsConditions'
      title: BillData
    PaypointId:
      type: integer
      format: int64
      description: The paypoint's ID. Note that this is different than the entryname.
      title: PaypointId
    SubscriptionQueryRecords:
      type: object
      properties:
        CreatedAt:
          $ref: '#/components/schemas/CreatedAt'
          description: Timestamp of when the subscription ws created, in UTC.
        Customer:
          $ref: '#/components/schemas/QueryTransactionPayorData'
        EndDate:
          type:
          - string
          - 'null'
          format: date-time
          description: The subscription's end date.
        EntrypageId:
          $ref: '#/components/schemas/EntrypageId'
        ExternalPaypointID:
          $ref: '#/components/schemas/ExternalPaypointId'
        FeeAmount:
          type: number
          format: double
          description: Fee applied to the subscription.
        Frequency:
          type: string
          description: The subscription's frequency.
        IdSub:
          type: integer
          format: int64
          description: The subscription's ID.
        invoiceData:
          $ref: '#/components/schemas/BillData'
        LastRun:
          type:
          - string
          - 'null'
          format: date-time
          description: The last time the subscription was processed.
        LastUpdated:
          $ref: '#/components/schemas/LastModified'
          description: The last date and time the subscription was updated.
        LeftCycles:
          type: integer
          description: The number of cycles the subscription has left.
        Method:
          type: string
          description: The subscription's payment method.
        NetAmount:
          $ref: '#/components/schemas/Netamountnullable'
          description: The subscription amount, minus any fees.
        NextDate:
          type:
          - string
          - 'null'
          format: date-time
          description: The next date the subscription will be processed.
        ParentOrgName:
          $ref: '#/components/schemas/OrgParentName'
        PaymentData:
          $ref: '#/components/schemas/QueryPaymentData'
        PaypointDbaname:
          $ref: '#/components/schemas/Dbaname'
          description: The paypoint's DBA name.
        PaypointEntryname:
          $ref: '#/components/schemas/Entrypointfield'
          description: The paypoint's entryname.
        PaypointId:
          $ref: '#/components/schemas/PaypointId'
        PaypointLegalname:
          $ref: '#/components/schemas/Legalname'
          description: The paypoint's legal name.
        PlanId:
          type: integer
          description: Payment plan ID.
        Source:
          $ref: '#/components/schemas/Source'
        StartDate:
          type:
          - string
          - 'null'
          format: date-time
          description: The subscription start date.
        StoredMethod:
          oneOf:
          - $ref: '#/components/schemas/VendorResponseStoredMethod'
          - type: 'null'
          description: 'The full stored payment method record linked to the subscription

            and charged on each billing cycle. Returned as `null` for legacy

            subscriptions that don''t have a linked stored method.

            The shape is the same across payment vehicles (card, ACH, check).

            Only the populated fields differ. For example, `ABA` is populated

            for ACH, while `ExpDate` and `binData` are populated for card.

# --- truncated at 32 KB (58 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/payabli/refs/heads/main/openapi/payabli-subscription-api-openapi.yml