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

> ## Agent Instructions
> For new direct REST integrations, use the v2026-04 surfaces. The @fluid-app FairShare SDK continues to use its own published public-v2025-06 contract.
> Authenticate with the header Authorization: Bearer <token>; public storefront read endpoints require no auth.
> Lists use cursor pagination via the page[cursor] and page[limit] query params; follow meta.pagination.next_cursor until it is null.
> When the same operation exists on more than one surface, use the newest: dated API versions are newer than unversioned ones, and later dates win (v2026-04 > v2025-06 > unversioned v0/v1.1). Fall back to a legacy or unversioned operation only when no newer versioned equivalent exists — the company-v0 notes below list the known superseded operations. /api/company/v1 and /api/v1/... paths are documented in no spec here and must never be used (/api/v1.1/... is distinct and documented in company-v0). Use page/per_page offset pagination only where a spec documents it — in practice the unversioned company-v0 admin surface; every versioned surface uses cursor pagination.
> The OpenAPI specs under api-reference/ are the authoritative contracts; prefer them over prose when in doubt. api-reference/storefront-v2026-04.yaml covers the v2026-04 storefront surface (/api/v202604/... paths); api-reference/auth-v0.yaml covers the unversioned auth surface (/api/... paths — authentication, MFA, social auth, and token exchange); api-reference/checkout-v2026-04.yaml covers the v2026-04 checkout surface (/api/checkout/v2026-04/... paths — carts, cart auth, discounts, items, subscriptions, orders, enrollments, and store config); api-reference/public-v2025-06.yaml covers the Public SDK surface used by the @fluid-app FairShare SDK, including its parallel cart lifecycle, browser integrations, versioned payment callbacks, unversioned public utilities, and the cart price-override operation; api-reference/payment-v2026-04.yaml covers the v2026-04 payment gateway admin surface (/api/payment/v2026-04/... paths, bearer-authenticated — gateway CRUD, gateway purchase/authorize/$0-verify, transaction list/show and capture/void/credit, and merchant payment configuration); api-reference/payments-v2026-04.yaml covers the v2026-04 cart payment surface (/api/payments/v2026-04/carts/{cart_token}/... paths, authenticated by the cart token in the path with no bearer — payment-method selection, VGS card tokenization, 3D Secure verification, and PayPal/Braintree/Klarna/Apple Pay flows); api-reference/commerce-v2026-04.yaml covers the v2026-04 commerce order-editing surface (/api/v202604/orders/{order_id}/edits paths, bearer-authenticated — post-checkout order edits that atomically insert items and add adjustments/discounts, with an optional dry-run preview); api-reference/webhooks-v0.yaml covers the unversioned webhooks surface (/api/... paths — webhook registration, delivery payloads, callback registrations, company events, and webhook/callback schemas); api-reference/company-v0.yaml covers the legacy unversioned company admin surface (/api/... paths, bearer-authenticated — company settings and management, customers, users, roles, subscription plans, subscription bundles, subscriptions, media, pages, catch-ups, inventory levels, domains, agreements, and admin order actions). company-v0 caveats: it is the legacy v0 admin contract and its lists use flat page/per_page offset pagination, which is expected there despite the general cursor-pagination rule; where an operation exists in both company-v0 and a versioned spec, prefer the versioned spec — the subscriptions lifecycle (list/create/show/update, cancel, pause, reactivate, resume, retry, skip, failed-cycle-waiver, discounts) and subscription bundles are superseded by checkout-v2026-04, and company pages/media CRUD plus the public pages, categories, products, and media list endpoints are superseded by storefront-v2026-04. Subscription plan management (/api/subscription_plans, resource-wrapped {"subscription_plan": {...}} bodies) exists only in company-v0.
> Successful responses wrap the resource payload alongside a top-level integer status and a meta object.

# List of subscriptions

> List all subscriptions



## OpenAPI

````yaml /api-reference/company-v0.yaml get /api/subscriptions
openapi: 3.1.0
info:
  title: Fluid Company API
  version: v0
  contact:
    email: support@fluid.app
  license:
    name: Proprietary
    identifier: LicenseRef-Proprietary
servers:
  - url: https://api.fluid.app
  - url: https://{company}.fluid.app
    description: Production server with company subdomain
    variables:
      company:
        default: myco
        description: Company subdomain
