Skip to main content
The Sift CLI is a command-line tool for moving telemetry in and out of Sift without writing code. Use the CLI when you want to: The binary is named sift-cli (formerly sift_cli). It is a standalone command-line tool, distinct from the sift_client Python client library.
For every command, flag, and supported value, see the Sift CLI reference.

Install the CLI

For Sift GovCloud, replace api.siftstack.com with api.gov.siftstack.com.To install a specific version, append the version number without a v prefix. For example, use https://api.siftstack.com/install/sift-cli/0.5.0.

Configure a profile

The CLI reads connection settings from a sift.toml config file stored in your user data directory. Each profile holds a gRPC endpoint, a REST endpoint, an API key, and the URL of your Sift web app.
1

Create the config file

This command fails if a config file already exists.
2

Set the default profile

Obtain the gRPC and REST base URLs and an API key from the Sift UI. See Set up API access.
--app-uri is the URL of your Sift web app, such as https://app.siftstack.com or https://gov.siftstack.com. Set it so that sift-cli import prints an Explore link for the data it uploads. A custom or on-premises deployment requires it.
3

Confirm the configuration

To print the path to the config file instead, run sift-cli config where.
To enter values through prompts instead of flags, use the interactive flag:
Commands run against the default profile unless you pass --profile <name>. The --profile flag is global and applies to any command.
To connect to a non-cloud Sift environment that does not use TLS, pass the global --disable-tls flag.

Manage multiple environments

If you connect to more than one environment, each environment requires its own API key; the REST and gRPC URIs are shared across environments in the same account. Create a separate key for each environment, and use the matching key when you authenticate a request against that environment. To manage this from the CLI, create a separate profile for each environment. Reuse the same gRPC endpoint, REST endpoint, and app URI as your default profile, and set the API key for the new environment:
config update creates the profile if it doesn’t already exist. Pass --profile <name> to any command to run it against that environment:

Verify connectivity

Confirm that your profile’s credentials and endpoint work:
The command pings the Sift API and prints the response.

Install shell completions

Install command autocompletions for your current shell, then restart the shell:
To print completions for a specific shell instead of installing them, name the shell:
If you omit --shell, the CLI infers the shell from the $SHELL environment variable.

Serve the docs locally

Serve the CLI’s bundled documentation over HTTP:
The server binds to 0.0.0.0:3000 by default. To bind a different address, pass --addr: