CLI Reference
The Deeployd CLI provides command-line access to all platform features for automation, scripting, and quick operations.
Installation
# npm
npm install -g @deeployd/cli
# yarn
yarn global add @deeployd/cli
# homebrew
brew install deeployd/tap/deeployd
Authentication
Login
# Interactive login (opens browser)
deeployd login
# With API key
deeployd login --api-key sk_live_xxxxx
# With environment variable
export DEEPLOYD_API_KEY=sk_live_xxxxx
deeployd agents list
Logout
deeployd logout
Check Status
deeployd whoami
# Output:
# Logged in as: user@example.com
# Organization: My Company
# API Key: sk_live_xxxx...xxxx
Agents
List Agents
deeployd agents list
# With filters
deeployd agents list --status active --limit 10
# JSON output
deeployd agents list --json
Get Agent
deeployd agents get agent-123
# JSON output
deeployd agents get agent-123 --json
Create Agent
# Interactive
deeployd agents create
# With flags
deeployd agents create \
--name "Customer Support" \
--model claude-sonnet-4-20250514 \
--system-prompt "You are a helpful customer support agent." \
--tools memory,http_request
# From file
deeployd agents create --from agent-config.yaml
Update Agent
deeployd agents update agent-123 \
--name "Updated Name" \
--system-prompt "Updated prompt..."
# From file
deeployd agents update agent-123 --from agent-config.yaml
Delete Agent
deeployd agents delete agent-123
# Force without confirmation
deeployd agents delete agent-123 --force
Chat with Agent
# Interactive chat
deeployd agents chat agent-123
# Single message
deeployd agents chat agent-123 --message "Hello, how are you?"
# With streaming
deeployd agents chat agent-123 --message "Write a story" --stream
Conversations
List Conversations
deeployd conversations list --agent-id agent-123
# JSON output
deeployd conversations list --json
Get Conversation
deeployd conversations get conv-123
# Show messages
deeployd conversations get conv-123 --messages
Create Conversation
deeployd conversations create --agent-id agent-123
Delete Conversation
deeployd conversations delete conv-123
Avatars
List Avatars
deeployd avatars list
Get Avatar
deeployd avatars get avatar-123
Create Avatar
# Interactive
deeployd avatars create
# With options
deeployd avatars create \
--name "Support Avatar" \
--voice-id voice-123 \
--agent-id agent-456
Update Avatar
deeployd avatars update avatar-123 \
--name "Updated Avatar" \
--voice-id voice-456
Delete Avatar
deeployd avatars delete avatar-123
# Force without confirmation
deeployd avatars delete avatar-123 --force
Streaming
Create Session
deeployd streaming create \
--agent-id agent-123 \
--mode video
# With avatar
deeployd streaming create \
--agent-id agent-123 \
--avatar-id avatar-456 \
--mode voice
Get Session
deeployd streaming get session-123
List Sessions
deeployd streaming list
# Filter by status
deeployd streaming list --status active
End Session
deeployd streaming end session-123
Voice
List Voices
deeployd voice list
Get Voice
deeployd voice get voice-123
Create Custom Voice
deeployd voice create \
--name "Custom Voice" \
--provider elevenlabs \
--config '{"voice_id": "abc123"}'
Preview Voice
deeployd voice preview voice-123 --text "Hello, this is a test."
Delete Voice
deeployd voice delete voice-123 --force
Tasks
List Tasks
deeployd tasks list
# Filter by agent
deeployd tasks list --agent-id agent-123
# Filter by status
deeployd tasks list --status active
Get Task
deeployd tasks get task-123
Create Task
deeployd tasks create \
--agent-id agent-123 \
--name "Daily Report" \
--type manual \
--input '{"report_type": "daily"}'
Run Task
# Run immediately
deeployd tasks run task-123
# With input
deeployd tasks run task-123 --input '{"param": "value"}'
# Wait for completion
deeployd tasks run task-123 --wait
# Stream output
deeployd tasks run task-123 --stream
View Execution
deeployd tasks execution exec-123
Schedules
List Schedules
deeployd schedules list
# Filter by task
deeployd schedules list --task-id task-123
Create Schedule
deeployd schedules create \
--task-id task-123 \
--name "Daily at 9 AM" \
--cron "0 9 * * *" \
--timezone "Europe/Paris"
Update Schedule
deeployd schedules update schedule-123 \
--cron "0 10 * * *" \
--enabled true
Pause/Resume Schedule
# Pause
deeployd schedules pause schedule-123
# Resume
deeployd schedules resume schedule-123
Delete Schedule
deeployd schedules delete schedule-123
Triggers
List Triggers
deeployd triggers list
# Filter by type
deeployd triggers list --type webhook
Get Trigger
deeployd triggers get trigger-123
Enable/Disable Trigger
# Enable
deeployd triggers enable trigger-123
# Disable
deeployd triggers disable trigger-123
Test Trigger
deeployd triggers test trigger-123
# With payload
deeployd triggers test trigger-123 --payload '{"event": "test"}'
Delete Trigger
deeployd triggers delete trigger-123
# Force without confirmation
deeployd triggers delete trigger-123 --force
Tools
List Tools
deeployd tools list
# Filter by type
deeployd tools list --type custom
Get Tool
deeployd tools get tool-123
List Built-in Tools
deeployd tools builtins
Test Tool
deeployd tools test tool-123
# With input
deeployd tools test tool-123 --input '{"query": "test"}'
Delete Tool
deeployd tools delete tool-123
# Force without confirmation
deeployd tools delete tool-123 --force
Teams
List Teams
deeployd teams list
Get Team
deeployd teams get team-123
Create Team
deeployd teams create --name "Engineering"
Delete Team
deeployd teams delete team-123
# Force without confirmation
deeployd teams delete team-123 --force
Add Member
deeployd teams add-member team-123 \
--user user-456 \
--role member
Remove Member
deeployd teams remove-member team-123 --user user-456
Update Member Role
deeployd teams update-role team-123 \
--user user-456 \
--role admin
Workflows
List Workflows
deeployd workflows list
Get Workflow
deeployd workflows get workflow-123
Run Workflow
# Run workflow
deeployd workflows run workflow-123
# With input
deeployd workflows run workflow-123 --input '{"data": "value"}'
# Wait for completion
deeployd workflows run workflow-123 --wait
Pause/Resume Workflow
# Pause workflow
deeployd workflows pause workflow-123
# Activate workflow
deeployd workflows activate workflow-123
List Workflow Runs
deeployd workflows runs workflow-123
Get Run Status
deeployd workflows run-status workflow-123 run-456
Cancel Workflow Run
deeployd workflows cancel workflow-123 run-456
Delete Workflow
deeployd workflows delete workflow-123
# Force without confirmation
deeployd workflows delete workflow-123 --force
Templates
List Templates
deeployd templates list
# Filter by category
deeployd templates list --category support
Get Template
deeployd templates get template-123
List Categories
deeployd templates categories
Deploy Template
# Deploy template as new agent
deeployd templates deploy template-123 --name "My Agent"
# With custom configuration
deeployd templates deploy template-123 \
--name "Custom Agent" \
--config '{"key": "value"}'
Delete Template
deeployd templates delete template-123
# Force without confirmation
deeployd templates delete template-123 --force
API Keys
List API Keys
deeployd api-keys list
Create API Key
# Interactive
deeployd api-keys create
# With options
deeployd api-keys create \
--name "Production API Key" \
--scopes "agents:read,agents:write" \
--expires-at "2025-12-31"
Delete API Key
deeployd api-keys delete key-123
# Force without confirmation
deeployd api-keys delete key-123 --force
Rotate API Key
deeployd api-keys rotate key-123
Store
Browse
deeployd store browse
# With filters
deeployd store browse \
--category support \
--pricing free \
--sort popular
Get Listing
deeployd store get listing-123
Install
deeployd store install listing-123
My Installations
deeployd store installs
Uninstall
deeployd store uninstall install-123
Configuration
View Config
deeployd config list
Set Config
# Set default output format
deeployd config set output json
# Set default organization
deeployd config set organization org-123
Config File
Location: ~/.deeployd/config.yaml
api_key: sk_live_xxxxx
base_url: https://api.deeployd.com/v1
output: table
organization: org-123
Output Formats
Table (default)
deeployd agents list
# Output:
# ID NAME STATUS CREATED
# agent-123 Customer Support active 2024-01-15
# agent-456 Sales Agent active 2024-01-10
JSON
deeployd agents list --json
# Output:
# [
# {"id": "agent-123", "name": "Customer Support", ...},
# {"id": "agent-456", "name": "Sales Agent", ...}
# ]
YAML
deeployd agents list --yaml
Quiet (IDs only)
deeployd agents list --quiet
# Output:
# agent-123
# agent-456
Scripting
Exit Codes
| Code | Meaning |
|---|---|
| 0 | Success |
| 1 | General error |
| 2 | Invalid arguments |
| 3 | Authentication error |
| 4 | Not found |
| 5 | Rate limited |
Piping
# Get agent ID and use it
AGENT_ID=$(deeployd agents create --name "Test" --quiet)
deeployd conversations create --agent-id $AGENT_ID
# Process JSON output
deeployd agents list --json | jq '.[0].id'
Batch Operations
# Delete all inactive agents
deeployd agents list --status inactive --quiet | xargs -I {} deeployd agents delete {} --force
# Export all agent configs
for id in $(deeployd agents list --quiet); do
deeployd agents get $id --json > "agents/$id.json"
done
Environment Variables
| Variable | Description |
|---|---|
DEEPLOYD_API_KEY | API key for authentication |
DEEPLOYD_BASE_URL | API base URL |
DEEPLOYD_OUTPUT | Default output format |
DEEPLOYD_NO_COLOR | Disable colored output |
DEEPLOYD_DEBUG | Enable debug logging |
Global Flags
| Flag | Description |
|---|---|
--api-key | Override API key |
--json | Output as JSON |
--yaml | Output as YAML |
--quiet | Only output IDs |
--no-color | Disable colors |
--debug | Enable debug mode |
--help | Show help |
--version | Show version |
Interactive Mode
Start an interactive shell:
deeployd shell
# In shell:
deeployd> agents list
deeployd> agents chat agent-123
deeployd> exit
Aliases
Built-in command aliases:
| Alias | Command |
|---|---|
ls | list |
rm | delete |
get | get |
new | create |
# These are equivalent:
deeployd agents list
deeployd agents ls
Auto-Completion
Bash
deeployd completion bash >> ~/.bashrc
source ~/.bashrc
Zsh
deeployd completion zsh >> ~/.zshrc
source ~/.zshrc
Fish
deeployd completion fish > ~/.config/fish/completions/deeployd.fish
PowerShell
deeployd completion powershell >> $PROFILE
Examples
Create and Chat with Agent
# Create agent
AGENT=$(deeployd agents create \
--name "Helper" \
--model claude-sonnet-4-20250514 \
--system-prompt "You are a helpful assistant." \
--quiet)
# Start conversation
CONV=$(deeployd conversations create --agent-id $AGENT --quiet)
# Chat
deeployd agents chat $AGENT --message "What can you help me with?"
Scheduled Task Setup
# Create task
TASK=$(deeployd tasks create \
--agent-id $AGENT \
--name "Daily Summary" \
--type manual \
--quiet)
# Create schedule
deeployd schedules create \
--task-id $TASK \
--name "Every morning" \
--cron "0 9 * * *" \
--timezone "America/New_York"
Webhook Integration
# Create trigger
WEBHOOK=$(deeployd triggers create \
--task-id $TASK \
--name "GitHub Push" \
--type webhook \
--secret "github-secret" \
--json | jq -r '.webhookUrl')
echo "Add this URL to GitHub: $WEBHOOK"
Export/Import Agents
# Export
deeployd agents get agent-123 --json > backup.json
# Import
deeployd agents create --from backup.json
Troubleshooting
Debug Mode
deeployd --debug agents list
Check Connection
deeployd ping
# Output: Connected to api.deeployd.com (latency: 45ms)
Reset Config
deeployd config reset
Clear Cache
deeployd cache clear
Need help? Run deeployd help [command] for detailed command information.