security: []
paths:
  /api/subscriptions:
    get:
      tags:
        - subscriptions
      summary: List of subscriptions
      description: List all subscriptions
      operationId: commerce_v0_list_subscriptions
      parameters:
        - name: page
          in: query
          schema:
            type: integer
            default: 1
          required: false
          description: Page number for pagination
        - name: per_page
          in: query
          schema:
            type: integer
            default: 25
          required: false
          description: Number of records per page
        - name: status
          in: query
          required: false
          description: >-
            Filter subscriptions by status. Can be comma-separated for multiple
            values. Use 'inactive' to filter for inactive statuses (pending,
            paused, cancelled, past_due), or 'active' to filter for active
            statuses (active).
          schema:
            type: string
            enum:
              - pending
              - active
              - paused
              - past_due
              - cancelled
              - inactive
          example: active
        - name: subscription_plan_id
          in: query
          required: false
          schema:
            type: integer
          description: Filter subscriptions by subscription plan ID
        - name: customer_id
          in: query
          required: false
          schema:
            type: integer
          description: Filter subscriptions by customer ID
        - name: within_days
          in: query
          required: false
          schema:
            type: integer
          description: Filter subscriptions within number of days (e.g., last 7 days)
        - name: frequency
          in: query
          required: false
          description: >-
            Filter subscriptions by billing frequency. Supported values: day,
            week, month, year
          schema:
            type: string
            enum:
              - day
              - week
              - month
              - year
        - name: subscription_number_min
          in: query
          required: false
          schema:
            type: integer
          description: Minimum subscription number for filtering
        - name: subscription_number_max
          in: query
          required: false
          schema:
            type: integer
          description: Maximum subscription number for filtering
        - name: amount_min
          in: query
          required: false
          schema:
            type: number
          description: Minimum amount for filtering
        - name: amount_max
          in: query
          required: false
          schema:
            type: number
          description: Maximum amount for filtering
        - name: created_start
          in: query
          required: false
          schema:
            type: string
            format: date
          description: 'Start date for created date range filter (format: YYYY-MM-DD)'
        - name: created_end
          in: query
          required: false
          schema:
            type: string
            format: date
          description: 'End date for created date range filter (format: YYYY-MM-DD)'
        - name: next_bill_start
          in: query
          required: false
          schema:
            type: string
            format: date
          description: 'Start date for next bill date range filter (format: YYYY-MM-DD)'
        - name: next_bill_end
          in: query
          required: false
          schema:
            type: string
            format: date
          description: 'End date for next bill date range filter (format: YYYY-MM-DD)'
        - name: last_bill_start
          in: query
          required: false
          schema:
            type: string
            format: date
          description: 'Start date for last bill date range filter (format: YYYY-MM-DD)'
        - name: last_bill_end
          in: query
          required: false
          schema:
            type: string
            format: date
          description: 'End date for last bill date range filter (format: YYYY-MM-DD)'
        - name: next_ship_start
          in: query
          required: false
          schema:
            type: string
            format: date
          description: 'Start date for next ship date range filter (format: YYYY-MM-DD)'
        - name: next_ship_end
          in: query
          required: false
          schema:
            type: string
            format: date
          description: 'End date for next ship date range filter (format: YYYY-MM-DD)'
        - name: last_ship_start
          in: query
          required: false
          schema:
            type: string
            format: date
          description: 'Start date for last ship date range filter (format: YYYY-MM-DD)'
        - name: last_ship_end
          in: query
          required: false
          schema:
            type: string
            format: date
          description: 'End date for last ship date range filter (format: YYYY-MM-DD)'
        - name: last_failed_start
          in: query
          required: false
          schema:
            type: string
            format: date
          description: 'Start date for last failed date range filter (format: YYYY-MM-DD)'
        - name: last_failed_end
          in: query
          required: false
          schema:
            type: string
            format: date
          description: 'End date for last failed date range filter (format: YYYY-MM-DD)'
        - name: cancelled_start
          in: query
          required: false
          schema:
            type: string
            format: date
          description: 'Start date for cancelled date range filter (format: YYYY-MM-DD)'
        - name: cancelled_end
          in: query
          required: false
          schema:
            type: string
            format: date
          description: 'End date for cancelled date range filter (format: YYYY-MM-DD)'
        - name: sort_by
          in: query
          required: false
          description: Sort field for subscriptions
          schema:
            type: string
            enum:
              - created_at
              - id
              - next_bill_date
              - customer
              - last_bill_date
              - product
              - amount
              - status
              - frequency
        - name: sort_direction
          in: query
          required: false
          description: Sort direction
          schema:
            type: string
            enum:
              - asc
              - desc
            default: desc
        - name: search
          in: query
          required: false
          schema:
            type: string
          description: >-
            Search term for subscriptions(searches across subscription plan
            names, customer details, and product titles)
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompanySubscriptionListResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardUnauthorizedResponse'
      security:
        - bearer_auth: []
