Skip to content
Browse the docs

Command reference

The reference below is generated from the client's own command tree, so it matches stoa --help for the released version. Run stoa <command> --help for the same text in the terminal.

Global options

OptionDescription
--env [local|prod]Target deployment. Required; there is no default. Environment variable STOA_ENV.
--base-url TEXTOverride the server URL (local only).
--debugPrint each request's method, path and status.
--versionShow the version and exit.
-h, --helpShow this message and exit.

agent-guide

Print the instructions a coding agent needs to drive this client (paste into CLAUDE.md).

assets search

stoa assets search [OPTIONS] TEXT...

Find catalog assets by name, slug or manufacturer.

OptionDescription
--category TEXTRestrict to one category slug.
--jsonPrint the matching assets as JSON.

categories

stoa categories [OPTIONS]

List asset categories and their grade ladders.

OptionDescription
--jsonPrint the categories as JSON.

login

stoa login [OPTIONS]

Sign in with email, password and a second-factor code (authenticator app or text message).

OptionDescription
--email TEXTAccount email (prompted when omitted).

logout

stoa logout [OPTIONS]

Forget the saved session for this environment.

OptionDescription
--everywhereAlso sign out on the server. This ends every session you have, browser included.

rfq create

stoa rfq create [OPTIONS]

Open an RFQ from a request file. The server composes it exactly as the web form would and shows the result; on a shared environment you then type yes to the binding statement. The request goes to every invitable dealer. A dry run needs a session too: the server's own parser validates the file.

OptionDescription
-f, --file PATHTOML (or JSON) request file; start from stoa rfq template. Required.
--dry-runHave the server validate and show the composition; send nothing.
--agree-binding-statementRecord your agreement to the binding statement and skip the prompt. For a person who has read a dry run; the statement is still printed.
--idempotency-key UUIDReuse a key from an earlier attempt so a retry can never create a second RFQ.
--jsonPrint the composition or the created RFQ as JSON.

rfq get

stoa rfq get [OPTIONS] RFQ_ID

Show one RFQ: its configuration, dealers, every quote and its terms, and where to accept.

OptionDescription
--jsonPrint the raw API response.

rfq list

stoa rfq list [OPTIONS]

List your organisation's RFQs, newest first.

OptionDescription
--status [DRAFT|ACTIVE|EXECUTED|EXPIRED|CANCELLED]
--limit INTEGER1 to 1000. Default 20.
--jsonPrint the raw API items.

rfq schema

stoa rfq schema [OPTIONS]

Print the request vocabulary the server publishes: every field, its type and its rules.

OptionDescription
--jsonPrint the schema as JSON: every field with its rules, plus the live catalog parts.

rfq template

stoa rfq template [OPTIONS]

Print a commented TOML request file to fill in, generated from the request schema.

OptionDescription
--direction [BUY|SELL]BUY = you are buying hardware; SELL = you are listing hardware. Required.
--asset-type [bare|node|rack]bare = loose GPUs, node = GPU servers, rack = a named rack system. Default node.

whoami

stoa whoami [OPTIONS]

Show the signed-in user, organisation, and whether the marketplace accepts requests.

OptionDescription
--jsonPrint the identity as JSON.

Exit codes

CodeMeaning
0The command completed.
1The venue refused the request; the message says why and carries a request id.
2Usage error: a bad flag, a request file that fails validation, or a terminal needed and absent.
3Sign in required.
4Network or edge problem.

Environment variables

VariablePurpose
STOA_ENVThe venue, in place of --env.