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-cliConfigure
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_hereBoth 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 healthThis 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
| Command | What it does |
|---|---|
ace health | Liveness check. No key required. |
ace usage | Credit balance, rate limit, job counts, and test quota. |
ace feeds | List your feeds. --project-id <id> to filter. |
Contextual Enrichment Engine
These three read a JSON body from stdin, or from a file with -f.
| Command | Endpoint |
|---|---|
ace rules | POST /api/v1/enrichment/rules |
ace enrich-content | POST /api/v1/enrichment/content |
ace pipeline | POST /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.jsonOr straight from a pipe:
echo '{"source":{"type":"inline","products":[{"id":"1","title":"Trail shoe"}]}}' | ace rulesJobs
enrich-content and pipeline return a job id for anything but the smallest sets.
| Command | What it does |
|---|---|
ace jobs list | List 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.jsonUtilities
Unbilled helpers. Each reads a JSON body from stdin or -f.
| Command | Endpoint |
|---|---|
ace utils language | POST /api/v1/utils/language |
ace utils agentic-readiness | POST /api/v1/utils/agentic-readiness |
ace utils review-quality | POST /api/v1/utils/review-quality |
echo '{"products":[{"id":"1","title":"Wanderschuhe für Herren"}]}' | ace utils languageGlobal options
| Option | Description |
|---|---|
-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. |
--version | Print the CLI version. |
--help | Print help for any command or subcommand. |
Next steps
- API Reference for request and response schemas
- ACE SDK to do the same thing from code
- Troubleshooting if a command returns an error
