# Overview

> Source: https://truto.one/docs/guides/environments/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](/docs/guides/api-tokens/creating-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](mailto:support@truto.one) — environment creation isn't self-serve in the dashboard.