components:
  schemas:
    CompanySubscriptionListResponse:
      type: object
      properties:
        meta:
          type: object
          properties:
            pagination:
              $ref: '#/components/schemas/CompanyOffsetPagination'
            request_id:
              type: string
            stats:
              type: object
              properties:
                active_count:
                  type: integer
                average_order_value:
                  type: number
                churn_rate:
                  type: number
                total_count:
                  type: integer
              required:
                - active_count
                - average_order_value
                - churn_rate
                - total_count
              additionalProperties: false
            timestamp:
              type: string
              format: date-time
          required:
            - pagination
            - request_id
            - stats
            - timestamp
          additionalProperties: false
        subscriptions:
          type: array
          items:
            type: object
            properties:
              attempts:
                type: integer
              base_recurring_price:
                type:
                  - number
                  - 'null'
              cancelled_at:
                type: 'null'
              created_at:
                type: string
                format: date-time
              currency:
                $ref: '#/components/schemas/CompanyCurrency'
              customer:
                type: object
                properties:
                  account_id:
                    type: string
                  active:
                    type: boolean
                  addresses:
                    type: array
                    items:
                      type:
                        - object
                        - 'null'
                      properties:
                        address1:
                          type: string
                        address2:
                          type: 'null'
                        address3:
                          type: 'null'
                        city:
                          type: string
                        country_code:
                          type: string
                        country_num_code:
                          type: integer
                        default:
                          type: boolean
                        id:
                          type: integer
                        name:
                          type: string
                        phone:
                          type:
                            - string
                            - 'null'
                        postal_code:
                          type: string
                        state:
                          type: string
                        subdivision_code:
                          type: 'null'
                      required:
                        - address1
                        - address2
                        - address3
                        - city
                        - country_code
                        - country_num_code
                        - default
                        - id
                        - name
                        - phone
                        - postal_code
                        - state
                        - subdivision_code
                      additionalProperties: false
                  created_at:
                    type: string
                    format: date-time
                  customer_notes:
                    type: array
                    items:
                      $ref: '#/components/schemas/JsonValue'
                  default_address:
                    $ref: '#/components/schemas/CompanySubscriptionAddress'
                  display_total_spent:
                    type: string
                  email:
                    type: string
                  email_marketing:
                    type: boolean
                  external_id:
                    type: 'null'
                  first_name:
                    type: string
                  full_name:
                    type: string
                  id:
                    type: integer
                  is_discarded:
                    type: boolean
                  is_rep:
                    type: boolean
                  last_name:
                    type: string
                  last_order_id:
                    type: 'null'
                  metadata:
                    type: object
                    additionalProperties: false
                  name:
                    type: string
                  notes:
                    type: 'null'
                  orders_count:
                    type: integer
                  payment_methods:
                    type: array
                    items:
                      $ref: '#/components/schemas/CompanyPaymentMethod'
                  phone:
                    type: string
                  role:
                    type: string
                  sales_tax_id:
                    type:
                      - string
                      - 'null'
                  sms_marketing:
                    type: boolean
                  tax_exempt:
                    type: boolean
                  total_spent:
                    type: string
                  user_company_id:
                    type: integer
                  verified_email:
                    type: boolean
                required:
                  - account_id
                  - active
                  - addresses
                  - created_at
                  - customer_notes
                  - default_address
                  - display_total_spent
                  - email
                  - email_marketing
                  - external_id
                  - first_name
                  - full_name
                  - id
                  - is_discarded
                  - is_rep
                  - last_name
                  - last_order_id
                  - metadata
                  - name
                  - notes
                  - orders_count
                  - payment_methods
                  - phone
                  - role
                  - sales_tax_id
                  - sms_marketing
                  - tax_exempt
                  - total_spent
                  - user_company_id
                  - verified_email
                additionalProperties: false
              cv:
                type: string
                format: decimal
              cv_total:
                type: string
                format: decimal
              decline_count:
                type: integer
              digital:
                type: boolean
              disabled:
                type: boolean
              id:
                type: integer
              last_bill_date:
                type: string
                format: date-time
              last_failed_at:
                type: 'null'
              last_ship_date:
                type: 'null'
              max_skips:
                type: 'null'
              next_bill_date:
                type: string
                format: date-time
              next_retry_at:
                type: 'null'
              next_ship_date:
                type: 'null'
              notes:
                type: 'null'
              original_price:
                type: number
              price:
                type: number
              quantity:
                type: integer
              qv:
                type: string
                format: decimal
              qv_total:
                type: string
                format: decimal
              skipped_count:
                type: integer
              status:
                type: string
              subscription_plan:
                $ref: '#/components/schemas/CompanySubscriptionPlanSummary'
              subscription_token:
                type: string
              timezone:
                type: string
              updated_at:
                type: string
                format: date-time
              variant:
                $ref: '#/components/schemas/CompanySubscriptionVariant'
            required:
              - attempts
              - cancelled_at
              - created_at
              - currency
              - customer
              - cv
              - cv_total
              - decline_count
              - digital
              - disabled
              - id
              - last_bill_date
              - last_failed_at
              - last_ship_date
              - max_skips
              - next_bill_date
              - next_retry_at
              - next_ship_date
              - notes
              - original_price
              - price
              - quantity
              - qv
              - qv_total
              - skipped_count
              - status
              - subscription_plan
              - subscription_token
              - timezone
              - updated_at
              - variant
            additionalProperties: false
      required:
        - meta
        - subscriptions
      additionalProperties: false
    StandardUnauthorizedResponse:
      description: Common legacy unauthorized response envelope.
      allOf:
        - $ref: '#/components/schemas/StandardErrorResponse'
    CompanyOffsetPagination:
      type: object
      properties:
        current_page:
          type: integer
        per_page:
          type: integer
        total_count:
          type: integer
        total_pages:
          type: integer
      required:
        - current_page
        - per_page
        - total_count
        - total_pages
      additionalProperties: false
    CompanyCurrency:
      type: object
      properties:
        active:
          type: boolean
        code:
          type: string
        id:
          type: integer
        name:
          type: string
        rate:
          type: string
        symbol:
          type: string
      required:
        - active
        - code
        - id
        - name
        - rate
        - symbol
      additionalProperties: false
    JsonValue:
      description: >-
        Any valid JSON value for provider, integration, theme, metadata, or
        other dynamic payloads whose keys are not fixed by the API contract.
      anyOf:
        - type: string
        - type: number
        - type: boolean
        - type: 'null'
        - type: array
          items:
            $ref: '#/components/schemas/JsonValue'
        - type: object
          additionalProperties:
            $ref: '#/components/schemas/JsonValue'
    CompanySubscriptionAddress:
      type: object
      properties:
        address1:
          type: string
        address2:
          type: 'null'
        address3:
          type: 'null'
        city:
          type: string
        country_code:
          type: string
        country_num_code:
          type: integer
        default:
          type: boolean
        id:
          type:
            - integer
            - 'null'
        name:
          type: string
        phone:
          type:
            - string
            - 'null'
        postal_code:
          type: string
        state:
          type: string
        subdivision_code:
          type: 'null'
      required:
        - address1
        - address2
        - address3
        - city
        - country_code
        - country_num_code
        - default
        - id
        - name
        - phone
        - postal_code
        - state
        - subdivision_code
      additionalProperties: false
    CompanyPaymentMethod:
      type: object
      properties:
        company_id:
          type: integer
        created_at:
          type: string
          format: date-time
        id:
          type: integer
        logo_url:
          type: string
        payment_title:
          type: string
        source:
          type: string
        updated_at:
          type: string
          format: date-time
        user_id:
          type: 'null'
      required:
        - company_id
        - created_at
        - id
        - logo_url
        - payment_title
        - source
        - updated_at
        - user_id
      additionalProperties: false
    CompanySubscriptionPlanSummary:
      type: object
      properties:
        active:
          type: boolean
        allow_max_billing_cycles:
          type: boolean
        allow_skipping:
          type: boolean
        billing_frequency_in_words:
          type: string
        billing_interval:
          type: integer
        billing_interval_unit:
          type: string
        company_default:
          type: boolean
        created_at:
          type: string
          format: date-time
        id:
          type: integer
        max_billing_cycles:
          type: 'null'
        max_skips:
          type: integer
        name:
          type: string
        price_adjustment_amount:
          type: number
        price_adjustment_type:
          type: string
        products_count:
          type: integer
        savings_display_mode:
          type: string
          enum:
            - percent
            - amount
        shipping_interval:
          type: integer
        shipping_interval_unit:
          type: string
        split_volume:
          type: boolean
        subscribers_count:
          type: integer
        trial_period:
          type: 'null'
        trial_period_unit:
          type: 'null'
        updated_at:
          type: string
          format: date-time
        volume_interval:
          type: integer
        volume_interval_unit:
          type: string
      required:
        - active
        - allow_max_billing_cycles
        - allow_skipping
        - billing_frequency_in_words
        - billing_interval
        - billing_interval_unit
        - company_default
        - created_at
        - id
        - max_billing_cycles
        - max_skips
        - name
        - price_adjustment_amount
        - price_adjustment_type
        - products_count
        - savings_display_mode
        - shipping_interval
        - shipping_interval_unit
        - split_volume
        - subscribers_count
        - trial_period
        - trial_period_unit
        - updated_at
        - volume_interval
        - volume_interval_unit
      additionalProperties: false
    CompanySubscriptionVariant:
      type: object
      properties:
        currency_code:
          type: string
        display_name:
          type: 'null'
        id:
          type: integer
        image_path:
          type: 'null'
        image_url:
          type: 'null'
        options:
          type: array
          items:
            $ref: '#/components/schemas/JsonValue'
        price:
          type: string
        price_in_currency:
          type: string
        primary_image:
          type: 'null'
        product:
          $ref: '#/components/schemas/CompanySubscriptionProduct'
        sku:
          type: string
        title:
          type: 'null'
      required:
        - currency_code
        - display_name
        - id
        - image_path
        - image_url
        - options
        - price
        - price_in_currency
        - primary_image
        - product
        - sku
        - title
      additionalProperties: false
    StandardErrorResponse:
      description: >-
        Common legacy error response envelope. Older endpoints may return one or
        more of these fields depending on the controller path.
      type: object
      properties:
        message:
          type: string
        error:
          $ref: '#/components/schemas/ErrorMessage'
        error_message:
          $ref: '#/components/schemas/ErrorMessage'
        errors:
          $ref: '#/components/schemas/ErrorBag'
        meta:
          $ref: '#/components/schemas/Meta'
      additionalProperties:
        $ref: '#/components/schemas/JsonValue'
    CompanySubscriptionProduct:
      type: object
      properties:
        canonical_url:
          type: string
        cv:
          type: string
          format: decimal
        cv_in_currency:
          type: string
        external_id:
          type: 'null'
        id:
          type: integer
        image_path:
          type: 'null'
        image_url:
          type: string
        introduction:
          type: 'null'
        metadata:
          type: object
          additionalProperties: false
        metafields:
          type: array
          items:
            $ref: '#/components/schemas/JsonValue'
        price:
          type: string
        price_in_currency:
          type: string
        sku:
          type: string
        tax:
          type: string
        tax_in_currency:
          type: string
        title:
          type: string
      required:
        - canonical_url
        - cv
        - cv_in_currency
        - external_id
        - id
        - image_path
        - image_url
        - introduction
        - metadata
        - metafields
        - price
        - price_in_currency
        - sku
        - tax
        - tax_in_currency
        - title
      additionalProperties: false
    ErrorMessage:
      description: An API error message represented as text or structured JSON.
      anyOf:
        - type: string
        - $ref: '#/components/schemas/ErrorBag'
        - type: 'null'
    ErrorBag:
      description: >-
        Validation errors keyed by field, a list of errors, a single error
        message, or null when no structured error details are available.
      anyOf:
        - type: string
        - type: array
          items:
            $ref: '#/components/schemas/ErrorValue'
        - type: object
          additionalProperties:
            $ref: '#/components/schemas/ErrorValue'
        - type: 'null'
    Meta:
      type:
        - object
        - 'null'
      properties:
        request_id:
          type:
            - string
            - number
            - integer
            - 'null'
        timestamp:
          type:
            - string
            - number
            - integer
            - 'null'
          format: date-time
    ErrorValue:
      description: A validation or API error value.
      anyOf:
        - type: string
        - type: array
          items:
            type: string
        - type: object
          additionalProperties:
            $ref: '#/components/schemas/JsonValue'
  securitySchemes:
    bearer_auth:
      type: http
      scheme: bearer
      description: Bearer token authentication

````