Skip to main content

Client Management

Register, authenticate, and manage controller client identities. Controller clients are the identity used by automation scripts to connect to the relay and issue commands.

otto client register

Registers a new controller client on the relay.

Usage

otto client register [options]

Flags

FlagShorthandRequiredTypeDefaultDescription
--nameYesstringDisplay name for the controller client
--descriptionNostringOptional description
--relay-urlNostringFrom configRelay URL to register on
--jsonNobooleanfalseOutput result as JSON

Examples

# Register a new client interactively
otto client register --name "my-automation"

# Register with description
otto client register --name "ci-bot" --description "CI automation client"

# Register and capture JSON credentials
otto client register --name "ci-bot" --json

After registration, a client secret is returned. Store it securely — it is shown only once.

Exit codes

CodeMeaning
0Client registered successfully
1Registration failed or relay error

otto client login

Authenticates an existing controller client and stores access credentials locally.

Usage

otto client login [options]

Flags

FlagShorthandRequiredTypeDefaultDescription
--client-idNostringClient ID to authenticate
--relay-urlNostringFrom configRelay URL

Examples

# Login interactively
otto client login

# Login with specific client ID
otto client login --client-id abc123

Exit codes

CodeMeaning
0Logged in successfully
1Login failed (invalid credentials or relay error)

otto client status

Shows the current controller client authentication status.

Usage

otto client status [options]

Flags

FlagShorthandRequiredTypeDefaultDescription
--jsonNobooleanfalseOutput as JSON

Examples

otto client status

otto client status --json

Exit codes

CodeMeaning
0Status reported
1Not logged in or config missing

otto client forget

Removes locally stored controller client credentials without revoking them on the relay.

Usage

otto client forget

Examples

otto client forget

Use otto client remove to also revoke the client on the relay side.

Exit codes

CodeMeaning
0Local credentials cleared

otto client remove

Revokes and removes a controller client from the relay, tearing down its ACL grants, refresh sessions, and active connections.

Usage

otto client remove [options]

Flags

FlagShorthandRequiredTypeDefaultDescription
--client-idNostringSpecific client ID to remove
--allNobooleanfalseRemove all registered controller clients

Examples

# Remove a specific client
otto client remove --client-id abc123

# Remove all clients
otto client remove --all

--all is idempotent after purge; subsequent calls return zero removals until new clients are registered.

Exit codes

CodeMeaning
0Client(s) removed
1Removal failed or relay error