# Plans

Plans are package templates. Each plan defines disk, bandwidth, and per-feature counts (databases, mailboxes, FTP accounts, parked domains, subdomains, Python apps, Node apps). Per-account overrides take priority — a plan change is non-destructive: existing accounts keep their override values until explicitly aligned.

CRUD operations: list, search, create, edit (including hiding a plan from the client-side plan picker), delete. A plan that accounts still use cannot be deleted: the panel disables the confirmation and the API answers `409 PLAN_IN_USE` with the account count. A new plan whose name resolves to an existing plan id is refused with `409 PLAN_EXISTS`.

**Endpoints used:** `GET /plans`, `POST /plans`, `PUT /plans/{id}`, `DELETE /plans/{id}`.

---
