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

# List

> List payment sessions for the authenticated merchant with optional filters. Supports filtering by subscriptionId, customerId, status, and entityType. When subscriptionId is provided the result includes both the subscription's own activation session (entityType='subscription') and any session attached to invoices for that subscription (entityType='invoice'). When customerId is provided the result covers the customer's full payment history: payment-link sessions (entityType='payment'), the activation sessions of the customer's subscriptions, and the sessions of those subscriptions' invoices.



## OpenAPI

````yaml /openapi.json get /v0/paymentSessions
openapi: 3.1.0
info:
  title: Paygentic API
  version: 0.1.0
  description: >
    The Paygentic API provides a comprehensive platform for building and scaling
    monetization infrastructure.


    ## Authentication

    All API requests require authentication using an API key passed in the
    `Authorization` header:

    ```

    Authorization: Bearer YOUR_API_KEY

    ```


    ## Base URL

    All API requests should be made to:

    ```

    https://api.paygentic.io/v0

    ```
  contact:
    name: Paygentic Support
    email: support@paygentic.io
  license:
    name: Proprietary
servers:
  - url: https://api.paygentic.io
    description: Production API
  - url: https://api.sandbox.paygentic.io
    description: Sandbox API
security:
  - BearerAuth: []
tags:
  - name: Customers
    description: >-
      A `Customer` is an entity connected to a `Merchant` via a `Subscription`.
      This represents the merchant-facing perspective of `Consumers` who
      purchase their `Products`.
  - name: Billable Metrics
    description: >-
      A `Billable Metric` defines a measurable quantity tied to a `Product`'s
      consumption. Each metric stores details including its label, an
      explanatory description, and measurement units.
  - name: Grants
    description: >-
      Grants credit a customer's metered entitlement balance. Merchants can
      create grants directly or void existing ones.


      Use `GET /v1/entitlements?customerId={id}` or `GET
      /v1/entitlements?subscriptionId={id}` to find the metered entitlement `id`
      needed for these endpoints.
  - name: Features
    description: >-
      A `Feature` represents a specific capability or functionality provided by
      a `Product`. Features can be metered (usage-based), static (fixed
      allocation), or boolean (enabled/disabled).
  - name: Fees
    description: >-
      A `Fee` defines a recurring or one-time charge tied to a `Product`. Fees
      are linked to prices, and cadence is defined on the Price.
  - name: Plans
    description: >-
      A `Plan` links a collection of `Prices` to a `Product`. It functions as a
      pricing structure document for a particular feature set or service
      offering.
  - name: Prices
    description: >-
      A `Price` determines the monetary value for a single unit of a `Billable
      Metric`. Prices are exclusively grouped within a `Plan`.
  - name: Products
    description: >-
      A `Product` is an offering sold by a `Merchant`. It includes product
      metadata like title, summary, and pricing details. `Plans`, `Prices`, and
      `Subscriptions` are all associated with products.
  - name: Sources
    description: >-
      A `Source` is an external data provider capable of automatically creating
      usage events. Configuration occurs at the plan level, enabling data
      retrieval from third-party platforms such as Stripe to produce billable
      events.
  - name: Subscriptions
    description: >-
      A `Subscription` is a customer's commitment to purchase a `Product`
      following the terms of a `Plan` and its linked `Prices`.
  - name: Users
    description: >-
      A `User` is an entity granted access to an Organization's resources. All
      operations are performed by users.
  - name: Invoices V2
    description: >-
      Invoice V2 operations supporting billing cycles organized by time periods.
      Warning: v0 invoice endpoints are no longer supported.
  - name: Revenue
    description: Revenue data from invoices and payments
  - name: Profitability
    description: Per-customer profitability summaries
  - name: Test Clocks
    description: >-
      Test clocks provide programmable time control to simulate subscription and
      billing scenarios during testing.
  - name: Events
    description: Ingest raw metering events that are processed by the meters service.
  - name: Payments
    description: >-
      Create and manage one-off payments. A payment represents a single charge
      that a merchant wants to collect from a customer.
  - name: Payment Sessions
    description: >-
      Handle payment session lifecycle and processing across various entity
      types including invoices and subscriptions
  - name: Costs
    description: >-
      A Cost represents the operational or infrastructure expense of serving
      customers for a given product. Costs are metered (driven by event-based
      usage) and are tracked in parallel with billable metrics to give merchants
      visibility into both revenue and cost per customer.
  - name: ExternalReferences
    description: >-
      An `ExternalReference` links a Paygentic entity (e.g. an `Item`) to a
      record in an external system such as Salesforce or NetSuite. Multiple
      external records may map to the same Paygentic entity, but each external
      id is the *primary* reference of at most one entity per merchant.
  - name: Items
    description: >-
      An `Item` is the canonical "thing you sell" that external-system mappings
      point at. It is fully decoupled from the billing `Product` and holds no
      pricing/plan/metering, and it is CRM/ERP agnostic — which providers map to
      it lives entirely in its `ExternalReference` rows.
  - name: MerchantIntegrations
    description: >-
      A `MerchantIntegration` records a merchant's connection to an external
      provider. One connection per `(merchant, provider)` — re-connecting
      upserts in place.
  - name: Approvals
    description: Submit, decide, cancel, and read maker-checker approvals.
  - name: Orders
    description: Manage Orders, their line items, and billing schedules.
  - name: Billing Schedules
    description: >-
      Owner-polymorphic billing schedules with intervals and staged invoice
      projections. A BillingSchedule belongs to exactly one Order or one
      Subscription (XOR). Cadence lives on ScheduleIntervals
      (cadence-on-the-line).
