SOLWYN
Commands

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
AuthJWT; owner for set and clear
Exit codes0 success · 1 generic/API or delivery failure · 2 usage · 3 auth · 5 not found
JSON schemasolwyn.account.alert-email.v1

alert-email show

Terminal
$ solwyn account alert-email show
Field            Value
Effective email  ops@example.com
Override         ops@example.com

alert-email set

Terminal
$ solwyn account alert-email set ops@example.com
Field            Value
Effective email  ops@example.com
Override         ops@example.com

The 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.

Terminal
$ 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

Terminal
solwyn --json account phone show

This 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

Terminal
solwyn account rename "New account name"
solwyn --json account rename "New account name" --yes

Rename 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

Terminal
solwyn account recover
solwyn --json account recover

account 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.

On this page