# 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-04-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-04-28T06:55:48.616Z |
| **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`

#### 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.

#### Subtitles (WebVTT)

```webvtt
WEBVTT

1
00:00:00.000 --> 00:00:11.820
In Content Stack, publishing isn't just for blog posts or articles, it's for anything

2
00:00:11.820 --> 00:00:17.920
you want live in your environments, whether it's an entry, asset, or both.

3
00:00:17.920 --> 00:00:19.400
The good news?

4
00:00:19.400 --> 00:00:24.240
Whether you're working on a page, a press release, or a product photo, the steps to

5
00:00:24.240 --> 00:00:27.080
publish or unpublish are nearly identical.

6
00:00:27.080 --> 00:00:28.880
Let's take a look.

7
00:00:29.260 --> 00:00:31.000
We'll start with an entry.

8
00:00:31.000 --> 00:00:33.800
From the stack, head to Entries.

9
00:00:33.800 --> 00:00:36.800
Find the one that you want and open it.

10
00:00:36.800 --> 00:00:41.120
Down here in the bottom right, you'll see a Publish icon.

11
00:00:41.120 --> 00:00:44.880
Click it and you'll get the Publish modal.

12
00:00:44.880 --> 00:00:47.920
Here's where you can tell Content Stack two things.

13
00:00:47.920 --> 00:00:52.480
Where it's going – that's your environment – and which languages.

14
00:00:52.480 --> 00:00:57.480
You can choose up to 10 environments and 10 locales at once.

15
00:00:57.480 --> 00:01:00.720
And decide when it goes live.

16
00:01:00.720 --> 00:01:07.800
Now means immediately, later lets you schedule for a specific date and time up to one year

17
00:01:07.800 --> 00:01:08.800
in advance.

18
00:01:08.800 --> 00:01:16.320
And yes, Daylight Savings Time quirks are accounted for, so the time shown is the actual

19
00:01:16.320 --> 00:01:18.880
time it will go live.

20
00:01:18.880 --> 00:01:21.560
Click Send and then you're done.

21
00:01:21.560 --> 00:01:23.000
That's it.

22
00:01:23.000 --> 00:01:27.720
If this were just an asset instead of an entry, the steps would be the same.

23
00:01:27.720 --> 00:01:29.640
Just start in the Assets panel.

24
00:01:29.640 --> 00:01:31.280
Let's check it out.

25
00:01:31.280 --> 00:01:33.800
This time, head to the Assets panel.

26
00:01:33.800 --> 00:01:37.240
Select the file you want to publish and click Publish.

27
00:01:37.240 --> 00:01:39.160
The modal here is identical.

28
00:01:39.160 --> 00:01:45.280
Pick your environments, pick your locales, choose now or later, and confirm.

29
00:01:45.280 --> 00:01:46.480
Just one tip.

30
00:01:46.480 --> 00:01:52.440
If you're publishing to a production environment, remember that assets become publicly accessible

31
00:01:52.440 --> 00:01:54.800
even if they're not linked anywhere.

32
00:01:54.800 --> 00:01:59.440
So only publish when it's ready for prime time.

33
00:01:59.440 --> 00:02:02.680
Unpublishing works exactly the same way, but in reverse.

34
00:02:02.680 --> 00:02:08.680
It removes your content from environments and locales you select while keeping it safe

35
00:02:08.680 --> 00:02:10.720
in your stack.

36
00:02:10.720 --> 00:02:13.040
Open an item or an entry.

37
00:02:13.040 --> 00:02:15.400
Click the Unpublish icon.

38
00:02:15.400 --> 00:02:19.640
Choose your environments and locales, and again decide whether you want to unpublish

39
00:02:19.640 --> 00:02:21.880
now or later.

40
00:02:21.880 --> 00:02:26.600
Same process for assets, nothing new to learn here.

41
00:02:26.600 --> 00:02:31.560
Whether you're publishing or unpublishing, the scheduling flow is identical.

