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

# List billing plans



## OpenAPI

````yaml /api-reference/openapi.json get /v1/billing/plans
openapi: 3.1.0
info:
  title: microsandbox cloud API
  description: >-
    REST API for microsandbox cloud operations authenticated with an
    organization API key.
  version: 0.1.0
servers:
  - url: https://api.microsandbox.dev
security:
  - api_key: []
paths:
  /v1/billing/plans:
    get:
      tags:
        - Billing
      summary: List billing plans
      operationId: list_plans
      responses:
        '200':
          description: Available plans
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BillingPlan'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: invalid_api_key
                  message: unauthorized
                  details: null
      security:
        - api_key: []
components:
  schemas:
    BillingPlan:
      type: object
      description: >-
        Billing plan definition with resource quotas.


        `name` is the plan's identity, an arbitrary catalog string (no fixed
        enum) -

        "free"/"builder"/… are just the names we ship. Every quota is `Option`:

        `None` = unlimited (counts/budgets) or the platform default (per-sandbox

        vCPU/memory/disk). There is no magic 0.
      required:
        - id
        - name
        - display_name
        - self_serve
        - is_default
        - created_at
        - updated_at
      properties:
        created_at:
          type: string
          format: date-time
        description:
          type:
            - string
            - 'null'
        display_name:
          type: string
        id:
          type: string
          format: uuid
        included_disk_gib_hours:
          type:
            - integer
            - 'null'
          format: int32
        included_memory_gib_hours:
          type:
            - integer
            - 'null'
          format: int32
        included_storage_gib:
          type:
            - integer
            - 'null'
          format: int32
        included_vcpu_hours:
          type:
            - integer
            - 'null'
          format: int32
          description: >-
            Monthly included allowances bundled into the flat fee (pool of
            vCPU-hours /

            memory GiB-hours / writable-disk GiB-hours / durable-storage GiB).
            Usage

            beyond the pool is metered overage on priced plans; on an unpriced
            (free)

            plan the compute pool is a hard wall.
        is_default:
          type: boolean
          description: The plan new orgs are assigned. Exactly one row is the default.
        max_concurrent_ephemeral_running:
          type:
            - integer
            - 'null'
          format: int32
          description: >-
            Max simultaneously-running *ephemeral* sandboxes (cheap,
            self-cleaning).
        max_concurrent_persistent_running:
          type:
            - integer
            - 'null'
          format: int32
          description: >-
            Max simultaneously-running *persistent* sandboxes (snapshot/restore
            cost).
        max_disk_size_mib_per_sandbox:
          type:
            - integer
            - 'null'
          format: int32
          description: Maximum writable disk size (MiB) per sandbox.
        max_memory_mib_per_sandbox:
          type:
            - integer
            - 'null'
          format: int32
        max_sandboxes:
          type:
            - integer
            - 'null'
          format: int32
        max_snapshot_storage_gib:
          type:
            - integer
            - 'null'
          format: int32
          description: >-
            Per-org managed-snapshot storage hard cap (GiB), compared against
            the

            summed compressed archive size of the org's managed snapshots.
        max_total_storage_gib:
          type:
            - integer
            - 'null'
          format: int32
          description: >-
            Per-org durable-storage hard cap (GiB). Used storage is billed at a
            flat

            per-GB-month rate (no free allotment).
        max_uptime_minutes_per_sandbox:
          type:
            - integer
            - 'null'
          format: int32
        max_vcpus_per_sandbox:
          type:
            - integer
            - 'null'
          format: int32
        monthly_sandbox_minutes:
          type:
            - integer
            - 'null'
          format: int32
          description: |-
            Deprecated wall-clock minutes budget (NULL). The compute wall is now
            `included_vcpu_hours` on unpriced plans.
        name:
          type: string
        self_serve:
          type: boolean
          description: |-
            May a user self-subscribe to this plan via the API? Fail-closed; the
            change-plan check keys on this flag, not the plan name.
        subscription_price_cents:
          type:
            - integer
            - 'null'
          format: int64
          description: >-
            Flat monthly subscription price (cents); `None` = unpriced (free).
            Source

            of upgrade/downgrade ordering - compare prices, not a fixed tier
            rank.
        trial_duration_days:
          type:
            - integer
            - 'null'
          format: int32
        updated_at:
          type: string
          format: date-time
        usage_disk_gib_hour_usd:
          type:
            - number
            - 'null'
          format: double
        usage_memory_gib_hour_usd:
          type:
            - number
            - 'null'
          format: double
        usage_snapshot_storage_gib_month_usd:
          type:
            - number
            - 'null'
          format: double
          description: >-
            Managed-snapshot storage rate (USD/GiB-month), separate from
            volumes.
        usage_storage_gib_month_usd:
          type:
            - number
            - 'null'
          format: double
        usage_vcpu_hour_usd:
          type:
            - number
            - 'null'
          format: double
          description: >-
            Per-unit overage rates (USD) charged on usage beyond the included
            pool;

            `None` on the free/unpriced plan (no overage path). Drive the live
            cost

            estimate `subscription + Σ overage`; Autumn's invoice stays
            authoritative.
    ErrorResponse:
      type: object
      description: Error envelope returned by every non-2xx response.
      required:
        - error
      properties:
        error:
          type: object
          required:
            - code
            - message
          properties:
            code:
              type: string
              description: Stable machine-readable error code, e.g. `invalid_api_key`.
            message:
              type: string
              description: Human-readable description of the error.
            details:
              type:
                - object
                - 'null'
              description: Optional structured context for the error.
  securitySchemes:
    api_key:
      type: http
      scheme: bearer
      description: Organization API key (msb_…) - org-scoped programmatic access.

````