epilot
v0.1.9
Published
CLI for epilot APIs (wrapper for @epilot/cli)
Downloads
163
Maintainers
Readme
Built for developers, automation scripts, and AI agents. The epilot CLI gives you direct access to the entire epilot platform from your terminal — no SDK setup, no boilerplate, just npx epilot.
- 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 - 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
# Run directly (no install needed)
npx epilot --help
# Or install globally
npm install -g @epilot/cliUsage
epilot v0.1.9 — CLI for epilot APIs
USAGE
epilot <api> <operationId> [params...] [flags]
epilot <api> List operations for an API
epilot <api> <op> --help Show operation details
FLAGS
-t, --token <token> Bearer token for authentication
--profile <name> Use a named profile (or EPILOT_PROFILE)
-s, --server <url> Override server base URL
--json Output raw JSON (no formatting)
-v, --verbose Verbose output (show request details)
--jsonata <expr> JSONata expression to transform response
--guided Prompt for all parameters interactively
--no-interactive Disable interactive prompts
PARAMETER FLAGS
-p key=value Set a named parameter
-d '{...}' Request body JSON
-H 'Key: Value' Custom header
-i, --include Include response headers in output
COMMANDS
auth login Authenticate with epilot (browser)
auth token Store an API token directly
auth status Show authentication status
auth logout Remove stored credentials
profile Manage named profiles
completion Generate shell completion scripts
APIs
access-token Access Token API
address Address API
address-suggestions Address Suggestions API
ai-agents AI Agents API - OpenAPI 3.0
app App API
audit-logs Audit Log
automation Automation API
billing Billing API
blueprint-manifest Blueprint Manifest API
consent Consent API
customer-portal Portal API
dashboard Dashboard API
data-management Data Management API
deduplication Deduplication API
design Design Builder API v2
document Document API
email-settings Messaging Settings API
email-template Email template API
entity Entity API
entity-mapping Entity Mapping API
environments Environments API
erp-integration ERP Integration API
event-catalog Event Catalog API
file File API
iban Iban API
journey Journey API
kanban Kanban API
message Message API
metering Metering API
notes Notes API
notification Notification API
organization Organization API
partner-directory Partner API
permissions Permissions API
pricing Pricing API
pricing-tier Pricing Tier API
purpose Purpose API
sandbox Sandbox API
submission Submission API
targeting Targeting API
template-variables Template Variables API
user User API
validation-rules Validation Rules API
webhooks Webhooks
workflow Workflows Executions
workflow-definition Workflows Definitions
EXAMPLES
$ epilot auth login
$ epilot user getMeV2
$ epilot entity getEntity contact abc123
$ epilot entity searchEntities -d '{"q":"*"}'
$ epilot entity searchEntities --jsonata 'results[0]._title'
$ echo '{"q":"*"}' | epilot entity searchEntities
Run epilot <api> to list available operations.
Run epilot <api> <operationId> --help for operation details.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 logoutToken resolution order:
--tokenflagEPILOT_TOKENenvironment variable- Active profile token
- Stored credentials (
~/.config/epilot/credentials.json) - Interactive prompt (if TTY)
Profiles
Manage multiple environments (like AWS CLI profiles):
# Create profiles for different environments
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
# Or use per-command
epilot entity listSchemas --profile staging
# Or via environment variable
EPILOT_PROFILE=dev epilot entity listSchemas
# List profiles
epilot profile list
# Show profile details
epilot profile show dev
# Delete a profile
epilot profile delete devProfiles store server URL, auth token, org ID, and custom headers in ~/.config/epilot/profiles.json.
Parameters
# Named parameters with -p
epilot entity getEntity -p slug=contact -p id=abc123
# Positional args map to path parameters in order
epilot entity getEntity contact abc123
# Query parameters
epilot entity listSchemas -p unpublished=trueRequest 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 searchEntitiesResponse Formatting
# Pretty-printed JSON (default in TTY)
epilot entity getEntity contact abc123
# Raw JSON (for piping)
epilot entity getEntity contact abc123 --json
# Include response headers
epilot entity getEntity contact abc123 --include
# Verbose (show request details)
epilot entity getEntity contact abc123 --verbose
# JSONata transformation
epilot entity searchEntities -d '{"q":"*"}' --jsonata 'results[0]._title'
epilot user getMeV2 --jsonata 'email'
epilot entity listSchemas --jsonata 'results.slug'Server Override
# Use a custom server URL
epilot entity listSchemas --server http://localhost:3000
# Or set it in a profile
epilot profile create local --server http://localhost:3000
epilot profile use localOpenAPI 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 overrideInteractive Mode
When running in a TTY without required arguments, the CLI prompts interactively:
- No operation: shows a searchable operation picker
- Missing required params: prompts for each one
- 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 --guidedEach optional parameter shows "(optional, press Enter to skip)" so you can quickly skip ones you don't need.
Shell Completions
Tab completion for API names, operation IDs, and flags.
# Auto-install for your current shell
epilot completion --install
# Or install for a specific shell
epilot completion --install bash
epilot completion --install zsh
epilot completion --install fishThis adds the completion script to your shell config (~/.bashrc, ~/.zshrc, or ~/.config/fish/completions/epilot.fish). Restart your shell or source the config file to activate.
You can also set up completions manually:
# Bash — add to ~/.bashrc
eval "$(epilot completion bash)"
# Zsh — add to ~/.zshrc
eval "$(epilot completion zsh)"
# Fish — save to completions dir
epilot completion fish > ~/.config/fish/completions/epilot.fishAPI Reference
Full documentation with sample calls and responses for all APIs:
| API | Command | Docs |
| --- | ------- | ---- |
| Access Token API | epilot access-token | docs |
| Address API | epilot address | docs |
| Address Suggestions API | epilot address-suggestions | docs |
| AI Agents API - OpenAPI 3.0 | epilot ai-agents | docs |
| App API | epilot app | docs |
| Audit Log | epilot audit-logs | docs |
| Automation API | epilot automation | docs |
| Billing API | epilot billing | docs |
| Blueprint Manifest API | epilot blueprint-manifest | docs |
| Consent API | epilot consent | docs |
| Portal API | epilot customer-portal | docs |
| Dashboard API | epilot dashboard | docs |
| Data Management API | epilot data-management | docs |
| Deduplication API | epilot deduplication | docs |
| Design Builder API v2 | epilot design | docs |
| Document API | epilot document | docs |
| Messaging Settings API | epilot email-settings | docs |
| Email template API | epilot email-template | docs |
| Entity API | epilot entity | docs |
| Entity Mapping API | epilot entity-mapping | docs |
| Environments API | epilot environments | docs |
| ERP Integration API | epilot erp-integration | docs |
| Event Catalog API | epilot event-catalog | docs |
| File API | epilot file | docs |
| Iban API | epilot iban | docs |
| Journey API | epilot journey | docs |
| Kanban API | epilot kanban | docs |
| Message API | epilot message | docs |
| Metering API | epilot metering | docs |
| Notes API | epilot notes | docs |
| Notification API | epilot notification | docs |
| Organization API | epilot organization | docs |
| Partner API | epilot partner-directory | docs |
| Permissions API | epilot permissions | docs |
| Pricing API | epilot pricing | docs |
| Pricing Tier API | epilot pricing-tier | docs |
| Purpose API | epilot purpose | docs |
| Sandbox API | epilot sandbox | docs |
| Submission API | epilot submission | docs |
| Targeting API | epilot targeting | docs |
| Template Variables API | epilot template-variables | docs |
| User API | epilot user | docs |
| Validation Rules API | epilot validation-rules | docs |
| Webhooks | epilot webhooks | docs |
| Workflows Executions | epilot workflow | docs |
| Workflows Definitions | epilot workflow-definition | docs |
Development
# Install dependencies
pnpm install
# Generate API commands + definitions + docs from client specs
pnpm generate
# Run in dev mode
pnpm dev -- entity listSchemas
# Build
pnpm build
# Run tests
pnpm test