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

# List plans for a product

> Retrieves the plans belonging to a product, paginated in-memory. Returns SDK-shaped plans with option money serialized to integer minor units; hidden plans are excluded. The `type` field is derived from each plan's composable options.



## OpenAPI

````yaml /api-reference/openapi.json get /v1/sdk/products/{productRef}/plans
openapi: 3.0.0
info:
  contact: {}
  description: The SolvaPay REST API specification
  title: SolvaPay REST API
  version: '1.0'
servers: []
security: []
tags: []
paths:
  /v1/sdk/products/{productRef}/plans:
    get:
      tags:
        - Plans
      summary: List plans for a product
      description: >-
        Retrieves the plans belonging to a product, paginated in-memory. Returns
        SDK-shaped plans with option money serialized to integer minor units;
        hidden plans are excluded. The `type` field is derived from each plan's
        composable options.
      operationId: PlanSdkController_listPlans
      parameters:
        - description: Product reference or ID
          in: path
          name: productRef
          required: true
          schema:
            example: prd_1A2B3C4D
            type: string
        - description: Max results (default 50)
          in: query
          name: limit
          required: false
          schema:
            type: number
        - description: Pagination offset (default 0)
          in: query
          name: offset
          required: false
          schema:
            type: number
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  limit:
                    type: number
                  offset:
                    type: number
                  plans:
                    items:
                      $ref: '#/components/schemas/Plan'
                    type: array
                  total:
                    description: Total number of plans for the product
                    type: number
                type: object
          description: Plans retrieved successfully
        '404':
          description: Product not found
      security:
        - SecretKey: []
components:
  schemas:
    Plan:
      properties:
        accessExpiryDays:
          description: Access expiry in days
          type: number
        createdAt:
          description: Creation timestamp
          type: string
        currency:
          description: Currency code (ISO 4217)
          example: USD
          type: string
        currencySymbol:
          description: Currency symbol (derived from currency)
          example: $
          type: string
        description:
          description: Plan description
          example: Best for teams getting started
          type: string
        features:
          additionalProperties: true
          description: Plan features
          type: object
        isActive:
          description: Whether the plan is active (derived from status)
          example: true
          type: boolean
        maxActiveUsers:
          description: Maximum number of active users
          type: number
        name:
          description: Plan name
          example: Starter
          type: string
        options:
          description: Composable pricing options (money as integer minor units)
          items:
            additionalProperties: true
            type: object
          type: array
        price:
          description: Derived headline price in minor units (the base or one-time charge)
          example: 2999
          type: number
        reference:
          description: Plan reference
          example: pln_1A2B3C4D
          type: string
        requiresPayment:
          description: Whether payment is required
          example: true
          type: boolean
        status:
          description: Plan status
          example: active
          type: string
        type:
          description: Derived plan type (read from options)
          enum:
            - recurring
            - one-time
            - usage-based
            - hybrid
          example: recurring
          type: string
        updatedAt:
          description: Last update timestamp
          type: string
      required:
        - type
        - reference
        - options
        - isActive
        - status
        - createdAt
        - updatedAt
      type: object
  securitySchemes:
    SecretKey:
      bearerFormat: JWT
      description: >-
        Provider secret API key (sk_live_… / sk_test_…) supplied as a Bearer
        token.
      scheme: bearer
      type: http

````