> For the complete documentation index, see [llms.txt](https://codemash.gitbook.io/codemash/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://codemash.gitbook.io/codemash/cloud/database/taxonomies.md).

# Taxonomies

The list of taxonomies — named lists of terms (categories, tags, places) that records point at.

**Where:** Database → Taxonomies · `/projects/<project>/db/taxonomies`

A **taxonomy** is a named list of **terms** — categories, tags, places — in every project language. Records store a term's id instead of free text, so `Phones`, `phones` and `Phone` never mix. Taxonomies can be linked: with a **parent**, every term must sit under a term of the parent taxonomy (every city under its country), so the API can return the whole tree for menus and filters.

<figure><img src="https://712692422-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHy372bqsaex2cqS3ikhL%2Fuploads%2Fgit-blob-a8a50e58ac30f6e93041ae461bd302b90a2416dc%2Ftaxonomies-list-1.png?alt=media" alt="Taxonomies list with the columns Taxonomy, Description and Parent(s): Regions (Parts of the world we ship to), Tags (Free labels for countries) and Countries (Countries we deliver to) with Parent(s) Regions, Tags; each row has a menu; Add New at the top right"><figcaption><p>Database → Taxonomies.</p></figcaption></figure>

## Columns, search and filters

| Column      | What it shows                                                                                                                      |
| ----------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| Taxonomy    | The name. Click it to open the taxonomy's [terms](/codemash/cloud/database/taxonomies/terms.md).                                   |
| Description | The free-text description.                                                                                                         |
| Parent(s)   | The parent taxonomy first, then the additional categories (`Regions, Tags`). When a parent's name cannot be read, its id is shown. |
| (row menu)  | **Edit taxonomy** — see [Edit a taxonomy](/codemash/cloud/database/taxonomies/edit.md).                                            |

The list has no search or filters. Reading it needs `database:read` on `database:taxonomy:all`; terms use one permission key per taxonomy, `database:term:<taxonomy id>`.

## What you can do here

* [Create a taxonomy](/codemash/cloud/database/taxonomies/new.md) — **Add New**.
* [Edit a taxonomy](/codemash/cloud/database/taxonomies/edit.md) — row menu → **Edit taxonomy**.
* [Delete a taxonomy](/codemash/cloud/database/taxonomies/delete.md) — **Delete** in the taxonomy form.
* [Terms](/codemash/cloud/database/taxonomies/terms.md) — click a taxonomy: add, edit and delete its terms.
* [Term fields](/codemash/cloud/database/taxonomies/term-fields.md) — extra fields every term of a taxonomy has, on the **Term fields** tab.

## Do it from code

```ts
const { list } = await norbix.hub.database.getDatabaseTaxonomies();
console.log(list.items.map((t) => `${t.taxonomyName} ← ${t.parentName ?? '—'}`));
// [ 'Regions ← —', 'Tags ← —', 'Countries ← Regions' ]
```

```sh
norbix hub database taxonomies get
```

Each row carries `taxonomyName`, `description`, `parentId`, `parentName`, `dependencies` (the additional parents' ids) and `dependencyRefs` (`{ id, name }` pairs). API: [Get Database Taxonomies](/codemash/api-reference/database/taxonomies/get-database-taxonomies.md) · [Find Taxonomy Tree](/codemash/api-reference/database/taxonomies/find-taxonomy-tree.md)