42
00:02:31.560 --> 00:02:36.360
Later lets you pick a date, time, and time zone up to a year out.

43
00:02:36.360 --> 00:02:41.880
The only difference is whether it's making something live or pulling it back.

44
00:02:41.880 --> 00:02:46.560
You don't always have to open an item to publish or unpublish it.

45
00:02:46.560 --> 00:02:51.720
From the list view in either the Entries or Assets page, click the Actions menu next to

46
00:02:51.720 --> 00:02:55.320
an item and select either Publish or Unpublish.

47
00:02:55.320 --> 00:02:59.600
If you have multiple items, you can use the Bulk Actions bar.

48
00:02:59.600 --> 00:03:06.320
Select the items using the checkbox on the left, then choose the command Publish or Unpublish

49
00:03:06.320 --> 00:03:07.880
from the Actions bar.

50
00:03:07.880 --> 00:03:14.000
Again, this works for both entries and assets, and you can save a ton of time.

51
00:03:14.000 --> 00:03:19.780
So remember, once you know how to publish and unpublish an entry, you already know how

52
00:03:19.780 --> 00:03:21.780
to do it for an asset.

53
00:03:21.780 --> 00:03:27.860
The UI, the scheduling, even Bulk Actions, it all works the same way, which means you

54
00:03:27.860 --> 00:03:34.460
can focus less on how to get content live and more on creating great content in the

55
00:03:34.460 --> 00:03:35.340
first place.

```

```transcript
<!-- PLACEHOLDER: replace with real transcript before publish if cues were auto-derived from WebVTT -->
[00:00] In Content Stack, publishing isn't just for blog posts or articles, it's for anything
[00:11] you want live in your environments, whether it's an entry, asset, or both.
[00:17] The good news?
[00:19] Whether you're working on a page, a press release, or a product photo, the steps to
[00:24] publish or unpublish are nearly identical.
[00:27] Let's take a look.
[00:29] We'll start with an entry.
[00:31] From the stack, head to Entries.
[00:33] Find the one that you want and open it.
[00:36] Down here in the bottom right, you'll see a Publish icon.
[00:41] Click it and you'll get the Publish modal.
[00:44] Here's where you can tell Content Stack two things.
[00:47] Where it's going – that's your environment – and which languages.
[00:52] You can choose up to 10 environments and 10 locales at once.
[00:57] And decide when it goes live.
[01:00] Now means immediately, later lets you schedule for a specific date and time up to one year
[01:07] in advance.
[01:08] And yes, Daylight Savings Time quirks are accounted for, so the time shown is the actual
[01:16] time it will go live.
[01:18] Click Send and then you're done.
[01:21] That's it.
[01:23] If this were just an asset instead of an entry, the steps would be the same.
[01:27] Just start in the Assets panel.
[01:29] Let's check it out.
[01:31] This time, head to the Assets panel.
[01:33] Select the file you want to publish and click Publish.
[01:37] The modal here is identical.
[01:39] Pick your environments, pick your locales, choose now or later, and confirm.
[01:45] Just one tip.
[01:46] If you're publishing to a production environment, remember that assets become publicly accessible
[01:52] even if they're not linked anywhere.
[01:54] So only publish when it's ready for prime time.
[01:59] Unpublishing works exactly the same way, but in reverse.
[02:02] It removes your content from environments and locales you select while keeping it safe
[02:08] in your stack.
[02:10] Open an item or an entry.
[02:13] Click the Unpublish icon.
[02:15] Choose your environments and locales, and again decide whether you want to unpublish
[02:19] now or later.
[02:21] Same process for assets, nothing new to learn here.
[02:26] Whether you're publishing or unpublishing, the scheduling flow is identical.
[02:31] Later lets you pick a date, time, and time zone up to a year out.
[02:36] The only difference is whether it's making something live or pulling it back.
[02:41] You don't always have to open an item to publish or unpublish it.
[02:46] From the list view in either the Entries or Assets page, click the Actions menu next to
[02:51] an item and select either Publish or Unpublish.
[02:55] If you have multiple items, you can use the Bulk Actions bar.
[02:59] Select the items using the checkbox on the left, then choose the command Publish or Unpublish
[03:06] from the Actions bar.
[03:07] Again, this works for both entries and assets, and you can save a ton of time.
[03:14] So remember, once you know how to publish and unpublish an entry, you already know how
[03:19] to do it for an asset.
[03:21] The UI, the scheduling, even Bulk Actions, it all works the same way, which means you
[03:27] can focus less on how to get content live and more on creating great content in the
[03:34] 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`

#### 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.

#### Subtitles (WebVTT)

```webvtt
WEBVTT

