# Environments Walkthrough

### About this export

| Field | Value |
| --- | --- |
| **content_type** | lesson |
| **platform** | contentstack-academy |
| **source_url** | https://www.contentstack.com/academy/learning-paths/contentstack-developer-certification/contentstack-for-developers/environments-walkthrough |
| **course_slug** | contentstack-for-developers |
| **lesson_slug** | environments-walkthrough |
| **learning_path_slug** | contentstack-developer-certification |
| **markdown_file_url** | /academy/md/learning-paths/contentstack-developer-certification/contentstack-for-developers/environments-walkthrough.md |
| **generated_at** | 2026-05-11T07:02:35.822Z |

> Lesson in **[Contentstack for Developers](https://www.contentstack.com/academy/learning-paths/contentstack-developer-certification/contentstack-for-developers)** within the **contentstack-developer-certification** learning path on Contentstack Academy. **Academy MD v3** — structured for retrieval; no quiz or assessment keys.

<!-- ai_metadata: {"lesson_id":"05","type":"video","duration_seconds":185,"video_url":"https://cdn.jwplayer.com/previews/xDslMX1l","thumbnail_url":"https://cdn.jwplayer.com/v2/media/xDslMX1l/poster.jpg?width=720","topics":["Environments","Walkthrough"]} -->

#### Video details

#### At a glance

- **Title:** Dev-environments
- **Duration:** 3m 5s
- **Media link:** https://cdn.jwplayer.com/previews/xDslMX1l
- **Publish date (unix):** 1716254996

#### Streaming renditions

- application/vnd.apple.mpegurl
- audio/mp4 · AAC Audio · 113540 kbps
- video/mp4 · 180p · 200p · 139607 kbps
- video/mp4 · 270p · 300p · 154759 kbps
- video/mp4 · 360p · 400p · 171856 kbps
- video/mp4 · 406p · 450p · 182649 kbps
- video/mp4 · 540p · 600p · 214541 kbps

#### Timed text tracks (delivery)

- **thumbnails:** `https://cdn.jwplayer.com/strips/xDslMX1l-120.vtt`

#### Video transcript

Hi, welcome to ContentStack. In this video, we're going to talk about environments and how we can create them in ContentStack and what it means when we use environments. In ContentStack environments, you can think of them as publish environments. It's where we publish content to, and also where we request content from our web application. In this diagram, you can see that we have our backend stack, and that stack publishes to three environments, Dev, Preview, and Production. Each of these environments also has roles and permissions applied, so the user logging into ContentStack is only going to be allowed to publish to the environment that they have permissions for. So we can have production content editors with access to Preview and Production, and developers with access to Development. You can have up to 10 of these environments per stack, and it really creates a way to quickly and easily stand up new environments. You can have dedicated environments for QA or Preview, and it's a really great feature of ContentStack. For the website and web application, when you want to query content, published content, then you need to use a delivery token, otherwise known as an access token. So within our website or web application, you will see both an API key and a delivery token, and that's what we use to query the content from that environment. Let's take a look at the backend and see how that works in ContentStack. So over here under your settings, you can go ahead and click on Environments, and here I have Production, Preview, and Development created. What that allows me to do is to go over to Entries and select an entry here and click the Publish icon, and then choose one of these environments to publish to. Each environment also has a URL, and where you see that URL is actually right here when you hover over the icon. The URL for the environment is the first thing that's appended here, so you can see localhost for development or also a URL for my production. Preview doesn't have an environment URL set. So again, we can see that under Settings, Environments, and here you can see where those URLs are set. Behind each environment, we also have a token, and so that's these delivery tokens. Currently, I only have a development token, so if we go back to our diagram, then we can see over here that I can query content published to development. At this moment in my application, I don't have a way to query preview or production. So if I wanted to set that up, what I'd do is just make a new delivery token, call this my preview token, and specify my preview environment where I want to pull content from. And that's it. It's just that easy. And we click Generate Token, and okay, I've got a selected branch here. I'm going to do my main branch, and again, Generate Token, and that's it. We've got our Stack API key and delivery token, and we can already immediately start using ContentStats' content delivery API to query for published content. That's it for this video. See you in the next one.

#### Key takeaways

- Connect **Environments Walkthrough** back to your stack configuration before moving to the next module.
- Capture one concrete artifact (screenshot, Postman call, or code snippet) that proves the step works in your environment.
- Re-read the delivery versus management boundary for anything you changed in the entry model.

## Supplement for indexing

### Content summary

Environments Walkthrough. Environments Walkthrough in Contentstack for Developers (contentstack-for-developers).

### Retrieval tags

- Environments
- Walkthrough
- contentstack-for-developers
- lesson 05
- Environments Walkthrough
- contentstack-for-developers lesson

### Indexing notes

Index this lesson as a primary chunk tagged with lesson_id "05" and topics: [Environments, Walkthrough].
Parent course slug: contentstack-for-developers. Use asset_references URLs as thumbnail hints in search results when present.
Never surface LMS quiz content or assessment answers from this file.

### Asset references

| Label | URL |
| --- | --- |
| Video thumbnail: Environments Walkthrough | `https://cdn.jwplayer.com/v2/media/xDslMX1l/poster.jpg?width=720` |

### External links

| Label | URL |
| --- | --- |
| Contentstack Academy home | `https://www.contentstack.com/academy/` |
| Training instance setup | `https://www.contentstack.com/academy/training-instance` |
| Academy playground (GitHub) | `https://github.com/contentstack/contentstack-academy-playground` |
| Contentstack documentation | `https://www.contentstack.com/docs/` |
