ACE (Agentic Commerce Engine)

ACE CLI

Drive the ACE v1 API from your terminal, including the Contextual Enrichment Engine and durable jobs.

ace-cli is the command-line interface for ACE (Agentic Commerce Engine). Use it to run the Contextual Enrichment Engine, track durable jobs, score a feed, and check your account usage without writing any code.

Who this is for

Anyone who wants to try ACE quickly, script it into a build step, or debug a payload before wiring it into an app. It is a thin wrapper over the ACE SDK, so every command maps to one documented endpoint.

Install

npm install -g @authoritas-ace/ace-cli

Configure

Set your base URL and key once, and every command picks them up:

export ACE_BASE_URL=https://ace.authoritas.com
export ACE_API_KEY=ace_live_your_key_here

Both can also be passed per command with --base-url and --api-key. If ACE_BASE_URL is unset the CLI defaults to http://localhost:3001, which is only useful when running ACE locally, so set it explicitly against production.

Create a key under Settings, Developer console, Keys. See API Keys.

Check the connection

ace health

This calls GET /api/v1/health and needs no key. If it fails, your base URL is wrong.

Commands

Every command prints JSON to stdout, so it pipes cleanly into jq.

Account and feeds

CommandWhat it does
ace healthLiveness check. No key required.
ace usageCredit balance, rate limit, job counts, and test quota.
ace feedsList your feeds. --project-id <id> to filter.

Contextual Enrichment Engine

These three read a JSON body from stdin, or from a file with -f.

CommandEndpoint
ace rulesPOST /api/v1/enrichment/rules
ace enrich-contentPOST /api/v1/enrichment/content
ace pipelinePOST /api/v1/enrichment/pipeline
cat > products.json <<'JSON'
{
  "source": {
    "type": "inline",
    "products": [
      { "id": "sku-1", "title": "Merino base layer", "category": "Outdoor" }
    ]
  },
  "contentTypes": ["product-description", "meta-tags"]
}
JSON

ace pipeline -f products.json

Or straight from a pipe:

echo '{"source":{"type":"inline","products":[{"id":"1","title":"Trail shoe"}]}}' | ace rules

Jobs

enrich-content and pipeline return a job id for anything but the smallest sets.

CommandWhat it does
ace jobs listList jobs. Filter with --kind, --status, --store-id, --page, --page-size.
ace jobs get <id>Fetch a job with its status and result.
ace jobs results <id>Paginated per-product results. --page, --page-size.
ace jobs cancel <id>Cancel a queued or running job.
ace jobs wait <id>Poll until the job finishes. --poll-ms, --timeout-ms.

A full run, start to finish:

JOB=$(ace pipeline -f products.json | jq -r '.id')
ace jobs wait "$JOB"
ace jobs results "$JOB" --page-size 100 > enriched.json

Utilities

Unbilled helpers. Each reads a JSON body from stdin or -f.

CommandEndpoint
ace utils languagePOST /api/v1/utils/language
ace utils agentic-readinessPOST /api/v1/utils/agentic-readiness
ace utils review-qualityPOST /api/v1/utils/review-quality
echo '{"products":[{"id":"1","title":"Wanderschuhe für Herren"}]}' | ace utils language

Global options

OptionDescription
-b, --base-url <url>ACE base URL. Defaults to ACE_BASE_URL, then http://localhost:3001.
-k, --api-key <key>API key. Defaults to ACE_API_KEY.
--versionPrint the CLI version.
--helpPrint help for any command or subcommand.

Next steps

On this page