Routes, Persons & Auth
Three command groups for access and routing:omni routes controls which agent handles which chat, omni persons manages the contact directory, and omni auth/omni keys handle authentication and API key lifecycle.
Route Commands
Routes determine which AI agent handles messages for a specific chat or person.omni routes list
List agent routes for an instance.
| Option | Description |
|---|---|
--instance <id> | Instance ID |
--scope <scope> | Filter by scope: chat or user |
--active | Show only active routes |
omni routes get
Get route details.
omni routes create
Create a new agent route.
| Option | Description |
|---|---|
--instance <id> | Instance ID |
--scope <scope> | Route scope: chat or user |
--chat <chatId> | Chat UUID (required when scope=chat) |
--person <personId> | Person UUID (required when scope=user) |
--agent <agentId> | Agent UUID |
--timeout <seconds> | Agent timeout in seconds |
--stream / --no-stream | Enable or disable streaming responses |
--prefix-sender / --no-prefix-sender | Prefix messages with sender name |
--wait-media / --no-wait-media | Wait for media processing before routing |
--send-media-path / --no-send-media-path | Include file path in media text |
--gate / --no-gate | Enable or disable LLM response gate |
--gate-model <model> | Response gate model |
--gate-prompt <prompt> | Response gate prompt |
--reply-filter-mode <mode> | Reply filter: all or filtered |
--label <label> | Human-readable label |
--priority <number> | Priority (higher = higher priority, default: 0) |
--inactive | Create as inactive |
omni routes update
Update an existing route. Accepts the same options as create.
omni routes delete
Delete a route.
omni routes test
Test which route would resolve for a given instance, chat, and/or person.
| Option | Description |
|---|---|
--instance <id> | Instance ID |
--chat <chatId> | Chat UUID to test |
--person <personId> | Person UUID to test |
omni routes metrics
View route cache metrics.
Person Commands
omni persons search
Search the person directory.
| Option | Description |
|---|---|
--limit <n> | Limit results (default: 20) |
omni persons get
Get full person details.
omni persons presence
Get person presence and activity info.
Auth Commands
omni auth login
Save API credentials.
| Option | Description |
|---|---|
--api-key <key> | API key for authentication |
--api-url <url> | API base URL (default: http://localhost:8882) |
omni auth status
Show current authentication status.
omni auth logout
Clear stored credentials.
omni auth recover
Recover API key when auth is invalid. Requires local PM2 access.
| Option | Description |
|---|---|
--api-url <url> | API base URL (default: http://localhost:8882) |
--rotate | Generate a new key instead of recovering the existing one |
API Key Commands
omni keys create
Create a new API key with scoped permissions.
| Option | Description |
|---|---|
--name <name> | Key name |
--scopes <scopes> | Comma-separated scopes (e.g., messages:read,instances:write) |
--instances <ids> | Comma-separated instance IDs to restrict access |
--description <desc> | Key description |
--rate-limit <n> | Rate limit (requests/minute) |
--expires <date> | Expiration date (ISO 8601) |
omni keys list
List API keys.
| Option | Description |
|---|---|
--status <status> | Filter by status: active, revoked, expired |
--limit <n> | Max results |
omni keys get
Get API key details.
omni keys update
Update an API key.
| Option | Description |
|---|---|
--name <name> | New name |
--description <desc> | New description |
--scopes <scopes> | New scopes (comma-separated) |
--instances <ids> | New instance IDs (empty string to unrestrict) |
--rate-limit <n> | New rate limit |
--expires <date> | New expiration (empty string to clear) |
omni keys revoke
Revoke an API key.
| Option | Description |
|---|---|
--reason <reason> | Reason for revocation |