> ## Documentation Index
> Fetch the complete documentation index at: https://docs.payaza.africa/llms.txt
> Use this file to discover all available pages before exploring further.

# List Subscription

> It retrieves a paginated list of subscriptions belonging to the authenticated merchant.



## OpenAPI

````yaml /openapi.json get /subscription/api/v1/subscriptions?page={page}&size={size}&status={status}
openapi: 3.0.1
info:
  title: Payaza Documentation
  version: 2.0.0
  description: >-
    API reference for processing payments using Card, Bank Transfer, USSD, and
    QR Code methods.
servers:
  - url: https://api.payaza.africa/live
security:
  - ApiKeyAuth: []
  - TenantID: []
  - ProductID: []
tags:
  - name: Transfers
    description: >-
      Transfers are transactions made from your Payaza account to beneficiaries.
      Merchants can instantly transfer funds from their available balance. For
      every transfer, you need to specify the amount and the beneficiary’s
      details. You become eligible to make transfers after you have been
      verified. (you sign up, finish account activation and KYC verification).
  - name: Payaza Account
    description: >-
      This is our internal account that can be used to make payouts to other
      bank accounts, in single or in bulk. The Payaza account can also be used
      to receive settlements. It can also be used to track the transfer status
      of your transactions and check your balance instantly
  - name: Sub Accounts
    description: >-
      This enables you to establish Sub Payaza accounts for your customers. Each
      sub-account comes with an assigned static virtual account, facilitating
      direct funding for individual accounts. Furthermore, the Main Payaza
      account can directly initiate funding for each sub-account. These
      sub-accounts serve the purpose of managing unique account positions or
      balances and facilitating disbursements from these positions to specified
      beneficiaries.
  - name: EUR Accounts
    description: >-
      This endpoints enable you to create EUR subaccounts which can be used to
      make transfers as required .
  - name: Apple Pay and Google Pay
    description: >-
      Apple Pay and Google Pay give your customers a fast, familiar, and secure
      way to complete payments. Our APIs provide a gateway to provide these
      services to your users for a smooth payment experience.
  - name: Virtual Accounts
    description: >-
      Virtual Accounts are bank accounts that are created for a specific purpose
      and last for specified durations. Virtual accounts are issued by Payaza’s
      partner banks. Our virtual account APIs can be used to create virtual
      accounts and perform other tasks relevant to virtual accounts. Virtual
      accounts are created to foster easy payment collections for your business
      and platform. 

      Static/Reserved Account: This virtual account is created by the merchant
      and remains valid indefinitely. It can be used multiple times and does not
      expire. 

      Dynamic Account: This virtual account is generated for a specific
      transaction or purpose. Please note that dynamic virtual account remains
      valid for a temporary period of time or until a payment of the specified
      amount is received. Upon expiry, a merchant can generate another one for a
      different purpose.
  - name: Card Collection
    description: >-
      The Card Collection APIs can be used to make card transactions, refund
      transactions that have been performed, check the status of a transaction
      and so much more.
  - name: Card Tokenisation
    description: >-
      The Card Tokenisation APIs are used to create card tokens, charge cards
      using tokens, retrieve all tokens created by a merchant account and
      deleting any card token as desired.
  - name: Refunds And Chargebacks
    description: >-
      The Refunds and Chargeback APIs are used to initiate refunds, view your
      refund and chargeback history and so much more.
  - name: Branches
    description: >-
      The Refunds and Chargeback APIs are used to initiate refunds, view your
      refund and chargeback history and so much more.
  - name: Auth-Capture-Void
    description: >-
      The Auth-Capture-Void APIs provide a two-phase payment process where
      transactions are first authorized, then captured or voided. This allows
      merchants to hold funds and complete the transaction in the future.
  - name: Momo and ZAR Collections
    description: APIs for MoMo, ZAR and XOF collections.
  - name: Check Transaction Status(Merchant Reference)
    description: >-
      This endpoint is used to check the transaction status of a transaction
      using the Merchant Reference..
