# Publishing Content

### About this export

| Field | Value |
| --- | --- |
| **content_type** | course |
| **platform** | contentstack-academy |
| **source_url** | https://www.contentstack.com/academy/courses/publishing-content |
| **language** | en |
| **product_area** | publish |
| **learning_path** | cms-content-manager-certification |
| **course_id** | publishing-content |
| **slug** | publishing-content |
| **version** | 2026-03-01 |
| **last_updated** | 2026-05-28 |
| **status** | published |
| **keywords** | ["publish","unpublish","nested reference"] |
| **summary_one_line** | Publishing is the final, crucial step in bringing your content to life in Contentstack. But with multiple environments, languages, and connected assets, it can quickly get complicated. This course makes it simple. You’ll… |
| **total_duration_minutes** | 8 |
| **lessons_count** | 3 |
| **video_lessons_count** | 3 |
| **text_lessons_count** | 0 |
| **linked_learning_path** | cms-content-manager-certification |
| **linked_assessment_ref** | LMS_UNCONFIGURED_COURSE_ASSESSMENT |
| **markdown_file_url** | /academy/md/courses/publishing-content.md |
| **generated_at** | 2026-05-28T12:30:07.892Z |
| **intended_audience** | [] |
| **prerequisites** | [] |
| **related_courses** | [] |

> **Academy MD v3** — companion `.md` for Ask AI. Quizzes and graded assessments are **LMS-only**; this file never contains answer keys.

## Course Overview

| Metadata | Value |
| --- | --- |
| Catalog duration | 8m 29s |
| Released (if known) | 2026-03-01 |
| Product area | publish |

### Description

Publishing is the final, crucial step in bringing your content to life in Contentstack. But with multiple environments, languages, and connected assets, it can quickly get complicated. This course makes it simple.

You’ll start by learning how to publish and unpublish entries and assets — the building blocks of your digital experiences. From there, you’ll see how to schedule publishing activities in advance, and how to cancel them if plans change. Finally, we’ll explore Nested Reference Publishing, a powerful feature that ensures every connected piece of content goes live together, so nothing gets left behind.

By the end of this course, you’ll know how to:

*   Publish and unpublish entries and assets across environments and locales.
*   Schedule or cancel publishing activities with confidence.
*   Use Nested Reference Publishing to publish complex, interconnected content in one streamlined action.

Whether you’re managing a single page or a large release with hundreds of dependencies, you’ll leave with the skills to keep your publishing process accurate, efficient, and error-free.

### Learning objectives

1. Follow each lesson in order.
2. Practice in a training stack using placeholders **YOUR_STACK_API_KEY** and **YOUR_DELIVERY_TOKEN** in local `.env` files only.
3. Validate API responses against the official documentation.

### Topics covered

publish; unpublish; nested reference

## Course structure

```text
publishing-content/
├── 01-publishing-unpublishing-content · video · 215s
├── 02-managing-scheduled-content · video · 134s
├── 03-nested-reference-publishing · video · 160s
```

## Lessons

### Lesson 01 — Publishing & Unpublishing Content

<!-- ai_metadata: {"lesson_id":"01","type":"video","duration_seconds":215,"video_url":"https://cdn.jwplayer.com/previews/SLJwxYpf","thumbnail_url":"https://cdn.jwplayer.com/v2/media/SLJwxYpf/poster.jpg?width=720","topics":["Publishing","Unpublishing","Content"]} -->

#### Video details

#### At a glance

- **Title:** Publishing & Unpublishing Content
- **Duration:** 3m 35s
- **Media link:** https://cdn.jwplayer.com/previews/SLJwxYpf
- **Publish date (unix):** 1756238615

#### Streaming renditions

- application/vnd.apple.mpegurl
- audio/mp4 · AAC Audio · 113749 kbps
- video/mp4 · 180p · 180p · 190074 kbps
- video/mp4 · 270p · 270p · 255217 kbps
- video/mp4 · 360p · 360p · 298979 kbps
- video/mp4 · 406p · 406p · 338151 kbps
- video/mp4 · 540p · 540p · 461375 kbps
- video/mp4 · 720p · 720p · 653482 kbps
- video/mp4 · 1080p · 1080p · 1231491 kbps

#### Timed text tracks (delivery)

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

#### Video transcript

