Guides

SellApp CLI

Read your store, edit your catalog, and discover exact commands from your terminal.

Use the official sellapp CLI to work with your stores from the terminal.

To build from the CLI source, install Go and run these commands from the source directory:

go build -o sellapp ./cmd/sellapp
./sellapp --help

Move the executable to a directory on your PATH, or use ./sellapp in place of sellapp below. On Windows, build with go build -o sellapp.exe ./cmd/sellapp.

First request

With the binary on your path, connect the official CLI and select a store:

sellapp login
sellapp stores list
sellapp stores use launch-lab
sellapp products list --limit 1 --output json

Approve the browser consent using your existing store permissions. See CLI authorization for narrower scopes, troubleshooting, and personal disconnect. A server-side API key with the listing ability remains available for automation through SELLAPP_API_KEY and SELLAPP_STORE.

The CLI prints the products as a JSON array. [] with exit code 0 means your store has no products and the request worked. The HTTP API wraps that array in data; the CLI list output unwraps it. See first-request troubleshooting if authentication fails.

Find the next command

sellapp search products
sellapp products create --help
sellapp commands products create --json
sellapp docs products create

The command schema describes its inputs and effects. Use the resource ID as a positional argument and parent IDs as named flags:

sellapp products get 120
sellapp product-variants get 4321 --product 120

Edit your catalog

These requests create real records. A complete ordinary catalog edit runs directly; the terminal prompts for missing required inputs. Scripts must supply them explicitly.

sellapp products create \
  --title "Design kit" \
  --description "Templates for your next project." \
  --visibility HIDDEN

Use --body @file.json or --body - for complex JSON. Use --set FIELD=JSON for explicit nulls or nested values. Supplying the same field twice is an error. Do not combine stdin for a body with stdin for an upload.

Consequential actions, including checkout creation and deletion, require confirmation. Supply --yes in automation only when you intend the effect. Use --dry-run to build a redacted request without contacting the API.

Automation

Redirected output defaults to JSON. Explicit --output always wins. Response data goes to stdout; diagnostics go to stderr. One page is the default; --all enables pagination, with --max-items and --max-pages available to bound it.

sellapp products list --all --max-items 100 --output json > products.json

Configure an API key or authorize a CLI profile before running automation. Noninteractive commands do not start login implicitly. See OAuth authorization for credential isolation and store access.

On this page