# Taxonomy Foundations

### About this export

| Field | Value |
| --- | --- |
| **content_type** | course |
| **platform** | contentstack-academy |
| **source_url** | https://www.contentstack.com/academy/courses/taxonomy-foundations |
| **language** | en |
| **product_area** | Contentstack Academy |
| **learning_path** | contentstack-developer-certification |
| **course_id** | taxonomy-foundations |
| **slug** | taxonomy-foundations |
| **version** | 2026-08-14 |
| **last_updated** | 2026-08-17 |
| **status** | published |
| **keywords** | ["Contentstack Academy"] |
| **summary_one_line** | This course is intended to outline the Contentstack features and techniques for using the Taxonomy features with your content, understand the APIs, and how to leverage Taxonomy within your implementation. Completion of t… |
| **total_duration_minutes** | 68 |
| **lessons_count** | 24 |
| **video_lessons_count** | 10 |
| **text_lessons_count** | 14 |
| **linked_learning_path** | contentstack-developer-certification |
| **linked_assessment_ref** | LMS_UNCONFIGURED_COURSE_ASSESSMENT |
| **markdown_file_url** | /academy/md/courses/taxonomy-foundations.md |
| **generated_at** | 2026-08-17T13:10:40.187Z |
| **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 | 1h 8m 5s |
| Released (if known) | 2026-08-17 |
| Product area | Contentstack Academy |

### Description

This course is intended to outline the Contentstack features and techniques for using the Taxonomy features with your content, understand the APIs, and how to leverage Taxonomy within your implementation.  Completion of this course earns a 'badge' for this topic.!

Required for this course:

