> ## 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 valid billing dates for a subscription

> Returns the current billing cycle range, the list of valid dates for on-cycle version starts, the valid date range for mid-cycle changes, the contract end date, and the next renewal date. Use this to drive date pickers in UI flows that schedule future changes.



## OpenAPI

````yaml /api-reference/v2/specs/2026-04-01.json get /subscriptions/{id}/billing-dates
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}/billing-dates:
    get:
      tags:
        - Subscriptions
      summary: Get valid billing dates for a subscription
      description: >-
        Returns the current billing cycle range, the list of valid dates for
        on-cycle version starts, the valid date range for mid-cycle changes, the
        contract end date, and the next renewal date. Use this to drive date
        pickers in UI flows that schedule future changes.
      operationId: get-subscription-billing-dates
      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/BillingDatesResponse'
          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:
    BillingDatesResponse:
      properties:
        contract_end_date:
          description: Contract end date
          example: '2027-07-01'
          nullable: true
          type: string
        current_cycle:
          allOf:
            - $ref: '#/components/schemas/BillingCycleResponse'
          description: Current billing cycle date range
          nullable: true
        next_billing_date:
          description: Next billing cycle start date
          example: '2026-08-01'
          nullable: true
          type: string
        next_renewal_date:
          description: Next renewal date
          example: '2027-07-01'
          nullable: true
          type: string
        valid_mid_cycle_range:
          allOf:
            - $ref: '#/components/schemas/BillingCycleResponse'
          description: Valid date range for mid-cycle changes
          nullable: true
        valid_on_cycle_dates:
          description: Valid dates for on-cycle version starts
          example:
            - '2026-08-01'
          items:
            type: string
          type: array
      required:
        - valid_on_cycle_dates
      type: object
    ErrorResponse:
      properties:
        detail:
          type: string
        status:
          format: int64
          type: integer
      required:
        - status
        - detail
      type: object
    BillingCycleResponse:
      properties:
        end_date:
          description: Cycle end date
          example: '2026-08-01'
          type: string
        start_date:
          description: Cycle start date
          example: '2026-07-01'
          type: string
      required:
        - end_date
        - start_date
      type: object
  securitySchemes:
    bearerAuth:
      bearerFormat: API Key
      description: API key authentication. Pass your API key as a Bearer token.
      scheme: bearer
      type: http

````