epilot CLI
One command to call any epilot API operation. No SDK setup, no boilerplate โ just npx epilot.
tip
No install needed. Run any command with npx epilot.
Use casesโ
- Quick API calls โ look up entities, search data, check configurations without writing code
- Automation & scripting โ pipe JSON in/out,
--jsonmode forjq-friendly output,--no-interactivefor CI pipelines - AI agent tool use โ structured
--jsonoutput and--no-interactivemode make it ideal as a tool for LLM agents and MCP servers - Explore & discover โ interactive operation picker,
--guidedmode, and built-in help with sample requests/responses for every operation
Installโ
- npx (no install)
- npm
npx epilot --help
npm install -g @epilot/cli
Quick startโ
# Authenticate (opens browser)
epilot auth login
# List available operations for an API
epilot entity
# Call an operation
epilot entity getEntity contact abc123
# Search with a request body
epilot entity searchEntities -d '{"q":"*"}'
# Transform response with JSONata
epilot entity searchEntities -d '{"q":"*"}' --jsonata 'results[0]._title'
Usageโ
epilot <api> <operationId> [params...] [flags]
Run epilot <api> to list available operations. Run epilot <api> <operationId> --help for operation details including parameters, sample calls, and sample responses.
Flagsโ
| Flag | Alias | Description |
|---|---|---|
--token <token> | -t | Bearer token for authentication |
--profile <name> | Use a named profile (or EPILOT_PROFILE env) | |
--server <url> | -s | Override server base URL |
--json | Output raw JSON (no colors, no metadata) | |
--verbose | -v | Verbose output (show request + response details) |
--include | -i | Include response headers in output |
--jsonata <expr> | JSONata expression to transform response | |
--guided | Prompt for all parameters interactively | |
--no-interactive | Disable interactive prompts (for CI/scripts) | |
--definition <file> | Override bundled OpenAPI spec with a file or URL |
Parameter flagsโ
| Flag | Alias | Description |
|---|---|---|
-p key=value | Set a named parameter | |
-d '{...}' | Request body JSON | |
-H 'Key: Value' | Custom request header |
Authenticationโ
# Browser-based login (opens epilot portal)
epilot auth login
# Manual token
epilot auth login --token <your-token>
# Or pass token per-command
epilot entity listSchemas --token <your-token>
# Or via environment variable
EPILOT_TOKEN=<your-token> epilot entity listSchemas
# Check auth status
epilot auth status
# Logout
epilot auth logout
Token resolution order:
--tokenflagEPILOT_TOKENenvironment variable- Active profile token
- Stored credentials (
~/.config/epilot/credentials.json) - Interactive prompt (if TTY)
Parametersโ
# Named parameters with -p
epilot entity getEntity -p slug=contact -p id=abc123
# Positional args map to path parameters in URL template order
epilot entity getEntity contact abc123
# Query parameters
epilot entity listSchemas -p unpublished=true
Positional arguments are mapped to path parameters in the order they appear in the URL template. For example, /v1/entity/{slug}/{id} maps the first positional arg to slug and the second to id.
Request bodyโ
# Inline JSON with -d
epilot entity createEntity -p slug=contact -d '{"first_name":"John","last_name":"Doe"}'
# Pipe from file
cat entity.json | epilot entity createEntity -p slug=contact
# Pipe from another command
echo '{"q":"*"}' | epilot entity searchEntities
When running interactively without -d and no piped input, the CLI opens your $EDITOR with a pre-filled JSON template based on the request body schema.
Response formattingโ
# Pretty-printed, syntax-highlighted JSON (default in TTY)
epilot entity getEntity contact abc123
# Raw JSON for piping to jq, etc.
epilot entity getEntity contact abc123 --json
# Include response headers
epilot entity getEntity contact abc123 --include
# Verbose: show full request + response metadata
epilot entity getEntity contact abc123 --verbose
# JSONata transformation
epilot entity searchEntities -d '{"q":"*"}' --jsonata 'results[0]._title'
epilot user getMeV2 --jsonata 'email'
In interactive mode, long output is automatically paged through less. Use --no-interactive to disable paging.
Profilesโ
Manage multiple environments, similar to AWS CLI profiles:
# Create profiles
epilot profile create dev --server https://entity.dev.sls.epilot.io --token <dev-token>
epilot profile create staging --server https://entity.staging.sls.epilot.io --token <staging-token>
epilot profile create prod --token <prod-token>
# Switch active profile
epilot profile use dev
# Use per-command
epilot entity listSchemas --profile staging
# Or via environment variable
EPILOT_PROFILE=dev epilot entity listSchemas
# List / show / delete
epilot profile list
epilot profile show dev
epilot profile delete dev
Profiles store server URL, auth token, org ID, and custom headers in ~/.config/epilot/profiles.json.
Interactive modeโ
When running in a TTY without required arguments, the CLI prompts interactively:
- No operation: shows a searchable operation picker (type to filter)
- Missing required params: prompts for each one
- Missing request body: opens
$EDITORwith a JSON template - No auth token: prompts to paste a token
Disable with --no-interactive for CI/scripts.
Guided modeโ
Use --guided to be prompted for all parameters, not just required ones. This is useful for exploring an API operation without having to look up every available parameter.
# Walk through all parameters for getEntity
epilot entity getEntity --guided
# Guided mode also opens the body editor for operations with a request body
epilot entity searchEntities --guided
Each optional parameter shows "(optional, press Enter to skip)" so you can quickly skip ones you don't need.
OpenAPI spec overrideโ
For unreleased API features, override the bundled OpenAPI spec:
# From a local file
epilot entity getEntity -p slug=contact -p id=abc --definition ./my-spec.json
# From a URL
epilot entity getEntity --definition https://example.com/openapi.json
# Or place in .epilot/overrides/
mkdir -p .epilot/overrides
cp my-entity-spec.json .epilot/overrides/entity.json
epilot entity getEntity contact abc123 # automatically uses override
Shell completionsโ
Tab completion for API names, operation IDs, and flags:
# Auto-install for your current shell
epilot completion --install
# Or generate for a specific shell
epilot completion bash
epilot completion zsh
epilot completion fish
API Commandsโ
Per-API command reference with all operations, parameters, and sample calls. See the API Commands section in the sidebar, or browse the table below.
| API | Command | Reference |
|---|---|---|
| Access Token API | epilot access-token | reference |
| Address Suggestions API | epilot address-suggestions | reference |
| Address API | epilot address | reference |
| AI Agents API - OpenAPI 3.0 | epilot ai-agents | reference |
| App API | epilot app | reference |
| Audit Log | epilot audit-logs | reference |
| Automation API | epilot automation | reference |
| Billing API | epilot billing | reference |
| Blueprint Manifest API | epilot blueprint-manifest | reference |
| Consent API | epilot consent | reference |
| Portal API | epilot customer-portal | reference |
| Dashboard API | epilot dashboard | reference |
| Data Management API | epilot data-management | reference |
| Deduplication API | epilot deduplication | reference |
| Design Builder API v2 | epilot design | reference |
| Document API | epilot document | reference |
| Messaging Settings API | epilot email-settings | reference |
| Email template API | epilot email-template | reference |
| Entity Mapping API | epilot entity-mapping | reference |
| Entity API | epilot entity | reference |
| Environments API | epilot environments | reference |
| ERP Integration API | epilot erp-integration | reference |
| Event Catalog API | epilot event-catalog | reference |
| File API | epilot file | reference |
| Iban API | epilot iban | reference |
| Journey API | epilot journey | reference |
| Kanban API | epilot kanban | reference |
| Message API | epilot message | reference |
| Metering API | epilot metering | reference |
| Notes API | epilot notes | reference |
| Notification API | epilot notification | reference |
| Organization API | epilot organization | reference |
| Partner API | epilot partner-directory | reference |
| Permissions API | epilot permissions | reference |
| Pricing Tier API | epilot pricing-tier | reference |
| Pricing API | epilot pricing | reference |
| Purpose API | epilot purpose | reference |
| Sandbox API | epilot sandbox | reference |
| Submission API | epilot submission | reference |
| Targeting API | epilot targeting | reference |
| Template Variables API | epilot template-variables | reference |
| User API | epilot user | reference |
| Validation Rules API | epilot validation-rules | reference |
| Webhooks | epilot webhooks | reference |
| Workflows Definitions | epilot workflow-definition | reference |
| Workflows Executions | epilot workflow | reference |