synheart api-key
List and manage API keys
Work with the API keys in your organization. Each subcommand calls the
Synheart platform API, so you must be logged in.
‘api-key list’ prints a table (JSON with —json); the other subcommands print
the result as JSON. Use ‘revoke’ to turn a key off and ‘delete’ to remove it.
To browse keys interactively, open ‘synheart ui’.
Usage
synheart api-key delete: Delete an API keysynheart api-key list: List your API keyssynheart api-key revoke: Revoke an API keysynheart api-key show: Show one API key
synheart api-key delete
Delete an API key
Deletes the API key with the given ID through the platform API. It does not
ask for confirmation, so check the ID first with ‘synheart api-key show’. Needs
you to be logged in and network access. Prints the result as JSON.
Usage
Examples
--json (or --format json) to print a machine-readable body.
synheart api-key list
List your API keys
Lists the API keys in your organization as a table. Needs you to be logged in
and network access. With —json it prints the result as JSON.
Usage
Examples
--json (or --format json) to print a machine-readable body.
synheart api-key revoke
Revoke an API key
Revokes the API key with the given ID so it stops working. It does not ask
for confirmation. Use it when a key may have leaked. Needs you to be logged in
and network access. Prints the result as JSON.
Usage
Examples
--json (or --format json) to print a machine-readable body.
synheart api-key show
Show one API key
Prints the details of the API key with the given ID. Needs you to be
logged in and network access. Prints the result as JSON.
Usage
Examples
--json (or --format json) to print a machine-readable body.
synheart auth
Sign in, sign out and inspect credentials
Manage how the CLI authenticates to Synheart. ‘login’, ‘logout’ and
‘whoami’ are also available at the top level, because you will use them most;
‘status’ and ‘refresh’ are for troubleshooting sign-in.
Usage
synheart auth refresh: Refresh your token to pick up plan changessynheart auth status: Show where credentials are stored and if they load
synheart auth refresh
Refresh your token to pick up plan changes
Exchanges your stored refresh token for a new access token, even if the
current one is still valid. Prints the organization and plan from the new
token. Rarely needed: whoami, usage and the TUI refresh your plan claims
automatically when they are older than 5 minutes, so an upgrade shows up
without signing out and in again. Needs: you are logged in and network
access. With —json it prints the result as an object.
Usage
--json (or --format json) to print a machine-readable body.
synheart auth status
Show where credentials are stored and if they load
Reports whether the CLI can load your credentials and from where (file or
keyring), when they expire, and whether a refresh token is present. Use it to
debug “not logged in” problems. Reads local state only; no network call. Exits
1 when no usable credentials are found. With —json it prints the same fields
as an object.
Usage
--json (or --format json) to print a machine-readable body.
synheart login
Sign in to your Synheart account
Signs you in with the OAuth 2.0 device flow. The CLI prints a URL and a
code, opens your browser (unless you pass —no-browser), and waits while you
approve it. Tokens are stored in your system keychain, or in
~/.synheart/credentials.enc when no keychain is available.
For CI and agents, which cannot use a browser, set SYNHEART_CI_TOKEN (or pass
—ci-token) to store a long-lived token from the dashboard instead. Prefer the
environment variable: a flag is visible in process listings and shell history.
With —json the CI-token sign-in prints “logged_in”, “method”, “storage” and
“credentials_path” as an object.
Needs network access. ‘synheart auth login’ does the same; ‘synheart ui’ has
a sign-in screen too.
Usage
Examples
--json (or --format json) to print a machine-readable body.
synheart logout
Sign out and remove stored credentials
Removes the credentials stored on this machine. Add —revoke to also revoke
the tokens on the server, which is the right choice on a shared or lost
device. Says “Not logged in” and does nothing when you are already signed out.
Needs network access only with —revoke. With —json it prints “logged_out”,
“was_logged_in” and “revoke_requested” as an object.
Usage
Examples
--json (or --format json) to print a machine-readable body.
synheart org
List and manage your organizations
Work with the organizations your account belongs to. Each subcommand calls
the Synheart platform API, so you must be logged in.
‘org list’ prints a table (JSON with —json); the other subcommands print the
result as JSON. Pass —org or set SYNHEART_ORG_ID to act on a specific
organization. To browse them interactively, open ‘synheart ui’.
Usage
synheart org delete: Delete an organizationsynheart org list: List your organizationssynheart org show: Show one organization
synheart org delete
Delete an organization
Deletes the organization with the given ID through the platform API. It
does not ask for confirmation, so check the ID first with ‘synheart org show’.
Needs you to be logged in and network access. Prints the result as JSON.
Usage
Examples
--json (or --format json) to print a machine-readable body.
synheart org list
List your organizations
Lists the organizations your account belongs to as a table. Needs you to be
logged in and network access. With —json it prints the result as JSON.
Usage
Examples
--json (or --format json) to print a machine-readable body.
synheart org show
Show one organization
Prints the details of the organization with the given ID. Needs you to be
logged in and network access. Prints the result as JSON.
Usage
Examples
--json (or --format json) to print a machine-readable body.
synheart project
List and manage your projects
Work with the projects in your organization. Each subcommand calls the
Synheart platform API, so you must be logged in.
‘project list’ prints a table (JSON with —json); the other subcommands print
the result as JSON. Pass —org and —tenant (or set SYNHEART_ORG_ID and
SYNHEART_TENANT_ID) to choose the scope. To browse them interactively, open
‘synheart ui’.
Usage
synheart project delete: Delete a projectsynheart project list: List your projectssynheart project show: Show one project
synheart project delete
Delete a project
Deletes the project with the given ID through the platform API. It does
not ask for confirmation, so check the ID first with ‘synheart project show’.
Needs you to be logged in and network access. Prints the result as JSON.
Usage
Examples
--json (or --format json) to print a machine-readable body.
synheart project list
List your projects
Lists the projects for your tenant as a table. Needs you to be logged in and
network access. With —json it prints the result as JSON.
Usage
Examples
--json (or --format json) to print a machine-readable body.
synheart project show
Show one project
Prints the details of the project with the given ID. Needs you to be
logged in and network access. Prints the result as JSON.
Usage
Examples
--json (or --format json) to print a machine-readable body.
synheart usage
Show plan usage, limits and Syni meters
Shows the current billing period for your organization: plan, cost,
limits on projects, apps and seats, Syni entitlements, and Syni cloud chat
meters. Use it to see how close you are to a limit. Your plan claims are
refreshed automatically first when they are older than 5 minutes, so a recent
upgrade shows up.
Needs: you are logged in and network access. The organization comes from your
sign-in; override it with —org or SYNHEART_ORG_ID. With —json it prints the
report as an object.
Usage
Examples
--json (or --format json) to print a machine-readable body.
synheart whoami
Show the account you are signed in as
Prints the signed-in account: ID, email, name, organization, plan and the
runtime variants your plan includes. Use it to confirm which account the CLI
will act as. If your sign-in is older than 5 minutes it is refreshed first, so
a recent plan change shows up. Needs you to be logged in; exits 1 with
SH-AUTH-001 otherwise. With —json it prints the account as an object with
“logged_in” and “claims_refreshed”.
Usage
--json (or --format json) to print a machine-readable body.