1.  Account in Contentstack with access to a Stack as an Administrator or Developer. Create a training Stack [here](https://www.contentstack.com/academy/training-instance). Training stacks are available for 90 days. Alternatively, you can bootstrap a [Starter App via the CLI](https://www.contentstack.com/docs/headless-cms/cli-bootstrap-starter-apps) or from the [Marketplace](https://app.contentstack.com/#!/marketplace/starters). 
    
2.  Permissions to create a new Taxonomy and edit Content Types in a Stack.

### Overview

**What this course is:**

*   A comprehensive guide for developers aiming to understand the intricacies of using taxonomy
    
*   An exploration into the APIs that can be used to create, manage and use taxonomy
    
*   A deep dive into understanding the unique benefits of taxonomy
    

**What this course is not:**

*   A tutorial on developing or integrating taxonomy with your front end
    
*   An exhaustive course that delves into every minute detail related to taxonomy.

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

Contentstack Academy

## Course structure

```text
taxonomy-foundations/
├── 01-taxonomy-in-content-management · text · 1 min
├── 02-welcome-to-taxonomy · video · 42s
├── 03-configuring-postman-with-the-contentstack-apis · text · 1 min
├── 04-using-postman-and-apis-in-contentstack · video · 154s
├── 05-creating-a-taxonomy · text · 1 min
├── 06-creating-a-taxonomy-walkthrough · video · 76s
├── 07-using-the-taxonomy-in-a-content-type · text · 1 min
├── 08-using-a-taxonomy-to-a-content-type-walkthrough · video · 121s
├── 09-editing-a-taxonomy · text · 1 min
├── 10-editing-a-taxonomy-walkthrough · video · 82s
├── 11-add-taxonomy-to-a-content-type · text · 1 min
├── 12-deleting-a-taxonomy · text · 1 min
├── 13-exporting-a-taxonomy · text · 1 min
├── 14-import-a-taxonomy · video · 143s
├── 15-creating-terms · text · 1 min
├── 16-editing-terms · text · 1 min
├── 17-deleting-terms · text · 1 min
├── 18-content-management-apis-for-taxonomy · text · 1 min
├── 19-using-the-content-management-api-to-read-the-taxonomy-information · video · 227s
├── 20-creating-a-new-taxonomy-with-the-content-management-api · video · 208s
├── 21-querying-using-the-taxonomy-in-operator · video · 400s
├── 22-querying-with-the-taxonomy-equals-or-below-operator · video · 112s
├── 23-use-cases-for-taxonomy · text · 1 min
├── 24-taxonomy-foundations-quiz · quiz (LMS only) · 3 min
```

## Lessons

### Lesson 01 — Taxonomy in Content Management

<!-- ai_metadata: {"lesson_id":"01","type":"text","duration_minutes":1,"topics":["Taxonomy","Content","Management"]} -->

#### Lesson text

## **Introduction to Taxonomy in Content Management**

Welcome to the Taxonomy course in Contentstack! This module will explore how taxonomy is crucial in organizing and managing content within your digital ecosystem.

## **Understanding Taxonomy**

Taxonomy helps you categorize pieces of content within your stack to facilitate easy navigation, search, and retrieval of information. You can hierarchically organize your web properties based on your requirements, such as their purpose, target audience, or any other aspects of your business.

This systematic organization gives developers and content managers complete control over their content and helps users find relevant content more efficiently, thus improving the overall user experience.

## **Key Features of Taxonomy**

Let's delve into the key features of Taxonomy as they apply to Contentstack:

1.  **Structured Hierarchy:** Taxonomies arrange terms in a hierarchical structure, simplifying the categorization and navigation of information.
    
2.  **Categorization and Classification:** With taxonomy, you can categorize and classify entries using terms, enabling you to group similar content elements together logically.
    
3.  **Enhanced Search Efficiency:** By narrowing down search results to relevant categories, taxonomy enhances search efficiency, allowing users to find the content they need quickly and effortlessly.
    
4.  Use the APIs to retrieve Entries tagged with Taxonomy terms in the frontend web application.
    

## **Role-based Advantages**

Now, let's explore how Taxonomy benefits different roles within your organization:

1.  **Content Managers:** Taxonomy significantly enhances content organization and navigation for content managers. They can categorize and manage content across multiple types, making locating and maintaining specific content easier.
    
2.  **Developers:** For developers, Taxonomy offers a structured approach to organizing content facilitating the building and maintenance of website content. Developers can access content based on taxonomy terms using the APIs, allowing more advanced queries with the Content Delivery API.
    
3.  **Content Editors:** Taxonomy streamlines workflow for content editors, allowing them to navigate and categorize content intuitively due to the hierarchical structure. This boosts productivity and reduces the time spent searching for specific content.
    

## **Real-World Example: E-commerce Product Taxonomy**

Imagine you are managing an e-commerce platform that sells a wide range of products, from electronics to clothing. Let's apply the principles of taxonomy to organize the product catalog effectively.

**1\. Structured Hierarchy:**

*   **Category:** Electronics
    
    *   **Subcategories:** Smartphones, Laptops, Cameras
        
    
*   **Category:** Clothing
    
    *   **Subcategories:** Men's Clothing, Women's Clothing, Kids' Clothing
        
    
*   **Category:** Home & Kitchen
    
    *   **Subcategories:** Furniture, Appliances, Cookware
        
    

**2\. Categorization and Classification:**

*   Within the "Smartphones" subcategory, products can be further classified based on brands such as Apple, Samsung, or Google.
    
*   In the "Men's Clothing" category, items can be categorized by type, including shirts, pants, and accessories.
    

**3\. Enhanced Search Efficiency:**

*   A user searching for "Samsung smartphones" can quickly find relevant products within the "Smartphones" category under the "Electronics" section, narrowing down search results.
    
*   Similarly, searching for "men's shirts" will lead users to the appropriate category within the "Clothing" section.

#### Key takeaways

- Connect **Taxonomy in Content Management** 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 — Welcome to Taxonomy

<!-- ai_metadata: {"lesson_id":"02","type":"video","duration_seconds":42,"video_url":"https://cdn.jwplayer.com/previews/YZUposI4","thumbnail_url":"https://cdn.jwplayer.com/v2/media/YZUposI4/poster.jpg?width=720","topics":["Welcome","Taxonomy"]} -->

#### Video details

#### At a glance

- **Title:** Welcome To Taxonomy2 1
- **Duration:** 42s
- **Media link:** https://cdn.jwplayer.com/previews/YZUposI4
- **Publish date (unix):** 1716053020

#### Streaming renditions

- application/vnd.apple.mpegurl
- video/mp4 · 180p · 180p · 165136 kbps

#### Timed text tracks (delivery)

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

#### Video transcript

Welcome to the content set course on taxonomy. In this course, we're going to learn how to use taxonomy, both in the UI and also with APIs. This means creating a new taxonomy, applying that to content types, and then querying it on our front end. To get started, you first need to create an Academy Trading instance. After you do that, in your entries list, you should have something like this. Don't worry if your taxonomies in the bottom left is empty. This is something we're going to do in this course, is create a new taxonomy and apply it to our characters. Let's get started.

#### Key takeaways

- Connect **Welcome to Taxonomy** 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 — Configuring Postman with the Contentstack APIs

<!-- ai_metadata: {"lesson_id":"03","type":"text","duration_minutes":1,"topics":["Configuring","Postman","with","the","Contentstack","APIs"]} -->

#### Lesson text

If you have not yet configured Postman to work with the Academy training instance, this module will help you download and setup the Contentstack Postman collections.

1. [Download the Postman collections](https://www.contentstack.com/docs/developers/apis/postman-collections)

2. [Download and install the Environment files for both Content Management and Content Delivery](https://www.contentstack.com/docs/developers/apis/postman-collections)

3\. Create a [Delivery Token](https://www.contentstack.com/docs/headless-cms/create-a-delivery-token) for Preview and Production

4.  Create a [Management Token](https://www.contentstack.com/docs/headless-cms/generate-a-management-token)

#### Key takeaways

- Connect **Configuring Postman with the Contentstack APIs** 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 04 — Using Postman and APIs in Contentstack

<!-- ai_metadata: {"lesson_id":"04","type":"video","duration_seconds":154,"video_url":"https://cdn.jwplayer.com/previews/DDTlVklX","thumbnail_url":"https://cdn.jwplayer.com/v2/media/DDTlVklX/poster.jpg?width=720","topics":["Using","Postman","and","APIs","Contentstack"]} -->

#### Video details

#### At a glance

- **Title:** Using Postman Aand Apis In Contentstack2
- **Duration:** 2m 34s
- **Media link:** https://cdn.jwplayer.com/previews/DDTlVklX
- **Publish date (unix):** 1716059980

#### Streaming renditions

- application/vnd.apple.mpegurl
- video/mp4 · 180p · 180p · 155142 kbps

#### Timed text tracks (delivery)

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

#### Video transcript

In this video, we're going to take a look at setting up the Contest Act Postman environment and the API tokens. Let's get started. First, you want to go download the Postman collection. You can do that in a couple of places. One is you can go to the Contest Act GitHub repo, or two, you can go to the Contest Act documentation and download it from there. That's located over here under APIs and Postman collections. After you download the Postman collection and open it in Postman, you'll want to next download the environment files. Those are over here under the GitHub repo. Scroll down and see the environment files. You want to download the one for content management API and also a content delivery API. After you download those in Postman, come over here under the environment section, and then open up your file system, and you can drag and drop your file from here over there. You can see here I've previously done that, so it's going to ask me if I want to import that as a copy. I'm just going to close this because I've imported it over here. After that, you can go ahead and open your Postman file and check out all your settings. You'll want to go ahead and set the base URL, the API key, and the delivery token. Finally, also the production environment. Next, we want to go into Content Stack and go into tokens and create a new token. Your training environment initially comes with one token installed for the development environment. However, for preview or for production, we want to create a new delivery token. Let's go ahead and make a new delivery token for production. Here, I'm going to call it production branches main, and then the environment is production. That's all. Let's go ahead and generate the token. Here now we can see we've got a delivery token that is only for the production environment. We also have a stack API key. The preview token is actually for the preview service in Content Stack. It's not for an environment, so don't worry about that. We don't use that for now. We can go ahead now and copy our delivery token over here and then paste it right there. We also have the API key, very important. We can paste our API key up here under current value. That's all we need to do to get started with using Postman and the APIs in Content Stack. Thank you.

#### Key takeaways

- Connect **Using Postman and APIs in Contentstack** 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 05 — Creating a Taxonomy

<!-- ai_metadata: {"lesson_id":"05","type":"text","duration_minutes":1,"topics":["Creating","Taxonomy"]} -->

#### Lesson text

**Introduction:** In this module, you will learn how to create a taxonomy within Contentstack to effectively organize and structure your website's content.

**Understanding Taxonomy:** Taxonomies enable efficient content management and retrieval.  Centrally managing taxonomies allow organizations to classify their content in a structured manner, enabling them to easily find content and also retrieve content based on the taxonomy and terms applied.  In this course, we will look at how we can use taxonomies in Contentstack to structure and organize our content.

**Step-by-Step Guide:**

1.  **Accessing Taxonomy Settings:**
    
    *   Log in to your Contentstack account.
        
    *   Navigate to the desired stack where you want to create a taxonomy.
        
    *   Click on the "Settings" icon (shortcut: press "S") located on the left navigation panel.
        
    *   Select "Taxonomy" from the settings menu.  
        
    

![new-taxonomy.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/bltff4db51667495e31/6649053a4bfb7158ef42c0f1/new-taxonomy.png)

1.  **Creating a New Taxonomy:**
    
    *   Once in the Taxonomy section, click on the "+ New Taxonomy" button.
        
    *   Enter a Name for your taxonomy. Please note that the Unique ID will be auto-generated and can be edited until the taxonomy is saved. Once saved, the UID cannot be changed.
        
    *   Optionally, you can add a 'Description' of your taxonomy to provide additional context.
        
    *   Click on "Create Taxonomy" to finalize the creation process.
        
    

![new-dialog.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/bltcb31202438264335/6649059b16e6bf7617590c83/new-dialog.png)

**Adding Terms to the Taxonomy:**

*   Within your newly created taxonomy, you can begin adding terms associated with the taxonomy.
    
*   For example, if your taxonomy is based on "Superhero," you can create terms such as "Natural Powers," "Mystic Origins," "Scientific Experimentation," "Super Strength," etc.
    
*   This step allows you to further organize and classify your content based on specific criteria.
    

![terms.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt1cafb7dd805ee8bb/664905e8d4d02ee5f02eaba3/terms.png)

**Conclusion:** Congratulations! You have successfully learned how to create a taxonomy within Contentstack to organize and structure your website's content. By leveraging taxonomies, you can enhance the usability and navigation of your website, providing users with a seamless browsing experience. Don't forget that **you can also create taxonomies programmatically using the** [Create a Taxonomy API request](https://www.contentstack.com/docs/developers/apis/content-management-api#taxonomy) **for added flexibility and automation**.

#### Key takeaways

- Connect **Creating a Taxonomy** 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 06 — Creating a Taxonomy Walkthrough

<!-- ai_metadata: {"lesson_id":"06","type":"video","duration_seconds":76,"video_url":"https://cdn.jwplayer.com/previews/be5PP5tQ","thumbnail_url":"https://cdn.jwplayer.com/v2/media/be5PP5tQ/poster.jpg?width=720","topics":["Creating","Taxonomy","Walkthrough"]} -->

#### Video details

#### At a glance

- **Title:** Create Taxonomy2
- **Duration:** 1m 16s
- **Media link:** https://cdn.jwplayer.com/previews/be5PP5tQ
- **Publish date (unix):** 1716059980

#### Streaming renditions

- application/vnd.apple.mpegurl
- audio/mp4 · AAC Audio · 114312 kbps
- video/mp4 · 180p · 180p · 139310 kbps
- video/mp4 · 270p · 270p · 153269 kbps
- video/mp4 · 360p · 360p · 167765 kbps
- video/mp4 · 406p · 406p · 176702 kbps
- video/mp4 · 540p · 540p · 204115 kbps
- video/mp4 · 720p · 720p · 244098 kbps
- video/mp4 · 1080p · 1080p · 329504 kbps

#### Timed text tracks (delivery)

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

#### Video transcript

In this video, we're going to use Content Stack and create a new taxonomy for our superheroes. Let's get started. First, open Content Stack and navigate to the Entry Slip page. In the bottom left, notice we have taxonomies. We're going to click Create Taxonomy. In the Create Taxonomy window, let's go ahead and click New Taxonomy. For my taxonomy name, I'm going to use a taxonomy called Superhero Taxonomy. And click Create Taxonomy. That's it. Now, in our Superhero Taxonomy, we have some options to create a new term. So let's click Create Term. And this is going to be called Superhero Powers. And hit Save. And now we have the option to create some new terms under here, some child terms or sibling terms. So at this point, I want to create a new sibling term, and I can do that either here or also over there as well. And I'm going to create a child term, and I might say Flight. And hit Save. That's how easy it is to create a new taxonomy in Content Stack. Thank you.

#### Key takeaways

- Connect **Creating a Taxonomy 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.

### Lesson 07 — Using the Taxonomy in a Content Type

<!-- ai_metadata: {"lesson_id":"07","type":"text","duration_minutes":1,"topics":["Using","the","Taxonomy","Content","Type"]} -->

#### Lesson text

After we create a Taxonomy we  need to add it to a Content Type before we can start using it.  To do that, we will need to edit an existing Content Type and add a new Taxonomy field.  Currently, Contentstack allows one Taxonomy field per Content Type, and within this field it is possible to select one or more taxonomies to use for selecting and adding terms to the Entry.  Let's take a look at a practical example to understand how we can add our Taxonomy to our Content Type. 

1.  Navigate to the Content Models window and edit the **Character Content Type**.

2.  Add a new Taxonomy field

![taxonomy-content-type.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/bltf9b6eb87c30d5f53/6649073a0a0de6d1a2314d19/taxonomy-content-type.png)3\. Select the Superhero Taxonomy 

![superhero-taxonomy.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt023a2d4f291d753e/664907705c2483f6a6bc3484/superhero-taxonomy.png)4\. Save the Content Type

#### Key takeaways

- Connect **Using the Taxonomy in a Content Type** 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 08 — Using a Taxonomy to a Content Type Walkthrough

<!-- ai_metadata: {"lesson_id":"08","type":"video","duration_seconds":121,"video_url":"https://cdn.jwplayer.com/previews/NejnWu2Y","thumbnail_url":"https://cdn.jwplayer.com/v2/media/NejnWu2Y/poster.jpg?width=720","topics":["Using","Taxonomy","Content","Type","Walkthrough"]} -->

#### Video details

#### At a glance

- **Title:** Add Taxonomy  To Content Type2
- **Duration:** 2m 1s
- **Media link:** https://cdn.jwplayer.com/previews/NejnWu2Y
- **Publish date (unix):** 1716059980

#### Streaming renditions

- application/vnd.apple.mpegurl
- audio/mp4 · AAC Audio · 113868 kbps
- video/mp4 · 180p · 180p · 141145 kbps
- video/mp4 · 270p · 270p · 156528 kbps
- video/mp4 · 360p · 360p · 172007 kbps
- video/mp4 · 406p · 406p · 181781 kbps
- video/mp4 · 540p · 540p · 209813 kbps
- video/mp4 · 720p · 720p · 251664 kbps
- video/mp4 · 1080p · 1080p · 344844 kbps

#### Timed text tracks (delivery)

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

#### Video transcript

Let's now use our newly created taxonomy in a content type. To get started, first navigate to the content models window, and in content types, open the character content type. Here we want to add our new taxonomy. For that, after the URL field, click on the plus icon, and here select taxonomy. First, you can only have one taxonomy per content type. So this is my one taxonomy field. I'm going to leave it named as taxonomy, and unique ID is always taxonomies. I'm going to go ahead and click outside this window, and then click the add taxonomy button. Here at add taxonomy, we now have a chance to select our superhero taxonomy. Let's go ahead and choose that. I also have the option to enter a maximum number of terms. I'm going to leave that empty for now, and I'm going to keep it as an optional field. It's always a good idea when you're editing an existing content type, is to add them as optional fields, so that the data does not need to be updated for all the entries. So let's go ahead and click apply. That's all we have to do to add our new taxonomy field. So click save and close, and now let's tag one of our characters with some superhero powers. So go over to entries, and select one of the composable heroes here. I'm going to go ahead and choose cyber search. Here under terms, I'm going to open that up and choose origin. I'm going to choose natural powers. Under powers and abilities, I want to choose flight, and then click apply. Finally, I want to save this item, and now I've tagged this character with these two terms. That gives me many things I can do in content stack, including filtering these items based on taxonomy. So now I can go into the bottom left, choose origin, and finally choose natural powers. You can see my cyber search character is returned. Thanks for watching this video.

#### Key takeaways

- Connect **Using a Taxonomy to a Content Type 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.

### Lesson 09 — Editing a Taxonomy

<!-- ai_metadata: {"lesson_id":"09","type":"text","duration_minutes":1,"topics":["Editing","Taxonomy"]} -->

#### Lesson text

Welcome to the module on editing taxonomies within Contentstack! This module will explore how to easily modify your taxonomies to suit your evolving content organization needs.

**Overview**

Once you've created a taxonomy, you may need to make adjustments, such as updating its name or description. This module will guide you through the steps to edit a taxonomy efficiently.

**Accessing Taxonomies**

To begin editing a taxonomy, follow these steps:

1.  **Log in:** Access your Contentstack account.
    
2.  **Navigate to Settings:** On the left navigation panel, click on the "Settings" icon (shortcut: press "S").
    
3.  **Select Taxonomy:** Within the Settings section, choose the "Taxonomy" option.
    

**Editing a Taxonomy**

Once you've accessed the Taxonomy section, follow these steps to edit a taxonomy:

1.  **Locate the Taxonomy:** Identify the taxonomy you wish to edit from the list displayed.
    
2.  **Access Edit Options:** In the Actions column for the respective taxonomy, click on the ellipsis (three dots) icon.
    
3.  **Initiate Editing:** Select the "Edit" button from the options provided.
    

![edit-taxonomy.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blted5a3726271be0d9/6649083e42843219ee1989c5/edit-taxonomy.png)

**Making Changes**

In the Edit Taxonomy modal, you can modify the following aspects of the taxonomy:

*   **Taxonomy Name:** Update the name of the taxonomy to reflect any changes in its purpose or scope.
    
*   **Description:** Edit or add a description to provide context or additional information about the taxonomy.
    

Please note: The Taxonomy UID cannot be edited once the taxonomy is created.

**Saving Changes**

Once you've made the necessary edits, click the "Update" button in the Edit Taxonomy modal to save your changes.

![save-edits.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/bltd92f9c2458b232ef/6649086b6d7055d1ed4d90d9/save-edits.png)

**Conclusion**

In this module, you've learned how to effectively edit taxonomies within Contentstack, enabling you to adapt your content organization structure to meet your requirements better. Should you have further questions or require assistance, don't hesitate to contact our support team.

#### Key takeaways

- Connect **Editing a Taxonomy** 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 10 — Editing a Taxonomy Walkthrough

<!-- ai_metadata: {"lesson_id":"10","type":"video","duration_seconds":82,"video_url":"https://cdn.jwplayer.com/previews/Xy8ZLX3e","thumbnail_url":"https://cdn.jwplayer.com/v2/media/Xy8ZLX3e/poster.jpg?width=720","topics":["Editing","Taxonomy","Walkthrough"]} -->

#### Video details

#### At a glance

- **Title:** Editing A Taxonomy2
- **Duration:** 1m 22s
- **Media link:** https://cdn.jwplayer.com/previews/Xy8ZLX3e
- **Publish date (unix):** 1716059980

#### Streaming renditions

- application/vnd.apple.mpegurl
- audio/mp4 · AAC Audio · 114794 kbps
- video/mp4 · 180p · 180p · 139060 kbps
- video/mp4 · 270p · 270p · 152411 kbps
- video/mp4 · 360p · 360p · 165844 kbps
- video/mp4 · 406p · 406p · 174281 kbps
- video/mp4 · 540p · 540p · 199306 kbps
- video/mp4 · 720p · 720p · 237840 kbps
- video/mp4 · 1080p · 1080p · 315549 kbps

#### Timed text tracks (delivery)

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

#### Video transcript

Let's make some changes to an existing taxonomy. Currently we have a superhero taxonomy defined, and in the superhero taxonomy, we have superhero powers, and one power called flight. What if I wanted to change that to flying? Let's see how we can do that. So go into settings, and in settings, taxonomy. Over here in taxonomy, open superhero taxonomy, open the superhero powers, and here you see flight. Let's go ahead and select that. You can see that I can currently now change my term name to flying. However, my term UID is already set, and it's read-only. This is similar to content types, where we cannot change the name of certain fields in the content type because we don't want to break it, and that's the same idea here. So we can change the display name, but we don't want to change the UID because that could break other things. So just to be safe, what we can allow now is to change the term name, so our marketing teams can use the word flying instead of flight, but our code is going to use flight still because that's the UID that was created once we created this the first time. Hopefully this makes sense, and you can understand why we've made these choices and how easy it is to update the display names, but yet the underlying UIDs will always stay the same. Thank you.

#### Key takeaways

- Connect **Editing a Taxonomy 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.

### Lesson 11 — Add Taxonomy to a Content Type

<!-- ai_metadata: {"lesson_id":"11","type":"text","duration_minutes":1,"topics":["Add","Taxonomy","Content","Type"]} -->

#### Lesson text

Here's a step-by-step guide for adding a taxonomy to a content type in your Contentstack account:

**1\. Log in to Your Contentstack Account:**  
   Open your web browser and navigate to the Contentstack login page. Enter your credentials to log in to your account.

**2\. Access Content Models:**  
   Once logged in, you'll be directed to your dashboard. On the left navigation panel, click the "Content Models" icon. Then, either create a new content type or select an existing one where you want to add the taxonomy.

**3\. Open Content Type Builder:**  
   On the "Content Type Builder" page, you'll see the fields of your selected content type. To add a new field, click the "Insert a field" (+ icon) that appears when you hover the cursor.

**4\. Select Taxonomy Field:**  
   From the list of available fields, choose "Taxonomy."  

![add-taxonomy.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt1955decba4e089d9/664909a4dda14b775adff5fb/add-taxonomy.png)

**5\. Configure Taxonomy Field Properties:**  
   Click on the properties (cog icon) to configure the properties of the taxonomy field.

Note: that the default UID for the taxonomy field is set to "taxonomies" and cannot be updated.

![configure.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/bltb17fde85126bc9a8/664909d0dda14bd66fdff5ff/configure.png)

**6\. Add Taxonomy:**  
   Click the "+ Add Taxonomy" button. A dropdown menu will appear with available taxonomies within the stack. Select the taxonomy you want to add.  
Note: You can include multiple taxonomies within a single taxonomy field in a content type.

![add-taxonomy2.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt773afb5030bd9b0c/66490a045c2483cdbcbc3488/add-taxonomy2.png)

**7\. Set Maximum Number of Terms:**  
   You can limit the maximum number of terms for the taxonomy field by entering a number in the "Maximum Number of Terms" field.

**Note** that the maximum number of terms allowed per entry is 25.

**8\. Make Field Mandatory (Optional):**  
   If you want to make this taxonomy field mandatory, disable the "Optional Field" toggle.

**9\. Apply Changes:**  
    Once you've configured the taxonomy field according to your requirements, click "Apply" to add the taxonomy to the content type.

**11\. Start Categorizing Entries:**  
    With the taxonomy field added to your content type, you can begin adding entries and categorizing them using your selected taxonomy.  
**10\. Confirmation:**  
    Upon successful addition, you'll receive a confirmation message. You can now see the taxonomy field included in your content type.

![confirm.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/bltb0f09f2ab2af37b2/66490a375fd9afddf270e288/confirm.png)By following these steps, you can seamlessly integrate taxonomy into your content types and efficiently organize your content.

#### Key takeaways

- Connect **Add Taxonomy to a Content Type** 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 12 — Deleting a Taxonomy

<!-- ai_metadata: {"lesson_id":"12","type":"text","duration_minutes":1,"topics":["Deleting","Taxonomy"]} -->

#### Lesson text

Welcome to the module on Deleting a Taxonomy in Contentstack. In this module, we'll explore the process of removing a taxonomy from your stack.

**Introduction**

If you have any questions or need assistance, please contact our support team for more information.

**Deleting a Taxonomy**

Contentstack allows you to delete a taxonomy you've created within your stack. However, it's crucial to understand that unless you're the Owner or Admin of the stack, you cannot delete taxonomies created by other stakeholders.

**Step-by-Step Guide**

Let's walk through the steps to delete a taxonomy:

1.  **Accessing Taxonomy Settings:**
    
    *   Log in to your Contentstack account and navigate to the stack where you want to delete a taxonomy.
        
    *   Click on the "Settings" icon (shortcut: press "S") located on the left navigation panel.
        
    *   Select "Taxonomy" from the settings options.
        
    
2.  **Selecting and Deleting the Taxonomy:**
    
    *   Identify the taxonomy you wish to delete from the list.
        
    *   Click on the "ellipsis" (three dots) icon in the Actions column next to the taxonomy you want to remove.
        
    *   From the dropdown menu, choose "Delete."
        
    

![delete.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt3d7ef070c8554ae8/66490ab952619d0cc1a90a6c/delete.png)

1.  **Confirming Deletion:**
    
    *   In the prompted Delete Taxonomy modal, type "DELETE" to confirm your action.
        
    *   Click on the "Delete" button to finalize the deletion process.
        
    

![delete-confirm.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt8e1438a4941b4fbc/66490ae70b508aca6cdcfc91/delete-confirm.png)  
**Warning**

It's important to understand the consequences of deleting a taxonomy:

*   Permanent deletion of the taxonomy and removal of its association with added content types.
    
*   Deletion of all terms within the taxonomy and removal from entries.
    

**Additional Deletion Option**

Alternatively, you can also delete a taxonomy by following these steps:

*   Click on the "ellipsis" (three dots) at the top right corner of the taxonomy page.
    
*   Select "Delete Taxonomy."
    

![delete-confirm.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blta3dc2fcc177f1e2f/66490b55428432fa191989cc/delete-confirm.png)  
**Conclusion**

In conclusion, deleting a taxonomy in Contentstack involves a straightforward process, but it's essential to proceed with caution due to the permanent nature of this action. Understanding the implications of deletion ensures smooth management of your content structure.

#### Key takeaways

- Connect **Deleting a Taxonomy** 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 13 — Exporting a Taxonomy

<!-- ai_metadata: {"lesson_id":"13","type":"text","duration_minutes":1,"topics":["Exporting","Taxonomy"]} -->

#### Lesson text

With Contentstack, you can easily export a taxonomy in a JSON or CSV file.

To export a taxonomy, log in to your [Contentstack account](https://www.contentstack.com/login) and perform the following steps:

1.  Go to your [stack](https://www.contentstack.com/docs/headless-cms/about-stack) where you want to export a taxonomy, navigate to the “Settings” icon (press “S”) on the left navigation panel, and select **Taxonomy**.
    
2.  Select the taxonomy you want to export and click the “ellipsis” (three dots) in the **Actions** column.
    
3.  Choose the file format for exporting your taxonomy by selecting either **Export as JSON** or **CSV**.
    

![export.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/bltdd5f3916194f4ddc/66490bbadda14b0548dff606/export.png)This will download your taxonomy's JSON or CSV file and save it to your local storage system.

#### Key takeaways

- Connect **Exporting a Taxonomy** 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 14 — Import a Taxonomy

<!-- ai_metadata: {"lesson_id":"14","type":"video","duration_seconds":143,"video_url":"https://cdn.jwplayer.com/previews/AInQnmQp","thumbnail_url":"https://cdn.jwplayer.com/v2/media/AInQnmQp/poster.jpg?width=720","topics":["Import","Taxonomy"]} -->

#### Video details

#### At a glance

- **Title:** Import Taxonomy2
- **Duration:** 2m 23s
- **Media link:** https://cdn.jwplayer.com/previews/AInQnmQp
- **Publish date (unix):** 1716059980

#### Streaming renditions

- application/vnd.apple.mpegurl
- audio/mp4 · AAC Audio · 113508 kbps
- video/mp4 · 180p · 180p · 137602 kbps
- video/mp4 · 270p · 270p · 149550 kbps
- video/mp4 · 360p · 360p · 165266 kbps
- video/mp4 · 406p · 406p · 174197 kbps
- video/mp4 · 540p · 540p · 201025 kbps
- video/mp4 · 720p · 720p · 236207 kbps
- video/mp4 · 1080p · 1080p · 323813 kbps

#### Timed text tracks (delivery)

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

#### Video transcript

In this video, we're going to see how we can import a taxonomy from a CSV or a JSON file. Let's get started. First, navigate to Settings, and then Taxonomy. Once we're in Taxonomy, notice in the top right we have the Create New Taxonomy button, and next to that, we have the option to import a new taxonomy. Let's check that import option. Now it's going to ask me to upload a CSV or a JSON file. I previously downloaded my superhero taxonomy over here and then updated the JSON file to create a superhero origins taxonomy. What does that look like? I have this open in Visual Studio Code, and you can see that I have my JSON defined here, including my taxonomy with a UID of superhero origin taxonomy and a name, superhero origin taxonomy. Under that, we have terms. My parent term is superhero origin, and then my child term is science experiment with a parent UID of superhero origin. Now I could continue following the same format to create additional terms under superhero origin, and those will be imported when I import this project. So for example, I could come down here, copy that, and maybe the superhero origin might be, oh, I see there's a small typo there, and the UID here could be another origin, so we could say from a different planet maybe. So it could say they're from a different, this is a case with Superman, who's obviously from another planet, and he gets his superpowers from there. So you can see here different planet, and my parent ID is superhero origin. So that's it. So let's go back into our browser now. We can say choose file and choose our taxonomy, and you can say choose how to display on the top of the list and click done. So now we see superhero origin taxonomy is there, and when we open that up, we should see it has two terms. One is science experiment, and the other one is different planets. That's it for this video. Thank you very much.

#### Key takeaways

- Connect **Import a Taxonomy** 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 15 — Creating Terms

<!-- ai_metadata: {"lesson_id":"15","type":"text","duration_minutes":1,"topics":["Creating","Terms"]} -->

#### Lesson text

Terms serve as the primary classification elements within a taxonomy, allowing you to establish hierarchical structures and incorporate them into entries.

**Example -** In the Superhero taxonomy, we have two child terms: Origin & Powers and Abilities.  Each of these terms has two child terms. 

**Another Example -** In a taxonomy related to "Animals," terms could include "Mammals," "Birds," "Reptiles," etc. Each of these terms represents a distinct category within the taxonomy.

Terms are used to classify and tag entry items. When creating or editing entries, users can select terms from predefined taxonomies to indicate the subject, topic, or category that the entry belongs to. This helps organize and structure entries, making searching, filtering, and managing easier.

# **Creating a Term**

To **create a term** in Contentstack, follow these steps -

1.  **Login to Contentstack**: Go to the Contentstack [login page](https://www.contentstack.com/login) and enter your credentials to log in to your account.
    
2.  **Access Taxonomies**: Navigate to the "Settings" icon once logged in. Under "Settings," you'll find an option for "Taxonomies." Click on it to access the Taxonomies section.
    
3.  **Select a Taxonomy**: In the Taxonomies section, you'll see a list of existing taxonomies, if any. Choose the taxonomy where you want to create the term. 
    
4.  **Add Term**: After selecting the appropriate taxonomy, you'll see a button to "+ New Term." Click on it to create a new term within the selected taxonomy. We are creating a new term under the "Genre" taxonomy here.
    

![new-term.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt3e1bff326b9b32eb/66490fb052619df401a90a72/new-term.png)

**Enter Term Details**: In the "Term Details" page, you can enter details for the new term. This typically includes:

**\- Term Name**: Enter the name of the term. For Example - **Fiction**

**\- Term UID**: The Unique ID is automatically populated, which you can edit.

![term-details.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt68fc44593ccfb6d2/66490fdab2e852b513451914/term-details.png)**Save Term**: Once you've entered the required details for the term, click on the "Save" button to create the term.

![save-term.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/bltf928dc426249a726/66490ffe16e6bf4dff590ca0/save-term.png)  
After saving the term, you should see a confirmation message indicating that the term has been successfully created. The following shows the term "Fiction" created under the "Genre" taxonomy.

![genre.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/bltbf49c5b76f147235/66491058acadaf2407728327/genre.png)  
Now, if you want to create a sibling term (a term at the same level as the current term) or a child term (a term nested within the current term), you can select any one from the button dropdown as shown below.

![sibling.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt419dc0a78431e93d/664910800b508ae4bedcfc97/sibling.png)

**To Create a Sibling Term -**

1.  Select the option to "Create a Sibling Term" from the dropdown. The selected option is always "Create a Sibling Term" by default. Click on the button "Create a Sibling Term". Here, we are creating a sibling term for the term "Fiction."
    

![create-sib.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt5bce5b24075215db/664910b13092d0fa8b63f9dc/create-sib.png)This takes you to the "Term Details" page. Enter the Term Name and Term UID. Here, we are creating a new sibling term, **"Non-Fiction."**![non-fiction.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt0f2a0ccb99ee1bbf/66491102efc97a0b144c0a81/non-fiction.png)Click on the "Save" button to create the term successfully. The following shows the term **"Non-Fiction"** being created under the "Genre" taxonomy.

![non-fiction2.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/bltc88b4a3bac5dfb41/6649113f4bfb713cf742c101/non-fiction2.png)  
You can also create a sibling term by clicking the following icon and the above steps.

![add-sibling.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt8ecc56c1036ca4a7/664911705fd9af38df70e290/add-sibling.png)

**To Create a Child Term -**

1.  Select the option to "Create a Child Term" from the dropdown. Click on the button "Create a Child Term". Here, we are creating a child term for the term "Fiction."
    

![create-child.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt5bcd18629f02d153/664911ae342fb50f7a62cc5c/create-child.png)This takes you to the "Term Details" page. Enter the Term Name and Term UID and click the "Save" button. Here, we are creating a new child term, **"Historical Fiction."** The following shows the term **" Historical Fiction"** being created under the "Genre" taxonomy.

![term-details2.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/bltae145a26adaf6260/664911ec3092d022d263f9e0/term-details2.png)  
You can also create a child term by clicking the following icon and the above steps.

![add-child-btn.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/bltf305bc137e7448fb/664912210b508a12abdcfc9f/add-child-btn.png)  
By following these steps, you can effectively create terms within your Contentstack account, facilitating better organization and classification of your entry items.

#### Key takeaways

- Connect **Creating Terms** 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 16 — Editing Terms

<!-- ai_metadata: {"lesson_id":"16","type":"text","duration_minutes":1,"topics":["Editing","Terms"]} -->

#### Lesson text

Once you've created terms, you retain the flexibility to adjust terms, empowering you to make changes like updating their names as needed. To **edit a** **term** in Contentstack, follow these steps -

1.  **Login to Contentstack**: Go to the Contentstack [login page](https://www.contentstack.com/login) and enter your credentials to log in to your account.
    
2.  **Access Taxonomies**: Navigate to the "Settings" icon once logged in. Under "Settings," you'll find an option for "Taxonomies." Click on it to access the Taxonomies section to access the list of taxonomies in your Contentstack organization.
    
3.  **Choose Taxonomy**: From the list of available taxonomies, select the taxonomy containing the term you want to edit. Here, we select the taxonomy **"Genre."**
    
4.  **Locate Term**: Find the term you wish to edit within the selected taxonomy. You may need to expand categories or scroll through the list to locate the specific term and click on the term you need to edit. Here, we will edit the term **"Historical Fiction,"** under the term **"Fiction."**
    

![edit-term1.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blte0a2e094e2870f56/664913ed4b531e6623c327f9/edit-term1.png)

**Edit Term**: When you click on the term you want to edit, it opens the "Term Details" page, where you can update the term's name. Here, we will update the name of the term **"Historical Fiction."**

![edit-term2.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/bltfb2b2d57857bbb19/6649140fd4d02e180b2eac07/edit-term2.png)

We will update the name of the term **"Historical Fiction"** to **"Historical/Old Fiction."** Click the "Update" button to update the term successfully.

![edit-term3.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/bltf83833ed72fc6e7c/6649143916e6bf5faf590ca4/edit-term3.png)

The following shows the updated name for the term **"Historical/Old Fiction"** being created.

![hiatorical.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/bltf2fdd3d5eefde954/664914e452619d964ba90a76/hiatorical.png)

#### Key takeaways

- Connect **Editing Terms** 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 17 — Deleting Terms

<!-- ai_metadata: {"lesson_id":"17","type":"text","duration_minutes":1,"topics":["Deleting","Terms"]} -->

#### Lesson text

Within your stack, you can delete terms from a taxonomy. To **delete a term** in Contentstack, follow these steps -

1.  **Login to Contentstack**: Go to the Contentstack [login page](https://www.contentstack.com/login) and enter your credentials to log in to your account.
    
2.  **Access Taxonomies**: Navigate to the "Settings" icon once logged in. Under "Settings," you'll find an option for "Taxonomies." Click on it to access the Taxonomies section to access the list of taxonomies in your Contentstack organization.
    
3.  **Choose Taxonomy**: From the list of available taxonomies, select the taxonomy containing the term you want to delete. Here, we select the taxonomy **"Genre."**
    
4.  **Choose Term**: Select the term you want to delete from the list of available terms.
    

![delete1.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/bltd6b3065ffc2be7b9/664918433092d04da863f9e5/delete1.png)**Delete Term**: Click on the ellipsis(three dots) icon on the top right corner of the page, which opens a dropdown list from which click the **"Delete Term"** option.

![delete5.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt53ad850417bf1712/664918684bfb71e49b42c106/delete5.png)

  
**Click on Delete**: Clicking on the "Delete Term" option opens a dialog box that asks you to confirm the delete operation. Deleting a parent term will also automatically delete its child term(s). Here, it shows that we will delete the term "**Fiction**," which contains the child term "**Historical/Old Fiction**," which will also be deleted.  

![delete3.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blte16e4232a1532d3c/664918685fd9afd68670e295/delete3.png)  
After successful deletion, you can see that the "Fiction" term is deleted along with its child term, "Historical/Old Fiction."  
![delet2.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt1b8e0895d4479e66/66491868a3f9df6ea1c10bba/delet2.png)Following these steps, you can effectively delete terms within your Contentstack account, facilitating better organization and classification of your entry items.

#### Key takeaways

- Connect **Deleting Terms** 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 18 — Content Management APIs for Taxonomy

<!-- ai_metadata: {"lesson_id":"18","type":"text","duration_minutes":1,"topics":["Content","Management","APIs","for","Taxonomy"]} -->

#### Lesson text

Let's consider an example. Our stack has the following taxonomy created.

We have terms inside **Superhero**, as seen in the image below.

![cm1.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blta2c07a004b22deaf/66491a5c52619de069a90a7a/cm1.png)

## **Get all taxonomies**

The Get All Taxonomies request provides detailed information about every taxonomy available within your company's specific stack.

**Example**: Let's retrieve every taxonomy found within our stack. Take into consideration the example given in the Overview section.

Below is the curl command for the same. 

curl --location 'https://api.contentstack.io/v3/taxonomies' \\  
  
\--header 'api\_key: \*\*\*\*\*\*\*\*\*\*\*\*\*\*' \\  
  
\--header 'authorization: \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*' \\  
  
\--header 'Content-Type: application/json' \\  
  
 --data ''

View the screenshot below to view the outcome of the postman call.

![cm2.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blte56d3a57b7d08f32/66491abb5c2483ea33bc3490/cm2.png)

## **Get a single taxonomy**

The "Get a single taxonomy" request provides detailed information about a single taxonomy in a given stack.

**Example**: Consider the example given in the Overview section for this. Let's fetch **superhero** taxonomy.

Below is the curl command to fetch **superhero** taxonomy

curl --location 'https://api.contentstack.io/v3/taxonomies/superhero' \\  
  
\--header 'api\_key: \*\*\*\*\*\*\*\*\*\*\*\*\*\*' \\  
  
\--header 'authorization: \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*' \\  
  
\--header 'Content-Type: application/json' \\  
  
\--data ''

View the screenshot below to see the outcome of the postman call.

![cm3.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt7a5e0ccf8f22c799/66491af40bbc62953a7fabeb/cm3.png)

## **Get a single term**

The "Get a single term" request provides detailed information about a single term in a given taxonomy.

Example: Consider the following example, which is provided in the Overview section. Obtain a single term from the superhero taxonomy that refers to powers and abilities.

curl --location 'https://api.contentstack.io/v3/taxonomies/superhero/terms/powers\_and\_abilities' \\  
  
\--header 'api\_key: \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*' \\  
  
\--header 'authorization: \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*' \\  
  
\--header 'Content-Type: application/json' \\  
  
\--data ''

View the screenshot below to see the outcome of the postman call.

![cm4.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt76708a5e5731c2a7/66491b500a0de6460e314d1e/cm4.png)

## **Create a term**

Within your stack, a term in a specific taxonomy is created via the Create a Term request.

Since terms are organized hierarchically in a taxonomy, it's important to define the order when creating new terms. For instance, when creating a term at the root level, set the parent\_uid as null and specify the level as 1 or above to position it in the list. To create a child term, provide the parent\_uid of the parent term where you want to add the new child term and indicate the desired position within the order parameter.

## Creating a Term  at the Root level

When creating terms at the parent level, the request body should look like this:

**Example:** We would like to  make a new Term at the root level.  For this, consider the example provided in the previous modules. And add the term "Films" to the "Superhero" taxonomy.  Notice that the parent UID is **null**.

Below is the curl command to create a term. 

curl --location 'https://api.contentstack.io/v3/taxonomies/superhero/terms' \\  
  
\--header 'api\_key:\*\*\*\*\*\*\*\*\*\*\*\*\*\*' \\  
  
\--header 'authorization: \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*' \\  
  
\--header 'Content-Type: application/json' \\  
  
\--data '{  
  
  "term": {  
  
    "uid": "films",  
  
    "name": "Films",  
  
    "parent\_uid": null  
  
  }  
  
}'

View the screenshot below to see the outcome of the postman call.

![cm5.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blte499ee888d5dbecf/66491b9b342fb5f06e62cc64/cm5.png)The result should be a new Term 'Films' located in the Superhero Taxonomy at the root level.  
![cm6.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/bltad086fe9c6e5a3d6/66491bc34ac76eba9f40f88c/cm6.png)

## Creating a Term under a parent Term

When creating terms at the child level, the request body should look like this:

curl --location 'https://api.contentstack.io/v3/taxonomies/superhero/terms' \\  
  
\--header 'api\_key:\*\*\*\*\*\*\*\*\*\*\*\*\*\*' \\  
  
\--header 'authorization: \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*' \\  
  
\--header 'Content-Type: application/json' \\  
  
\--data '{  
  
  "term": {  
  
    "uid": "scientific\_experimentation",  
  
    "name": "Scientific Experimentation",  
  
    "parent\_uid": "origin"  
  
  }  
  
}'

![cm7.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/bltb7de7c5f1d2ec22f/66491cd2a3f9dfedffc10bc2/cm7.png)  
  
**The result should be a new Term located under the Origin parent term:**

![cm8.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt160628212409b4a6/66491d1cf445aa8b7254c5c4/cm8.png)

#### Key takeaways

- Connect **Content Management APIs for Taxonomy** 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 19 — Using the Content Management API to Read the Taxonomy Information

<!-- ai_metadata: {"lesson_id":"19","type":"video","duration_seconds":227,"video_url":"https://cdn.jwplayer.com/previews/6BL8hWDK","thumbnail_url":"https://cdn.jwplayer.com/v2/media/6BL8hWDK/poster.jpg?width=720","topics":["Using","the","Content","Management","API","Read"]} -->

#### Video details

#### At a glance

- **Title:** Taxonomy-postman-cma-read2
- **Duration:** 3m 47s
- **Media link:** https://cdn.jwplayer.com/previews/6BL8hWDK
- **Publish date (unix):** 1716059980

#### Streaming renditions

- application/vnd.apple.mpegurl
- audio/mp4 · AAC Audio · 113628 kbps
- video/mp4 · 180p · 180p · 145727 kbps
- video/mp4 · 270p · 270p · 168302 kbps
- video/mp4 · 360p · 360p · 191407 kbps
- video/mp4 · 406p · 406p · 205546 kbps
- video/mp4 · 540p · 540p · 252024 kbps
- video/mp4 · 720p · 720p · 319929 kbps
- video/mp4 · 1080p · 1080p · 488831 kbps

#### Timed text tracks (delivery)

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

#### Video transcript

Hi, in this video, we're going to take a look at using the content management API to select items from the taxonomy. Let's get started. First, navigate to the content management API documentation page and make sure that you have Postman downloaded or you can run it directly in Postman. Second, I usually like to look at the API documentation when I'm using the APIs. Taxonomy is down here on the right side, and you can see it located right here. Get all taxonomies is going to be the first command we're going to execute, and you can see we have a small description, and then on the right side, we have an example of the get request. You can always run them in the browser, but I honestly prefer to run them in Postman. In Postman, we need to set up a few variables. First of all, if you have the Postman collection and you downloaded it six months ago, you might need to update it first before the taxonomy is shown here. Once you update your Postman collection, you should see taxonomy here, and we're going to use the command get all taxonomies. Now, before we run this command, we need to make sure that we have a content management API token set up, and that's one of the headers that's passed over. We have a few settings that we need to set up first. First is the API key, and second is authorization, which is the management token. I've already set this variable up in my settings. If that doesn't return a value for you like it does here for me, then you need to go ahead and create that in context stack. Just for your information, if you want to do that, you need to go over to settings, here in tokens, and then inside tokens, go to management tokens, and create a new management token. By default, your training instance has only one token, but it does not have a management token for you to do this operation. Also, by the way, when you create your management token, the password's a one-time password. You need to copy that password out or the token out when you create the token itself. I've done that previously, and that's what I've used in Postman. Once that's all set up, you can go ahead and start using Postman to interact with the taxonomy. Let's go ahead and take a look at it here. Now, let's go into taxonomy, get all taxonomies, and you can see it's a really simple call. It's just a base URL, b3 in taxonomies, and click send. Here, you can see a list of the taxonomies that I have in my context stack training instance. Now, what if I wanted to get a single taxonomy, maybe the superhero origin taxonomy? I can go ahead and select that, copy that with my UID, go over here to get a single taxonomy, and it's asking me for my taxonomy UID. Either I can update the variable over here in Postman, or I can paste the text right in here. In this case, I'm just going to paste my text in. There we go. We've got my superhero taxonomy there, and hit send. Now, you can see I've returned my superhero origin taxonomy. Now, what if I wanted to get all the terms of this taxonomy? Then, I can go over here and say get all terms of a taxonomy, and you guessed it. We're going to replace this variable right here with the taxonomy name we want to return. There's all the origins that we have. We have the yellow sun, and down here, we have a science experiment. That's an example of how you can use Postman with the taxonomy API and the content management API to work with and get read-only terms of the taxonomy that you can use in your applications. This taxonomy, this API, is intended to be used in the backend. If you wanted to get taxonomies for the frontend of your website, that would be part of the content delivery API.

#### Key takeaways

- Connect **Using the Content Management API to Read the Taxonomy Information** 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 20 — Creating a New Taxonomy with the Content Management API

<!-- ai_metadata: {"lesson_id":"20","type":"video","duration_seconds":208,"video_url":"https://cdn.jwplayer.com/previews/Qnz6TgKb","thumbnail_url":"https://cdn.jwplayer.com/v2/media/Qnz6TgKb/poster.jpg?width=720","topics":["Creating","New","Taxonomy","with","the","Content"]} -->

#### Video details

#### At a glance

- **Title:** Taxonomy-cmapi-postman-create2
- **Duration:** 3m 28s
- **Media link:** https://cdn.jwplayer.com/previews/Qnz6TgKb
- **Publish date (unix):** 1716059980

#### Streaming renditions

- application/vnd.apple.mpegurl
- audio/mp4 · AAC Audio · 113438 kbps
- video/mp4 · 180p · 180p · 140651 kbps
- video/mp4 · 270p · 270p · 159411 kbps
- video/mp4 · 360p · 360p · 180098 kbps
- video/mp4 · 406p · 406p · 193046 kbps
- video/mp4 · 540p · 540p · 233084 kbps
- video/mp4 · 720p · 720p · 289436 kbps
- video/mp4 · 1080p · 1080p · 429898 kbps

#### Timed text tracks (delivery)

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

#### Video transcript

Hi, in this video we're going to use the content management API to create a new taxonomy, and after that we're going to use the same API to add a term to this taxonomy. This is really a great way to add content to ContentStack using the content management API, especially if our original content for our taxonomy is in an external database, a spreadsheet, or possibly in another system. If we want to avoid manually typing in this content, we can use some scripts and an API to do it for us. Let's get started. First, I always like to take a look at the documentation page on taxonomy or any other API request. Just look at the parameters and see the sample request. Here for create a taxonomy, on the right side you can see that I need to pass in the usual authorization, and then after that in the body of the request, I'm going to pass in the UID, the name, and the description. Now because we're creating something in ContentStack, it is a POST request, and here's the endpoint that we're going to call. You can of course run this in your browser, but normally I prefer to run this in Postman. So let's go to Postman now and go to the update create a new taxonomy command. So here you can see we have the create a taxonomy command, and then in my headers I've already configured the API key and authorization token, and in the body we have the taxonomy information that we want to create. So I'm going to create a superhero universe taxonomy, where I'm going to specify if a superhero lives in the DC universe or the Marvel universe. So this is name a superhero universe and description is the comic superhero universe DC or Marvel. Let's go ahead and click send. And so this is the response, and it looks like it was created successfully. This is great. So the next thing I want to do is create a term. So I'm going to go over here to this POST request, create a term. Now one thing that you should always look at is the URL, and I have a taxonomy UID here in the URL that needs to be specified. Also if I go back and look at my documentation that you're going to see under the create a term, it's also mentioned that I need that URL parameter taxonomy UID. It's also going to explain here something very important, is that for our first term, because it's a top-level term, we're not going to have a parent UID, so we're going to pass in null. Okay, let's go back to Postman and see how we do this. Now in Postman, we want to go ahead and paste in our taxonomy UID. This is going to be superhero universe. And then under terms, I've got DC here, but instead of the parent ID superhero universe, I'm going to put here null, because we don't have one yet. Let's go ahead and hit send. And now we've got the DC created at the root level. I'm going to do exactly the same thing for Marvel. I'm going to order ID, I'm going to put 2. And that's it. So now let's go back into content stack and see that in our UI. So here under taxonomy, let's refresh that. Now we can see superhero universe is here with our description. And there's our DC term and our Marvel term. Thanks for watching the video. See you next time.

#### Key takeaways

- Connect **Creating a New Taxonomy with the Content Management API** 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 21 — Querying using the Taxonomy IN Operator

<!-- ai_metadata: {"lesson_id":"21","type":"video","duration_seconds":400,"video_url":"https://cdn.jwplayer.com/previews/2xYXuWUi","thumbnail_url":"https://cdn.jwplayer.com/v2/media/2xYXuWUi/poster.jpg?width=720","topics":["Querying","using","the","Taxonomy","Operator"]} -->

#### Video details

#### At a glance

- **Title:** Taxonomy-content-delivery-api-query2
- **Duration:** 6m 40s
- **Media link:** https://cdn.jwplayer.com/previews/2xYXuWUi
- **Publish date (unix):** 1716059980

#### Streaming renditions

- application/vnd.apple.mpegurl
- audio/mp4 · AAC Audio · 113678 kbps
- video/mp4 · 180p · 180p · 150041 kbps
- video/mp4 · 270p · 270p · 177521 kbps
- video/mp4 · 360p · 360p · 204802 kbps
- video/mp4 · 406p · 406p · 222754 kbps
- video/mp4 · 540p · 540p · 277945 kbps
- video/mp4 · 720p · 720p · 362506 kbps
- video/mp4 · 1080p · 1080p · 552258 kbps

#### Timed text tracks (delivery)

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

#### Video transcript

In this module, we'll take a look at how we can use the Content Delivery API to query for entries using our taxonomy. To get started, first, open the Content Delivery Documentation and Content Stack and navigate down to the Taxonomy section. Over here, you can get a list of the possible methods we can use to query for entries that are tagged with our taxonomy terms. So let's get started. We have two main entry points. One is slash taxonomies slash entries. The other one is slash content types. We're going to be focused on this first entry point in this module. The first example we're going to take a look at is using the n operator to query for entries that are tagged with our term. And this small example here, you can see that we have a taxonomy defined with a term color, and that has two child terms, red and yellow. And this example, we're actually looking for any entries that have been tagged with either red or yellow. Any other entries that are not tagged with red or yellow would not be retrieved. And by the way, this API is really intended to be used by your front-end website. It's read-only and it's high performance. All the content is cached in the ContentStack CDN, and it's really intended only to be used for your front-end website. If you're importing content or want to use taxonomy and terms and the back-end, then you would use a content management API, which is part of a different module. So here we're really focused on what code and queries would my website use to query content from ContentStack. Before we get started with this API example, let's make sure that our entries are tagged and published. So going into ContentStack, navigate over here to entries, and on the bottom left, make sure that you have your superhero taxonomy defined, you have origin here, and then you have these at least one term. Here I have three, and I've used natural powers to tag two of my characters. You can tag your entries with any of these terms, but just make sure you have tagged at least one, and after you tag one, you need to publish it. So for example, let me go ahead and do that with another entry here. So I'm going to go ahead and choose the cyber savior, and I'm going to select my term here, and I'm going to choose origin, and I'm going to choose scientific experimentation, and click apply. Then I'm going to go ahead and hit publish, and choose development, preview, and production, and choose send. This is now going to send my character to the front end. Maybe I want to tag him with another origin too. Maybe he also has two origins, his natural powers and scientific experimentation. So I'm going to go ahead and click apply, and then click publish, and again, publish my changes out. When I click publish, I'm pushing this entry to my content delivery environment, and therefore I can use my content delivery API to retrieve my entry. Now if I go back to my entries list, and I go over here under taxonomies, I should be able to open up superhero, and then origin, and choose scientific experimentation. We see cyber savior there, but we also see it under natural powers. Okay, great. So now what should happen is I can go back to my content delivery API, and use a query with my in operator to retrieve any entries that are tagged with origin and natural powers, or origin and scientific experimentation. You can either do your query here, in the documentation website, or as I prefer, use postman. Okay, in postman, you want to go over to collections, make sure you're content delivery collection, and under queries, you should see the in operator. Under the get request, make sure that it says v3 taxonomies. If for any reason you don't see this in operator query under queries, it's possible that your postman collection was downloaded several months ago, before taxonomies was released. In that case, just go over here and update your collection. You can click there, and you can click pull changes. Or you can go to the content sack documentation website, and download a new set of the postman collections. You can see that over here under content delivery. And then on the right side, you have using postman collections, and you can get the postman collections right over here. So this is where you can find the postman collections. So this is where you can get them at, and we also have them available on GitHub. And over there, you can also find the environment variables. So if you haven't done this before, I highly recommend also to download them from GitHub. We do have a module in this course about setting up postman, and go back and look at that module if you have any questions about this. Okay, so now that we have postman set up and working, let's go ahead and query for entries. Over here, I'm going to navigate again to my end operator, and notice my query. So I say taxonomies.superhero.origin in natural powers. So it always starts with taxonomies, that's always our first root term or node. And then you can go to superhero and origin. That maps very nicely to what we define in content stack here. We have superhero, origin, and origin should contain a term, natural powers, and I'm looking for all my entries, right? So let's go back to postman and run our query. I click send here, and now we get a list of all my characters. This is great. So you can see my entries is populated, and the first entry I have here is my entry for my cyber savior that we just tagged. Then after that, I have two other characters too. So I have my thunder monarch, and then at the end, we have cyber search. That's it for this module. Thank you very much for watching.

#### Key takeaways

- Connect **Querying using the Taxonomy IN Operator** 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 22 — Querying with the Taxonomy Equals or Below Operator

<!-- ai_metadata: {"lesson_id":"22","type":"video","duration_seconds":112,"video_url":"https://cdn.jwplayer.com/previews/VSLQKruL","thumbnail_url":"https://cdn.jwplayer.com/v2/media/VSLQKruL/poster.jpg?width=720","topics":["Querying","with","the","Taxonomy","Equals","Below"]} -->

#### Video details

#### At a glance

- **Title:** Taxonomy-equal-and-below2
- **Duration:** 1m 52s
- **Media link:** https://cdn.jwplayer.com/previews/VSLQKruL
- **Publish date (unix):** 1716059980

#### Streaming renditions

- application/vnd.apple.mpegurl
- audio/mp4 · AAC Audio · 113899 kbps
- video/mp4 · 180p · 180p · 142603 kbps
- video/mp4 · 270p · 270p · 161113 kbps
- video/mp4 · 360p · 360p · 183863 kbps
- video/mp4 · 406p · 406p · 196376 kbps
- video/mp4 · 540p · 540p · 231237 kbps
- video/mp4 · 720p · 720p · 289273 kbps
- video/mp4 · 1080p · 1080p · 411108 kbps

#### Timed text tracks (delivery)

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

#### Video transcript

Now, let's take a look at using the equal and below operator to find entries with a taxonomy term that exist anywhere in our taxonomy hierarchy. What do we mean by that? What we mean is that when we define taxonomy in Context Stack, it's a tree structure, meaning that we have a parent, and we have children, and then grandchildren, and we can keep going down and having more and more grandchildren, right? So natural powers could also have children itself, and maybe we actually just want to find anywhere where natural powers exist, and it could be even further down the tree. So what we can do here with equal and below is we could say, superhero, and find me somewhere that natural powers exist. Maybe I don't know, or maybe I have a huge taxonomy with many levels and many terms, and I really just want to say, find me somewhere entries with natural powers, and I'm not going to specify this full path. So let's see a practical example. First, always check out the documentation, and here we see an example with equal and below. Next, let's go into Postman and try to run our query. So it's over here, equal and below, and make sure that when you're doing this that your query is checked. Initially, my query wasn't checked, and it just said entries, and it said invalid query. So make sure it's checked right here, and now what we're going to do is say, taxonomies.superhero, equal and below, natural powers. Notice I'm not specifying origin here. That's the whole point. So I'm going to click send, and now I'm going to get all the entries that have the term natural powers somewhere in the superhero taxonomy. That's it for this video. Thank you very much. Thank you. Thank you.

#### Key takeaways

- Connect **Querying with the Taxonomy Equals or Below Operator** 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 23 — Use Cases for Taxonomy

<!-- ai_metadata: {"lesson_id":"23","type":"text","duration_minutes":1,"topics":["Use","Cases","for","Taxonomy"]} -->

#### Lesson text

**Use case**

Breadcrumbs serve as a helpful navigation tool, enabling users to easily trace their path and understand their position within the hierarchical structure of a website, particularly useful for blogs and product listings.

**Solutions**

*   The taxonomy terms hierarchy can be used to generate Breadcrumbs for Blog articles or product entries.
    
*   Define the taxonomy terms in the hierarchy for product entries 
    

![breadcrumbs.png](https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt11ace396066f4b52/664924aaf445aaa5cb54c5f8/breadcrumbs.png)

  

*   Use this taxonomy hierarchy to generate breadcrumbs by using terms associated and its hierarchy and category-specific pages can be generated by making entries based on taxonomy Content delivery Api call in frontend.
    
*   Also, Dynamic URLs generation for an entry based on the taxonomy hierarchy eg. e-commerce product pages are also can be done to match URL hierarchy with breadcrumbs 
    

# **Advanced Search filter for Content**

**Use case:**

We need a Blog listing page with sidebar filter for blog categories

**Solution:**

*   Define a taxonomy structure and add nested terms for each blog category
    
*   Each blog article will be tagged with the blog category term
    
*   On the website we will list all blog categories with hierarchy in the sidebar and filter based on the selected combination of categories.  The developer can make CDA API calls for blog articles filtered based on taxonomy terms. See the [API guide](https://www.contentstack.com/docs/developers/apis/content-delivery-api#taxonomy) for more details.
    

#   
Multi-Brand within Single stack architecture

### **Use case**

Customer has one Stack and would like to accommodate multiple brand website which will have some global content 

*   Brand 1 Domain (https://www.brand1.com/)
    
*   Brand 2 Domain (https://www.brand2.com/)
    
*   They need brand specific entries access control for brand specific custom roles 
    
*   CDA APIs to fetch brand specific content entries for each domain.
    

### **Solution Overview:**

*   Create a new Taxonomy to define brands
    
*   In the Content Model we will add a Taxonomy field Selector for Brand in content types (Page, blog, product etc)
    
*   Create an asset folder for each brand to store separate brand specific assets and set up asset permission in brand specific custom roles
    
*   Setup custom Roles for each Brand Content editors with proper accessibility as per taxonomy access (upcoming enhancement in roles) and brand based asset folder access
    
*   The editor will publish changes to the production Environment with the Taxonomy
    
*   On each brand specific frontend site, the developer will make API calls with filtering content based on brand taxonomy to get pages specific to brand taxonomy

#### Key takeaways

- Connect **Use Cases for Taxonomy** 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 24 — Taxonomy Foundations Quiz

<!-- ai_metadata: {"lesson_id":"24","type":"text","duration_minutes":1,"topics":["LMS","Knowledge check"]} -->

#### Lesson text

**This lesson is a knowledge check hosted in the Academy LMS.** This companion Markdown contains **no quiz questions, answers, scoring rules, or explanations**.

#### Key takeaways

- Connect **Taxonomy Foundations Quiz** 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/taxonomy-foundations/taxonomy-in-content-management | /academy/md/courses/taxonomy-foundations/taxonomy-in-content-management.md |
| /courses/taxonomy-foundations/welcome-to-taxonomy | /academy/md/courses/taxonomy-foundations/welcome-to-taxonomy.md |
| /courses/taxonomy-foundations/configuring-postman-with-the-contentstack-apis | /academy/md/courses/taxonomy-foundations/configuring-postman-with-the-contentstack-apis.md |
| /courses/taxonomy-foundations/using-postman-and-apis-in-contentstack | /academy/md/courses/taxonomy-foundations/using-postman-and-apis-in-contentstack.md |
| /courses/taxonomy-foundations/creating-a-taxonomy | /academy/md/courses/taxonomy-foundations/creating-a-taxonomy.md |
| /courses/taxonomy-foundations/creating-a-taxonomy-walkthrough | /academy/md/courses/taxonomy-foundations/creating-a-taxonomy-walkthrough.md |
| /courses/taxonomy-foundations/using-the-taxonomy-in-a-content-type | /academy/md/courses/taxonomy-foundations/using-the-taxonomy-in-a-content-type.md |
| /courses/taxonomy-foundations/using-a-taxonomy-to-a-content-type-walkthrough | /academy/md/courses/taxonomy-foundations/using-a-taxonomy-to-a-content-type-walkthrough.md |
| /courses/taxonomy-foundations/editing-a-taxonomy | /academy/md/courses/taxonomy-foundations/editing-a-taxonomy.md |
| /courses/taxonomy-foundations/editing-a-taxonomy-walkthrough | /academy/md/courses/taxonomy-foundations/editing-a-taxonomy-walkthrough.md |
| /courses/taxonomy-foundations/add-taxonomy-to-a-content-type | /academy/md/courses/taxonomy-foundations/add-taxonomy-to-a-content-type.md |
| /courses/taxonomy-foundations/deleting-a-taxonomy | /academy/md/courses/taxonomy-foundations/deleting-a-taxonomy.md |
| /courses/taxonomy-foundations/exporting-a-taxonomy | /academy/md/courses/taxonomy-foundations/exporting-a-taxonomy.md |
| /courses/taxonomy-foundations/import-a-taxonomy | /academy/md/courses/taxonomy-foundations/import-a-taxonomy.md |
| /courses/taxonomy-foundations/creating-terms | /academy/md/courses/taxonomy-foundations/creating-terms.md |
| /courses/taxonomy-foundations/editing-terms | /academy/md/courses/taxonomy-foundations/editing-terms.md |
| /courses/taxonomy-foundations/deleting-terms | /academy/md/courses/taxonomy-foundations/deleting-terms.md |
| /courses/taxonomy-foundations/content-management-apis-for-taxonomy | /academy/md/courses/taxonomy-foundations/content-management-apis-for-taxonomy.md |
| /courses/taxonomy-foundations/using-the-content-management-api-to-read-the-taxonomy-information | /academy/md/courses/taxonomy-foundations/using-the-content-management-api-to-read-the-taxonomy-information.md |
| /courses/taxonomy-foundations/creating-a-new-taxonomy-with-the-content-management-api | /academy/md/courses/taxonomy-foundations/creating-a-new-taxonomy-with-the-content-management-api.md |
| /courses/taxonomy-foundations/querying-using-the-taxonomy-in-operator | /academy/md/courses/taxonomy-foundations/querying-using-the-taxonomy-in-operator.md |
| /courses/taxonomy-foundations/querying-with-the-taxonomy-equals-or-below-operator | /academy/md/courses/taxonomy-foundations/querying-with-the-taxonomy-equals-or-below-operator.md |
| /courses/taxonomy-foundations/use-cases-for-taxonomy | /academy/md/courses/taxonomy-foundations/use-cases-for-taxonomy.md |
| /courses/taxonomy-foundations/taxonomy-foundations-quiz | /academy/md/courses/taxonomy-foundations/taxonomy-foundations-quiz.md |

## Supplement for indexing

### Content summary

This course is intended to outline the Contentstack features and techniques for using the Taxonomy features with your content, understand the APIs, and how to leverage Taxonomy within your implementation. Completion of t… This course is intended to outline the Contentstack features and techniques for using the Taxonomy features with your content, understand the APIs, and how to leverage Taxonomy within your implementation. Completion of this course earns a 'badge' for this topic.! Required for this course: 1. Account in Contentstack with access to a Stack as an Administrator or Developer. Create a training Stack here (https://www.contentstack.com/academy/training-instance). Training stacks are available for 90 days. Alternatively, you can bootstrap a Starter App via the CLI (https://www.contentstack.com/docs/he What this course is: A comprehensive guide for developers aiming to understand the intricacies of using taxonomy An exploration into the APIs that can be used to create, manage and use taxonomy A deep dive into understanding the unique benefits of taxonomy What this course is not: A tutorial on developing or integrating taxonomy with your front end An exhaustive course that delves into every minute detail related to taxonomy.

### Retrieval tags

- Contentstack Academy
- taxonomy-foundations
- Taxonomy
- Content
- Management
- Welcome
- Configuring
- Postman
- with
- the
- Contentstack
- APIs
- Using
- and

### 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: taxonomy-foundations. Union of lesson topic tokens: Taxonomy, Content, Management, Welcome, Configuring, Postman, with, the, Contentstack, APIs, Using, and, Creating, Walkthrough, Type, Editing, Add, Deleting, Exporting, Import, Terms, for, API, Read, New, Querying, using, Operator, Equals, Below, Use, Cases, Foundations, Quiz.
Do not embed or retrieve LMS-only quiz items or mastery exam answer keys from this export.

### Asset references

| Label | URL |
| --- | --- |
| Video thumbnail: Welcome to Taxonomy | `https://cdn.jwplayer.com/v2/media/YZUposI4/poster.jpg?width=720` |
| Video thumbnail: Using Postman and APIs in Contentstack | `https://cdn.jwplayer.com/v2/media/DDTlVklX/poster.jpg?width=720` |
| new-taxonomy.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/bltff4db51667495e31/6649053a4bfb7158ef42c0f1/new-taxonomy.png` |
| new-dialog.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/bltcb31202438264335/6649059b16e6bf7617590c83/new-dialog.png` |
| terms.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt1cafb7dd805ee8bb/664905e8d4d02ee5f02eaba3/terms.png` |
| Video thumbnail: Creating a Taxonomy Walkthrough | `https://cdn.jwplayer.com/v2/media/be5PP5tQ/poster.jpg?width=720` |
| taxonomy-content-type.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/bltf9b6eb87c30d5f53/6649073a0a0de6d1a2314d19/taxonomy-content-type.png` |
| superhero-taxonomy.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt023a2d4f291d753e/664907705c2483f6a6bc3484/superhero-taxonomy.png` |
| Video thumbnail: Using a Taxonomy to a Content Type Walkthrough | `https://cdn.jwplayer.com/v2/media/NejnWu2Y/poster.jpg?width=720` |
| edit-taxonomy.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blted5a3726271be0d9/6649083e42843219ee1989c5/edit-taxonomy.png` |
| save-edits.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/bltd92f9c2458b232ef/6649086b6d7055d1ed4d90d9/save-edits.png` |
| Video thumbnail: Editing a Taxonomy Walkthrough | `https://cdn.jwplayer.com/v2/media/Xy8ZLX3e/poster.jpg?width=720` |
| add-taxonomy.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt1955decba4e089d9/664909a4dda14b775adff5fb/add-taxonomy.png` |
| configure.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/bltb17fde85126bc9a8/664909d0dda14bd66fdff5ff/configure.png` |
| add-taxonomy2.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt773afb5030bd9b0c/66490a045c2483cdbcbc3488/add-taxonomy2.png` |
| confirm.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/bltb0f09f2ab2af37b2/66490a375fd9afddf270e288/confirm.png` |
| delete.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt3d7ef070c8554ae8/66490ab952619d0cc1a90a6c/delete.png` |
| delete-confirm.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt8e1438a4941b4fbc/66490ae70b508aca6cdcfc91/delete-confirm.png` |
| delete-confirm.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blta3dc2fcc177f1e2f/66490b55428432fa191989cc/delete-confirm.png` |
| export.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/bltdd5f3916194f4ddc/66490bbadda14b0548dff606/export.png` |
| Video thumbnail: Import a Taxonomy | `https://cdn.jwplayer.com/v2/media/AInQnmQp/poster.jpg?width=720` |
| new-term.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt3e1bff326b9b32eb/66490fb052619df401a90a72/new-term.png` |
| term-details.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt68fc44593ccfb6d2/66490fdab2e852b513451914/term-details.png` |
| save-term.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/bltf928dc426249a726/66490ffe16e6bf4dff590ca0/save-term.png` |
| genre.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/bltbf49c5b76f147235/66491058acadaf2407728327/genre.png` |
| sibling.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt419dc0a78431e93d/664910800b508ae4bedcfc97/sibling.png` |
| create-sib.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt5bce5b24075215db/664910b13092d0fa8b63f9dc/create-sib.png` |
| non-fiction.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt0f2a0ccb99ee1bbf/66491102efc97a0b144c0a81/non-fiction.png` |
| non-fiction2.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/bltc88b4a3bac5dfb41/6649113f4bfb713cf742c101/non-fiction2.png` |
| add-sibling.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt8ecc56c1036ca4a7/664911705fd9af38df70e290/add-sibling.png` |
| create-child.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt5bcd18629f02d153/664911ae342fb50f7a62cc5c/create-child.png` |
| term-details2.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/bltae145a26adaf6260/664911ec3092d022d263f9e0/term-details2.png` |
| add-child-btn.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/bltf305bc137e7448fb/664912210b508a12abdcfc9f/add-child-btn.png` |
| edit-term1.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blte0a2e094e2870f56/664913ed4b531e6623c327f9/edit-term1.png` |
| edit-term2.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/bltfb2b2d57857bbb19/6649140fd4d02e180b2eac07/edit-term2.png` |
| edit-term3.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/bltf83833ed72fc6e7c/6649143916e6bf5faf590ca4/edit-term3.png` |
| hiatorical.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/bltf2fdd3d5eefde954/664914e452619d964ba90a76/hiatorical.png` |
| delete1.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/bltd6b3065ffc2be7b9/664918433092d04da863f9e5/delete1.png` |
| delete5.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt53ad850417bf1712/664918684bfb71e49b42c106/delete5.png` |
| delete3.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blte16e4232a1532d3c/664918685fd9afd68670e295/delete3.png` |
| delet2.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt1b8e0895d4479e66/66491868a3f9df6ea1c10bba/delet2.png` |
| cm1.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blta2c07a004b22deaf/66491a5c52619de069a90a7a/cm1.png` |
| cm2.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blte56d3a57b7d08f32/66491abb5c2483ea33bc3490/cm2.png` |
| cm3.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt7a5e0ccf8f22c799/66491af40bbc62953a7fabeb/cm3.png` |
| cm4.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt76708a5e5731c2a7/66491b500a0de6460e314d1e/cm4.png` |
| cm5.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blte499ee888d5dbecf/66491b9b342fb5f06e62cc64/cm5.png` |
| cm6.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/bltad086fe9c6e5a3d6/66491bc34ac76eba9f40f88c/cm6.png` |
| cm7.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/bltb7de7c5f1d2ec22f/66491cd2a3f9dfedffc10bc2/cm7.png` |
| cm8.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt160628212409b4a6/66491d1cf445aa8b7254c5c4/cm8.png` |
| Video thumbnail: Using the Content Management API to Read the Taxonomy Information | `https://cdn.jwplayer.com/v2/media/6BL8hWDK/poster.jpg?width=720` |
| Video thumbnail: Creating a New Taxonomy with the Content Management API | `https://cdn.jwplayer.com/v2/media/Qnz6TgKb/poster.jpg?width=720` |
| Video thumbnail: Querying using the Taxonomy IN Operator | `https://cdn.jwplayer.com/v2/media/2xYXuWUi/poster.jpg?width=720` |
| Video thumbnail: Querying with the Taxonomy Equals or Below Operator | `https://cdn.jwplayer.com/v2/media/VSLQKruL/poster.jpg?width=720` |
| breadcrumbs.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt11ace396066f4b52/664924aaf445aaa5cb54c5f8/breadcrumbs.png` |

### 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/` |
| Starter App via the CLI | `https://www.contentstack.com/docs/headless-cms/cli-bootstrap-starter-apps` |
| Marketplace | `https://app.contentstack.com/#!/marketplace/starters` |
| Download the Postman collections | `https://www.contentstack.com/docs/developers/apis/postman-collections` |
| Delivery Token | `https://www.contentstack.com/docs/headless-cms/create-a-delivery-token` |
| Management Token | `https://www.contentstack.com/docs/headless-cms/generate-a-management-token` |
| new-taxonomy.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/bltff4db51667495e31/6649053a4bfb7158ef42c0f1/new-taxonomy.png` |
| new-dialog.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/bltcb31202438264335/6649059b16e6bf7617590c83/new-dialog.png` |
| terms.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt1cafb7dd805ee8bb/664905e8d4d02ee5f02eaba3/terms.png` |
| Create a Taxonomy API request | `https://www.contentstack.com/docs/developers/apis/content-management-api#taxonomy` |
| taxonomy-content-type.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/bltf9b6eb87c30d5f53/6649073a0a0de6d1a2314d19/taxonomy-content-type.png` |
| superhero-taxonomy.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt023a2d4f291d753e/664907705c2483f6a6bc3484/superhero-taxonomy.png` |
| edit-taxonomy.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blted5a3726271be0d9/6649083e42843219ee1989c5/edit-taxonomy.png` |
| save-edits.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/bltd92f9c2458b232ef/6649086b6d7055d1ed4d90d9/save-edits.png` |
| add-taxonomy.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt1955decba4e089d9/664909a4dda14b775adff5fb/add-taxonomy.png` |
| configure.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/bltb17fde85126bc9a8/664909d0dda14bd66fdff5ff/configure.png` |
| add-taxonomy2.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt773afb5030bd9b0c/66490a045c2483cdbcbc3488/add-taxonomy2.png` |
| confirm.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/bltb0f09f2ab2af37b2/66490a375fd9afddf270e288/confirm.png` |
| delete.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt3d7ef070c8554ae8/66490ab952619d0cc1a90a6c/delete.png` |
| delete-confirm.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blt8e1438a4941b4fbc/66490ae70b508aca6cdcfc91/delete-confirm.png` |
| delete-confirm.png | `https://images.contentstack.io/v3/assets/bltebc53cfaf0dd6403/blta3dc2fcc177f1e2f/66490b55428432fa191989cc/delete-confirm.png` |
| Contentstack account | `https://www.contentstack.com/login` |