1
00:00:00.000 --> 00:00:04.900
Sometimes, your publishing plans change.

2
00:00:04.900 --> 00:00:10.080
Maybe the content wasn't ready after all, or priorities shifted.

3
00:00:10.080 --> 00:00:15.920
In Content Stack, canceling a scheduled publish or unpublish is quick, and the process is

4
00:00:15.920 --> 00:00:18.360
the same for entries and assets.

5
00:00:18.360 --> 00:00:20.600
Let's walk through it.

6
00:00:20.600 --> 00:00:25.240
In the App Switcher, make sure you're in the CMS and enter your stack.

7
00:00:25.240 --> 00:00:28.480
Towards the top, you'll see the Publish Queue button.

8
00:00:28.480 --> 00:00:34.440
Shortcut fans, it's Alt plus P on Windows or Option P on a Mac.

9
00:00:34.440 --> 00:00:41.320
Here, you can see every publishing and unpublishing status, based on the filter on the left.

10
00:00:41.320 --> 00:00:46.380
In this case, we have something scheduled to publish with six entries.

11
00:00:46.380 --> 00:00:52.120
We can see what day it was scheduled, and the status column will show you when the job

12
00:00:52.120 --> 00:00:53.900
will be completed.

13
00:00:53.900 --> 00:00:59.700
If you want details on those entries, click the element in the title column to see what's

14
00:00:59.700 --> 00:01:00.700
included.

15
00:01:00.700 --> 00:01:03.620
Now, you can't remove individual elements.

16
00:01:03.620 --> 00:01:07.780
You can just view what the scheduled job includes.

17
00:01:07.780 --> 00:01:12.180
Click the Publish Queue breadcrumb to return to the previous screen.

18
00:01:12.180 --> 00:01:15.100
What if you need to cancel a scheduled activity?

19
00:01:15.100 --> 00:01:16.620
It's easy.

20
00:01:16.620 --> 00:01:19.540
Find the item you want to remove from the schedule.

21
00:01:19.540 --> 00:01:25.140
Over on the right, click the Action menu and choose Cancel Scheduling, and it's gone

22
00:01:25.140 --> 00:01:26.140
from the queue.

23
00:01:26.140 --> 00:01:30.380
You'll need to do this for each scheduled item you want to cancel.

24
00:01:30.380 --> 00:01:37.380
There's no bulk cancel, so double-check the list if you've got multiple to remove.

25
00:01:37.380 --> 00:01:42.740
If you're comfortable with APIs, you can also cancel scheduled actions programmatically

26
00:01:42.740 --> 00:01:46.560
using ContentStack's Content Management API.

27
00:01:46.560 --> 00:01:51.640
This is especially useful if you need to cancel multiple items at once.

28
00:01:51.640 --> 00:01:57.800
Just make sure you have the correct Publishing Queue IDs before running your request.

29
00:01:57.800 --> 00:02:01.440
So, if plans change, you're covered.

30
00:02:01.440 --> 00:02:07.080
Whether it's an entry or an asset, just head to the Publish Queue, filter by date,

31
00:02:07.080 --> 00:02:12.320
and cancel the activity, and your content will stay right where it is, waiting until

