# UJ-110 Manage subscription tiers

Audience: AI coding agents first.

- Actor + entry point: Staff operator; `/plugins/{plugin}/tiers`.
- Priority: CARRY-OVER-CANDIDATE.
- Preconditions: Seed tier only through staff tier API.
- Test layer: L3.

## Steps

1. Open tiers → existing cards or `No subscription tiers found for this plugin.` render (`admin-panel/src/pages/SubscriptionTiersPage.tsx:26`, `admin-panel/src/pages/SubscriptionTiersPage.tsx:135`).
2. Create/edit tier → `Tier created` or `Tier updated` toast renders (`admin-panel/src/pages/SubscriptionTiersPage.tsx:61-65`).
3. Reorder/delete → `Order updated` or `Tier deleted` renders; reload preserves result (`admin-panel/src/pages/SubscriptionTiersPage.tsx:82-116`).

## Failure branches

- Auth/role failure → denial; no catalog mutation.
- Validation/429 → exact API error toast (`admin-panel/src/pages/SubscriptionTiersPage.tsx:70-86`).

## Backend touchpoints

`GET|POST /v1/admin/tiers`; `PUT|DELETE /v1/admin/tiers/{id}`; `PATCH /v1/admin/tiers/reorder`.

