Command reference
Run truto <command> --help for flags and filters on any command.
Authentication and profiles
| Command | Description |
|---|---|
truto login |
Authenticate interactively or with --token |
truto logout |
Remove stored credentials |
truto whoami |
Show the profile, API URL and team |
truto profiles |
List, switch, get, and set profile values |
truto profiles current |
Show the active profile, API URL and team (same as whoami) |
truto use <profile> |
Shortcut for profiles use |
truto profiles set-key |
Store Anthropic/Fireworks/Firecrawl keys for builds |
Integrations
| Command | Description |
|---|---|
truto integrations |
CRUD integration definitions |
truto integrations init |
Scaffold a starter integration |
truto integrations validate |
Validate config against OpenAPI schema |
truto integrations tools |
List tools/methods for an integration |
truto integrations unified-apis |
List unified APIs for an integration |
truto integrations build |
AI-powered build → local JSON file |
truto integrations apply |
Reconcile, check, apply and verify eligible IntegrationFile work |
truto integrations lint |
Static audit of integration config |
truto integrations verify <file> --spec <path-or-url> |
Check an IntegrationFile against the vendor's OpenAPI/Swagger document — coverage, verbs, schemas, auth, pagination, and more. Read-only (see note below) |
truto integrations audit <file-or-slug> -a <account-id> |
Exercise each method against a real connected account and report a per-method verdict. Read-only by default (see note below) |
truto integrations add-method |
Add one method to a resource |
truto categories |
List integration categories |
verify checks operation coverage, verbs, body format, schemas, response path, base URL, auth, and pagination against the vendor's OpenAPI 3.x / Swagger 2.0 document. --out <report.json> saves the full report; --top <n> sets how many findings the summary lists (default 20).
audit's behavior:
- Default
--capability read-onlysends a method only when it's provably a read; unified methods are always skipped. - Within 30 minutes of a write to the integration or its environment row, it first refreshes the config cache (
POST /integrated-account/refresh-mapping-cache) and waits about 7 minutes — sending nothing if that refresh fails. --capability fullruns real writes, and only works on a sandbox account.- Other flags:
--surface proxy,unified,--resource,--concurrency(default 4),--timeout <ms>(default 20000),--max-methods(default 50),--fixtures <file>,--skip-static.
Unified mappings
| Command | Description |
|---|---|
truto unified-mappings build |
AI-powered build of unified mapping rows → local JSON file |
truto unified-mappings validate |
Audit a MappingFile (deterministic, no writes) |
truto unified-mappings apply |
Reconcile mapping cells with base/env rows and verify eligible reads |
Admin resources
| Command | Description |
|---|---|
truto accounts |
Integrated accounts (connections) |
truto accounts identify |
Quick summary of one connected account |
truto accounts validate <id> |
Run the integration's validation steps against one connected account and report what they found |
truto accounts refresh-mapping-cache |
Make a config, mapping, or unified model edit take effect now, instead of waiting for the cache to expire (see note below) |
truto tenants |
Manage tenants (external identities that own integrated accounts) |
truto tenants create-bulk |
Create or upsert up to 1000 tenants (--mode insert|upsert) |
truto environments |
Environments (list, get, update) |
truto environment-integrations |
Per-environment integration installs |
truto environment-integrations override-auth <id> |
Set the authorization override (--format (bearer, header, basic) with --config <json>, or the full block with -b/--stdin). Patches only that block; --clear removes it |
truto environment-integrations override-pagination <id> |
Set the pagination override (--format (page, cursor, link_header, offset, range, dynamic) with --config <json>, or -b/--stdin); --clear removes it |
truto environment-integrations override-rate-limit <id> |
Set the rate-limit override with JSONata: --is-rate-limited, --retry-after-header, --rate-limit-header (or -b/--stdin); --clear removes it |
truto environment-integrations override-webhook <id> |
Set the webhook override: --signature-verification <json>, --handle-verification <expr>, --payload-transform <expr> (or -b/--stdin); --clear removes it |
truto environment-integrations show-override <id> |
Print the current override for an environment integration |
truto api-tokens |
API tokens (list, get) |
truto sync-jobs |
Sync job definitions |
truto sync-job-runs |
Sync job execution records |
truto sync-job-triggers |
Cron triggers for sync jobs |
truto sync-job-templates |
Reusable sync templates |
truto sync-job-run-states |
Key-value state for sync runs |
truto workflows |
Event-triggered automations |
truto workflow-runs |
Workflow execution records |
truto webhooks |
Outbound webhooks |
truto notification-destinations |
Slack/email alert targets |
truto observability-destinations |
Log forwarding destinations: Datadog, Splunk HEC, Microsoft Sentinel, OTLP, Elasticsearch, S3 (list, get, create, update, delete) |
truto observability-destinations test <id> |
Send a test log to a destination |
truto analytics dashboard |
Everything the Dashboard shows in one call — headline numbers, integrations, status codes, errors, and the most active accounts. Cached for up to 6 hours (see note below) |
truto mcp-tokens |
MCP tokens (per account) |
truto unified-models |
Unified model definitions |
truto unified-model-mappings |
Base unified model mapping rows |
truto env-unified-models |
Environment unified model installs |
truto env-unified-model-mappings |
Per-environment mapping overrides |
truto datastores |
S3, GCS, Azure Blob, Postgres, BigQuery, Snowflake, Pinecone, Qdrant connections |
truto daemons |
Background worker identities (Daemons) |
truto daemon-jobs |
Daemon job definitions |
truto daemon-job-runs |
Daemon job runs |
truto daemon-job-triggers |
Daemon cron triggers |
truto users |
Team members (list, get) |
truto team |
Team settings |
truto gates |
Static IP egress proxies |
truto docs |
Integration/model documentation rows |
truto link-tokens |
Truto Link connect tokens (create) |
truto session-tokens create --tenant-id <id> |
Mint a session token for one tenant in one environment (see note below for flags) |
truto session-tokens revoke --tenant-id <id> |
Revoke every live session token for one tenant in one environment |
truto session-tokens inspect [token] |
Describe a session token, or the profile's own credential when no token is given |
truto logs |
Query platform logs |
truto schema |
Download OpenAPI schema |
truto files |
Upload files to Truto-hosted URLs |
refresh-mapping-cache: -e <environment-id> picks the environment (default: the token's); -i <integration-id> limits the refresh to one integration.
analytics dashboard: --range (mtd, last_month, 7d, 30d, 90d; default mtd) or --from/--to YYYY-MM-DD; filter with --integration, --category.
session-tokens create flags: --expires-in (60–3600 s, default 900), --max-lifetime (60–86400 s, default 43200), --no-refreshable, --allowed-origins, --create-tenant-if-missing.
Team access
These manage sign-in for your Truto team. Listing works with any credential that can see the team; creating, changing, or deleting needs a team admin, and API tokens are refused. See SSO and SCIM.
| Command | Description |
|---|---|
truto sso-connections |
SAML and OIDC identity provider connections (list, get, create, update, delete) |
truto sso-connections domains <id> |
List the email domains attached to a connection |
truto sso-connections add-domain <id> --domain <domain> |
Attach an email domain to a connection |
truto sso-connections remove-domain <id> <domain> |
Remove an email domain from a connection |
truto sso-connections verify-domain <id> <domain> |
Check the domain's DNS TXT record and mark it verified if it passes |
truto scim-tokens |
Bearer tokens your identity provider uses for SCIM provisioning (list, get, create, delete) |
truto scim-groups |
Groups your identity provider has pushed through SCIM (list only) |
truto group-mappings |
Map a SCIM group to a role (admin or member) and environment access (list, create, update, delete) |
Data plane
| Command | Description |
|---|---|
truto unified |
Normalized unified API calls |
truto unified test-mapping |
Evaluate response mappings locally (no third-party call) |
truto proxy |
Raw proxy API calls |
truto custom |
Custom API paths |
truto batch |
Batch multiple operations |
truto capabilities |
Discover methods for integration or account |
Power features
| Command | Description |
|---|---|
truto export |
Bulk export with pagination |
truto diff |
Compare two records |
truto jsonata |
Evaluate JSONata locally |
truto open |
Open dashboard in browser |
truto upgrade |
Upgrade CLI binary |
truto interactive |
Launch interactive wizard |
truto context |
LLM-oriented command reference |
Gotchas
accountsvsintegrated-accounts: CLI usesaccounts; API path isintegrated-account.gatesvsstatic-gates: CLI usesgates; API path isstatic-gate.export/diffpaths: Slash → unified (crm/contacts); no slash → proxy (tickets). Not for admin resources.- MCP tokens: Account ID is the first positional argument, not
-a. - Optimistic locking:
integrations updateandunified-models updaterequire the record's currentversionfrom a priorget— pass it as--lock-version <n>or as"version"in-b. - Schema output:
truto schemareturns YAML; usetruto schema --out file.yml. - Environment scope: Your token scopes all commands to one environment automatically.
- Mapping command names: CLI uses
unified-model-mappingsandenv-unified-model-mappings; API paths useunified-model-resource-methodandenvironment-unified-model-resource-method.