# WG Paid / VM121 — user flows and API V2

## Account dashboard

Shows:

- active grant and expiry;
- WireGuard profiles: used/limit;
- AmneziaWG profiles: used/limit;
- status of each profile;
- download config;
- QR;
- revoke/reissue.

## Create profile

```text
choose protocol
-> enter profile/device name
-> transactional quota check
-> generate protocol credential
-> allocate protocol pool IP
-> enqueue provisioning
-> VM100 adds peer and selector
-> ready
```

## Suggested API

Public/auth:

- `POST /api/auth/request-link`
- `GET /api/auth/magic/{token}`
- `POST /api/auth/logout`
- invite public/redemption endpoints.

Account:

- `GET /api/account`
- `GET /api/account/protocols`
- `GET /api/account/profiles`
- `POST /api/account/profiles` with protocol code and display name;
- config/QR/reissue/revoke endpoints.

Admin:

- plans;
- grant protocol limits;
- invites with protocol quotas;
- users/grants/profiles;
- jobs/retry;
- audit.

Agent:

- desired profiles include protocol code;
- no selector in request or response contract except optional diagnostic ACK metadata.