32
00:02:12.320 --> 00:02:14.080
you're ready to go live.

```

```transcript
<!-- PLACEHOLDER: replace with real transcript before publish if cues were auto-derived from WebVTT -->
[00:00] Sometimes, your publishing plans change.
[00:04] Maybe the content wasn't ready after all, or priorities shifted.
[00:10] In Content Stack, canceling a scheduled publish or unpublish is quick, and the process is
[00:15] the same for entries and assets.
[00:18] Let's walk through it.
[00:20] In the App Switcher, make sure you're in the CMS and enter your stack.
[00:25] Towards the top, you'll see the Publish Queue button.
[00:28] Shortcut fans, it's Alt plus P on Windows or Option P on a Mac.
[00:34] Here, you can see every publishing and unpublishing status, based on the filter on the left.
[00:41] In this case, we have something scheduled to publish with six entries.
[00:46] We can see what day it was scheduled, and the status column will show you when the job
[00:52] will be completed.
[00:53] If you want details on those entries, click the element in the title column to see what's
[00:59] included.
[01:00] Now, you can't remove individual elements.
[01:03] You can just view what the scheduled job includes.
[01:07] Click the Publish Queue breadcrumb to return to the previous screen.
[01:12] What if you need to cancel a scheduled activity?
[01:15] It's easy.
[01:16] Find the item you want to remove from the schedule.
[01:19] Over on the right, click the Action menu and choose Cancel Scheduling, and it's gone
[01:25] from the queue.
[01:26] You'll need to do this for each scheduled item you want to cancel.
[01:30] There's no bulk cancel, so double-check the list if you've got multiple to remove.
[01:37] If you're comfortable with APIs, you can also cancel scheduled actions programmatically
[01:42] using ContentStack's Content Management API.
[01:46] This is especially useful if you need to cancel multiple items at once.
[01:51] Just make sure you have the correct Publishing Queue IDs before running your request.
[01:57] So, if plans change, you're covered.
[02:01] Whether it's an entry or an asset, just head to the Publish Queue, filter by date,
[02:07] and cancel the activity, and your content will stay right where it is, waiting until
[02:12] 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`

#### 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.

#### Subtitles (WebVTT)

```webvtt
WEBVTT

1
00:00:00.000 --> 00:00:06.260
If your content has lots of connected pieces, like an article that pulls in related images

2
00:00:06.260 --> 00:00:11.900
or product pages that reference other entries, publishing can get tricky.

3
00:00:11.900 --> 00:00:17.100
You don't want to push the main entry live and forget about something it depends on.

4
00:00:17.100 --> 00:00:21.380
That's where Nested Reference Publishing comes in.

5
00:00:21.380 --> 00:00:27.080
It lets you publish an entry or a group of entries and all the entries and assets they

6
00:00:27.080 --> 00:00:31.520
reference up to 5 levels deep in one go.

7
00:00:31.520 --> 00:00:33.760
So nothing gets left behind.

8
00:00:33.760 --> 00:00:39.680
You'll see Nested Reference Publishing in action whenever you click Publish on an entry

9
00:00:39.680 --> 00:00:41.680
that has references.

10
00:00:41.680 --> 00:00:48.960
After you pick your environments and languages, a second modal called Publish References appears.

11
00:00:48.960 --> 00:00:54.360
This is a tree view showing your parent entry at the top with all of its nested references

12
00:00:54.360 --> 00:00:55.760
underneath.

13
00:00:55.760 --> 00:00:59.280
You can expand each level to see what's included.

14
00:00:59.280 --> 00:01:04.880
If you're happy, click Send with References and everything gets published together.

15
00:01:04.880 --> 00:01:10.420
This works for single entries or bulk publishing multiple parent entries at once.

16
00:01:10.420 --> 00:01:11.760
Why is this helpful?

17
00:01:11.760 --> 00:01:17.440
Well, without this feature, you'd have to track down and publish each referenced entry

