# Panes

Canonical: https://usepanes.com/docs/machines

## Machines

A template sets the CPU, memory, installed apps and hourly price. GET `/v1/catalog` without authentication to inspect shared templates, prices and available payment methods. GET `/v1/templates` with a key to include your private templates.

Each template returns `id`, `name`, `private`, `vcpus`, `memory_mb`, `hourly_usd`, `apps`, `office_ready` and `office_status`. Installed Office apps alone do not establish activation. For an Office task, choose `office_ready: true` and create with `require_office_ready: true`.

Use `prevent_cloning: true` for a kept licensed computer. It refuses forks, private-template creation and starting copies from snapshots. Resume the original computer to preserve its identity.

POST `/v1/machines` starts a computer in one call. Always send a unique `Idempotency-Key`, and retain it with the exact request body until the result is known. A successful reply contains the computer ID, state, size and creation timings.

```json
{"template":"windows-16gb","name":"office-report","auto_stop_minutes":15,"prevent_cloning":true,"require_office_ready":true}
```

GET `/v1/machine-requests/{key}` finds a computer after a lost create reply. POST `/v1/machine-requests/{key}/stop` cancels that create or stops the computer it produced. A cancelled request key cannot be reused.

GET `/v1/machines` lists kept computers. POST `/v1/machines/{id}/stop` saves state and stops running charges; POST `/start` resumes. Check `stop_warning` and `resume_warning`: a cold recovery can preserve disk while losing open apps or unsaved memory. DELETE erases the computer and its encryption key.

Starting more computers requires enough balance for 15 minutes of the resulting aggregate running rate, plus physical capacity. Running work continues against the actual balance. Paid accounts have no ordinary fixed count tier; operator restrictions and physical storage/memory still apply.
