Skip to main content
Every error prints one line that says what happened, then a Hint: line when there is a specific next step. With --output json, the same information is printed as JSON on stdout.

Server refusals

A refusal from the API prints its HTTP status, its code when there is one, and a hint.

Usage errors (exit code 2)

These are mistakes in the command itself. Nothing was sent.

Network failures (exit code 1)

Reads are retried up to three times before this message appears. Writes are tried once, so a failed write is never sent twice.

Reading a JSON error

With --output json, a server refusal prints the same information as data:
A usage error prints this instead:
Check exitCode in scripts, not the text of the message, because the wording may improve over time.