synth-ai status is the read-only control panel for your Synth account. It exposes the same APIs that drive the dashboard—jobs, models, files, RL runs—and returns JSON by default so scripts, agents, and notebooks can consume the data directly.
Tip: The CLI registers bothsynth-ai status …and top-level aliases (synth-ai jobs …,synth-ai models …, etc.). The subcommands documented below work with either prefix.
Quick Reference
| Command | Purpose |
|---|---|
status summary | One-shot dashboard of recent jobs, models, and files |
status jobs … | List, inspect, stream logs, or cancel training jobs |
status models … | Enumerate SFT/RL models or inspect a specific model |
status files … | Browse uploaded datasets and artifacts |
status runs … | Review RL rollouts associated with a job |
Shared Options
Every subcommand accepts these flags (defined insynth_ai.cli.commands.status.utils.common_options):
--base-url URL– Override the Synth backend (defaults come from your environment).--api-key KEY– Use a specific API key instead of the resolved default.--timeout SECONDS– HTTP timeout (default30seconds).--json– Where available, emit the raw JSON response instead of tables.
synth-ai setup, but you can combine --base-url and --api-key for cross-org or staging queries.
Dashboard Snapshot (status summary)
--limit(default5) controls the number of rows per resource.- Pass
--jsonto receive a payload withjobs,models, andfilesarrays.
Jobs Command Suite
The jobs group is defined insynth_ai.cli.commands.status.subcommands.jobs. It provides deep inspection tools for both SFT and RL workflows.
List jobs
--status {queued,running,succeeded,failed,cancelled}--type {sft_offline,sft_online,rl_online,dpo,sft}--created-after VALUE– accepts ISO timestamps or relative offsets (5m,2h,7d).--limit N– default20.--json– emit raw job objects.
Job detail commands
| Command | Description | Notes |
|---|---|---|
get <job_id> | Fetch full job metadata (StatusAPIClient.get_job). | Combine with --json for automation. |
history <job_id> | List recorded runs/episodes for a job. | Renders as a table; JSON available. |
timeline <job_id> | View temporal events (queue, start, finish, errors). | Useful for RCA and SLAs. |
metrics <job_id> | Render tracked metrics (loss curves, reward stats). | Pair with --json to feed dashboards. |
config <job_id> | Echo the submitted training payload. | Great for debugging config drift. |
status <job_id> | Print the current lifecycle state. | Lightweight check for scripts. |
logs <job_id> | Stream job events; supports --since, --tail, --follow. | Follows until interrupted when --follow is set. |
cancel <job_id> | Request job cancellation. | Requires appropriate org permissions. |
Models
Backed byStatusAPIClient.list_models / get_model.
--typeacceptsrlorsft.--limitdefaults to20when omitted.--jsonreturns the raw model object (viarich.JSONif omitted).
Files
Inspect uploaded datasets and artifacts (StatusAPIClient.list_files, get_file).
RL Runs
The runs group surfaces RL rollout records (StatusAPIClient.list_job_runs) and the events emitted within a specific run.
runs listrequires the job ID and returns every known run (typically ordered newest-first).runs logstargets a single run via--run RUN_IDand accepts--sincefor relative/absolute filtering. Output is an events panel or raw JSON.
JSON-first Workflows
All responses are JSON serializable, making the commands agent-friendly:Automation Notes
- Run
uvx synth-ai jobs …as a shorter alias foruvx synth-ai status jobs …. - The CLI uses async HTTP clients; long-running commands (e.g.,
logs --follow) cancel cleanly withCtrl+C. - Combine with
uvx synth-ai train --no-pollfor automation loops that submit a job and periodically poll status or metrics.