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

# Get the current active subscription version

> Returns the subscription version that is currently in effect. This is the published version whose start date has passed and whose end date is either in the future or null. Returns 404 if the subscription has no active published version.



## OpenAPI

````yaml /api-reference/v2/specs/2026-04-01.json get /subscriptions/{id}/versions/current
openapi: 3.1.0
info:
  title: Alguna Public API
  version: '2026-04-01'
servers:
  - url: https://api.alguna.io
security:
  - bearerAuth: []
tags:
  - name: Billing Events and Metrics
  - name: Credit Notes
  - name: Credits
  - name: Customer Portal Sessions
  - name: Customers
  - name: Insights
  - name: Invoices
  - name: Payments
  - name: Plans
  - name: Product Bundles
  - name: Products
  - name: Refunds
  - name: Revenue Schedules
  - name: Subscription Changes
  - name: Subscription Versions
  - name: Subscriptions
  - name: Wallet Grants
  - name: Wallets
paths:
  /subscriptions/{id}/versions/current:
    get:
      tags:
        - Subscription Versions
      summary: Get the current active subscription version
      description: >-
        Returns the subscription version that is currently in effect. This is
        the published version whose start date has passed and whose end date is
        either in the future or null. Returns 404 if the subscription has no
        active published version.
      operationId: get-current-subscription-version
      parameters:
        - in: header
          name: Alguna-Version
          required: true
          schema:
            enum:
              - '2026-04-01'
            type: string
        - in: path
          name: id
          required: true
          schema:
            description: Unique identifier for the subscription
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionPhaseDetailResponse'
          description: Success
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unauthorized
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unprocessable Entity
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
components:
  schemas:
    SubscriptionPhaseDetailResponse:
      properties:
        created_at:
          description: When the version was created
          example: '2025-12-15T10:30:00Z'
          format: date-time
          type: string
        description:
          description: Change description
          example: Q1 2027 enterprise configuration
          nullable: true
          type: string
        end_date:
          description: Version end date
          example: '2027-01-01T00:00:00Z'
          format: date-time
          nullable: true
          type: string
        entitlements:
          description: Version entitlements
          items:
            $ref: '#/components/schemas/EntitlementResponse'
          type: array
        id:
          description: Version ID
          example: subv_abc123
          type: string
        items:
          description: Version items
          items:
            $ref: '#/components/schemas/SubscriptionPhaseItemResponse'
          type: array
        plan_id:
          description: Plan ID
          example: pln_abc123
          nullable: true
          type: string
        start_date:
          description: Version start date
          example: '2026-01-01T00:00:00Z'
          format: date-time
          nullable: true
          type: string
        status:
          description: Version status
          example: published
          type: string
        subscription_id:
          description: Subscription ID
          example: sub_abc123
          type: string
        updated_at:
          description: When the version was last updated
          example: '2026-01-01T00:00:00Z'
          format: date-time
          type: string
      required:
        - created_at
        - entitlements
        - id
        - items
        - status
        - subscription_id
        - updated_at
      type: object
    ErrorResponse:
      properties:
        detail:
          type: string
        status:
          format: int64
          type: integer
      required:
        - status
        - detail
      type: object
    EntitlementResponse:
      properties:
        allocation:
          allOf:
            - $ref: '#/components/schemas/EntitlementAllocationResponse'
          description: Credit allocation config
          nullable: true
        key:
          description: Entitlement key
          example: api_access
          nullable: true
          type: string
        mode:
          description: Entitlement mode
          example: static
          type: string
        subscription_id:
          description: Owning subscription ID; null for default-profile entitlements
          example: sub_abc123
          nullable: true
          type: string
        timing:
          allOf:
            - $ref: '#/components/schemas/EntitlementTimingResponse'
          description: Timing config
          nullable: true
        type:
          description: Entitlement type
          example: boolean
          type: string
        value:
          description: Entitlement value
          example: 'true'
          type: string
        version_id:
          description: >-
            Owning subscription version ID; null for default-profile
            entitlements
          example: subv_abc123
          nullable: true
          type: string
      required:
        - mode
        - type
      type: object
    SubscriptionPhaseItemResponse:
      properties:
        bundle_id:
          description: Bundle ID (for bundle items)
          example: bun_abc123
          nullable: true
          type: string
        items:
          description: Bundle child items
          items:
            $ref: '#/components/schemas/BundleChildItemResponse'
          type: array
        price:
          allOf:
            - $ref: '#/components/schemas/SubscriptionPriceResponse'
          description: Price details (for standalone items)
          nullable: true
        product_id:
          description: Product ID (for standalone items)
          example: prod_abc123
          nullable: true
          type: string
      type: object
    EntitlementAllocationResponse:
      properties:
        amount:
          description: Allocation amount
          example: '100000'
          type: string
        credit_type:
          description: Credit type
          example: monetary
          type: string
        rollover_enabled:
          description: Whether rollover is enabled
          example: true
          type: boolean
        rollover_max_periods:
          description: Maximum rollover periods
          example: 3
          format: int64
          nullable: true
          type: integer
      required:
        - amount
        - credit_type
        - rollover_enabled
      type: object
    EntitlementTimingResponse:
      properties:
        interval:
          description: Timing interval
          example: monthly
          nullable: true
          type: string
        recurrence:
          description: Recurrence type
          example: recurring
          type: string
      required:
        - recurrence
      type: object
    BundleChildItemResponse:
      properties:
        price:
          allOf:
            - $ref: '#/components/schemas/SubscriptionPriceResponse'
          description: Price details
        product_id:
          description: Product ID
          example: prod_abc123
          type: string
      required:
        - price
        - product_id
      type: object
    SubscriptionPriceResponse:
      properties:
        billing_direction:
          description: Billing direction
          enum:
            - advance
            - arrears
          example: arrears
          type: string
        billing_frequency:
          description: Billing frequency
          enum:
            - recurring
            - one-off
          example: recurring
          nullable: true
          type: string
        billing_interval:
          description: Billing interval
          enum:
            - monthly
            - quarterly
            - semi_annual
            - yearly
          example: monthly
          type: string
        billing_interval_count:
          description: Positive count of BillingIntervalUnits per period
          example: 3
          format: int64
          nullable: true
          type: integer
        billing_interval_unit:
          description: Unit of the billing cadence
          enum:
            - day
            - week
            - month
            - year
          example: month
          nullable: true
          type: string
        charge_on_contract_start:
          description: Whether to charge on contract start
          example: false
          type: boolean
        currency:
          description: ISO 4217 currency code
          example: USD
          type: string
        discount:
          allOf:
            - $ref: '#/components/schemas/DiscountResponse'
          description: Price-level discount
          nullable: true
        display_order:
          description: Display order
          example: 1
          format: int64
          nullable: true
          type: integer
        expression_pricing_model:
          allOf:
            - $ref: '#/components/schemas/ExpressionPricingModelResponse'
          description: Expression pricing model (when type=expression)
          nullable: true
        fee_type:
          description: Fee type
          enum:
            - fixed
            - metered
          example: fixed
          type: string
        fixed_pricing_model:
          allOf:
            - $ref: '#/components/schemas/FixedPricingModelResponse'
          description: Fixed pricing model (when type=fixed)
          nullable: true
        graduated_percentage_pricing_model:
          allOf:
            - $ref: '#/components/schemas/GraduatedPercentagePricingModelResponse'
          description: Graduated percentage pricing model (when type=graduated_percentage)
          nullable: true
        graduated_tiered_pricing_model:
          allOf:
            - $ref: '#/components/schemas/GraduatedTieredPricingModelResponse'
          description: Graduated tiered pricing model (when type=graduated_tiered)
          nullable: true
        maximum_spend:
          allOf:
            - $ref: '#/components/schemas/SpendingThresholdResponse'
          description: Maximum spend per period
          nullable: true
        metric_ids:
          description: Metric IDs for metered pricing
          items:
            type: string
          type: array
        minimum_spend:
          allOf:
            - $ref: '#/components/schemas/SpendingThresholdResponse'
          description: Minimum spend per period
          nullable: true
        prepaid_fixed_tiered_pricing_model:
          allOf:
            - $ref: '#/components/schemas/PrepaidFixedTieredPricingModelResponse'
          description: Prepaid fixed tiered pricing model (when type=prepaid_fixed_tiered)
          nullable: true
        prepaid_tiered_pricing_model:
          allOf:
            - $ref: '#/components/schemas/PrepaidTieredPricingModelResponse'
          description: Prepaid tiered pricing model (when type=prepaid_tiered)
          nullable: true
        tiered_percentage_pricing_model:
          allOf:
            - $ref: '#/components/schemas/TieredPercentagePricingModelResponse'
          description: Tiered percentage pricing model (when type=tiered_percentage)
          nullable: true
        tiered_pricing_model:
          allOf:
            - $ref: '#/components/schemas/TieredPricingModelResponse'
          description: Tiered pricing model (when type=tiered)
          nullable: true
        trial_period_days:
          description: Trial period in days
          example: 30
          format: int64
          nullable: true
          type: integer
        type:
          description: Pricing type
          enum:
            - unit
            - fixed
            - tiered
            - graduated_tiered
            - tiered_percentage
            - graduated_percentage
            - volume_percentage
            - prepaid_tiered
            - prepaid_fixed_tiered
            - expression
          example: fixed
          type: string
        unit_pricing_model:
          allOf:
            - $ref: '#/components/schemas/UnitPricingModelResponse'
          description: Unit pricing model (when type=unit)
          nullable: true
        volume_percentage_pricing_model:
          allOf:
            - $ref: '#/components/schemas/VolumePercentagePricingModelResponse'
          description: Volume percentage pricing model (when type=volume_percentage)
          nullable: true
      required:
        - billing_direction
        - charge_on_contract_start
        - currency
        - fee_type
        - type
      type: object
    DiscountResponse:
      properties:
        amount:
          description: Discount amount
          example: '10'
          type: string
        duration_type:
          description: Duration type
          enum:
            - fixed
            - monthly_rolling
          example: fixed
          type: string
        duration_unit:
          description: Duration unit
          example: months
          nullable: true
          type: string
        duration_value:
          description: Duration value
          example: 6
          format: int64
          nullable: true
          type: integer
        type:
          description: Discount type
          example: percentage
          type: string
      required:
        - amount
        - duration_type
        - type
      type: object
    ExpressionPricingModelResponse:
      properties:
        charges:
          description: Expression-based charges
          items:
            $ref: '#/components/schemas/ExpressionChargeResponse'
          type: array
        metric_bindings:
          description: Alias-to-metric bindings referenced in expressions
          items:
            $ref: '#/components/schemas/MetricBinding'
          type: array
      required:
        - charges
      type: object
    FixedPricingModelResponse:
      properties:
        price_per_unit:
          description: Price per unit
          example: '500.00'
          type: string
        total:
          description: Total amount (price_per_unit × units)
          example: '500.00'
          type: string
        units:
          description: Number of units
          example: 1
          format: int64
          type: integer
      required:
        - price_per_unit
        - total
        - units
      type: object
    GraduatedPercentagePricingModelResponse:
      properties:
        tiers:
          description: Percentage-based pricing tiers (each tier priced independently)
          items:
            $ref: '#/components/schemas/PercentageTierResponse'
          type: array
      required:
        - tiers
      type: object
    GraduatedTieredPricingModelResponse:
      properties:
        tiers:
          description: Pricing tiers (each tier priced independently)
          items:
            $ref: '#/components/schemas/PricingTierResponse'
          type: array
        units:
          description: Fixed quantity of units (for fixed fee type only)
          example: 10
          format: int64
          nullable: true
          type: integer
      required:
        - tiers
      type: object
    SpendingThresholdResponse:
      properties:
        amount:
          description: Spending threshold amount
          example: '500.00'
          type: string
        period:
          description: Billing period for the threshold
          enum:
            - monthly
            - quarterly
            - semi_annual
            - yearly
          example: monthly
          type: string
      required:
        - amount
        - period
      type: object
    PrepaidFixedTieredPricingModelResponse:
      properties:
        overages_charge_interval:
          description: Billing interval for overages
          enum:
            - monthly
            - quarterly
            - semi_annual
            - yearly
          example: monthly
          type: string
        prepaid_units:
          description: Number of prepaid units included
          example: 50000
          format: int64
          type: integer
        tiers:
          description: Overage pricing tiers
          items:
            $ref: '#/components/schemas/PricingTierResponse'
          type: array
      required:
        - overages_charge_interval
        - prepaid_units
        - tiers
      type: object
    PrepaidTieredPricingModelResponse:
      properties:
        prepaid_units:
          description: Number of prepaid units included
          example: 50000
          format: int64
          type: integer
        tiers:
          description: Overage pricing tiers
          items:
            $ref: '#/components/schemas/PricingTierResponse'
          type: array
      required:
        - prepaid_units
        - tiers
      type: object
    TieredPercentagePricingModelResponse:
      properties:
        tiers:
          description: Percentage-based pricing tiers (first matching tier applies)
          items:
            $ref: '#/components/schemas/PercentageTierResponse'
          type: array
      required:
        - tiers
      type: object
    TieredPricingModelResponse:
      properties:
        tiers:
          description: Pricing tiers (first matching tier applies)
          items:
            $ref: '#/components/schemas/PricingTierResponse'
          type: array
        units:
          description: Fixed quantity of units (for fixed fee type only)
          example: 10
          format: int64
          nullable: true
          type: integer
      required:
        - tiers
      type: object
    UnitPricingModelResponse:
      properties:
        price_per_unit:
          description: Price per unit
          example: '0.05'
          type: string
      required:
        - price_per_unit
      type: object
    VolumePercentagePricingModelResponse:
      properties:
        fixed_fee:
          description: Optional fixed fee
          example: '5.00'
          nullable: true
          type: string
        percentage:
          description: Percentage rate
          example: '2.0'
          type: string
        price_per_unit:
          description: Base price per unit
          example: '0.05'
          type: string
      required:
        - percentage
        - price_per_unit
      type: object
    ExpressionChargeResponse:
      properties:
        billing_direction:
          description: Billing direction
          enum:
            - advance
            - arrears
          example: arrears
          type: string
        description:
          description: Charge description
          example: API usage charge
          type: string
        quantity_expression:
          description: Expression for quantity
          example: usage.api_calls
          type: string
        unit_price_expression:
          description: Expression for unit price
          example: '0.01'
          type: string
      required:
        - billing_direction
        - description
        - quantity_expression
        - unit_price_expression
      type: object
    MetricBinding:
      properties:
        alias:
          description: Alias referenced in charge expressions
          example: api_calls
          type: string
        metric_id:
          description: Metric ID bound to the alias
          type: string
      required:
        - alias
        - metric_id
      type: object
    PercentageTierResponse:
      properties:
        fixed_fee:
          description: Fixed fee for this tier
          example: '10.00'
          nullable: true
          type: string
        max_units:
          description: Upper bound of the tier (null = unlimited)
          example: 10000
          format: int64
          nullable: true
          type: integer
        min_units:
          description: Lower bound of the tier (inclusive)
          example: 0
          format: int64
          type: integer
        percentage:
          description: Percentage rate for this tier
          example: '2.5'
          nullable: true
          type: string
      required:
        - min_units
      type: object
    PricingTierResponse:
      properties:
        fixed_fee:
          description: Fixed fee for this tier
          example: '10.00'
          nullable: true
          type: string
        max_units:
          description: Upper bound of the tier (null = unlimited)
          example: 10000
          format: int64
          nullable: true
          type: integer
        min_units:
          description: Lower bound of the tier (inclusive)
          example: 0
          format: int64
          type: integer
        price_per_unit:
          description: Price per unit in this tier
          example: '0.02'
          nullable: true
          type: string
      required:
        - min_units
      type: object
  securitySchemes:
    bearerAuth:
      bearerFormat: API Key
      description: API key authentication. Pass your API key as a Bearer token.
      scheme: bearer
      type: http

````