Overview
The SeggWat CLI lets you manage feedback, projects, and ratings directly from your terminal. It's ideal for:
- Quick triage: Review and update feedback without opening the dashboard
- Automation: Script feedback workflows in CI/CD pipelines or cron jobs
- Bulk operations: Filter, search, and export feedback with JSON output
- Developer workflows: Pipe feedback data into other tools like
jq,fzf, or custom scripts
Installation
cargo install seggwat-cliSupported platforms: Linux (x86_64, ARM64), macOS (Apple Silicon)
Verify the installation:
seggwat --versionAuthentication
The CLI supports two authentication methods: OAuth login (interactive) and API key (non-interactive).
OAuth Login (recommended for local use)
seggwat loginThis opens your browser to authenticate with your SeggWat account. Tokens are cached in ~/.config/seggwat/tokens.json and refreshed automatically.
# Check who you're logged in as
seggwat whoami
# Log out and clear cached tokens
seggwat logoutAPI Key (recommended for CI/CD and scripts)
Create an API token
In the SeggWat Dashboard, go to Settings > API Tokens and click Create New Token.
Set the environment variable
export SEGGWAT_API_KEY=oat_xxxxxxxxxxxxxxxxxxxxxOr pass it directly:
seggwat --api-key oat_xxxxxxxxxxxxxxxxxxxxx project listNever commit API keys to version control. Use environment variables or a secrets manager.
Quick Start
# Log in
seggwat login
# List your projects
seggwat project list
# View feedback for a project
seggwat feedback list PROJECT_ID
# Create a bug report
seggwat feedback create PROJECT_ID --message "Login button broken on mobile" --type bug
# Update feedback status
seggwat feedback update PROJECT_ID FEEDBACK_ID --status resolved --resolution-note "Fixed in v2.1"
# Check rating statistics
seggwat rating stats PROJECT_ID --type starCommands
Projects
| Command | Alias | Description |
|---|---|---|
seggwat project list |
p ls |
List all projects |
seggwat project get <id> |
p get |
Get project details |
seggwat project summary <id> |
p summary |
Project overview with stats |
# List all projects
seggwat project list
# Get details for a specific project
seggwat project get 550e8400-e29b-41d4-a716-446655440000
# Get a summary with feedback and rating stats
seggwat project summary 550e8400-e29b-41d4-a716-446655440000Feedback
| Command | Alias | Description |
|---|---|---|
seggwat feedback list <project-id> |
fb ls |
List feedback (with filters) |
seggwat feedback get <project-id> <feedback-id> |
fb get |
Get a single item |
seggwat feedback create <project-id> |
fb create |
Create new feedback |
seggwat feedback update <project-id> <feedback-id> |
fb update |
Update feedback |
seggwat feedback delete <project-id> <feedback-id> |
fb rm |
Delete/archive feedback |
seggwat feedback stats <project-id> |
fb stats |
Show feedback statistics |
List with filters:
# Filter by status
seggwat feedback list PROJECT_ID --status new
# Filter by type
seggwat feedback list PROJECT_ID --type bug
# Search message content
seggwat feedback list PROJECT_ID --search "login"
# Pagination
seggwat feedback list PROJECT_ID --page 2 --limit 50Available statuses: new, active, assigned, hold, closed, resolved
Available types: bug, feature, praise, question, improvement, other
Create and update:
# Create feedback
seggwat feedback create PROJECT_ID \
--message "Dark mode support would be great" \
--type feature \
--path "/settings" \
--version "2.1.0"
# Update status and add resolution note
seggwat feedback update PROJECT_ID FEEDBACK_ID \
--status resolved \
--resolution-note "Shipped in v2.2.0"
# Change feedback type
seggwat feedback update PROJECT_ID FEEDBACK_ID --type improvementRatings
| Command | Alias | Description |
|---|---|---|
seggwat rating list <project-id> |
r ls |
List ratings (with filters) |
seggwat rating get <project-id> <rating-id> |
r get |
Get a single rating |
seggwat rating delete <project-id> <rating-id> |
r rm |
Delete/archive a rating |
seggwat rating stats <project-id> |
r stats |
Aggregated statistics |
# List all ratings
seggwat rating list PROJECT_ID
# Filter by type
seggwat rating list PROJECT_ID --type star
# Filter by page path
seggwat rating list PROJECT_ID --path "/docs/getting-started"
# Get stats for different rating types
seggwat rating stats PROJECT_ID --type helpful
seggwat rating stats PROJECT_ID --type star
seggwat rating stats PROJECT_ID --type npsRating types: helpful (thumbs up/down), star (1-5), nps (0-10)
JSON Output
Add --json to any command for machine-readable output. This is useful for scripting and piping into other tools.
# Pretty-print feedback as JSON
seggwat feedback list PROJECT_ID --json | jq .
# Count open bugs
seggwat feedback list PROJECT_ID --type bug --status new --json | jq length
# Export all feedback to a file
seggwat feedback list PROJECT_ID --limit 100 --json > feedback-export.json
# Get project IDs for scripting
seggwat project list --json | jq -r '.[].id'Shell Completions
Generate tab completions for your shell:
seggwat completions bash > ~/.local/share/bash-completion/completions/seggwatGlobal Options
These flags work with any command:
| Flag | Env Variable | Description |
|---|---|---|
--api-url <url> |
SEGGWAT_API_URL |
API base URL (default: https://seggwat.com) |
--api-key <key> |
SEGGWAT_API_KEY |
API key for authentication |
--json |
Output as JSON instead of tables | |
-v, --verbose |
Enable debug logging |
Self-Hosted Setup
If you're running a self-hosted SeggWat instance:
# Point CLI to your instance
export SEGGWAT_API_URL=https://feedback.yourcompany.com
# Login requires FerrisKey URL, realm, and client ID
seggwat login --ferriskey-url https://auth.yourcompany.com --ferriskey-realm seggwat --client-id YOUR_CLIENT_IDOr set them as environment variables:
export SEGGWAT_API_URL=https://feedback.yourcompany.com
export SEGGWAT_FERRISKEY_URL=https://auth.yourcompany.com
export SEGGWAT_FERRISKEY_REALM=seggwat
export SEGGWAT_CLIENT_ID=YOUR_CLIENT_ID