paths:
  /subscription/api/v1/subscriptions?page={page}&size={size}&status={status}:
    get:
      tags:
        - Subscription Reads
      summary: List Subscription
      description: >-
        It retrieves a paginated list of subscriptions belonging to the
        authenticated merchant.
      parameters:
        - name: page
          in: query
          required: true
          schema:
            type: integer
          description: The page number to be retrieved.
        - name: size
          in: query
          required: true
          schema:
            type: integer
          description: The number of records per page.
        - name: status
          in: query
          required: true
          schema:
            type: string
          description: Filter subscriptions by status.
      responses:
        '200':
          description: Request Successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/listSubscriptionResponse'
              examples:
                Change Subscription Plan:
                  summary: Change Subscription Plan
                  value:
                    success: true
                    message: Success
                    data:
                      content:
                        - id: 132
                          customerId: CUST-12345
                          customerEmail: customer@example.com
                          status: ACTIVE
                          nextChargeDate: '2026-07-30T04:07:06.026488'
                      page: 0
                      size: 10
                      totalElements: 1
                      totalPages: 1
        '400':
          description: Invalid request
      security:
        - ApiKeyAuth:
            - Payaza {{Public API Key In Base64}}
components:
  schemas:
    listSubscriptionResponse:
      title: List Subscription Response
      type: object
      properties:
        success:
          type: boolean
          description: Indicates if the request was successful.
          example: true
        message:
          type: string
          description: Descriptive message regarding the operation.
          example: Success
        data:
          type: object
          description: >-
            The payload containing the paginated list of subscription records
            paired with their respective plans.
          properties:
            content:
              type: array
              description: The array of coupled subscription and plan details.
              items:
                type: object
                properties:
                  subscription:
                    type: object
                    description: >-
                      Lifecycle and routing information for the specific
                      subscription record.
                    properties:
                      id:
                        type: integer
                        description: Unique internal identifier for the subscription.
                        example: 22
                      customerId:
                        type: string
                        description: >-
                          Unique reference identifier assigned to the customer
                          layer.
                        example: test-trial-2
                      customerEmail:
                        type: string
                        format: email
                        description: The email address of the customer.
                        example: johndoe@gmail.com
                      firstName:
                        type: string
                        nullable: true
                        example: null
                      lastName:
                        type: string
                        nullable: true
                        example: null
                      customerAuthorizedAt:
                        type: string
                        format: date-time
                        nullable: true
                        example: null
                      status:
                        type: string
                        description: >-
                          The operational subscription lifecycle state (e.g.,
                          ACTIVE, CANCELLED, PAST_DUE).
                        example: ACTIVE
                      currentPeriodStart:
                        type: string
                        format: date-time
                        description: >-
                          Timestamp tracking when the current billing window
                          opened.
                        example: '2026-07-08T20:45:49.099607'
                      currentPeriodEnd:
                        type: string
                        format: date-time
                        description: >-
                          Timestamp tracking when the current billing window
                          closes.
                        example: '2026-07-09T20:45:52.188164'
                      nextChargeDate:
                        type: string
                        format: date-time
                        nullable: true
                        description: >-
                          The next scheduled auto-billing timestamp execution
                          block. Null if cancelled.
                        example: '2026-08-08T21:07:05.155671'
                      trialEndDate:
                        type: string
                        format: date-time
                        nullable: true
                        example: null
                      pauseResumesAt:
                        type: string
                        format: date-time
                        nullable: true
                        example: null
                      cancelAt:
                        type: string
                        format: date-time
                        nullable: true
                        example: null
                      pausedAt:
                        type: string
                        format: date-time
                        nullable: true
                        description: Timestamp recording when the schedule was paused.
                        example: null
                      cancelledAt:
                        type: string
                        format: date-time
                        nullable: true
                        description: >-
                          Timestamp recording absolute terminal termination
                          updates.
                        example: '2026-07-08T21:00:56.319038'
                      cancellationReason:
                        type: string
                        nullable: true
                        description: >-
                          Contextual reason string note explaining termination
                          logging context.
                        example: Just Testing it out
                      cardExpiryAlertSent:
                        type: boolean
                        example: false
                      connectionMode:
                        type: string
                        example: Live
                      enrollmentReference:
                        type: string
                        description: The core global billing token reference signature.
                        example: SUBREF_EE9A8CD25F38423B87
                      enrollmentTxnReference:
                        type: string
                        example: SUB_ENROLL_22_1783543549106
                      chargeMode:
                        type: string
                        example: DIRECT_CHARGE
                      metadata:
                        type: object
                        nullable: true
                        example: null
                      createdAt:
                        type: string
                        format: date-time
                        example: '2026-07-08T20:45:49.099614'
                      updatedAt:
                        type: string
                        format: date-time
                        example: '2026-07-08T21:07:05.158379'
                      customerBearsFee:
                        type: boolean
                        example: false
                      enrollConfirmed:
                        type: boolean
                        example: true
                  plan:
                    type: object
                    description: >-
                      The base subscription product structure specifications
                      mapping rule requirements.
                    properties:
                      id:
                        type: integer
                        description: Unique internal identifier for the plan.
                        example: 104
                      name:
                        type: string
                        description: The name of the subscription plan.
                        example: Basic Monthly Instant
                      description:
                        type: string
                        nullable: true
                        description: >-
                          A brief overview explaining what the plan offer
                          entails.
                        example: Basic tier billed monthly
                      amount:
                        type: number
                        description: The pricing metric total value applied.
                        example: 100
                      currency:
                        type: string
                        description: The 3-letter ISO code denoting currency context.
                        example: NGN
                      interval:
                        type: string
                        description: >-
                          The frequency frequency setup configuration parameter
                          context metrics.
                        example: MONTHLY
                      intervalCount:
                        type: integer
                        example: 1
                      trialPeriodDays:
                        type: integer
                        example: 0
                      billingLimit:
                        type: integer
                        nullable: true
                        example: null
                      status:
                        type: string
                        example: ACTIVE
                      planCode:
                        type: string
                        description: The unique system tracking key configuration mapping.
                        example: PLN_B30D72C
                      billingDaysOfWeek:
                        type: array
                        nullable: true
                        items:
                          type: string
                        example: null
                      metadata:
                        type: object
                        nullable: true
                        example: null
                      createdAt:
                        type: string
                        format: date-time
                        example: '2026-07-08T19:51:31.755412'
                      updatedAt:
                        type: string
                        format: date-time
                        example: '2026-07-08T19:51:31.755414'
            pageable:
              type: object
              description: Pagination configuration block snapshot context properties.
              properties:
                sort:
                  type: object
                  properties:
                    unsorted:
                      type: boolean
                      example: false
                    sorted:
                      type: boolean
                      example: true
                    empty:
                      type: boolean
                      example: false
                pageNumber:
                  type: integer
                  example: 0
                pageSize:
                  type: integer
                  example: 3
                offset:
                  type: integer
                  example: 0
                paged:
                  type: boolean
                  example: true
                unpaged:
                  type: boolean
                  example: false
            totalElements:
              type: integer
              description: The complete index count matching the search criteria globally.
              example: 8
            totalPages:
              type: integer
              description: >-
                The total volume allocation calculation matching sizes
                requirements.
              example: 3
            last:
              type: boolean
              description: >-
                Indicates if page iteration structure bounds finish terminal
                index loop conditions.
              example: false
            numberOfElements:
              type: integer
              description: Item total populated within the immediate array index block.
              example: 3
            first:
              type: boolean
              description: >-
                Indicates if page frame calculation structural reference sits at
                space zero index.
              example: true
            size:
              type: integer
              example: 3
            number:
              type: integer
              example: 0
            sort:
              type: object
              properties:
                unsorted:
                  type: boolean
                  example: false
                sorted:
                  type: boolean
                  example: true
                empty:
                  type: boolean
                  example: false
            empty:
              type: boolean
              example: false
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: Authorization
      description: Payaza {{Public API Key in Base 64}}
    TenantID:
      type: apiKey
      in: header
      name: X-TenantID
      description: live or test
    ProductID:
      type: apiKey
      in: header
      name: X-ProductID
      description: 'default value is ‟app” '

````