Overview
Every Truto team gets three environments — development, staging, and production — and they share nothing on the data plane. An API token issued in staging can't see an integrated account in production, and a method you add to an integration in development doesn't exist in the other two until you add it there as well.
What are Environments?
An environment is the boundary around one set of installed integrations, the integrated accounts connected to them, the API tokens that authenticate calls against them, the webhooks that fire on them, and any per-integration overrides — Unified API mappings, custom proxy methods, custom resources — that you've layered on top. Pick which environment a request runs against by using that environment's API token; for the few Admin API calls that accept it explicitly, you can also pass environment_id.
Flowchart for environments
API Tokens are specific to an environment
Every API token is created inside one environment and only resolves resources from that environment. Listing accounts with a staging token returns staging accounts; the same call with a production token returns production accounts, and there's no token shape that spans both. On any data-plane call, environment_id is inferred from the token automatically — you don't pass it as a query parameter.
Mint and rotate tokens per environment from Settings → API Tokens.
Integrated accounts are specific to an environment
When your customer connects an account through Truto Link, the resulting integrated account belongs to whichever environment minted the link token. Running the same connection flow against a different environment creates a separate integrated account with a separate integrated_account_id. The customer connects once per environment they're meant to appear in.
The tenant_id you assign sits inside the environment scope: the same tenant_id value can exist in development, staging, and production and refer to three different connected accounts.
FAQ
My new method works locally but 404s in production. Methods you add to an integration — and any other integration override (unified-model mappings, custom proxy methods, custom resources, auth-field tweaks) — live on one environment only. If you added it in development, production doesn't have it yet. Re-apply the change against the production environment's installed integration.
Can I create more than three environments? Email support@truto.one — environment creation isn't self-serve in the dashboard.