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

# Billing

> Manage the Account subscription through public billing operations.

Billing commands use the public `/v1` API. They do not use a Workspace selector.

Use an API credential with `billing:read` or `billing:write`.

## Get billing status

```bash theme={null}
openpmm billing show --json
```

The response includes the subscription status, Workspace quantity, subscription end, trial end, and current X usage.

## Start paid service

```bash theme={null}
openpmm billing subscribe \
  --interval month \
  --yes \
  --json
```

Use `--interval year` for annual billing. Open the returned `url` in a browser.

Signup starts the 14-day trial automatically. This command starts paid service immediately.

Stripe collects payment details in the checkout page. OpenPMM unlocks X after Stripe confirms payment.

OpenPMM applies the beta offer automatically. You do not enter a promotion code.

The first monthly payment is USD 1.99 or EUR 1.99. The standard monthly price is USD 9.95 or EUR 9.95.

The first annual payment is USD 91.54 or EUR 91.54. The standard annual price is USD 99.50 or EUR 99.50.

## Open the Stripe portal

```bash theme={null}
openpmm billing portal --json
```

Open the returned `url`. Use the portal for payment details, invoices, cancellation, and plan changes.

Plan changes are unavailable while a beta discount is active. Monthly-to-annual changes are immediate after the offer ends.

Annual-to-monthly changes start after the annual term.

## Convert a legacy Stripe trial

New trials use `billing subscribe`. Use this command only for a legacy Stripe-hosted trial:

```bash theme={null}
openpmm billing convert-trial --yes --json
```

This command charges the first invoice immediately. OpenPMM unlocks X after Stripe confirms payment.

## Add a Workspace

Creating another Workspace increases the subscription quantity and charges a
prorated amount immediately. Add a Workspace in the OpenPMM web app, where you
review the exact charge before you confirm it. The public API and the CLI do
not create Workspaces.

You cannot add a Workspace after you schedule subscription cancellation. Open
the Stripe portal and resume the subscription first.

## Cancel a Workspace subscription

Create `cancellation.json` with the exact Workspace name:

```json theme={null}
{
  "confirmed": true,
  "confirmation": "CANCEL Product Marketing"
}
```

Then schedule cancellation at the end of the current paid term:

```bash theme={null}
openpmm workspaces cancel-subscription \
  --workspace ws_01JABCDEF \
  --file cancellation.json \
  --yes \
  --json
```

After the paid term ends, the Workspace is archived. Permanently deleting a
Workspace and its data is done in the OpenPMM web app; the public API and the
CLI do not delete Workspaces.

You can delete a trial Workspace immediately. A trial Workspace has no paid term.

<Warning>
  Billing write commands can create a charge. Review the command before you add
  `--yes`.
</Warning>