18
00:01:17.440 --> 00:01:22.080
or asset manually, and it's easy to miss something.

19
00:01:22.080 --> 00:01:26.900
Nested Reference Publishing ensures you're sending the latest version of everything in

20
00:01:26.900 --> 00:01:33.360
that structure across all the environments and languages you select.

21
00:01:33.360 --> 00:01:38.640
If something can't be published, maybe it's missing required fields or stuck in an earlier

22
00:01:38.640 --> 00:01:44.080
workflow stage or needs approval, you'll see a warning icon in the tree.

23
00:01:44.080 --> 00:01:47.400
However, hover over it to learn why.

24
00:01:47.400 --> 00:01:54.520
You can even jump directly to that entry, fix the issue, and return to Publish again.

25
00:01:54.520 --> 00:01:56.240
One important detail.

26
00:01:56.240 --> 00:02:03.040
If a child entry fails validation, its own nested references won't be published either.

27
00:02:03.040 --> 00:02:07.640
Once you send it, your job appears in the Publish queue as a bulk action.

28
00:02:07.640 --> 00:02:12.480
There's a new summary column showing how many items published successfully and how

29
00:02:12.480 --> 00:02:18.160
many are still in progress, and if any failed or were skipped or need approval, you can

30
00:02:18.160 --> 00:02:22.800
click into the job to see the full breakdown of each item.

31
00:02:22.800 --> 00:02:28.040
Nested Reference Publishing takes the guesswork out of publishing complex content.

32
00:02:28.040 --> 00:02:34.400
One action and everything connected goes live, saving you time, reducing mistakes, and making

33
00:02:34.400 --> 00:02:40.160
sure your audience sees the complete picture the moment you hit Publish.

```

```transcript
<!-- PLACEHOLDER: replace with real transcript before publish if cues were auto-derived from WebVTT -->
[00:00] If your content has lots of connected pieces, like an article that pulls in related images
[00:06] or product pages that reference other entries, publishing can get tricky.
[00:11] You don't want to push the main entry live and forget about something it depends on.
[00:17] That's where Nested Reference Publishing comes in.
[00:21] It lets you publish an entry or a group of entries and all the entries and assets they
[00:27] reference up to 5 levels deep in one go.
[00:31] So nothing gets left behind.
[00:33] You'll see Nested Reference Publishing in action whenever you click Publish on an entry
[00:39] that has references.
[00:41] After you pick your environments and languages, a second modal called Publish References appears.
[00:48] This is a tree view showing your parent entry at the top with all of its nested references
[00:54] underneath.
[00:55] You can expand each level to see what's included.
[00:59] If you're happy, click Send with References and everything gets published together.
[01:04] This works for single entries or bulk publishing multiple parent entries at once.
[01:10] Why is this helpful?
[01:11] Well, without this feature, you'd have to track down and publish each referenced entry
[01:17] or asset manually, and it's easy to miss something.
[01:22] Nested Reference Publishing ensures you're sending the latest version of everything in
[01:26] that structure across all the environments and languages you select.
[01:33] If something can't be published, maybe it's missing required fields or stuck in an earlier
[01:38] workflow stage or needs approval, you'll see a warning icon in the tree.
[01:44] However, hover over it to learn why.
[01:47] You can even jump directly to that entry, fix the issue, and return to Publish again.
[01:54] One important detail.
[01:56] If a child entry fails validation, its own nested references won't be published either.
[02:03] Once you send it, your job appears in the Publish queue as a bulk action.
[02:07] There's a new summary column showing how many items published successfully and how
[02:12] many are still in progress, and if any failed or were skipped or need approval, you can
[02:18] click into the job to see the full breakdown of each item.
[02:22] Nested Reference Publishing takes the guesswork out of publishing complex content.
[02:28] One action and everything connected goes live, saving you time, reducing mistakes, and making
[02:34] 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/` |