In Content Stack, publishing isn't just for blog posts or articles, it's for anything you want live in your environments, whether it's an entry, asset, or both. The good news? Whether you're working on a page, a press release, or a product photo, the steps to publish or unpublish are nearly identical. Let's take a look. We'll start with an entry. From the stack, head to Entries. Find the one that you want and open it. Down here in the bottom right, you'll see a Publish icon. Click it and you'll get the Publish modal. Here's where you can tell Content Stack two things. Where it's going – that's your environment – and which languages. You can choose up to 10 environments and 10 locales at once. And decide when it goes live. Now means immediately, later lets you schedule for a specific date and time up to one year in advance. And yes, Daylight Savings Time quirks are accounted for, so the time shown is the actual time it will go live. Click Send and then you're done. That's it. If this were just an asset instead of an entry, the steps would be the same. Just start in the Assets panel. Let's check it out. This time, head to the Assets panel. Select the file you want to publish and click Publish. The modal here is identical. Pick your environments, pick your locales, choose now or later, and confirm. Just one tip. If you're publishing to a production environment, remember that assets become publicly accessible even if they're not linked anywhere. So only publish when it's ready for prime time. Unpublishing works exactly the same way, but in reverse. It removes your content from environments and locales you select while keeping it safe in your stack. Open an item or an entry. Click the Unpublish icon. Choose your environments and locales, and again decide whether you want to unpublish now or later. Same process for assets, nothing new to learn here. Whether you're publishing or unpublishing, the scheduling flow is identical. Later lets you pick a date, time, and time zone up to a year out. The only difference is whether it's making something live or pulling it back. You don't always have to open an item to publish or unpublish it. From the list view in either the Entries or Assets page, click the Actions menu next to an item and select either Publish or Unpublish. If you have multiple items, you can use the Bulk Actions bar. Select the items using the checkbox on the left, then choose the command Publish or Unpublish from the Actions bar. Again, this works for both entries and assets, and you can save a ton of time. So remember, once you know how to publish and unpublish an entry, you already know how to do it for an asset. The UI, the scheduling, even Bulk Actions, it all works the same way, which means you can focus less on how to get content live and more on creating great content in the first place.

#### Key takeaways

- Connect **Publishing & Unpublishing Content** 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.

### Lesson 02 — Managing Scheduled Content

<!-- ai_metadata: {"lesson_id":"02","type":"video","duration_seconds":134,"video_url":"https://cdn.jwplayer.com/previews/y79yjYIf","thumbnail_url":"https://cdn.jwplayer.com/v2/media/y79yjYIf/poster.jpg?width=720","topics":["Managing","Scheduled","Content"]} -->

#### Video details

#### At a glance

- **Title:** Managing Scheduled Content
- **Duration:** 2m 14s
- **Media link:** https://cdn.jwplayer.com/previews/y79yjYIf
- **Publish date (unix):** 1756307778

#### Streaming renditions

- application/vnd.apple.mpegurl
- audio/mp4 · AAC Audio · 114196 kbps
- video/mp4 · 180p · 180p · 200750 kbps
- video/mp4 · 270p · 270p · 277498 kbps
- video/mp4 · 360p · 360p · 331249 kbps
- video/mp4 · 406p · 406p · 380556 kbps
- video/mp4 · 540p · 540p · 532104 kbps
- video/mp4 · 720p · 720p · 757636 kbps
- video/mp4 · 1080p · 1080p · 1486987 kbps

#### Timed text tracks (delivery)

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

#### Video transcript

Sometimes, your publishing plans change. Maybe the content wasn't ready after all, or priorities shifted. In Content Stack, canceling a scheduled publish or unpublish is quick, and the process is the same for entries and assets. Let's walk through it. In the App Switcher, make sure you're in the CMS and enter your stack. Towards the top, you'll see the Publish Queue button. Shortcut fans, it's Alt plus P on Windows or Option P on a Mac. Here, you can see every publishing and unpublishing status, based on the filter on the left. In this case, we have something scheduled to publish with six entries. We can see what day it was scheduled, and the status column will show you when the job will be completed. If you want details on those entries, click the element in the title column to see what's included. Now, you can't remove individual elements. You can just view what the scheduled job includes. Click the Publish Queue breadcrumb to return to the previous screen. What if you need to cancel a scheduled activity? It's easy. Find the item you want to remove from the schedule. Over on the right, click the Action menu and choose Cancel Scheduling, and it's gone from the queue. You'll need to do this for each scheduled item you want to cancel. There's no bulk cancel, so double-check the list if you've got multiple to remove. If you're comfortable with APIs, you can also cancel scheduled actions programmatically using ContentStack's Content Management API. This is especially useful if you need to cancel multiple items at once. Just make sure you have the correct Publishing Queue IDs before running your request. So, if plans change, you're covered. Whether it's an entry or an asset, just head to the Publish Queue, filter by date, and cancel the activity, and your content will stay right where it is, waiting until you're ready to go live.

#### Key takeaways

- Connect **Managing Scheduled Content** 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.

### Lesson 03 — Nested Reference Publishing

<!-- ai_metadata: {"lesson_id":"03","type":"video","duration_seconds":160,"video_url":"https://cdn.jwplayer.com/previews/CbfudGAL","thumbnail_url":"https://cdn.jwplayer.com/v2/media/CbfudGAL/poster.jpg?width=720","topics":["Nested","Reference","Publishing"]} -->

