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

# Get subscription configuration options

> Returns the options for configuring a subscription package: its subscription and pricing types, billing frequencies, and — for pick & mix subscriptions — the list of available items with their quantity constraints and pricing. Responses are cached (fresh for 5 minutes, served stale for up to 30 minutes).



## OpenAPI

````yaml /api-reference/openapi.json get /subscription-packages/{productId}/configuration
openapi: 3.0.0
info:
  title: Marzipan API
  version: 1.0.0
servers:
  - url: https://api.marzipan.co/v1
security:
  - tenantAuth: []
tags:
  - name: Account
    description: >-
      Account management endpoints including registration, login, and user
      details
  - name: Carts
    description: Shopping cart management endpoints
  - name: Products
    description: Product catalog and search endpoints
  - name: Subscriptions
    description: Subscription management and renewal endpoints
  - name: CMS
    description: Content management system endpoints
  - name: Messaging
    description: Message and communication endpoints
  - name: Search
    description: Search functionality endpoints
  - name: Settings
    description: >-
      Storefront settings and market detection used to configure the web
      components and checkout.
  - name: Analytics
    description: Storefront visit and attribution tracking.
  - name: Rewards
    description: >-
      Loyalty and rewards programme endpoints for the authenticated customer,
      covering points balance, tier status, perks, exclusive products and
      transaction history.
  - name: Forms
    description: Render and submit dynamic storefront forms defined in the CMS.
  - name: Events
    description: >-
      Check event availability, browse occurrences and recurring dates, generate
      ticket QR codes, and manage event waitlists (join, leave, check status,
      and claim promoted spots).
paths:
  /subscription-packages/{productId}/configuration:
    get:
      tags:
        - Subscriptions
      summary: Get subscription configuration options
      description: >-
        Returns the options for configuring a subscription package: its
        subscription and pricing types, billing frequencies, and — for pick &
        mix subscriptions — the list of available items with their quantity
        constraints and pricing. Responses are cached (fresh for 5 minutes,
        served stale for up to 30 minutes).
      parameters:
        - name: productId
          in: path
          required: true
          description: The id of the subscription product.
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: The subscription configuration.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/SubscriptionConfiguration'
              example:
                data:
                  subscriptionType: picknmix
                  pricingType: calculated
                  fixedPrice: null
                  frequencies:
                    - 1
                    - 3
                    - 6
                  defaultFrequency: 1
                  availableItems:
                    - id: 9b2f1c4e-1a2b-4c3d-8e9f-0a1b2c3d4e5f
                      name: House Blend 250g
                      sku: COF-HB-250
                      image: null
                      price: 8.5
                      salePrice: null
                      subscriberPrice: 7.5
                      description: Our signature house blend.
                      status: active
                      minQuantity: 1
                      maxQuantity: 5
                      defaultQuantity: 1
                  minItems: 3
        '404':
          description: The product does not exist or is not a subscription.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                message: Product is not a subscription
components:
  schemas:
    SubscriptionConfiguration:
      type: object
      description: Configuration options for a subscription package.
      properties:
        subscriptionType:
          type: string
          nullable: true
          description: The subscription type (e.g. 'picknmix', 'variable').
        pricingType:
          type: string
          description: How the subscription is priced (e.g. 'calculated', 'fixed').
        fixedPrice:
          type: number
          nullable: true
          description: >-
            Fixed price (in major currency units) when pricingType is 'fixed',
            otherwise null.
        frequencies:
          type: array
          description: Available billing frequencies in months.
          items:
            type: integer
        defaultFrequency:
          type: integer
          description: The default billing frequency in months.
        availableItems:
          type: array
          description: Items that can be selected for pick & mix subscriptions.
          items:
            $ref: '#/components/schemas/SubscriptionConfigItem'
        minItems:
          type: integer
          nullable: true
          description: Minimum number of items required for a pick & mix subscription.
    Error:
      type: object
      properties:
        message:
          type: string
          description: Error message
      required:
        - message
    SubscriptionConfigItem:
      type: object
      description: >-
        An item available to select within a pick & mix subscription
        configuration.
      properties:
        id:
          type: string
          format: uuid
          description: Product id of the item.
        name:
          type: string
          description: Item name.
        sku:
          type: string
          description: Item SKU.
        image:
          type: string
          nullable: true
          description: Primary item image, or null.
        price:
          type: number
          description: List price in major currency units.
        salePrice:
          type: number
          nullable: true
          description: Sale price in major currency units, or null.
        subscriberPrice:
          type: number
          nullable: true
          description: Subscriber price in major currency units, or null.
        description:
          type: string
          description: Item description.
        status:
          type: string
          description: Item availability status.
        minQuantity:
          type: integer
          description: Minimum selectable quantity.
        maxQuantity:
          type: integer
          nullable: true
          description: Maximum selectable quantity, or null for no limit.
        defaultQuantity:
          type: integer
          description: Default selected quantity.
  securitySchemes:
    tenantAuth:
      type: http
      scheme: bearer
      description: >-
        Bearer authentication header of the form `Bearer <token>`, where
        `<token>` is your API token.
      bearerFormat: JWT

````