Skip to main content
Use the status code to choose your next step. An error does not prove that a submitted request did nothing: check the resource before retrying work.

Error envelopes vary by family

The customer API can return a string detail, a structured Registry error, or a validation array. Always log the status, request ID, error code when present, and redacted detail. Do not log the bearer token, signed artifact URL, task archive contents, or raw private transcript.

CLI identity errors

Common messages:
Use synth status --json to check whether you are signed in and which API URL the CLI targets, without printing the token.

Unknown outcome

Treat phrases such as outcome unknown, may already exist, or inspect before retrying literally. They mean the server may have committed state even though the response did not reach you. For an operation that documents idempotent retries, preserve the original request and key. If the operation does not document that guarantee, do not automatically resubmit it. Keep the resource ID and request ID for troubleshooting.
A new idempotency key is a new intent. It is not a generic retry flag.
Inspect and recover your work before starting a replacement run.