paths:
  /v0/paymentSessions:
    get:
      tags:
        - Payment Sessions
      summary: List
      description: >-
        List payment sessions for the authenticated merchant with optional
        filters. Supports filtering by subscriptionId, customerId, status, and
        entityType. When subscriptionId is provided the result includes both the
        subscription's own activation session (entityType='subscription') and
        any session attached to invoices for that subscription
        (entityType='invoice'). When customerId is provided the result covers
        the customer's full payment history: payment-link sessions
        (entityType='payment'), the activation sessions of the customer's
        subscriptions, and the sessions of those subscriptions' invoices.
      operationId: listPaymentSessions
      parameters:
        - name: merchantId
          in: query
          schema:
            type: string
          description: >-
            Merchant organization ID. Required when using an API key that is not
            scoped to a single merchant.
        - name: subscriptionId
          in: query
          schema:
            type: string
          description: >-
            Filter to sessions linked to this subscription (its own activation
            session plus all of its invoices' sessions).
        - name: customerId
          in: query
          schema:
            type: string
          description: >-
            Filter to sessions for this customer: payment-link sessions plus the
            activation and invoice sessions of the customer's subscriptions.
        - name: status
          in: query
          schema:
            type: string
            enum:
              - pending
              - processing
              - completed
              - failed
              - expired
              - cancelled
          description: Filter by payment session status.
        - name: entityType
          in: query
          schema:
            type: string
            enum:
              - invoice
              - subscription
              - payment
              - topup
          description: Filter by the kind of entity the session pays for.
        - name: limit
          in: query
          schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 10
          description: Number of sessions to return.
        - name: offset
          in: query
          schema:
            type: integer
            minimum: 0
            default: 0
          description: Number of sessions to skip.
      responses:
        '200':
          description: List of payment sessions
          content:
            application/json:
              schema:
                type: object
                required:
                  - object
                  - data
                  - pagination
                properties:
                  object:
                    type: string
                    enum:
                      - list
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/schemas-PaymentSession'
                  pagination:
                    $ref: '#/components/schemas/OffsetPagination'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/InternalServerError'
components:
  schemas:
    schemas-PaymentSession:
      type: object
      required:
        - object
        - id
        - entityType
        - entityId
        - amount
        - currency
        - status
        - createdAt
        - updatedAt
      properties:
        object:
          type: string
          enum:
            - payment_session
        id:
          type: string
          description: Payment session ID (ps_*).
        entityType:
          type: string
          description: >-
            Type of entity the session pays for (invoice, subscription, payment,
            topup).
        entityId:
          type: string
          description: ID of the entity the session pays for.
        entityLabel:
          type: string
          nullable: true
          description: >-
            Display label for the entity — invoice number, payment-link
            reference, or subscription name. Null when no label is available.
        amount:
          type: string
          description: Amount in decimal dollars.
        currency:
          type: string
          description: ISO 4217 currency code.
        status:
          type: string
          enum:
            - pending
            - processing
            - completed
            - failed
            - expired
            - cancelled
          description: Lifecycle status of the session.
        merchantPaymentAccountId:
          type: string
          nullable: true
          description: >-
            Stripe Connect account ID (acct_*) when the session is routed to a
            connected account.
        providerPaymentRef:
          type: string
          nullable: true
          description: >-
            Provider payment intent reference — Stripe PaymentIntent ID (pi_*)
            or Airwallex intent ID (int_*). Null until the intent is created on
            first checkout load.
        completedAt:
          type: string
          format: date-time
          nullable: true
          description: >-
            Timestamp the session reached terminal completion. Null until the
            session completes.
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
    OffsetPagination:
      type: object
      description: Offset-based pagination response.
      properties:
        limit:
          type: integer
          description: Requested page size.
        offset:
          type: integer
          description: Number of items skipped.
        total:
          type: integer
          description: Total number of items available.
      required:
        - limit
        - offset
        - total
    Error:
      type: object
      required:
        - message
      properties:
        error:
          type: string
          description: >-
            Coarse HTTP error category (e.g. 'bad_request', 'forbidden'). Maps
            to the HTTP status code.
        message:
          type: string
          description: >-
            Human-readable error message. Clients must not parse this field
            programmatically.
        code:
          type: string
          examples:
            - TAX_NOT_ENABLED
            - PAYMENT_SESSION_EXPIRED
          description: >-
            Optional semantic business error code for machine-readable
            discrimination (e.g. 'TAX_NOT_ENABLED'). UPPER_SNAKE_CASE. Clients
            should check this field, not message.
        details:
          type: object
          description: Additional error details
          additionalProperties: true
      example:
        message: The requested resource was not found
        error: not_found
  responses:
    Unauthorized:
      description: Unauthorized - Authentication failed or user does not have permissions
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Forbidden:
      description: Forbidden - Request is understood but refused
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    InternalServerError:
      description: Internal Server Error - Something went wrong on the server side
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: API key authentication

````