> ## 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 a subscription

> Retrieve full detail for one of the authenticated customer's subscriptions, including pick & mix items, upcoming shipments, additional items, billing period, preferred shipping options, payment method and any failed-renewal information.



## OpenAPI

````yaml /api-reference/openapi.json get /account/subscriptions/{subscriptionId}
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:
  /account/subscriptions/{subscriptionId}:
    parameters:
      - name: subscriptionId
        in: path
        required: true
        schema:
          type: string
          format: uuid
        description: Subscription ID
    get:
      tags:
        - Subscriptions
      summary: Get a subscription
      description: >-
        Retrieve full detail for one of the authenticated customer's
        subscriptions, including pick & mix items, upcoming shipments,
        additional items, billing period, preferred shipping options, payment
        method and any failed-renewal information.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountSubscription'
              example:
                id: 1224f9ef-8caf-4564-9474-023f95819949
                subscriptionType: picknmix
                email: customer@example.com
                name: Discovery Club
                quantity: 1
                status: active
                createdAt: 07/10/2024
                options: {}
                availableItems:
                  - id: 084b80ef-d16d-4531-a25f-40b7ff4c744b
                    name: House Red
                    sku: WINE-RED-01
                    defaultQty: 1
                    minQty: 0
                    maxQty: 6
                    sortOrder: 1
                    price: £9.99
                    status: active
                    image:
                      url: https://cdn.marzipan.co/images/house-red.jpg
                pickAndMixItems:
                  - id: 084b80ef-d16d-4531-a25f-40b7ff4c744b
                    name: House Red
                    sku: WINE-RED-01
                    quantity: 2
                    image:
                      url: https://cdn.marzipan.co/images/house-red.jpg
                batchedShipments: false
                upcomingShipments:
                  - id: c2b0f3d1-1111-2222-3333-444455556666
                    name: January Shipment
                    items: []
                    status: scheduled
                    nextBillingDate: null
                    processingDate: 01/02/2026
                    shippingDate: 03/02/2026
                    deliveryDate: 04/02/2026
                currentPeriodStart: 07/10/2025
                currentPeriodEnd: 07/01/2026
                expiresAt: 07/10/2030
                billingInterval: 3
                billingIntervalFriendly: every 3 months
                nextBillingDate: 07/01/2026
                upcomingAdditionalItems: []
                hasProcessingShipment: false
                price:
                  friendly: £9.99
                  raw: 9.99
                preferredDeliveryOption: delivery
                preferredDeliveryAddress:
                  id: aa11bb22-cc33-dd44-ee55-ff6677889900
                  line1: 1 High Street
                  city: London
                  postcode: SW1A 1AA
                defaultPaymentMethod:
                  cardType: visa
                  cardLast4: '4242'
                  cardExpMonth: 12
                  cardExpYear: 2028
                paymentProvider: stripe
                paymentProviders:
                  stripe:
                    publishableKey: pk_live_xxx
                    accountId: acct_xxx
                    currency: gbp
        '401':
          description: Unauthenticated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                message: Unauthenticated.
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                message: Subscription not found
      security:
        - accountAuth: []
components:
  schemas:
    AccountSubscription:
      type: object
      description: Full detail of a customer subscription.
      properties:
        id:
          type: string
          format: uuid
          description: Subscription ID
        subscriptionType:
          type: string
          enum:
            - variable
            - picknmix
          description: Type of subscription
        email:
          type: string
          description: Customer email address
        name:
          type: string
          description: Subscription / product name
        quantity:
          type: integer
          description: Subscription quantity
        status:
          type: string
          description: Subscription status
        createdAt:
          type: string
          description: Creation date (DD/MM/YYYY) or relative time if today
        options:
          type: object
          description: Subscription options
        availableItems:
          type: array
          description: Available pick & mix items. Only present for picknmix subscriptions
          items:
            type: object
            properties:
              id:
                type: string
                format: uuid
              name:
                type: string
              sku:
                type: string
              defaultQty:
                type: integer
              minQty:
                type: integer
              maxQty:
                type: integer
              sortOrder:
                type: integer
              price:
                type: string
                description: Formatted price
              status:
                type: string
              image:
                type: object
                nullable: true
        pickAndMixItems:
          type: array
          description: >-
            Currently selected pick & mix items. Only present for picknmix
            subscriptions
          items:
            type: object
            properties:
              id:
                type: string
                format: uuid
              name:
                type: string
              sku:
                type: string
              quantity:
                type: integer
              image:
                type: object
                nullable: true
        batchedShipments:
          type: boolean
          description: Whether shipments are batched
        upcomingShipments:
          type: array
          description: Upcoming (non-skipped) scheduled shipments
          items:
            type: object
            properties:
              id:
                type: string
                format: uuid
              name:
                type: string
              items:
                type: array
                items:
                  type: object
              status:
                type: string
              nextBillingDate:
                type: string
                nullable: true
              processingDate:
                type: string
                nullable: true
                description: DD/MM/YYYY
              shippingDate:
                type: string
                nullable: true
                description: DD/MM/YYYY
              deliveryDate:
                type: string
                nullable: true
                description: DD/MM/YYYY
        currentPeriodStart:
          type: string
          description: Current billing period start (DD/MM/YYYY)
        currentPeriodEnd:
          type: string
          description: Current billing period end (DD/MM/YYYY)
        expiresAt:
          type: string
          description: Subscription end date (DD/MM/YYYY)
        billingInterval:
          type: integer
          description: Billing interval in months
        billingIntervalFriendly:
          type: string
          description: Human-friendly billing interval
        nextBillingDate:
          type: string
          nullable: true
          description: Next billing date (DD/MM/YYYY)
        upcomingAdditionalItems:
          type: array
          nullable: true
          description: Additional one-off items on the next shipment
          items:
            type: object
        hasProcessingShipment:
          type: boolean
          description: Whether a shipment is currently being processed
        failedRenewal:
          type: object
          nullable: true
          description: Present only when an active subscription's last renewal failed
          properties:
            message:
              type: string
              description: Customer-facing explanation
            action:
              type: string
              description: Suggested action, e.g. update_payment_method
            attemptsRemaining:
              type: integer
        price:
          type: object
          properties:
            friendly:
              type: string
              description: Formatted price
            raw:
              type: number
              description: Price in major currency units
        preferredDeliveryOption:
          type: string
          nullable: true
          enum:
            - pickup
            - delivery
          description: Preferred shipping option
        preferredDeliveryAddress:
          type: object
          nullable: true
          description: Preferred delivery address
        preferredPickupLocation:
          type: object
          nullable: true
          description: Preferred pickup location
          properties:
            id:
              type: string
              format: uuid
            name:
              type: string
            description:
              type: string
              nullable: true
        defaultPaymentMethod:
          type: object
          nullable: true
          description: Default payment method for the subscription
        paymentProvider:
          type: string
          description: Payment provider for the default payment method
        paymentProviders:
          type: object
          description: >-
            Configuration for each payment provider enabled on the tenant
            (stripe, paypal, payfast)
    Error:
      type: object
      properties:
        message:
          type: string
          description: Error message
      required:
        - message
  securitySchemes:
    tenantAuth:
      type: http
      scheme: bearer
      description: >-
        Bearer authentication header of the form `Bearer <token>`, where
        `<token>` is your API token.
      bearerFormat: JWT
    accountAuth:
      type: http
      scheme: bearer
      description: >-
        Bearer authentication header of the form `Bearer <token>`, where
        `<token>` is the account token returned from the `Login` endpoint.

````