FAQ / Environments

What entities can be copied to a space environment?

Creating a new environment will copy the following entities from the source environment:

  • Content types

  • Entries

  • Assets

  • Locales

  • UI extensions

  • Saved views

The following entities are attached to a space and will not be copied to a new environment:

  • Users & space memberships

  • Roles & permissions

  • API keys

  • Webhooks

Note that while API keys and webhooks are defined on the space level, you can also configure them to work with specific environments.

Are space environments covered by SLAs?

Our SLAs only cover the availability of content within the master environment of a space. Keep in mind that the primary use of sandbox environments is to do internal development and testing, not to deliver content to end users.

How quickly can I create an environment?

The duration of the process depends on the size of your space. A rule of thumb is around 7000 entities per second, which means that it will take just a couple of seconds to copy an environment with 50000 records. Since the copy process happens server-side, you don't have to worry about running into rate limits or changing the original meta-data associated with the content (create dates, entity IDs).

Can environments be cloned solely from the master?

No, the ability to clone an environment extends to any environment within your space. If the space has multiple environments, a dialogue will prompt you to select an environment to be cloned.

environment selector

Who can access environments?

By default, environments can only be accessed by users who have a space admin role (not to be mistaken with an organization admin role)! Customers on enterprise plans can also create custom roles that include access to space environments. These roles should be reserved solely for technical users. At this time, it is not possible to selectively assign environments to specific users.

How should I merge changes from sandbox environments into master?

We recommend using migration scripts to apply the changes implemented in sandbox environments to master (see scripting migrations tutorial for an introduction to this topic). We recommend merging changes into master in the following order:

  1. Test your changes in a target environment (Environment B)

  2. Create a migration script to apply the changes to the master content model

  3. Clone the current master environment (Environment A)

  4. Run the migration script against the freshly cloned environment (Environment C)

  5. Run your tests

  6. If the tests pass, update the master alias to target the new environment (Environment C)

This video highlight shows how the process works in practice:

Can I use webhooks with environments?

Yes, webhooks can trigger for all environments. Use the webhook filters property to control that. See the article below for a more detailed description: https://www.contentful.com/developers/docs/concepts/webhooks/#filters

Who can manage environment aliases?

By default, environment aliases can only be managed by users who have a space admin role (not to be mistaken with an organization admin role)! Customers on enterprise plans can also create custom roles that grant permissions to set up the master alias or to change the target environment of the master alias. Note that these roles should be reserved solely for technical users.

Can I set different locales in my environments?

Yes, locales are isolated by environments, which means you can change, add, and remove locales when working within sandbox environments.

How long does it take to update a master alias?

Updating a master alias in your space to target a different environment takes a single API call and is instant (< 250 ms).

Can I preview the content from sandbox environments on my preview website?

Yes, you can use CDA/CPA with sandbox environments in the same way you use them with the master environment. If you are using preview links, remember that these are configurable on a space level and not by individual environments.

add-circle remove style-two-pin-marker subtract-circle