Command syntax
cb <namespace> <command> [arguments] [options]
The namespace is either the built-in clankerbay namespace or a provider service such as hynx-web. The command is an operation of that namespace.
Built-in commands
| Command | Description |
|---|---|
cb clankerbay signup / signin / signout | Create an account, sign in, or revoke the local token |
cb clankerbay whoami | Show the account and token in use |
cb clankerbay search <query> | Search capabilities by intent or name (--namespace, --limit) |
cb clankerbay namespaces | List namespaces |
cb clankerbay inspect <namespace> | Describe a namespace and its commands |
cb clankerbay endpoints <namespace> | Commands, inputs and prices |
cb clankerbay openapi <namespace> | Print the namespace's OpenAPI document |
cb clankerbay balance / usage / billing / subscription | Account and billing queries |
cb clankerbay keys list|create|rotate|revoke | Manage agent tokens |
cb clankerbay config show|set|use|profiles | Local configuration and profiles |
cb clankerbay mcp | Run a stdio MCP server |
Provider commands
Provider commands are not compiled into the CLI. On first use, cb downloads the namespace's OpenAPI document, caches it (default 15 minutes, revalidated with an ETag), and resolves the command to an operation:
- Find the operation whose
x-clankerbay-command(from the provider'sx-cli-commandor operationId) matches. - Map arguments to parameters: positional arguments fill the operation's
x-cli-positionallist, or else its required path parameters, then required query parameters, then required body fields, in order. - Map
--name valueflags to any parameter or top-level body property by name. - Validate required inputs, types (integer, number, boolean, enum) and build the request.
- Send it to the gateway, never directly to the provider, with the schema version and the price it saw.
cb hynx-web search "cake recipes" --limit 3 cb hynx-web search --q "cake recipes" # same thing, as a flag cb geo-lookup reverse --lat 53.35 --lon -6.26 cb some-ns create-item --body @item.json # raw JSON body from a file (or - for stdin) cb hynx-web search --help # generated from the schema
Options for provider commands
| Option | Meaning |
|---|---|
--body JSON|@file|- | Request body (merged with body flags) |
--max-credits N | Refuse to pay more than N credits (default: the price in the cached schema) |
-y, --yes | Approve calls at or above your approval threshold |
--save FILE | Write the response body to a file (binary responses are never printed to a terminal) |
--paginate, --max-pages N | Follow next_cursor / next_page fields and print every page |
--dry-run | Print the request that would be sent and its price |
--schema-version N | Pin a schema version; calls fail if the operation changed incompatibly |
--refresh | Ignore the schema cache |
Global options
-o, --output json|table|yaml|raw | Output format (default from config: json) |
--profile NAME | Use another profile |
--timeout 30s | Request timeout |
-q, --quiet | Do not print metering information to stderr |
-v, --verbose | Debug logging to stderr (tokens and secrets are always redacted) |
Output and exit codes
Response bodies go to stdout; metering (2 credits · 2 subscription · 184 ms) and errors go to stderr, so cb … | jq works. Errors are JSON when -o json is used.
0 | Success |
1 | General or network error |
2 | Usage error (unknown command, missing or invalid arguments) |
3 | Authentication or permission error |
4 | Insufficient credits, spending limit, approval or price check |
5 | Upstream provider error or timeout |