---
title: "List available plans."
method: GET
path: "/v1/account/plans"
tags: ["billing"]
---

# List available plans.

`GET /v1/account/plans`

## Request

- Base URL: `https://api.smolmachines.com`
- URL: `https://api.smolmachines.com/v1/account/plans`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/smolmachines/apis/smolfleet-api/docs/v1/account/plans/get.ts> (a function with typed inputs; its response is checked against the schema)

Returns the self-serve plans this account can move to, with prices and limits. Any valid API key.

## Response `200`

Plans this tenant may switch to itself

- AvailablePlansResponse: The plan a tenant is on, and the ones it may move to itself.
  - `available` PlanInfo[], required: Every self-serve plan, cheapest first. Includes the current plan when that is itself self-serve, so a client can render the whole ladder.
    - `allowAlwaysOn` boolean, required
    - `budgetPolicy` string, required
    - `createdAt` string, required
    - `freeCreditMicros` integer: Recurring free credit applied to each billing period, in micros (e.g. 5_000_000 = $5/month free). Discount applies after volume tiers.
    - `id` string, required
    - `isDefault` boolean, required
    - `maxConcurrentMachines` integer, required
    - `maxCpus` integer, required
    - `maxDiskGb` integer, nullable: Largest disk (GB) one machine may request; `null` = platform maximum.
    - `maxEgressGb` integer, nullable
    - `maxGroups` integer, required
    - `maxMachines` integer, required
    - `maxMemoryMb` integer, required
    - `monthlyBudgetMicros` integer, nullable
    - `monthlyFeeMicros` integer, required: Flat recurring platform fee (micros per period); 0 = usage-only plan.
    - `name` string, required
    - `rateBaseHourMicros` integer: Per-machine-alive-hour "slot" fee in micros (e.g. 40_000 = $0.04/hr). Prices the held VM slot on top of consumed CPU/RAM — not allocated resources.
    - `rateCpuHourMicros` integer, required
    - `rateDiskGbHourMicros` integer
    - `rateEgressGbMicros` integer
    - `rateExecMicros` integer, required
    - `rateMemoryGbHourMicros` integer, required
    - `selfServe` boolean: Whether a tenant may switch itself onto this plan. Operator-only tiers are false and never appear in the self-serve list.
  - `current` PlanInfo: A reusable plan: quota + per-unit rates (money in integer micros) + budget.
    - `allowAlwaysOn` boolean, required
    - `budgetPolicy` string, required
    - `createdAt` string, required
    - `freeCreditMicros` integer: Recurring free credit applied to each billing period, in micros (e.g. 5_000_000 = $5/month free). Discount applies after volume tiers.
    - `id` string, required
    - `isDefault` boolean, required
    - `maxConcurrentMachines` integer, required
    - `maxCpus` integer, required
    - `maxDiskGb` integer, nullable: Largest disk (GB) one machine may request; `null` = platform maximum.
    - `maxEgressGb` integer, nullable
    - `maxGroups` integer, required
    - `maxMachines` integer, required
    - `maxMemoryMb` integer, required
    - `monthlyBudgetMicros` integer, nullable
    - `monthlyFeeMicros` integer, required: Flat recurring platform fee (micros per period); 0 = usage-only plan.
    - `name` string, required
    - `rateBaseHourMicros` integer: Per-machine-alive-hour "slot" fee in micros (e.g. 40_000 = $0.04/hr). Prices the held VM slot on top of consumed CPU/RAM — not allocated resources.
    - `rateCpuHourMicros` integer, required
    - `rateDiskGbHourMicros` integer
    - `rateEgressGbMicros` integer
    - `rateExecMicros` integer, required
    - `rateMemoryGbHourMicros` integer, required
    - `selfServe` boolean: Whether a tenant may switch itself onto this plan. Operator-only tiers are false and never appear in the self-serve list.

## Other responses

- `401`: Missing or invalid API key
- `403`: Key lacks the required scope
- `429`: Rate limited; retry after the Retry-After header
- `500`: Internal error

## Changes

- **2026-10-16** `bc31fc04a568`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/smolmachines/apis/smolfleet-api/changes/v1/account/plans/get.md)

---

[API](https://skmtc.dev/smolmachines/apis/smolfleet-api.md) - [All operations](https://skmtc.dev/smolmachines/apis/smolfleet-api/llms.txt) - [OpenAPI document](https://skmtc.dev/smolmachines/apis/smolfleet-api/revisions/bc31fc04a568?raw)