#### Video details

#### At a glance

- **Title:** Nested Reference Publishing
- **Duration:** 2m 40s
- **Media link:** https://cdn.jwplayer.com/previews/CbfudGAL
- **Publish date (unix):** 1756311270

#### Streaming renditions

- application/vnd.apple.mpegurl
- audio/mp4 · AAC Audio · 113986 kbps
- video/mp4 · 180p · 180p · 234378 kbps
- video/mp4 · 270p · 270p · 347950 kbps
- video/mp4 · 360p · 360p · 426263 kbps
- video/mp4 · 406p · 406p · 498099 kbps
- video/mp4 · 540p · 540p · 721349 kbps
- video/mp4 · 720p · 720p · 1059640 kbps
- video/mp4 · 1080p · 1080p · 2175135 kbps

#### Timed text tracks (delivery)

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

#### Video transcript

If your content has lots of connected pieces, like an article that pulls in related images or product pages that reference other entries, publishing can get tricky. You don't want to push the main entry live and forget about something it depends on. That's where Nested Reference Publishing comes in. It lets you publish an entry or a group of entries and all the entries and assets they reference up to 5 levels deep in one go. So nothing gets left behind. You'll see Nested Reference Publishing in action whenever you click Publish on an entry that has references. After you pick your environments and languages, a second modal called Publish References appears. This is a tree view showing your parent entry at the top with all of its nested references underneath. You can expand each level to see what's included. If you're happy, click Send with References and everything gets published together. This works for single entries or bulk publishing multiple parent entries at once. Why is this helpful? Well, without this feature, you'd have to track down and publish each referenced entry or asset manually, and it's easy to miss something. Nested Reference Publishing ensures you're sending the latest version of everything in that structure across all the environments and languages you select. If something can't be published, maybe it's missing required fields or stuck in an earlier workflow stage or needs approval, you'll see a warning icon in the tree. However, hover over it to learn why. You can even jump directly to that entry, fix the issue, and return to Publish again. One important detail. If a child entry fails validation, its own nested references won't be published either. Once you send it, your job appears in the Publish queue as a bulk action. There's a new summary column showing how many items published successfully and how many are still in progress, and if any failed or were skipped or need approval, you can click into the job to see the full breakdown of each item. Nested Reference Publishing takes the guesswork out of publishing complex content. One action and everything connected goes live, saving you time, reducing mistakes, and making sure your audience sees the complete picture the moment you hit Publish.

#### Key takeaways

- Connect **Nested Reference Publishing** 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.

## Resources & references

| Page | Companion Markdown |
| --- | --- |
| /courses/publishing-content/publishing-unpublishing-content | /academy/md/courses/publishing-content/publishing-unpublishing-content.md |
| /courses/publishing-content/managing-scheduled-content | /academy/md/courses/publishing-content/managing-scheduled-content.md |
| /courses/publishing-content/nested-reference-publishing | /academy/md/courses/publishing-content/nested-reference-publishing.md |

## Supplement for indexing

### Content summary

Publishing is the final, crucial step in bringing your content to life in Contentstack. But with multiple environments, languages, and connected assets, it can quickly get complicated. This course makes it simple. You’ll… Publishing is the final, crucial step in bringing your content to life in Contentstack. But with multiple environments, languages, and connected assets, it can quickly get complicated. This course makes it simple. You’ll start by learning how to publish and unpublish entries and assets — the building blocks of your digital experiences. From there, you’ll see how to schedule publishing activities in advance, and how to cancel them if plans change. Finally, we’ll explore Nested Reference Publishing, a powerful feature that ensures every connected piece of content goes live together, so nothing g

### Retrieval tags

- publish
- unpublish
- nested reference
- publishing-content
- Publishing
- Unpublishing
- Content
- Managing
- Scheduled
- Nested
- Reference
- publishing-content course
- Contentstack Academy

### Indexing notes

Chunk at each "### Lesson NN — Title" heading; copy lesson_id and topics from the preceding HTML comment into chunk metadata for RAG filters.
Course slug: publishing-content. Union of lesson topic tokens: Publishing, Unpublishing, Content, Managing, Scheduled, Nested, Reference.
Do not embed or retrieve LMS-only quiz items or mastery exam answer keys from this export.

### Asset references

| Label | URL |
| --- | --- |
| Video thumbnail: Publishing & Unpublishing Content | `https://cdn.jwplayer.com/v2/media/SLJwxYpf/poster.jpg?width=720` |
| Video thumbnail: Managing Scheduled Content | `https://cdn.jwplayer.com/v2/media/y79yjYIf/poster.jpg?width=720` |
| Video thumbnail: Nested Reference Publishing | `https://cdn.jwplayer.com/v2/media/CbfudGAL/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/` |
