> ## Documentation Index
> Fetch the complete documentation index at: https://apidocs.neetokb.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Themes

> List, edit, clone, and publish themes, and manage their configuration and fonts.

A theme controls how your public knowledge base looks. Built-in themes cannot be changed: clone one to get a theme you can edit. Changing a theme needs the Manage themes permission. For fields and response details, see the [API reference](https://apidocs.neetokb.com/api/themes/list.md).

## List themes

This command lists built-in themes first and then custom themes.

```bash theme={"system"}
neetokb themes list
```

## Show a theme

This command shows one theme with its colors.

```bash theme={"system"}
neetokb themes show 9a3f5c18-2e7b-4d06-b1c4-d8e0a6f39257
```

**Required arguments:**

* `<id>` - Theme ID from `themes list`

## Rename a theme

This command renames a custom theme. A built-in theme returns not found.

```bash theme={"system"}
neetokb themes update 9a3f5c18-2e7b-4d06-b1c4-d8e0a6f39257 --name "Spring"
```

**Required arguments:**

* `<id>` - Theme ID from `themes list`

| Flag | Type | Required | Default | Description |
| - | - | - | - | - |
| `--name` | `string` | Yes | | New theme name |

## Clone a theme

This command copies a built-in or custom theme into a new unpublished custom theme named `<name> - Clone N`.

```bash theme={"system"}
neetokb themes clone 9a3f5c18-2e7b-4d06-b1c4-d8e0a6f39257
```

**Required arguments:**

* `<id>` - Theme ID from `themes list`

## Publish a theme

This command makes a theme the one visitors see.

```bash theme={"system"}
neetokb themes publish 9a3f5c18-2e7b-4d06-b1c4-d8e0a6f39257
```

**Required arguments:**

* `<id>` - Theme ID from `themes list`

## Delete a theme

This command deletes a custom theme. The published theme cannot be deleted.

```bash theme={"system"}
neetokb themes delete 9a3f5c18-2e7b-4d06-b1c4-d8e0a6f39257
```

**Required arguments:**

* `<id>` - Theme ID from `themes list`

## Show theme configuration

This command shows the fonts, colors, images and custom CSS of a theme.

```bash theme={"system"}
neetokb themes config show 9a3f5c18-2e7b-4d06-b1c4-d8e0a6f39257
```

**Required arguments:**

* `<id>` - Theme ID from `themes list`

## Update theme configuration

This command changes the configuration of a custom theme. Only the flags you pass change.

```bash theme={"system"}
neetokb themes config update 9a3f5c18-2e7b-4d06-b1c4-d8e0a6f39257 \
  --color header-bg=#ffffff --color header-text=#111827 \
  --brand-image ./logo.png --brand-image-height 40
```

**Required arguments:**

* `<id>` - Theme ID from `themes list`

| Flag | Type | Required | Default | Description |
| - | - | - | - | - |
| `--body-font-id` | `string` | | | ID of a font of this theme for body text |
| `--brand-image` | `string` | | | Brand image: a local file path or the signed ID of an uploaded attachment |
| `--brand-image-height` | `int` | | `0` | Brand image height in pixels |
| `--color` | `stringArray` | | `[]` | Color as name=value, for example header-bg=#ffffff; repeat for several |
| `--custom-css` | `string` | | | Custom CSS; an empty value clears it |
| `--header-image` | `string` | | | Header image: a local file path or the signed ID of an uploaded attachment |
| `--title-font-id` | `string` | | | ID of a font of this theme for titles |

Colors are merged into the current ones, and an unknown color name is refused. `--brand-image` and `--header-image` take a local file path or the signed ID of an uploaded attachment. The CLI uploads a file for you. `--custom-css ''` clears the custom CSS. The font flags take a font ID from `themes config show`. Header text and search input text are workspace settings, so change them with [`neetokb workspace update`](https://apidocs.neetokb.com/cli-reference/workspace#update-workspace-settings).

## Add a font

This command adds a Google font to a custom theme.

```bash theme={"system"}
neetokb themes fonts create 9a3f5c18-2e7b-4d06-b1c4-d8e0a6f39257 --name Roboto --weights 400,700
```

**Required arguments:**

* `<id>` - Theme ID from `themes list`

| Flag | Type | Required | Default | Description |
| - | - | - | - | - |
| `--name` | `string` | Yes | | Google font name, for example Roboto |
| `--weights` | `string` | | | Font weights (comma-separated), for example 400,700 |

## Update a font

This command changes a font of a custom theme.

```bash theme={"system"}
neetokb themes fonts update 9a3f5c18-2e7b-4d06-b1c4-d8e0a6f39257 c2b8e4a7-1f03-4d59-96a2-e7d5b0c13f84 --weights 400,500,700
```

**Required arguments:**

* `<id>` - Theme ID from `themes list`
* `<font-id>` - Font ID from `themes config show`

| Flag | Type | Required | Default | Description |
| - | - | - | - | - |
| `--name` | `string` | | | Google font name |
| `--weights` | `string` | | | Font weights (comma-separated) |

## Delete a font

This command removes a font from a custom theme. A title or body font setting that points to it is not cleared.

```bash theme={"system"}
neetokb themes fonts delete 9a3f5c18-2e7b-4d06-b1c4-d8e0a6f39257 c2b8e4a7-1f03-4d59-96a2-e7d5b0c13f84
```

**Required arguments:**

* `<id>` - Theme ID from `themes list`
* `<font-id>` - Font ID from `themes config show`


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.