# Environment

[Environments](https://www.datocms.com/docs/general-concepts/primary-and-sandbox-environments.md) make it easier for your development team to **manage and maintain content structure once your content has been published**. You can think of environments like code branches: great for testing, development and pre-production environments.

By default, every project has one environment, called **primary environment**, which is meant to be used for the regular editorial workflow. Additionally, multiple **sandbox environments** can be created by developers to safely test/experiment new changes in the content.

Sandbox environments start out as **exact copies of one of the existing environments** (ie. the primary one). The process of creating a new sandbox starting off from an existing environment is called fork.

Each environment is identified by a name (ie. `master`) and stores the following information:

-   Models
-   Records
-   Uploads
-   Plugins
-   Locales and timezone settings
-   UI Theme (colors and logo)
-   Global SEO settings
-   The content navigation bar

When making changes to any of the aforementioned entities in any environment, including the primary environment, **the data in all other environments isn’t affected** and stays the same.

## Object payload

**`id`**

- Type: string
- Example: `"main"`

ID of environment. Can only contain lowercase letters, numbers and dashes

**`type`**

- Type: string

Must be exactly `"environment"`.

**`meta.status`**

- Type: enum
- Example: `"ready"`

Status of the environment

<details>
<summary>Show enum values</summary>

**`creating`**

The environment is being forked

**`ready`**

The environment is ready

**`destroying`**

The environment is being destroyed

</details>

**`meta.fork_completion_percentage`**

- Type: number
- Example: `95`

The completion percentage of the fork operation (only present if the status is `creating`)

**`meta.read_only_mode`**

- Type: boolean

Is this environment the in read-only mode because of a fast-fork?

**`meta.created_at`**

- Type: date-time

Date of creation

**`meta.last_data_change_at`**

- Type: date-time

Last data change

**`meta.primary`**

- Type: boolean

Is this environment the primary for the project?

**`meta.forked_from`**

- Type: string, null
- Example: `"main"`

ID of the environment that's been forked to generate this one

## Available endpoints

-   [Fork an existing environment](https://www.datocms.com/docs/content-management-api/resources/environment/fork.md)
-   [Promote an environment to primary](https://www.datocms.com/docs/content-management-api/resources/environment/promote.md)
-   [Rename an environment](https://www.datocms.com/docs/content-management-api/resources/environment/rename.md)
-   [List all environments](https://www.datocms.com/docs/content-management-api/resources/environment/instances.md)
-   [Retrieve a environment](https://www.datocms.com/docs/content-management-api/resources/environment/self.md)
-   [Delete a environment](https://www.datocms.com/docs/content-management-api/resources/environment/destroy.md)

## Related content in "Content Management API"

- [Content Management API Overview](https://www.datocms.com/docs/content-management-api.md)
- [Using the JavaScript CMA client](https://www.datocms.com/docs/content-management-api/using-the-nodejs-clients.md)
- [API versioning](https://www.datocms.com/docs/content-management-api/api-versioning.md)
- [Authentication](https://www.datocms.com/docs/content-management-api/authentication.md)
- [Environments](https://www.datocms.com/docs/content-management-api/setting-the-environment.md)
- [Error codes & handling failures (CMA)](https://www.datocms.com/docs/content-management-api/errors.md)
- [Pagination](https://www.datocms.com/docs/content-management-api/pagination.md)
- [Asynchronous jobs](https://www.datocms.com/docs/content-management-api/async-jobs.md)
- [CMA Technical Limits & Rate Limits](https://www.datocms.com/docs/content-management-api/technical-limits.md)
- [Record](https://www.datocms.com/docs/content-management-api/resources/item.md)
- [Scheduled publication](https://www.datocms.com/docs/content-management-api/resources/scheduled-publication.md)
- [Scheduled unpublishing](https://www.datocms.com/docs/content-management-api/resources/scheduled-unpublishing.md)
- [Upload](https://www.datocms.com/docs/content-management-api/resources/upload.md)
- [Site](https://www.datocms.com/docs/content-management-api/resources/site.md)
- [Model/Block model](https://www.datocms.com/docs/content-management-api/resources/item-type.md)
- [Field](https://www.datocms.com/docs/content-management-api/resources/field.md)
- [Fieldset](https://www.datocms.com/docs/content-management-api/resources/fieldset.md)
- [Record version](https://www.datocms.com/docs/content-management-api/resources/item-version.md)
- [Upload permission](https://www.datocms.com/docs/content-management-api/resources/upload-request.md)
- [Upload track](https://www.datocms.com/docs/content-management-api/resources/upload-track.md)
- [Manual tags](https://www.datocms.com/docs/content-management-api/resources/upload-tag.md)
- [Smart tags](https://www.datocms.com/docs/content-management-api/resources/upload-smart-tag.md)
- [Upload Collection](https://www.datocms.com/docs/content-management-api/resources/upload-collection.md)
- [Search Index](https://www.datocms.com/docs/content-management-api/resources/search-index.md)
- [Search result](https://www.datocms.com/docs/content-management-api/resources/search-result.md)
- [Search indexing activity](https://www.datocms.com/docs/content-management-api/resources/search-index-event.md)
- [Environment](https://www.datocms.com/docs/content-management-api/resources/environment.md)
- [Fork an existing environment](https://www.datocms.com/docs/content-management-api/resources/environment/fork.md)
- [Promote an environment to primary](https://www.datocms.com/docs/content-management-api/resources/environment/promote.md)
- [Rename an environment](https://www.datocms.com/docs/content-management-api/resources/environment/rename.md)
- [List all environments](https://www.datocms.com/docs/content-management-api/resources/environment/instances.md)
- [Retrieve a environment](https://www.datocms.com/docs/content-management-api/resources/environment/self.md)
- [Delete a environment](https://www.datocms.com/docs/content-management-api/resources/environment/destroy.md)
- [Maintenance mode](https://www.datocms.com/docs/content-management-api/resources/maintenance-mode.md)
- [Menu Item](https://www.datocms.com/docs/content-management-api/resources/menu-item.md)
- [Schema Menu Item](https://www.datocms.com/docs/content-management-api/resources/schema-menu-item.md)
- [Uploads filter](https://www.datocms.com/docs/content-management-api/resources/upload-filter.md)
- [Model filter](https://www.datocms.com/docs/content-management-api/resources/item-type-filter.md)
- [Plugin](https://www.datocms.com/docs/content-management-api/resources/plugin.md)
- [Workflow](https://www.datocms.com/docs/content-management-api/resources/workflow.md)
- [Asynchronous job](https://www.datocms.com/docs/content-management-api/resources/job.md)
- [Job result](https://www.datocms.com/docs/content-management-api/resources/job-result.md)
- [Account](https://www.datocms.com/docs/content-management-api/resources/account.md)
- [Organization](https://www.datocms.com/docs/content-management-api/resources/organization.md)
- [Invitation](https://www.datocms.com/docs/content-management-api/resources/site-invitation.md)
- [Collaborator](https://www.datocms.com/docs/content-management-api/resources/user.md)
- [Role](https://www.datocms.com/docs/content-management-api/resources/role.md)
- [API token](https://www.datocms.com/docs/content-management-api/resources/access-token.md)
- [Webhook](https://www.datocms.com/docs/content-management-api/resources/webhook.md)
- [Webhook call](https://www.datocms.com/docs/content-management-api/resources/webhook-call.md)
- [Build trigger](https://www.datocms.com/docs/content-management-api/resources/build-trigger.md)
- [Deploy activity](https://www.datocms.com/docs/content-management-api/resources/build-event.md)
- [Subscription limit](https://www.datocms.com/docs/content-management-api/resources/subscription-limit.md)
- [Subscription feature](https://www.datocms.com/docs/content-management-api/resources/subscription-feature.md)
- [SSO Settings](https://www.datocms.com/docs/content-management-api/resources/sso-settings.md)
- [SSO User](https://www.datocms.com/docs/content-management-api/resources/sso-user.md)
- [SSO Group](https://www.datocms.com/docs/content-management-api/resources/sso-group.md)
- [White-label settings](https://www.datocms.com/docs/content-management-api/resources/white-label-settings.md)
- [Audit log event](https://www.datocms.com/docs/content-management-api/resources/audit-log-event.md)