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

# Get billing catalog



## OpenAPI

````yaml /openapi.json get /billing/catalog
openapi: 3.1.0
info:
  title: Youka REST API
  version: v1
  description: REST API for project-based karaoke creation, styling, media, and exports.
servers:
  - url: https://api.youka.io/api/v1
    description: Production
  - url: http://localhost:3003/api/v1
    description: Local development
security:
  - bearerAuth: []
tags:
  - name: Account
    description: Inspect the API key's account identity.
  - name: Uploads
    description: Upload source audio or video before creating a project.
  - name: Credits
    description: Inspect available credit balance.
  - name: Billing
    description: Create checkout sessions and manage billing.
  - name: Projects
    description: Create projects and read the long-lived project state.
  - name: Tasks
    description: Poll async task progress until it reaches a terminal state.
  - name: Exports
    description: Create exports and fetch fresh download URLs.
  - name: Presets
    description: Manage reusable karaoke styling presets.
  - name: Media
    description: Manage uploaded reusable media.
  - name: Project Settings
    description: Read and update a project's active settings.
paths:
  /billing/catalog:
    get:
      tags:
        - Billing
      summary: Get billing catalog
      operationId: getBillingCatalog
      responses:
        '200':
          description: Billing catalog
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BillingCatalog'
components:
  schemas:
    BillingCatalog:
      $schema: https://json-schema.org/draft/2020-12/schema
      type: object
      properties:
        unitCredits:
          type: integer
          exclusiveMinimum: 0
          maximum: 9007199254740991
        quantity:
          type: object
          properties:
            min:
              type: integer
              exclusiveMinimum: 0
              maximum: 9007199254740991
            max:
              type: integer
              exclusiveMinimum: 0
              maximum: 9007199254740991
          required:
            - min
            - max
          additionalProperties: false
        hasActiveSubscription:
          type: boolean
        planQuantity:
          type: object
          properties:
            enabled:
              type: boolean
            currentQuantity:
              anyOf:
                - type: integer
                  exclusiveMinimum: 0
                  maximum: 9007199254740991
                - type: 'null'
            cycle:
              anyOf:
                - type: string
                  enum:
                    - monthly
                    - yearly
                - type: 'null'
          required:
            - enabled
            - currentQuantity
            - cycle
          additionalProperties: false
        subscription:
          type: object
          properties:
            monthly:
              type: object
              properties:
                unitPriceCents:
                  type: integer
                  minimum: 0
                  maximum: 9007199254740991
                unitPriceFormatted:
                  type: string
              required:
                - unitPriceCents
                - unitPriceFormatted
              additionalProperties: false
            yearly:
              type: object
              properties:
                unitPriceCents:
                  type: integer
                  minimum: 0
                  maximum: 9007199254740991
                unitPriceFormatted:
                  type: string
                monthlyEquivalentCents:
                  type: integer
                  minimum: 0
                  maximum: 9007199254740991
                monthlyEquivalentFormatted:
                  type: string
                yearlyTotalCents:
                  type: integer
                  minimum: 0
                  maximum: 9007199254740991
                yearlyTotalFormatted:
                  type: string
              required:
                - unitPriceCents
                - unitPriceFormatted
                - monthlyEquivalentCents
                - monthlyEquivalentFormatted
                - yearlyTotalCents
                - yearlyTotalFormatted
              additionalProperties: false
          required:
            - monthly
            - yearly
          additionalProperties: false
        storage:
          type: object
          properties:
            perSubscriptionUnitGb:
              type: integer
              minimum: 0
              maximum: 9007199254740991
            topupAddsStorage:
              type: boolean
          required:
            - perSubscriptionUnitGb
            - topupAddsStorage
          additionalProperties: false
        topup:
          type: object
          properties:
            enabled:
              type: boolean
            eligible:
              type: boolean
            unitPriceCents:
              type: integer
              minimum: 0
              maximum: 9007199254740991
            unitPriceFormatted:
              type: string
          required:
            - enabled
            - eligible
            - unitPriceCents
            - unitPriceFormatted
          additionalProperties: false
      required:
        - unitCredits
        - quantity
        - hasActiveSubscription
        - subscription
        - topup
      additionalProperties: false
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API key

````