account
Account rename, personal-account recovery, phone and SMS state, and the alert-email override
account manages your current account and reads your phone state. Every subcommand requires user login (JWT); a selected project key masks a stored login and is refused. Rename and alert-email writes require the owner role. Recovery does not require active account membership. None requires a selected project.
account alert-email
By default, alert email goes to the address you log in with. alert-email lets an owner point it somewhere else — an on-call inbox, a shared alias — without changing the login. The response always carries two fields: override, the address you set (or null), and effective_email, the address that will actually be used.
| Contract | |
|---|---|
| Auth | JWT; owner for set and clear |
| Exit codes | 0 success · 1 generic/API or delivery failure · 2 usage · 3 auth · 5 not found |
| JSON schema | solwyn.account.alert-email.v1 |
alert-email show
$ solwyn account alert-email show
Field Value
Effective email ops@example.com
Override ops@example.comalert-email set
$ solwyn account alert-email set ops@example.com
Field Value
Effective email ops@example.com
Override ops@example.comThe address is checked for shape locally — an invalid one exits 2 with invalid_notification_request and no request is sent.
alert-email clear
Remove the override and fall back to the login email. No confirmation prompt.
$ solwyn account alert-email clear
Field Value
Effective email owner@example.com
Override —{"schema":"solwyn.account.alert-email.v1","effective_email":"owner@example.com","override":null}An alert-email override is a single account-wide scalar. It is not a channel — it has no id, no stored credential, and projects and rules do not reference it.
account phone show
solwyn --json account phone showThis JWT-only read returns solwyn.account.phone.v1 for the current user: none, pending, verified, or verified_with_pending_change, verified and pending numbers, verification/resend timestamps, and SMS consent/disclosure state. Missing timestamps remain null. A verified phone and SMS consent are prerequisites for SMS notifications; verification and consent writes stay in the dashboard. MCP exposes get_account_phone in both profiles.
Exit codes: 0 success, 1 API/invalid response, 2 usage, 3 auth.
Rename the current account
solwyn account rename "New account name"
solwyn --json account rename "New account name" --yesRename requires owner JWT. It reads the current account and displays its ID,
old/new names and invitation-email effects before confirmation or --yes.
Use without a TTY and without --yes exits 2 before reading credentials or HTTP.
The PATCH sends only display_name; alert_email_override remains untouched.
Use the existing account alert-email show|set|clear commands to manage that
independent preference.
Core normalizes display names, rejects controls/bidi/zero-width characters and
limits them to 120 characters. Invalid input uses fixed errors without reflecting
validation values. solwyn.account.rename.v1 returns the complete strict account
response: ID, display name, tier, alert-email override, seat limit/usage and your
role. Rename remains CLI-only. Inspect account state before deliberately retrying
an uncertain write; see team management.
Recover a personal account
solwyn account recover
solwyn --json account recoveraccount recover requires JWT but does not require an active membership. It
idempotently creates a personal account after membership removal, or returns
the existing account when one is active. solwyn.account.recover.v1 returns account_id.
The command stays CLI-only. A project key masking login must be unselected;
there is no credential fallback. Exit codes are 0 success, 1 API/invalid response,
2 usage and 3 auth. Core maps a missing user to 401, so there is no not-found
exit for this route.
Related
alerts account— the account-wide spend alert this address receivesnotifications— per-project email and SMS toggles- Alerts & notifications — the dashboard's Settings → Notifications page