Skip to content

CLI Reference

usvc_seller

UnitySVC seller CLI — local catalog tools and remote API operations.

Local commands live under usvc_seller specs .... Remote commands (against the seller backend, via the unitysvc-sellers HTTP SDK) live under usvc_seller services|promotions|groups.

Usage:

$ usvc_seller [OPTIONS] COMMAND [ARGS]...

Options:

  • -V, --version: Show version and exit.
  • --install-completion: Install completion for the current shell.
  • --show-completion: Show completion for the current shell, to copy it or customize the installation.
  • --help: Show this message and exit.

Commands:

  • specs: Local operations on the flat specs/ layout...
  • services: Remote service operations (list, show,...
  • promotions: Remote promotion operations (list, show,...
  • groups: Remote service group operations (list,...
  • secrets: Remote secret operations (list, show, set,...
  • templates: Browse the platform service-template...
  • params: System-template param files under params/...

usvc_seller specs

Local operations on the flat specs/ layout (validate, format, populate, upload, test, etc.)

Usage:

$ usvc_seller specs [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • show: Show expanded data for a service.
  • expand: Expand a service into the informal...
  • validate: Validate a repository in the flat...
  • format: Format data files (JSON, TOML, MD) to...
  • populate: Populate services by executing the repo's...
  • upload: Upload service specs to UnitySVC.
  • list-tests: List available code examples without...
  • run-tests: Run code examples locally with upstream...
  • show-test: Show test results for a service's code...
  • list: List local data files

usvc_seller specs show

Show expanded data for a service.

By default prints provider + offering + listing as a single JSON object keyed by section. Pass one or more of --provider, --offering, --listing to restrict the output — with exactly one flag set, the selected section is emitted unwrapped for easy piping into jq.

Data is loaded through the seller's preset-aware loader, so any $doc_preset / $file_preset sentinels have already been replaced with the expanded records from unitysvc-data.

Usage:

$ usvc_seller specs show [OPTIONS] SERVICE_NAME

Arguments:

  • SERVICE_NAME: Service name (first column of 'usvc_seller specs list services' output). [required]

Options:

  • --provider: Show only provider data.
  • --offering: Show only offering data.
  • --listing: Show only listing data.
  • -d, --data-dir PATH: Directory containing data files (default: current directory).
  • -f, --format TEXT: Output format: json (syntax-highlighted) or text (plain). [default: json]
  • --help: Show this message and exit.

usvc_seller specs expand

Expand a service into the informal expanded/ tree for inspection.

Accepts either a param file (specs/<NAME>.json — rendered through its template) or a hand-authored service folder (specs/<NAME>/ — copied as-is) and writes expanded/<NAME>/ (provider + offering + listing + bundled files) at the repo root, fully resolved: docs referenced by a relative path (e.g. a shared ../../docs/*.j2) are inlined, $doc_preset / $file_preset references are resolved (best-effort — a broken preset warns and is left as-authored rather than failing), and every .j2 is rendered in local/gateway test modes. The folder is yours to read, diff, or delete — it is never validated or uploaded, and discovery ignores it, so it may go stale until you re-run expand. Use --output-dir to expand elsewhere, or --flat to drop the <NAME>/ subfolder.

Usage:

$ usvc_seller specs expand [OPTIONS] NAME

Arguments:

  • NAME: Service name: a param file (specs/<NAME>.json) or a service folder (specs/<NAME>/). [required]

Options:

  • -o, --output-dir PATH: Directory to expand into (default: <repo>/expanded — the one tree discovery ignores). The full <service_name> path is created beneath it, so several services never collide.
  • --flat: Write the spec files directly into the directory, without the <service_name>/ subfolder (predictable paths). Holds one service at a time; best paired with --output-dir.
  • -d, --data-dir PATH: Repo root or specs/ directory (default: current directory).
  • --help: Show this message and exit.

usvc_seller specs validate

Validate a repository in the flat specs/ layout.

For every service folder (one containing a listing.{json,toml}):

  1. the three spec files (provider, offering, listing) are present, one format each, and carry no schema field;
  2. each validates against its core schema (routed by filename);
  3. listing.name equals the folder's path relative to specs/.

Usage:

$ usvc_seller specs validate [OPTIONS] [SPECS_DIR]

Arguments:

  • [SPECS_DIR]: Repo root or specs/ directory to validate (default: current directory)

Options:

  • --has-service-id: Also require each service folder to have a service.json with a service_id
  • --help: Show this message and exit.

usvc_seller specs format

Format data files (JSON, TOML, MD) to match pre-commit requirements.

This command: - Formats JSON files with 2-space indentation - Removes trailing whitespace - Ensures files end with a newline - Validates TOML syntax

Usage:

$ usvc_seller specs format [OPTIONS] [DATA_DIR]

Arguments:

  • [DATA_DIR]: Directory containing data files to format (default: current directory)

Options:

  • --check: Check if files are formatted without modifying them
  • --help: Show this message and exit.

usvc_seller specs populate

Populate services by executing the repo's populator script.

Reads the services_populator config from templates/config.json (or a top-level config.json) and runs its command from the repo root, so a command like [&quot;scripts/update_specs.py&quot;] resolves naturally. Legacy provider files carrying services_populator are still supported as a fallback.

After successful execution, automatically runs formatting on all generated files (equivalent to usvc_seller specs format).

Usage:

$ usvc_seller specs populate [OPTIONS] [DATA_DIR]

Arguments:

  • [DATA_DIR]: Directory containing provider data files (default: current directory)

Options:

  • -p, --provider TEXT: Only populate services for a specific provider
  • --dry-run: Show what would be executed without actually running commands
  • --help: Show this message and exit.

usvc_seller specs upload

Upload service specs to UnitySVC.

Use usvc_seller promotions upload and usvc_seller groups upload for promotions and service groups.

Usage:

$ usvc_seller specs upload [OPTIONS] [NAME]

Arguments:

  • [NAME]: Service to upload, by service_name (= listing.name) — fnmatch pattern, e.g. 'cohere/*' or a literal name. Omit to upload every service in the current directory.

Options:

  • --api-key TEXT: Seller API key (svcpass_...). Defaults to $UNITYSVC_SELLER_API_KEY. [env var: UNITYSVC_SELLER_API_KEY]
  • --base-url TEXT: Backend base URL. [env var: UNITYSVC_SELLER_API_URL; default: https://seller.unitysvc.com/v1]
  • --submit: Also submit each freshly published service for review (validate → pending → run tests) in the same ingest task. Default: leave services as reviewable drafts to submit later.
  • --help: Show this message and exit.

usvc_seller specs list-tests

List available code examples without running them.

This command scans for code examples in listing files and displays them in a table with file paths shown relative to the data directory.

Useful for exploring available examples before running tests.

Examples: # List all code examples usvc_seller specs list-tests

# List for a whole provider (fnmatch pattern on listing.name)
usvc_seller specs list-tests &#x27;fireworks/*&#x27;

# List for one service (literal listing.name)
usvc_seller specs list-tests fireworks/llama-3-1-405b-instruct

# List as JSON
usvc_seller specs list-tests --format json

Usage:

$ usvc_seller specs list-tests [OPTIONS] [NAME]

Arguments:

  • [NAME]: Service to list, by service_name (= listing.name) — fnmatch pattern, e.g. 'cohere/*' for a whole provider or a literal name. Omit to list every service in the current directory.

Options:

  • -f, --format TEXT: Output format: json, table, tsv, csv [default: table]
  • --help: Show this message and exit.

usvc_seller specs run-tests

Run code examples locally with upstream API credentials.

This command: 1. Scans for all listing files (schema: listing_v1) 2. Extracts code example documents 3. Loads provider credentials from offering file 4. Skips tests that previously passed (unless --force is used) 5. Executes each code example with UNITYSVC_API_KEY and SERVICE_BASE_URL set to upstream values 6. Saves output to .out and .err files for tracking 7. Displays test results

Examples: # Run all code examples in the current directory usvc_seller specs run-tests

# Run for a whole provider (fnmatch pattern on listing.name)
usvc_seller specs run-tests &#x27;fireworks/*&#x27;

# Run a single service (literal listing.name)
usvc_seller specs run-tests fireworks/llama-3-1-405b-instruct
usvc_seller specs run-tests &#x27;cohere/command-r-*&#x27;

# Run specific file
usvc_seller specs run-tests --test-file &quot;code-example.py.j2&quot;

# Show detailed output
usvc_seller specs run-tests --verbose

# Force rerun all tests (ignore existing results)
usvc_seller specs run-tests --force

# Stop on first failure
usvc_seller specs run-tests --fail-fast

Usage:

$ usvc_seller specs run-tests [OPTIONS] [NAME]

Arguments:

  • [NAME]: Service to test, by service_name (= listing.name) — fnmatch pattern, e.g. 'cohere/*' or a literal name. Omit to test every service in the current directory.

Options:

  • -t, --test-file TEXT: Only run a specific test file by filename (e.g., 'code-example.py.j2')
  • -v, --verbose: Show detailed output including stdout/stderr from scripts
  • -f, --force: Force rerun all tests, ignoring existing .out and .err files
  • -x, --fail-fast: Stop testing on first failure
  • --help: Show this message and exit.

usvc_seller specs show-test

Show test results for a service's code examples.

Displays the status (.status), stdout (.out), and stderr (.err) files for previously executed tests.

Examples: usvc_seller specs show-test llama-3-1-405b-instruct usvc_seller specs show-test llama-3-1-405b-instruct --title "Quick Start"

Usage:

$ usvc_seller specs show-test [OPTIONS] SERVICE

Arguments:

  • SERVICE: Service name (service_name = listing.name) to show test results for [required]

Options:

  • -t, --title TEXT: Only show results for specific test title
  • -d, --data-dir PATH: Directory containing provider data files (default: current directory)
  • --help: Show this message and exit.

usvc_seller specs list

List local data files

Usage:

$ usvc_seller specs list [OPTIONS] COMMAND [ARGS]...

Options:

  • -d, --data-dir PATH: Directory containing data files (default: current directory)
  • --help: Show this message and exit.

Commands:

  • services: List all services with their provider,...
  • providers: List all provider files found in the data...
  • sellers: List all seller files found in the data...
  • offerings: List all service offering files found in...
  • listings: List all service listing files found in...

usvc_seller specs list services

List all services with their provider, offering, and listing files.

Usage:

$ usvc_seller specs list services [OPTIONS] [DATA_DIR]

Arguments:

  • [DATA_DIR]: Directory containing data files (default: current directory)

Options:

  • --help: Show this message and exit.

usvc_seller specs list providers

List all provider files found in the data directory.

Usage:

$ usvc_seller specs list providers [OPTIONS] [DATA_DIR]

Arguments:

  • [DATA_DIR]: Directory containing provider files (default: current directory)

Options:

  • --help: Show this message and exit.

usvc_seller specs list sellers

List all seller files found in the data directory.

Usage:

$ usvc_seller specs list sellers [OPTIONS] [DATA_DIR]

Arguments:

  • [DATA_DIR]: Directory containing seller files (default: current directory)

Options:

  • --help: Show this message and exit.

usvc_seller specs list offerings

List all service offering files found in the data directory.

Usage:

$ usvc_seller specs list offerings [OPTIONS] [DATA_DIR]

Arguments:

  • [DATA_DIR]: Directory containing service files (default: current directory)

Options:

  • --help: Show this message and exit.

usvc_seller specs list listings

List all service listing files found in the data directory.

Usage:

$ usvc_seller specs list listings [OPTIONS] [DATA_DIR]

Arguments:

  • [DATA_DIR]: Directory containing listing files (default: current directory)

Options:

  • --help: Show this message and exit.

usvc_seller services

Remote service operations (list, show, submit, withdraw, deprecate, set-visibility, delete, update).

Usage:

$ usvc_seller services [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • list: List services owned by the authenticated...
  • show: Show details of a single service,...
  • submit: Submit services for review...
  • enable-testing: Make services routable for on-wire testing...
  • withdraw: Withdraw services back to draft...
  • deprecate: Mark services as deprecated.
  • set-visibility: Set the visibility of one or more services.
  • delete: Permanently delete services.
  • update: Update visibility, routing vars, and/or...
  • list-tests: List testable documents for one service or...
  • show-test: Show the latest test result for a single...
  • run-tests: Run a service's testable documents via a...
  • skip-test: Mark a code-example document as skipped...
  • unskip-test: Unskip a previously-skipped document so it...

usvc_seller services list

List services owned by the authenticated seller.

Default mode uses cursor-based pagination over the seller's full catalog: pass --cursor for a specific page or --all to follow cursors to completion.

With --local-ids, only the services whose IDs are recorded in listing.{json,toml} (or the merged listing.override.{json,toml}) files under --data-dir are fetched and shown — handy for inspecting just the services managed by the current data repo without a wildcard query against a shared seller account. The --status / --visibility / --name / --provider filters are applied server-side via the ids query parameter added in the backend GET /services?ids=&lt;uuid&gt; endpoint.

Usage:

$ usvc_seller services list [OPTIONS] [NAME]

Arguments:

  • [NAME]: Optional name filter — search by name, display_name, or provider name (case-insensitive partial match against service.name on the backend). Omit to list every service the seller owns.

Options:

  • --limit INTEGER: Max records per page (cursor pagination; repeat with --cursor for more). [default: 50]
  • --cursor TEXT: Continuation token from a previous page's next_cursor.
  • --all: Follow cursors and print every page as one combined result.
  • --status TEXT: Filter by service status (draft, pending, review, active, rejected, suspended, deprecated).
  • --visibility TEXT: Filter by catalog visibility (public, unlisted, private).
  • --provider TEXT: Filter by provider name (case-insensitive partial match).
  • --fields TEXT: Comma-separated list of columns to display. [default: id,name,provider_name,service_type,status,visibility]
  • -f, --format TEXT: Output format: table | json. [default: table]
  • -l, --local-ids: Restrict to services whose IDs are recorded in listing_v1 files under --data-dir.
  • --data-dir DIRECTORY: Data directory for --local-ids (default: current directory). [default: .]
  • --api-key TEXT: Seller API key (svcpass_...). Defaults to $UNITYSVC_SELLER_API_KEY. [env var: UNITYSVC_SELLER_API_KEY]
  • --base-url TEXT: Backend base URL. [env var: UNITYSVC_SELLER_API_URL; default: https://seller.unitysvc.com/v1]
  • --help: Show this message and exit.

usvc_seller services show

Show details of a single service, including documents and access interfaces.

Usage:

$ usvc_seller services show [OPTIONS] [NAME]

Arguments:

  • [NAME]: Service to show, by service_name (= listing.name) — literal name or single-match fnmatch. If multiple rows match (e.g. an active service plus its pending revision), the command errors and asks for --id.

Options:

  • --id TEXT: Service ID (full or partial, ≥8 chars). Use this when a name matches multiple rows and you need to pin one specific row. Mutually exclusive with the positional NAME, --all, --local-ids.
  • -f, --format TEXT: Output format: table | json. [default: table]
  • --api-key TEXT: Seller API key (svcpass_...). Defaults to $UNITYSVC_SELLER_API_KEY. [env var: UNITYSVC_SELLER_API_KEY]
  • --base-url TEXT: Backend base URL. [env var: UNITYSVC_SELLER_API_URL; default: https://seller.unitysvc.com/v1]
  • --help: Show this message and exit.

usvc_seller services submit

Submit services for review (draft|rejected|suspended → pending).

This validates each service and runs the activation test pipeline that drives review / active / rejected. To make a service routable without running tests — e.g. to test code examples on-wire while you iterate — use enable-testing instead.

Usage:

$ usvc_seller services submit [OPTIONS] [NAME]

Arguments:

  • [NAME]: Target services by service_name (= listing.name) — fnmatch pattern, e.g. 'cohere/*' for a whole provider or a literal name. Mutually exclusive with --id, --all, --local-ids.

Options:

  • --id TEXT: Service ID (full or partial, ≥8 chars). Use this when a name matches multiple rows and you need to pin one specific row. Mutually exclusive with the positional NAME, --all, --local-ids.
  • --all: Submit all draft, rejected, and suspended services.
  • -l, --local-ids: Restrict to services whose IDs are recorded in listing_v1 files under --data-dir.
  • --data-dir DIRECTORY: Data directory for --local-ids (default: current directory). [default: .]
  • --provider TEXT: Filter by provider when --all or --local-ids is set.
  • -y, --yes: Skip confirmation prompt.
  • --api-key TEXT: Seller API key (svcpass_...). Defaults to $UNITYSVC_SELLER_API_KEY. [env var: UNITYSVC_SELLER_API_KEY]
  • --base-url TEXT: Backend base URL. [env var: UNITYSVC_SELLER_API_URL; default: https://seller.unitysvc.com/v1]
  • --help: Show this message and exit.

usvc_seller services enable-testing

Make services routable for on-wire testing (draft|rejected|suspended → pending).

A pure status change (status becomes pending) that makes a service routable so you can test its code examples on-wire — e.g. with services run-tests — while you iterate. It does not run the activation test pipeline and won't progress the service to active; it is NOT a submission for review. Use submit when you're ready for that.

Usage:

$ usvc_seller services enable-testing [OPTIONS] [NAME]

Arguments:

  • [NAME]: Target services by service_name (= listing.name) — fnmatch pattern, e.g. 'cohere/*' for a whole provider or a literal name. Mutually exclusive with --id, --all, --local-ids.

Options:

  • --id TEXT: Service ID (full or partial, ≥8 chars). Use this when a name matches multiple rows and you need to pin one specific row. Mutually exclusive with the positional NAME, --all, --local-ids.
  • --all: Enable testing for all draft, rejected, and suspended services.
  • -l, --local-ids: Restrict to services whose IDs are recorded in listing_v1 files under --data-dir.
  • --data-dir DIRECTORY: Data directory for --local-ids (default: current directory). [default: .]
  • --provider TEXT: Filter by provider when --all or --local-ids is set.
  • -y, --yes: Skip confirmation prompt.
  • --api-key TEXT: Seller API key (svcpass_...). Defaults to $UNITYSVC_SELLER_API_KEY. [env var: UNITYSVC_SELLER_API_KEY]
  • --base-url TEXT: Backend base URL. [env var: UNITYSVC_SELLER_API_URL; default: https://seller.unitysvc.com/v1]
  • --help: Show this message and exit.

usvc_seller services withdraw

Withdraw services back to draft (pending|rejected → draft).

Usage:

$ usvc_seller services withdraw [OPTIONS] [NAME]

Arguments:

  • [NAME]: Target services by service_name (= listing.name) — fnmatch pattern, e.g. 'cohere/*' for a whole provider or a literal name. Mutually exclusive with --id, --all, --local-ids.

Options:

  • --id TEXT: Service ID (full or partial, ≥8 chars). Use this when a name matches multiple rows and you need to pin one specific row. Mutually exclusive with the positional NAME, --all, --local-ids.
  • --all: Withdraw all pending and rejected services.
  • -l, --local-ids: Restrict to services whose IDs are recorded in listing_v1 files under --data-dir.
  • --data-dir DIRECTORY: Data directory for --local-ids (default: current directory). [default: .]
  • --provider TEXT: Filter by provider when --all or --local-ids is set.
  • -y, --yes: Skip confirmation prompt.
  • --api-key TEXT: Seller API key (svcpass_...). Defaults to $UNITYSVC_SELLER_API_KEY. [env var: UNITYSVC_SELLER_API_KEY]
  • --base-url TEXT: Backend base URL. [env var: UNITYSVC_SELLER_API_URL; default: https://seller.unitysvc.com/v1]
  • --help: Show this message and exit.

usvc_seller services deprecate

Mark services as deprecated.

Usage:

$ usvc_seller services deprecate [OPTIONS] [NAME]

Arguments:

  • [NAME]: Target services by service_name (= listing.name) — fnmatch pattern, e.g. 'cohere/*' for a whole provider or a literal name. Mutually exclusive with --id, --all, --local-ids.

Options:

  • --id TEXT: Service ID (full or partial, ≥8 chars). Use this when a name matches multiple rows and you need to pin one specific row. Mutually exclusive with the positional NAME, --all, --local-ids.
  • --all: Deprecate all active services.
  • -l, --local-ids: Restrict to services whose IDs are recorded in listing_v1 files under --data-dir.
  • --data-dir DIRECTORY: Data directory for --local-ids (default: current directory). [default: .]
  • --provider TEXT: Filter by provider when --all or --local-ids is set.
  • -y, --yes: Skip confirmation prompt.
  • --api-key TEXT: Seller API key (svcpass_...). Defaults to $UNITYSVC_SELLER_API_KEY. [env var: UNITYSVC_SELLER_API_KEY]
  • --base-url TEXT: Backend base URL. [env var: UNITYSVC_SELLER_API_URL; default: https://seller.unitysvc.com/v1]
  • --help: Show this message and exit.

usvc_seller services set-visibility

Set the visibility of one or more services.

VISIBILITY is one of:

  • public — service is listed in the public catalog (effective only once the service is in the active status; setting this on a draft service marks the intent to be public when the service is activated).
  • unlisted — accessible by direct link, hidden from public catalog browse views.
  • private — hidden from every catalog view; only the seller and admins can see it.

This command is a pure flag flip on the visibility column. It does not transition status, does not validate that the service should be at the requested visibility, and does not interact with any review workflow.

Usage:

$ usvc_seller services set-visibility [OPTIONS] VISIBILITY [NAME]

Arguments:

  • VISIBILITY: Target visibility: one of public, unlisted, private. [required]
  • [NAME]: Target services by service_name (= listing.name) — fnmatch pattern, e.g. 'cohere/*' for a whole provider or a literal name. Mutually exclusive with --id, --all, --local-ids.

Options:

  • --id TEXT: Service ID (full or partial, ≥8 chars). Use this when a name matches multiple rows and you need to pin one specific row. Mutually exclusive with the positional NAME, --all, --local-ids.
  • --all: Apply to every non-deprecated service (draft, pending, review, active, rejected, suspended) not already at the target visibility. Status is irrelevant — visibility is a flag that persists through the lifecycle and only takes effect on active.
  • -l, --local-ids: Restrict to services whose IDs are recorded in listing_v1 files under --data-dir.
  • --data-dir DIRECTORY: Data directory for --local-ids (default: current directory). [default: .]
  • --provider TEXT: Filter by provider when --all or --local-ids is set.
  • -y, --yes: Skip confirmation prompt.
  • --api-key TEXT: Seller API key (svcpass_...). Defaults to $UNITYSVC_SELLER_API_KEY. [env var: UNITYSVC_SELLER_API_KEY]
  • --base-url TEXT: Backend base URL. [env var: UNITYSVC_SELLER_API_URL; default: https://seller.unitysvc.com/v1]
  • --help: Show this message and exit.

usvc_seller services delete

Permanently delete services.

Only services that have never been active are deletable: draft, pending, review, rejected. Services in active, suspended, or deprecated have an archived ServiceData history that the platform retains for audit purposes; the backend rejects delete attempts on those even when they're currently inactive. Status changes don't recover deletability: a service that was once activated stays non-deletable forever, even after a round-trip through deprecated → active → deprecated.

Usage:

$ usvc_seller services delete [OPTIONS] [NAME]

Arguments:

  • [NAME]: Target services by service_name (= listing.name) — fnmatch pattern, e.g. 'cohere/*' for a whole provider or a literal name. Mutually exclusive with --id, --all, --local-ids.

Options:

  • --id TEXT: Service ID (full or partial, ≥8 chars). Use this when a name matches multiple rows and you need to pin one specific row. Mutually exclusive with the positional NAME, --all, --local-ids.
  • --all: Delete all deletable services (draft, pending, review, rejected).
  • -l, --local-ids: Restrict to services whose IDs are recorded in listing_v1 files under --data-dir.
  • --data-dir DIRECTORY: Data directory for --local-ids (default: current directory). [default: .]
  • --status TEXT: Restrict --all to a single deletable status.
  • --provider TEXT: Filter by provider when --all or --local-ids is set.
  • --dryrun: Show what would be deleted without doing it.
  • -y, --yes: Skip confirmation prompt.
  • --api-key TEXT: Seller API key (svcpass_...). Defaults to $UNITYSVC_SELLER_API_KEY. [env var: UNITYSVC_SELLER_API_KEY]
  • --base-url TEXT: Backend base URL. [env var: UNITYSVC_SELLER_API_URL; default: https://seller.unitysvc.com/v1]
  • --help: Show this message and exit.

usvc_seller services update

Update visibility, routing vars, and/or list price on a live service.

All updates are sent in a single PATCH request.

Usage:

$ usvc_seller services update [OPTIONS] [NAME]

Arguments:

  • [NAME]: Service to update, by service_name (= listing.name) — literal name or single-match fnmatch. If multiple rows match (e.g. an active service plus its pending revision), the command errors and asks for --id.

Options:

  • --id TEXT: Service ID (full or partial, ≥8 chars). Use this when a name matches multiple rows and you need to pin one specific row. Mutually exclusive with the positional NAME, --all, --local-ids.
  • -v, --visibility TEXT: Set catalog visibility: public, unlisted, or private.
  • --set-routing-var TEXT: Set routing var(s): key=value or JSON object '{...}' (repeatable).
  • --remove-routing-var TEXT: Remove a routing var by key or dotted path (repeatable).
  • --load-routing-vars TEXT: Replace all routing vars from a JSON file.
  • --set-price TEXT: Set list_price: key=value, JSON '{...}', or plain number for constant pricing (repeatable).
  • --remove-price-field TEXT: Remove a list_price field by key or dotted path (repeatable).
  • --api-key TEXT: Seller API key (svcpass_...). Defaults to $UNITYSVC_SELLER_API_KEY. [env var: UNITYSVC_SELLER_API_KEY]
  • --base-url TEXT: Backend base URL. [env var: UNITYSVC_SELLER_API_URL; default: https://seller.unitysvc.com/v1]
  • --help: Show this message and exit.

usvc_seller services list-tests

List testable documents for one service or every service the seller owns.

Usage:

$ usvc_seller services list-tests [OPTIONS] [NAME]

Arguments:

  • [NAME]: Service to list tests for, by service_name (= listing.name) — literal name or single-match fnmatch. If multiple rows match, the command errors and asks for --id. Omit to list tests across every service.

Options:

  • --id TEXT: Service ID (full or partial, ≥8 chars). Mutually exclusive with the positional NAME.
  • -a, --all: Show all documents, not just executable tests.
  • -s, --status TEXT: Filter by test status (success, script_failed, pending, …).
  • -f, --format TEXT: Output format: table | json. [default: table]
  • --api-key TEXT: Seller API key (svcpass_...). Defaults to $UNITYSVC_SELLER_API_KEY. [env var: UNITYSVC_SELLER_API_KEY]
  • --base-url TEXT: Backend base URL. [env var: UNITYSVC_SELLER_API_URL; default: https://seller.unitysvc.com/v1]
  • --help: Show this message and exit.

usvc_seller services show-test

Show the latest test result for a single document.

Accepts a document id — full UUID or an 8+ character prefix — via either the positional argument or --document-id / -d / --doc-id. Prefix resolution is handled server-side by GET /seller/documents/{id} so the CLI makes exactly one API call regardless of how many services the seller owns.

Usage:

$ usvc_seller services show-test [OPTIONS] [DOCUMENT_ID]

Arguments:

  • [DOCUMENT_ID]: Document ID (full or partial, ≥8 chars). Optional if --document-id/--doc-id is passed.

Options:

  • -d, --document-id, --doc-id TEXT: Document ID (alternative to positional). Matches the legacy usvc services show-test --doc-id form.
  • -f, --format TEXT: Output format: table | json. [default: table]
  • --api-key TEXT: Seller API key (svcpass_...). Defaults to $UNITYSVC_SELLER_API_KEY. [env var: UNITYSVC_SELLER_API_KEY]
  • --base-url TEXT: Backend base URL. [env var: UNITYSVC_SELLER_API_URL; default: https://seller.unitysvc.com/v1]
  • --help: Show this message and exit.

usvc_seller services run-tests

Run a service's testable documents via a server-side diagnostic.

Queues run_service_diagnostic on the backend, which renders and executes every executable document (connectivity tests + code examples) across every active access interface — inside the cluster, using the same network path customers hit — and falls back to an upstream-mode probe on any iface-level gateway failure so the result attributes the fault as platform_fault vs upstream_fault.

Replaces the previous local-execution path (unitysvc/unitysvc#1105). Test results are persisted on the backend in Document.meta.test.tests[&lt;iface_id&gt;]; the rendered table here is a summary. Use usvc_seller services show-test --doc-id &lt;id&gt; to see full stdout/stderr for any failure.

Targeting: usvc_seller services run-tests cohere/command-r-plus usvc_seller services run-tests 'cohere/*' --force usvc_seller services run-tests --id 6c55d6d9 # disambiguate

Usage:

$ usvc_seller services run-tests [OPTIONS] [NAME]

Arguments:

  • [NAME]: Service(s) to test, by service_name (= listing.name) — fnmatch pattern, e.g. 'cohere/*' or a literal name. Matching multiple services runs the diagnostic once per match in sequence. Mutually exclusive with --id.

Options:

  • --id TEXT: Service ID (full or partial, ≥8 chars). Use this when a name matches multiple rows (e.g. an active service plus its pending revision) and you need to pin one specific row.
  • -l, --local-ids: Run tests for every service whose backend id is recorded in a service.json under --data-dir (the local specs/ catalog). Mutually exclusive with NAME and --id.
  • --data-dir DIRECTORY: Data directory for --local-ids (default: current directory). [default: .]
  • -d, --document-id TEXT: Run a single document instead of every executable doc on the service.
  • --force: Re-execute documents whose previous per-iface result was 'success'.
  • --poll-interval FLOAT: Seconds between task-status polls while waiting for the diagnostic. [default: 2.0]
  • --timeout FLOAT: Hard cap on total wait, including queue time, in seconds. [default: 600.0]
  • --api-key TEXT: Seller API key (svcpass_...). Defaults to $UNITYSVC_SELLER_API_KEY. [env var: UNITYSVC_SELLER_API_KEY]
  • --base-url TEXT: Backend base URL. [env var: UNITYSVC_SELLER_API_URL; default: https://seller.unitysvc.com/v1]
  • --help: Show this message and exit.

usvc_seller services skip-test

Mark a code-example document as skipped (won't run).

Usage:

$ usvc_seller services skip-test [OPTIONS] DOCUMENT_ID

Arguments:

  • DOCUMENT_ID: Document ID (full UUID). [required]

Options:

  • --api-key TEXT: Seller API key (svcpass_...). Defaults to $UNITYSVC_SELLER_API_KEY. [env var: UNITYSVC_SELLER_API_KEY]
  • --base-url TEXT: Backend base URL. [env var: UNITYSVC_SELLER_API_URL; default: https://seller.unitysvc.com/v1]
  • --help: Show this message and exit.

usvc_seller services unskip-test

Unskip a previously-skipped document so it runs again.

Usage:

$ usvc_seller services unskip-test [OPTIONS] DOCUMENT_ID

Arguments:

  • DOCUMENT_ID: Document ID (full UUID). [required]

Options:

  • --api-key TEXT: Seller API key (svcpass_...). Defaults to $UNITYSVC_SELLER_API_KEY. [env var: UNITYSVC_SELLER_API_KEY]
  • --base-url TEXT: Backend base URL. [env var: UNITYSVC_SELLER_API_URL; default: https://seller.unitysvc.com/v1]
  • --help: Show this message and exit.

usvc_seller promotions

Remote promotion operations (list, show, activate, pause, delete, upload).

Usage:

$ usvc_seller promotions [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • list: List the seller's promotions on the backend.
  • show: Show details of a single promotion.
  • activate: Set a promotion's status to active.
  • pause: Set a promotion's status to paused.
  • delete: Permanently delete a promotion.
  • upload: Upload all promotion files from...

usvc_seller promotions list

List the seller's promotions on the backend.

Usage:

$ usvc_seller promotions list [OPTIONS]

Options:

  • -f, --format TEXT: Output format: table | json. [default: table]
  • --api-key TEXT: Seller API key (svcpass_...). Defaults to $UNITYSVC_SELLER_API_KEY. [env var: UNITYSVC_SELLER_API_KEY]
  • --base-url TEXT: Backend base URL. [env var: UNITYSVC_SELLER_API_URL; default: https://seller.unitysvc.com/v1]
  • --help: Show this message and exit.

usvc_seller promotions show

Show details of a single promotion.

Usage:

$ usvc_seller promotions show [OPTIONS] NAME_OR_ID

Arguments:

  • NAME_OR_ID: Promotion name or partial UUID. [required]

Options:

  • -f, --format TEXT: Output format: table | json. [default: table]
  • --api-key TEXT: Seller API key (svcpass_...). Defaults to $UNITYSVC_SELLER_API_KEY. [env var: UNITYSVC_SELLER_API_KEY]
  • --base-url TEXT: Backend base URL. [env var: UNITYSVC_SELLER_API_URL; default: https://seller.unitysvc.com/v1]
  • --help: Show this message and exit.

usvc_seller promotions activate

Set a promotion's status to active.

Usage:

$ usvc_seller promotions activate [OPTIONS] NAME_OR_ID

Arguments:

  • NAME_OR_ID: Promotion name or partial UUID. [required]

Options:

  • --api-key TEXT: Seller API key (svcpass_...). Defaults to $UNITYSVC_SELLER_API_KEY. [env var: UNITYSVC_SELLER_API_KEY]
  • --base-url TEXT: Backend base URL. [env var: UNITYSVC_SELLER_API_URL; default: https://seller.unitysvc.com/v1]
  • --help: Show this message and exit.

usvc_seller promotions pause

Set a promotion's status to paused.

Usage:

$ usvc_seller promotions pause [OPTIONS] NAME_OR_ID

Arguments:

  • NAME_OR_ID: Promotion name or partial UUID. [required]

Options:

  • --api-key TEXT: Seller API key (svcpass_...). Defaults to $UNITYSVC_SELLER_API_KEY. [env var: UNITYSVC_SELLER_API_KEY]
  • --base-url TEXT: Backend base URL. [env var: UNITYSVC_SELLER_API_URL; default: https://seller.unitysvc.com/v1]
  • --help: Show this message and exit.

usvc_seller promotions delete

Permanently delete a promotion.

Usage:

$ usvc_seller promotions delete [OPTIONS] NAME_OR_ID

Arguments:

  • NAME_OR_ID: Promotion name or partial UUID. [required]

Options:

  • -f, --force: Skip confirmation prompt.
  • --api-key TEXT: Seller API key (svcpass_...). Defaults to $UNITYSVC_SELLER_API_KEY. [env var: UNITYSVC_SELLER_API_KEY]
  • --base-url TEXT: Backend base URL. [env var: UNITYSVC_SELLER_API_URL; default: https://seller.unitysvc.com/v1]
  • --help: Show this message and exit.

usvc_seller promotions upload

Upload all promotion files from promotions/ directory.

Usage:

$ usvc_seller promotions upload [OPTIONS]

Options:

  • --api-key TEXT: Seller API key (svcpass_...). Defaults to $UNITYSVC_SELLER_API_KEY. [env var: UNITYSVC_SELLER_API_KEY]
  • --base-url TEXT: Backend base URL. [env var: UNITYSVC_SELLER_API_URL; default: https://seller.unitysvc.com/v1]
  • --help: Show this message and exit.

usvc_seller groups

Remote service group operations (list, show, delete, upload).

Usage:

$ usvc_seller groups [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • list: List the seller's service groups.
  • show: Show details of a single service group.
  • delete: Permanently delete a service group.
  • upload: Upload all service-group files from...

usvc_seller groups list

List the seller's service groups.

Usage:

$ usvc_seller groups list [OPTIONS]

Options:

  • --status TEXT: Filter by status (draft, active, private, archived).
  • -f, --format TEXT: Output format: table | json. [default: table]
  • --api-key TEXT: Seller API key (svcpass_...). Defaults to $UNITYSVC_SELLER_API_KEY. [env var: UNITYSVC_SELLER_API_KEY]
  • --base-url TEXT: Backend base URL. [env var: UNITYSVC_SELLER_API_URL; default: https://seller.unitysvc.com/v1]
  • --help: Show this message and exit.

usvc_seller groups show

Show details of a single service group.

Usage:

$ usvc_seller groups show [OPTIONS] NAME_OR_ID

Arguments:

  • NAME_OR_ID: Group name or partial UUID. [required]

Options:

  • -f, --format TEXT: Output format: table | json. [default: table]
  • --api-key TEXT: Seller API key (svcpass_...). Defaults to $UNITYSVC_SELLER_API_KEY. [env var: UNITYSVC_SELLER_API_KEY]
  • --base-url TEXT: Backend base URL. [env var: UNITYSVC_SELLER_API_URL; default: https://seller.unitysvc.com/v1]
  • --help: Show this message and exit.

usvc_seller groups delete

Permanently delete a service group.

Usage:

$ usvc_seller groups delete [OPTIONS] NAME_OR_ID

Arguments:

  • NAME_OR_ID: Group name or partial UUID. [required]

Options:

  • -f, --force: Skip confirmation prompt.
  • --api-key TEXT: Seller API key (svcpass_...). Defaults to $UNITYSVC_SELLER_API_KEY. [env var: UNITYSVC_SELLER_API_KEY]
  • --base-url TEXT: Backend base URL. [env var: UNITYSVC_SELLER_API_URL; default: https://seller.unitysvc.com/v1]
  • --help: Show this message and exit.

usvc_seller groups upload

Upload all service-group files from groups/ directory.

Usage:

$ usvc_seller groups upload [OPTIONS]

Options:

  • --api-key TEXT: Seller API key (svcpass_...). Defaults to $UNITYSVC_SELLER_API_KEY. [env var: UNITYSVC_SELLER_API_KEY]
  • --base-url TEXT: Backend base URL. [env var: UNITYSVC_SELLER_API_URL; default: https://seller.unitysvc.com/v1]
  • --help: Show this message and exit.

usvc_seller secrets

Remote secret operations (list, show, set, upload, delete).

Usage:

$ usvc_seller secrets [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • list: List the seller's secrets (metadata only —...
  • show: Show metadata for a single secret by name.
  • set: Set a secret to value (idempotent —...
  • upload: Bulk-set secrets from a sourceable file or...
  • delete: Permanently delete a secret.

usvc_seller secrets list

List the seller's secrets (metadata only — values are never returned).

Usage:

$ usvc_seller secrets list [OPTIONS]

Options:

  • -f, --format TEXT: Output format: table | json. [default: table]
  • --api-key TEXT: Seller API key (svcpass_...). Defaults to $UNITYSVC_SELLER_API_KEY. [env var: UNITYSVC_SELLER_API_KEY]
  • --base-url TEXT: Backend base URL. [env var: UNITYSVC_SELLER_API_URL; default: https://seller.unitysvc.com/v1]
  • --help: Show this message and exit.

usvc_seller secrets show

Show metadata for a single secret by name.

Usage:

$ usvc_seller secrets show [OPTIONS] NAME

Arguments:

  • NAME: Secret name (e.g. OPENAI_API_KEY). [required]

Options:

  • -f, --format TEXT: Output format: table | json. [default: table]
  • --api-key TEXT: Seller API key (svcpass_...). Defaults to $UNITYSVC_SELLER_API_KEY. [env var: UNITYSVC_SELLER_API_KEY]
  • --base-url TEXT: Backend base URL. [env var: UNITYSVC_SELLER_API_URL; default: https://seller.unitysvc.com/v1]
  • --help: Show this message and exit.

usvc_seller secrets set

Set a secret to value (idempotent — creates or rotates).

Maps to PUT /v1/seller/secrets/{name}. The value is encrypted server-side and cannot be retrieved later. Resolution order:

  1. --value VALUE — explicit literal (or --value &quot;$ENV&quot; via shell expansion)
  2. piped stdin — echo v | usvc secrets set X
  3. interactive prompt — TTY only; hidden input

Mirrors gh secret set and vault kv put.

Usage:

$ usvc_seller secrets set [OPTIONS] NAME

Arguments:

  • NAME: Secret name (uppercase + underscores, e.g. OPENAI_API_KEY). [required]

Options:

  • -v, --value TEXT: Secret value. If omitted: reads from stdin when piped, prompts with hidden input when run interactively.
  • -f, --format TEXT: Output format: table | json. [default: table]
  • --api-key TEXT: Seller API key (svcpass_...). Defaults to $UNITYSVC_SELLER_API_KEY. [env var: UNITYSVC_SELLER_API_KEY]
  • --base-url TEXT: Backend base URL. [env var: UNITYSVC_SELLER_API_URL; default: https://seller.unitysvc.com/v1]
  • --help: Show this message and exit.

usvc_seller secrets upload

Bulk-set secrets from a sourceable file or stdin (idempotent).

Reads the same shell-sourceable file you keep for local testing — export NAME=&quot;value&quot; / NAME=value lines, surrounding quotes stripped, # comments and blank lines ignored — and sets each via PUT /v1/seller/secrets/{name}. Entries with an empty value are skipped (fine for OPTIONAL secrets); when a name repeats, the last assignment wins.

Input is a file or a pipe — no implicit default:

  • FILE argument — a path to a sourceable secrets file
  • - or piped stdin — decrypt on the fly, e.g.::
     sops -d .secrets | usvc_seller secrets upload
     gpg -d .secrets.gpg | usvc_seller secrets upload -
    

Usage:

$ usvc_seller secrets upload [OPTIONS] [FILE]

Arguments:

  • [FILE]: Secrets file to read ('export NAME=value' lines), or '-' for stdin. Omit when piping input in.

Options:

  • --dry-run: Parse and list names; upload nothing.
  • -f, --format TEXT: Output format: table | json. [default: table]
  • --api-key TEXT: Seller API key (svcpass_...). Defaults to $UNITYSVC_SELLER_API_KEY. [env var: UNITYSVC_SELLER_API_KEY]
  • --base-url TEXT: Backend base URL. [env var: UNITYSVC_SELLER_API_URL; default: https://seller.unitysvc.com/v1]
  • --help: Show this message and exit.

usvc_seller secrets delete

Permanently delete a secret. Services referencing it will stop working.

Usage:

$ usvc_seller secrets delete [OPTIONS] NAME

Arguments:

  • NAME: Secret name (e.g. OPENAI_API_KEY). [required]

Options:

  • -f, --force: Skip confirmation prompt.
  • --api-key TEXT: Seller API key (svcpass_...). Defaults to $UNITYSVC_SELLER_API_KEY. [env var: UNITYSVC_SELLER_API_KEY]
  • --base-url TEXT: Backend base URL. [env var: UNITYSVC_SELLER_API_URL; default: https://seller.unitysvc.com/v1]
  • --help: Show this message and exit.

usvc_seller templates

Browse the platform service-template catalog (list, show).

Usage:

$ usvc_seller templates [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • list: List the active platform templates you can...
  • show: Show a template's metadata and its...

usvc_seller templates list

List the active platform templates you can instantiate.

Usage:

$ usvc_seller templates list [OPTIONS]

Options:

  • -f, --format TEXT: Output format: table | json. [default: table]
  • --api-key TEXT: Seller API key (svcpass_...). Defaults to $UNITYSVC_SELLER_API_KEY. [env var: UNITYSVC_SELLER_API_KEY]
  • --base-url TEXT: Backend base URL. [env var: UNITYSVC_SELLER_API_URL; default: https://seller.unitysvc.com/v1]
  • --help: Show this message and exit.

usvc_seller templates show

Show a template's metadata and its parameter schema.

Usage:

$ usvc_seller templates show [OPTIONS] NAME_OR_ID

Arguments:

  • NAME_OR_ID: Template name or partial UUID. [required]

Options:

  • -f, --format TEXT: Output format: table | json. [default: table]
  • --api-key TEXT: Seller API key (svcpass_...). Defaults to $UNITYSVC_SELLER_API_KEY. [env var: UNITYSVC_SELLER_API_KEY]
  • --base-url TEXT: Backend base URL. [env var: UNITYSVC_SELLER_API_URL; default: https://seller.unitysvc.com/v1]
  • --help: Show this message and exit.

usvc_seller params

System-template param files under params/ (list, show, instantiate).

Usage:

$ usvc_seller params [OPTIONS] COMMAND [ARGS]...

Options:

  • --help: Show this message and exit.

Commands:

  • list: List the system-template param files under...
  • show: Show one param file's template,...
  • instantiate: Instantiate system-template param files...

usvc_seller params list

List the system-template param files under params/ (offline).

Usage:

$ usvc_seller params list [OPTIONS] [NAME]

Arguments:

  • [NAME]: Filter by name (fnmatch, e.g. 'acme/*' or 'acme/%').

Options:

  • -d, --data-dir PATH: Repo root or params/ directory (default: current directory).
  • -f, --format TEXT: Output format: table | json. [default: table]
  • --help: Show this message and exit.

usvc_seller params show

Show one param file's template, parameters, and recorded service_id.

Usage:

$ usvc_seller params show [OPTIONS] NAME

Arguments:

  • NAME: Service name of the param file (first column of params list). [required]

Options:

  • -d, --data-dir PATH: Repo root or params/ directory (default: current directory).
  • -f, --format TEXT: Output format: table | json. [default: table]
  • --help: Show this message and exit.

usvc_seller params instantiate

Instantiate system-template param files into services — all, or those matching NAME.

Each param file's template (a system template — see usvc_seller templates) is rendered with its parameters into a backend service. The returned service_id is written to a committed &lt;name&gt;.service.json sidecar; an entry that already has one is skipped (re-instantiating to update the same service needs backend support, unitysvc/unitysvc#1273).

Usage:

$ usvc_seller params instantiate [OPTIONS] [NAME]

Arguments:

  • [NAME]: Param-file selector (fnmatch; omit = all under params/).

Options:

  • --submit: Also submit each rendered service for review (validate → pending → run tests) in the same call. Default: leave a reviewable draft to submit later.
  • -d, --data-dir PATH: Repo root or params/ directory (default: current directory).
  • --api-key TEXT: Seller API key (svcpass_...). Defaults to $UNITYSVC_SELLER_API_KEY. [env var: UNITYSVC_SELLER_API_KEY]
  • --base-url TEXT: Backend base URL. [env var: UNITYSVC_SELLER_API_URL; default: https://seller.unitysvc.com/v1]
  • --help: Show this message and exit.