> ## Documentation Index
> Fetch the complete documentation index at: https://docs.livry.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Working with Environments

> Create sandbox, staging and production Environments, understand what isolation actually means, and know why deletion is a request rather than a button.

An Environment is sandbox, staging or production. It is Livry's **isolation boundary** and the thing
a URL slug names.

## Creating one

Signup creates your Team and makes you its Owner — it does **not** create an Environment. The welcome
wizard asks for your first one, and you can leave and come back to a Team that has none.

After that: **Environments → New environment**, which needs Team **Admin** or **Owner**.

You are granted **Admin** on any Environment you create.

<Note>
  How many you can have is a plan limit, and it is counted **per kind**:

  | Plan | Sandbox | Staging | Production |
  | - | - | - | - |
  | Free | 1 | 0 | 0 |
  | Pro | 1 | 1 | 1 |
  | Enterprise | Unlimited | Unlimited | Unlimited |

  Creating one past the allowance is refused. See [Plans and limits](/settings/billing).
</Note>

## What isolation means

<Warning>
  **Nothing moves between Environments, and nothing auto-promotes.**

  A Theme in sandbox and a Theme in production with the same slug are different entities with
  different ids, different tokens, different versions and different serving URLs. There is no
  promotion step, and there is no operation anywhere in Livry that crosses an Environment boundary.
</Warning>

That is deliberate. A sandbox experiment can never partially leak into production through a
half-finished promotion, and a production incident can never be caused by somebody editing sandbox.

The cost is that mirroring configuration is your job. Do it by scripting the
[API](/api/introduction) as part of your release process, where you control exactly what is copied
and when — read the sandbox Theme's tokens, write them to the production Theme, publish.

<Note>
  **Access is isolated too.** A grant is per-Environment, so somebody with Editor on sandbox cannot
  read production at all — not even as a Team Admin. See [Roles](/teams/roles).
</Note>

## Settings

An Environment owns one setting that reaches your users: **how long the edge may reuse a `latest`
answer**, 0–3600 seconds, 60 by default.

A sandbox usually wants a publish on screen at the next reload; production wants fewer requests and
can wait a minute. Every Theme in the Environment shares the value — changing it rewrites all of
them. See [Caching](/serving/caching).

## Leaving one

You can give up your own grant on an Environment from its Settings page. It does not affect anybody
else's, and a Team Admin can grant it back.

## Deleting one

<Warning>
  **Deletion is a request, not a button.** An Owner or Admin initiates it, records why, and Livry
  staff action it.

  It is not a call you can make, and there is no endpoint for it on the API — an endpoint returning
  `202` for something a person actions days later would be worse than not having one.
</Warning>

The request captures a reason, and you can withdraw it while it is open.

**The last remaining Environment in a Team cannot be deleted.** The protection is on being last, not
on being the sandbox that signup produced — so you can delete your original sandbox once you have
another.

<Note>
  **Nothing is destroyed today.** Livry staff can approve, decline or withdraw a request, and the
  execution step — cascading the documents, pruning the files, cancelling the subscription — is not
  built. An approved deletion is recorded, not performed. See
  [What is not built yet](/help/limitations).
</Note>

## Naming

The slug is a URL segment, unique within your Team: `/acme/production/themes/…`. The display name is
what appears in the portal.

Serving URLs are built from **ids** rather than slugs precisely so that a rename elsewhere cannot
break an integration. See [Serving overview](/serving/overview).

## Not yet available

The Environment Settings area shows two things that are **not built**: custom serving domains, and
webhooks. Both are marked *coming soon* in the portal; neither does anything today. See
[What is not built yet](/help/limitations).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.