> 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/cli/reference/project.md).

# norbix project

Project settings: name, languages, regions, CORS, admin portal, legal documents, AI chat.

Project settings: name, languages, regions, CORS, admin portal, legal documents, AI chat.

34 commands (`@norbix.ai/cli` 1.16.0):

* [`norbix project`](#norbix-project) — Show a project: name, languages, regions, CORS origins, admin portal, modules
* [`norbix project admin-portal disable`](#norbix-project-admin-portal-disable) — Turn off the project's admin portal (its users can no longer sign in there)
* [`norbix project admin-portal enable`](#norbix-project-admin-portal-enable) — Turn on the project's admin portal
* [`norbix project admin-portal set-service-user`](#norbix-project-admin-portal-set-service-user) — Pick the service user the admin portal acts as
* [`norbix project admin-portal set-url`](#norbix-project-admin-portal-set-url) — Give the admin portal your own address, or go back to the Norbix one
* [`norbix project admin-portal structure`](#norbix-project-admin-portal-structure) — Show the admin portal layout: its name and the modules it shows
* [`norbix project ai assistant create`](#norbix-project-ai-assistant-create) — Add an AI assistant to the project
* [`norbix project ai assistant delete`](#norbix-project-ai-assistant-delete) — Delete an AI assistant
* [`norbix project ai assistant update`](#norbix-project-ai-assistant-update) — Change an AI assistant
* [`norbix project ai settings`](#norbix-project-ai-settings) — Show the project's AI chat settings and its assistants
* [`norbix project ai settings set`](#norbix-project-ai-settings-set) — Turn AI chat on or off and pick its default LLM and model
* [`norbix project ai usage`](#norbix-project-ai-usage) — Show this period's AI usage: totals, per assistant, per model and the top users
* [`norbix project cors`](#norbix-project-cors) — List the browser origins allowed to call the project's APIs (CORS)
* [`norbix project cors add`](#norbix-project-cors-add) — Allow one or more origins, keeping the ones already allowed
* [`norbix project cors remove`](#norbix-project-cors-remove) — Stop allowing one or more origins, keeping the rest
* [`norbix project cors set`](#norbix-project-cors-set) — Replace the allowed origins with this list
* [`norbix project delete`](#norbix-project-delete) — Delete the project
* [`norbix project disable`](#norbix-project-disable) — Turn the project off
* [`norbix project enable`](#norbix-project-enable) — Turn a disabled project back on
* [`norbix project legal expose`](#norbix-project-legal-expose) — Show the project's legal documents to the public (admin portal and the public legal route)
* [`norbix project legal hide`](#norbix-project-legal-hide) — Stop showing the project's legal documents to the public
* [`norbix project legal set`](#norbix-project-legal-set) — Save the project's Terms & Conditions and Privacy Policy (Markdown)
* [`norbix project legal show`](#norbix-project-legal-show) — Show one legal document the way the public reads it
* [`norbix project public-config`](#norbix-project-public-config) — Show the project's public config: name, branding, sign-in options, AI chat
* [`norbix project set-colors`](#norbix-project-set-colors) — Set the project brand colours
* [`norbix project set-default-language`](#norbix-project-set-default-language) — Set the project default language (one of its languages)
* [`norbix project set-description`](#norbix-project-set-description) — Set or clear the project description
* [`norbix project set-icon`](#norbix-project-set-icon) — Set or clear the project icon
* [`norbix project set-languages`](#norbix-project-set-languages) — Set the languages the project supports
* [`norbix project set-logo`](#norbix-project-set-logo) — Set or clear the project logo
* [`norbix project set-name`](#norbix-project-set-name) — Rename the project
* [`norbix project set-regions`](#norbix-project-set-regions) — Set the project regions
* [`norbix project set-url`](#norbix-project-set-url) — Set or clear the project's website address
* [`norbix project tokens`](#norbix-project-tokens) — List the template tokens the project offers

## `norbix project`

Show a project: name, languages, regions, CORS origins, admin portal, modules

```
Shows the configured project unless you pass another project ID. List every
project of the account with `account projects`.
```

```sh
norbix project [ID]
```

| Argument | Required | Description                                     |
| -------- | -------- | ----------------------------------------------- |
| `ID`     | no       | Project ID (defaults to the configured project) |

Also takes the [global flags](/codemash/cli/reference.md#global-flags): `--json`, `--project`, `--env`, `--region`, `--api-key`, `--account`, `--profile`.

Examples:

```sh
norbix project
norbix project 66b2f0a1c3d4e5f6a7b8c9d0 --json
```

## `norbix project admin-portal disable`

Turn off the project's admin portal (its users can no longer sign in there)

```sh
norbix project admin-portal disable [flags]
```

| Flag          | Description                                                            |
| ------------- | ---------------------------------------------------------------------- |
| `-y`, `--yes` | Skip the confirmation prompt (required in non-interactive shells)      |
| `--dry-run`   | Resolve context and print the request that would be sent; send nothing |

Also takes the [global flags](/codemash/cli/reference.md#global-flags): `--json`, `--project`, `--env`, `--region`, `--api-key`, `--account`, `--profile`.

Examples:

```sh
norbix project admin-portal disable --yes
norbix project admin-portal disable --dry-run
```

## `norbix project admin-portal enable`

Turn on the project's admin portal

```
The admin portal is the end-user site Norbix generates for the project. See its
address with `project` (effectiveAdminUrl).
```

```sh
norbix project admin-portal enable [flags]
```

| Flag        | Description                                                            |
| ----------- | ---------------------------------------------------------------------- |
| `--dry-run` | Resolve context and print the request that would be sent; send nothing |

Also takes the [global flags](/codemash/cli/reference.md#global-flags): `--json`, `--project`, `--env`, `--region`, `--api-key`, `--account`, `--profile`.

Examples:

```sh
norbix project admin-portal enable
norbix project admin-portal enable --dry-run
```

## `norbix project admin-portal set-service-user`

Pick the service user the admin portal acts as

```
The admin portal calls the project's APIs under this user's permissions.
```

```sh
norbix project admin-portal set-service-user ID [flags]
```

| Argument | Required | Description     |
| -------- | -------- | --------------- |
| `ID`     | yes      | Service user ID |

| Flag        | Description                                                            |
| ----------- | ---------------------------------------------------------------------- |
| `--dry-run` | Resolve context and print the request that would be sent; send nothing |

Also takes the [global flags](/codemash/cli/reference.md#global-flags): `--json`, `--project`, `--env`, `--region`, `--api-key`, `--account`, `--profile`.

Examples:

```sh
norbix project admin-portal set-service-user 66b2f0a1c3d4e5f6a7b8c9d0
norbix project admin-portal set-service-user 66b2f0a1c3d4e5f6a7b8c9d0 --dry-run
```

## `norbix project admin-portal set-url`

Give the admin portal your own address, or go back to the Norbix one

```
--clear goes back to the address Norbix gives every project.
```

```sh
norbix project admin-portal set-url [URL] [flags]
```

| Argument | Required | Description          |
| -------- | -------- | -------------------- |
| `URL`    | no       | Admin portal address |

| Flag        | Description                                                            |
| ----------- | ---------------------------------------------------------------------- |
| `--dry-run` | Resolve context and print the request that would be sent; send nothing |
| `--clear`   | Use the Norbix address again                                           |

Also takes the [global flags](/codemash/cli/reference.md#global-flags): `--json`, `--project`, `--env`, `--region`, `--api-key`, `--account`, `--profile`.

Examples:

```sh
norbix project admin-portal set-url https://admin.example.com
norbix project admin-portal set-url --clear
norbix project admin-portal set-url https://admin.example.com --dry-run
```

## `norbix project admin-portal structure`

Show the admin portal layout: its name and the modules it shows

```
Only the project's admin portal service user gets an answer (sign in with that
user's API key); anyone else gets an empty result.
```

```sh
norbix project admin-portal structure
```

Also takes the [global flags](/codemash/cli/reference.md#global-flags): `--json`, `--project`, `--env`, `--region`, `--api-key`, `--account`, `--profile`.

Examples:

```sh
norbix project admin-portal structure --json
```

## `norbix project ai assistant create`

Add an AI assistant to the project

```
An assistant is a named chat persona: its instructions, the tools it may use,
the LLM and model it runs on. List them with `project ai settings`.
```

```sh
norbix project ai assistant create [flags]
```

| Flag                             | Description                                                                  |
| -------------------------------- | ---------------------------------------------------------------------------- |
| `--dry-run`                      | Resolve context and print the request that would be sent; send nothing       |
| `--name` `<value>`               | Assistant name                                                               |
| `--welcome` `<value>`            | First message the assistant shows                                            |
| `--system-prompt` `<value>`      | Instructions the assistant follows                                           |
| `--system-prompt-file` `<value>` | Read the instructions from a file                                            |
| `--toolset` `<value>`            | Tool set the assistant may use (repeat for several) — repeat for several     |
| `--llm` `<value>`                | LLM integration ID (default: the project default)                            |
| `--model` `<value>`              | Model of that integration                                                    |
| `--memory`                       | Remember earlier chats with the same user                                    |
| `--rag-source` `<value>`         | Knowledge source ID to answer from (repeat for several) — repeat for several |
| `--default`                      | Make it the project default assistant                                        |

Also takes the [global flags](/codemash/cli/reference.md#global-flags): `--json`, `--project`, `--env`, `--region`, `--api-key`, `--account`, `--profile`.

Examples:

```sh
norbix project ai assistant create --name Support --system-prompt-file support.md --toolset ai:database-read
norbix project ai assistant create --name Support --system-prompt-file support.md --toolset ai:database-read --dry-run
```

## `norbix project ai assistant delete`

Delete an AI assistant

```sh
norbix project ai assistant delete ID [flags]
```

| Argument | Required | Description  |
| -------- | -------- | ------------ |
| `ID`     | yes      | Assistant ID |

| Flag          | Description                                                            |
| ------------- | ---------------------------------------------------------------------- |
| `-y`, `--yes` | Skip the confirmation prompt (required in non-interactive shells)      |
| `--dry-run`   | Resolve context and print the request that would be sent; send nothing |

Also takes the [global flags](/codemash/cli/reference.md#global-flags): `--json`, `--project`, `--env`, `--region`, `--api-key`, `--account`, `--profile`.

Examples:

```sh
norbix project ai assistant delete 66b2f0a1c3d4e5f6a7b8c9d0 --yes
norbix project ai assistant delete 66b2f0a1c3d4e5f6a7b8c9d0 --dry-run
```

## `norbix project ai assistant update`

Change an AI assistant

```
The server replaces the whole assistant, so this reads it first and changes
only what you pass. --no-memory / --no-default turn those off.
```

```sh
norbix project ai assistant update ID [flags]
```

| Argument | Required | Description  |
| -------- | -------- | ------------ |
| `ID`     | yes      | Assistant ID |

| Flag                             | Description                                                                  |
| -------------------------------- | ---------------------------------------------------------------------------- |
| `--dry-run`                      | Resolve context and print the request that would be sent; send nothing       |
| `--name` `<value>`               | Assistant name                                                               |
| `--welcome` `<value>`            | First message the assistant shows                                            |
| `--system-prompt` `<value>`      | Instructions the assistant follows                                           |
| `--system-prompt-file` `<value>` | Read the instructions from a file                                            |
| `--toolset` `<value>`            | Tool set the assistant may use (repeat for several) — repeat for several     |
| `--llm` `<value>`                | LLM integration ID (default: the project default)                            |
| `--model` `<value>`              | Model of that integration                                                    |
| `--memory`                       | Remember earlier chats with the same user                                    |
| `--rag-source` `<value>`         | Knowledge source ID to answer from (repeat for several) — repeat for several |
| `--default`                      | Make it the project default assistant                                        |

Also takes the [global flags](/codemash/cli/reference.md#global-flags): `--json`, `--project`, `--env`, `--region`, `--api-key`, `--account`, `--profile`.

Examples:

```sh
norbix project ai assistant update 66b2f0a1c3d4e5f6a7b8c9d0 --model gpt-4o --no-memory
norbix project ai assistant update 66b2f0a1c3d4e5f6a7b8c9d0 --model gpt-4o --no-memory --dry-run
```

## `norbix project ai settings`

Show the project's AI chat settings and its assistants

```
Whether AI chat is on, the default LLM integration and model, and every
assistant (name, prompt, tools, model).
```

```sh
norbix project ai settings
```

Also takes the [global flags](/codemash/cli/reference.md#global-flags): `--json`, `--project`, `--env`, `--region`, `--api-key`, `--account`, `--profile`.

Examples:

```sh
norbix project ai settings
```

## `norbix project ai settings set`

Turn AI chat on or off and pick its default LLM and model

```
The server replaces all three settings at once, so this reads the current ones
first and changes only what you pass.
```

```sh
norbix project ai settings set [flags]
```

| Flag                | Description                                                            |
| ------------------- | ---------------------------------------------------------------------- |
| `--dry-run`         | Resolve context and print the request that would be sent; send nothing |
| `--enable`          | Turn AI chat on                                                        |
| `--disable`         | Turn AI chat off                                                       |
| `--llm` `<value>`   | Default LLM integration ID (see `ai llms`)                             |
| `--model` `<value>` | Default model of that integration                                      |

Also takes the [global flags](/codemash/cli/reference.md#global-flags): `--json`, `--project`, `--env`, `--region`, `--api-key`, `--account`, `--profile`.

Examples:

```sh
norbix project ai settings set --enable --llm 66b2f0a1c3d4e5f6a7b8c9d0 --model gpt-4o-mini
norbix project ai settings set --disable
norbix project ai settings set --enable --llm 66b2f0a1c3d4e5f6a7b8c9d0 --model gpt-4o-mini --dry-run
```

## `norbix project ai usage`

Show this period's AI usage: totals, per assistant, per model and the top users

```sh
norbix project ai usage [flags]
```

| Flag              | Description                |
| ----------------- | -------------------------- |
| `--top` `<value>` | How many top users to list |

Also takes the [global flags](/codemash/cli/reference.md#global-flags): `--json`, `--project`, `--env`, `--region`, `--api-key`, `--account`, `--profile`.

Examples:

```sh
norbix project ai usage --top 5
```

## `norbix project cors`

List the browser origins allowed to call the project's APIs (CORS)

```
One of them is usually the project's own admin portal; the server will not
drop it unless you ask for that on purpose (`--remove-admin-portal-origin`).
```

```sh
norbix project cors
```

Also takes the [global flags](/codemash/cli/reference.md#global-flags): `--json`, `--project`, `--env`, `--region`, `--api-key`, `--account`, `--profile`.

Examples:

```sh
norbix project cors
```

## `norbix project cors add`

Allow one or more origins, keeping the ones already allowed

```
The server stores the full list, so this reads the current origins first and
writes them back with the new ones.
```

```sh
norbix project cors add ORIGIN [flags]
```

| Argument | Required | Description                    |
| -------- | -------- | ------------------------------ |
| `ORIGIN` | yes      | Origins to allow (one or more) |

| Flag        | Description                                                            |
| ----------- | ---------------------------------------------------------------------- |
| `--dry-run` | Resolve context and print the request that would be sent; send nothing |

Also takes the [global flags](/codemash/cli/reference.md#global-flags): `--json`, `--project`, `--env`, `--region`, `--api-key`, `--account`, `--profile`.

Examples:

```sh
norbix project cors add https://staging.example.com
norbix project cors add https://staging.example.com --dry-run
```

## `norbix project cors remove`

Stop allowing one or more origins, keeping the rest

```
The server stores the full list, so this reads the current origins first and
writes them back without the ones you name. Removing the project's own admin
portal origin needs --remove-admin-portal-origin.
```

```sh
norbix project cors remove ORIGIN [flags]
```

| Argument | Required | Description                     |
| -------- | -------- | ------------------------------- |
| `ORIGIN` | yes      | Origins to remove (one or more) |

| Flag                           | Description                                                            |
| ------------------------------ | ---------------------------------------------------------------------- |
| `-y`, `--yes`                  | Skip the confirmation prompt (required in non-interactive shells)      |
| `--dry-run`                    | Resolve context and print the request that would be sent; send nothing |
| `--remove-admin-portal-origin` | Allow removing the project's own admin portal origin                   |

Also takes the [global flags](/codemash/cli/reference.md#global-flags): `--json`, `--project`, `--env`, `--region`, `--api-key`, `--account`, `--profile`.

Examples:

```sh
norbix project cors remove https://staging.example.com --yes
norbix project cors remove https://staging.example.com --dry-run
```

## `norbix project cors set`

Replace the allowed origins with this list

```
Every origin not in the list stops being allowed. An origin with no scheme
(example.com) means https. To change one origin, use `project cors add` or
`project cors remove` instead.
```

```sh
norbix project cors set ORIGIN [flags]
```

| Argument | Required | Description                   |
| -------- | -------- | ----------------------------- |
| `ORIGIN` | yes      | Allowed origins (one or more) |

| Flag                           | Description                                                            |
| ------------------------------ | ---------------------------------------------------------------------- |
| `--dry-run`                    | Resolve context and print the request that would be sent; send nothing |
| `--remove-admin-portal-origin` | Allow the list to drop the project's own admin portal origin           |

Also takes the [global flags](/codemash/cli/reference.md#global-flags): `--json`, `--project`, `--env`, `--region`, `--api-key`, `--account`, `--profile`.

Examples:

```sh
norbix project cors set https://app.example.com https://example.com
norbix project cors set https://app.example.com --remove-admin-portal-origin
norbix project cors set https://app.example.com https://example.com --dry-run
```

## `norbix project delete`

Delete the project

```
This removes the project with its data and cannot be undone. Without --yes the
command asks first, and refuses when there is no terminal to ask in.
```

```sh
norbix project delete [flags]
```

| Flag          | Description                                                            |
| ------------- | ---------------------------------------------------------------------- |
| `-y`, `--yes` | Skip the confirmation prompt (required in non-interactive shells)      |
| `--dry-run`   | Resolve context and print the request that would be sent; send nothing |

Also takes the [global flags](/codemash/cli/reference.md#global-flags): `--json`, `--project`, `--env`, `--region`, `--api-key`, `--account`, `--profile`.

Examples:

```sh
norbix project delete --project 66b2f0a1c3d4e5f6a7b8c9d0 --yes
norbix project delete --project 66b2f0a1c3d4e5f6a7b8c9d0 --dry-run
```

## `norbix project disable`

Turn the project off

```
Its APIs stop answering until `project enable`. Nothing is deleted.
```

```sh
norbix project disable [flags]
```

| Flag          | Description                                                            |
| ------------- | ---------------------------------------------------------------------- |
| `-y`, `--yes` | Skip the confirmation prompt (required in non-interactive shells)      |
| `--dry-run`   | Resolve context and print the request that would be sent; send nothing |

Also takes the [global flags](/codemash/cli/reference.md#global-flags): `--json`, `--project`, `--env`, `--region`, `--api-key`, `--account`, `--profile`.

Examples:

```sh
norbix project disable --yes
norbix project disable --dry-run
```

## `norbix project enable`

Turn a disabled project back on

```sh
norbix project enable [flags]
```

| Flag        | Description                                                            |
| ----------- | ---------------------------------------------------------------------- |
| `--dry-run` | Resolve context and print the request that would be sent; send nothing |

Also takes the [global flags](/codemash/cli/reference.md#global-flags): `--json`, `--project`, `--env`, `--region`, `--api-key`, `--account`, `--profile`.

Examples:

```sh
norbix project enable
norbix project enable --dry-run
```

## `norbix project legal expose`

Show the project's legal documents to the public (admin portal and the public legal route)

```sh
norbix project legal expose [flags]
```

| Flag        | Description                                                            |
| ----------- | ---------------------------------------------------------------------- |
| `--dry-run` | Resolve context and print the request that would be sent; send nothing |

Also takes the [global flags](/codemash/cli/reference.md#global-flags): `--json`, `--project`, `--env`, `--region`, `--api-key`, `--account`, `--profile`.

Examples:

```sh
norbix project legal expose
norbix project legal expose --dry-run
```

## `norbix project legal hide`

Stop showing the project's legal documents to the public

```sh
norbix project legal hide [flags]
```

| Flag        | Description                                                            |
| ----------- | ---------------------------------------------------------------------- |
| `--dry-run` | Resolve context and print the request that would be sent; send nothing |

Also takes the [global flags](/codemash/cli/reference.md#global-flags): `--json`, `--project`, `--env`, `--region`, `--api-key`, `--account`, `--profile`.

Examples:

```sh
norbix project legal hide
norbix project legal hide --dry-run
```

## `norbix project legal set`

Save the project's Terms & Conditions and Privacy Policy (Markdown)

```
The server stores both documents in one call and clears a document it does not
get, so a document you leave out is read from the project and sent back
unchanged. --clear-terms / --clear-privacy remove one on purpose. Show them to
the public with `project legal expose`.
```

```sh
norbix project legal set [flags]
```

| Flag                       | Description                                                            |
| -------------------------- | ---------------------------------------------------------------------- |
| `--dry-run`                | Resolve context and print the request that would be sent; send nothing |
| `--terms-file` `<value>`   | Terms & Conditions, a Markdown file                                    |
| `--privacy-file` `<value>` | Privacy Policy, a Markdown file                                        |
| `--clear-terms`            | Remove the Terms & Conditions                                          |
| `--clear-privacy`          | Remove the Privacy Policy                                              |

Also takes the [global flags](/codemash/cli/reference.md#global-flags): `--json`, `--project`, `--env`, `--region`, `--api-key`, `--account`, `--profile`.

Examples:

```sh
norbix project legal set --terms-file terms.md --privacy-file privacy.md
norbix project legal set --terms-file terms.md
norbix project legal set --clear-privacy
norbix project legal set --terms-file terms.md --privacy-file privacy.md --dry-run
```

## `norbix project legal show`

Show one legal document the way the public reads it

```
Calls the public route on the API host, so it shows what visitors get:
`available: false` until the document is saved and exposed
(`project legal expose`).
```

```sh
norbix project legal show KIND
```

| Argument | Required | Description                                 |
| -------- | -------- | ------------------------------------------- |
| `KIND`   | yes      | Which document — one of: `terms`, `privacy` |

Also takes the [global flags](/codemash/cli/reference.md#global-flags): `--json`, `--project`, `--env`, `--region`, `--api-key`, `--account`, `--profile`.

Examples:

```sh
norbix project legal show terms
norbix project legal show privacy --json
```

## `norbix project public-config`

Show the project's public config: name, branding, sign-in options, AI chat

```
This is what the admin portal and other apps read before anyone signs in (API
host, public route).
```

```sh
norbix project public-config [ID]
```

| Argument | Required | Description                                     |
| -------- | -------- | ----------------------------------------------- |
| `ID`     | no       | Project ID (defaults to the configured project) |

Also takes the [global flags](/codemash/cli/reference.md#global-flags): `--json`, `--project`, `--env`, `--region`, `--api-key`, `--account`, `--profile`.

Examples:

```sh
norbix project public-config
norbix project public-config 66b2f0a1c3d4e5f6a7b8c9d0 --json
```

## `norbix project set-colors`

Set the project brand colours

```
The main colour and the accent colour are separate settings; pass one or both.
Colours are hex values such as #1F6FEB.
```

```sh
norbix project set-colors [flags]
```

| Flag                 | Description                                                            |
| -------------------- | ---------------------------------------------------------------------- |
| `--dry-run`          | Resolve context and print the request that would be sent; send nothing |
| `--main` `<value>`   | Main brand colour (hex)                                                |
| `--accent` `<value>` | Accent colour (hex)                                                    |

Also takes the [global flags](/codemash/cli/reference.md#global-flags): `--json`, `--project`, `--env`, `--region`, `--api-key`, `--account`, `--profile`.

Examples:

```sh
norbix project set-colors --main "#1F6FEB" --accent "#F78166"
norbix project set-colors --accent "#F78166"
norbix project set-colors --main "#1F6FEB" --accent "#F78166" --dry-run
```

## `norbix project set-default-language`

Set the project default language (one of its languages)

```sh
norbix project set-default-language LANGUAGE [flags]
```

| Argument   | Required | Description   |
| ---------- | -------- | ------------- |
| `LANGUAGE` | yes      | Language code |

| Flag        | Description                                                            |
| ----------- | ---------------------------------------------------------------------- |
| `--dry-run` | Resolve context and print the request that would be sent; send nothing |

Also takes the [global flags](/codemash/cli/reference.md#global-flags): `--json`, `--project`, `--env`, `--region`, `--api-key`, `--account`, `--profile`.

Examples:

```sh
norbix project set-default-language en
norbix project set-default-language en --dry-run
```

## `norbix project set-description`

Set or clear the project description

```sh
norbix project set-description [DESCRIPTION] [flags]
```

| Argument      | Required | Description     |
| ------------- | -------- | --------------- |
| `DESCRIPTION` | no       | New description |

| Flag        | Description                                                            |
| ----------- | ---------------------------------------------------------------------- |
| `--dry-run` | Resolve context and print the request that would be sent; send nothing |
| `--clear`   | Remove the description                                                 |

Also takes the [global flags](/codemash/cli/reference.md#global-flags): `--json`, `--project`, `--env`, `--region`, `--api-key`, `--account`, `--profile`.

Examples:

```sh
norbix project set-description "Orders and invoices for the web shop"
norbix project set-description --clear
norbix project set-description "Orders and invoices for the web shop" --dry-run
```

## `norbix project set-icon`

Set or clear the project icon

```
--file-resource is the stored file to use, as the files module describes it:
{resource: {id, originalFileName, extension, storedFileName}, integrationId,
provider, path, isPublic, publicUrl} — inline JSON, @file.json or - for stdin.
Upload the image first with `files upload`, then point at it here.
```

```sh
norbix project set-icon [flags]
```

| Flag                        | Description                                                            |
| --------------------------- | ---------------------------------------------------------------------- |
| `--dry-run`                 | Resolve context and print the request that would be sent; send nothing |
| `--file-resource` `<value>` | The stored file as a JSON object, @file or -                           |
| `--clear`                   | Remove the icon                                                        |

Also takes the [global flags](/codemash/cli/reference.md#global-flags): `--json`, `--project`, `--env`, `--region`, `--api-key`, `--account`, `--profile`.

Examples:

```sh
norbix project set-icon --file-resource @icon-ref.json
norbix project set-icon --clear
norbix project set-icon --file-resource @icon-ref.json --dry-run
```

## `norbix project set-languages`

Set the languages the project supports

```
Pass the full list — it replaces the one stored. The default language must stay
in it (`project set-default-language`).
```

```sh
norbix project set-languages LANGUAGE [flags]
```

| Argument   | Required | Description                  |
| ---------- | -------- | ---------------------------- |
| `LANGUAGE` | yes      | Language codes (one or more) |

| Flag        | Description                                                            |
| ----------- | ---------------------------------------------------------------------- |
| `--dry-run` | Resolve context and print the request that would be sent; send nothing |

Also takes the [global flags](/codemash/cli/reference.md#global-flags): `--json`, `--project`, `--env`, `--region`, `--api-key`, `--account`, `--profile`.

Examples:

```sh
norbix project set-languages en lt de
norbix project set-languages en lt de --dry-run
```

## `norbix project set-logo`

Set or clear the project logo

```
--file-resource is the stored file to use, as the files module describes it:
{resource: {id, originalFileName, extension, storedFileName}, integrationId,
provider, path, isPublic, publicUrl} — inline JSON, @file.json or - for stdin.
Upload the image first with `files upload`, then point at it here.
```

```sh
norbix project set-logo [flags]
```

| Flag                        | Description                                                            |
| --------------------------- | ---------------------------------------------------------------------- |
| `--dry-run`                 | Resolve context and print the request that would be sent; send nothing |
| `--file-resource` `<value>` | The stored file as a JSON object, @file or -                           |
| `--clear`                   | Remove the logo                                                        |

Also takes the [global flags](/codemash/cli/reference.md#global-flags): `--json`, `--project`, `--env`, `--region`, `--api-key`, `--account`, `--profile`.

Examples:

```sh
norbix project set-logo --file-resource @logo-ref.json
norbix project set-logo --clear
norbix project set-logo --file-resource @logo-ref.json --dry-run
```

## `norbix project set-name`

Rename the project

```sh
norbix project set-name NAME [flags]
```

| Argument | Required | Description      |
| -------- | -------- | ---------------- |
| `NAME`   | yes      | New project name |

| Flag        | Description                                                            |
| ----------- | ---------------------------------------------------------------------- |
| `--dry-run` | Resolve context and print the request that would be sent; send nothing |

Also takes the [global flags](/codemash/cli/reference.md#global-flags): `--json`, `--project`, `--env`, `--region`, `--api-key`, `--account`, `--profile`.

Examples:

```sh
norbix project set-name "Shop backend"
norbix project set-name "Shop backend" --dry-run
```

## `norbix project set-regions`

Set the project regions

```
The primary region can be set once and never changed afterwards — leave
--primary out to keep it. --additional is the full new list of extra regions
(repeat the flag); --clear-additional removes them all. With neither, the
current additional regions are read and sent back unchanged. See the region codes
with `account regions`.
```

```sh
norbix project set-regions [flags]
```

| Flag                     | Description                                                            |
| ------------------------ | ---------------------------------------------------------------------- |
| `--dry-run`              | Resolve context and print the request that would be sent; send nothing |
| `--primary` `<value>`    | Primary region code (only when it is not set yet)                      |
| `--additional` `<value>` | Additional region code (repeat for several) — repeat for several       |
| `--clear-additional`     | Remove every additional region                                         |

Also takes the [global flags](/codemash/cli/reference.md#global-flags): `--json`, `--project`, `--env`, `--region`, `--api-key`, `--account`, `--profile`.

Examples:

```sh
norbix project set-regions --additional nb-us-east --additional nb-ap-singapore
norbix project set-regions --primary nb-eu-germany
norbix project set-regions --clear-additional
norbix project set-regions --additional nb-us-east --additional nb-ap-singapore --dry-run
```

## `norbix project set-url`

Set or clear the project's website address

```
This is the public site the project belongs to (shown on the admin portal and
in e-mails). The admin portal's own address is `project admin-portal set-url`.
```

```sh
norbix project set-url [URL] [flags]
```

| Argument | Required | Description     |
| -------- | -------- | --------------- |
| `URL`    | no       | Website address |

| Flag        | Description                                                            |
| ----------- | ---------------------------------------------------------------------- |
| `--dry-run` | Resolve context and print the request that would be sent; send nothing |
| `--clear`   | Remove the address                                                     |

Also takes the [global flags](/codemash/cli/reference.md#global-flags): `--json`, `--project`, `--env`, `--region`, `--api-key`, `--account`, `--profile`.

Examples:

```sh
norbix project set-url https://shop.example.com
norbix project set-url --clear
norbix project set-url https://shop.example.com --dry-run
```

## `norbix project tokens`

List the template tokens the project offers

```
These are the @Model values an e-mail, SMS or push template can use. Pass user
ids to see the tokens filled in for those users.
```

```sh
norbix project tokens [flags]
```

| Flag                      | Description                   |
| ------------------------- | ----------------------------- |
| `--initiator` `<value>`   | User who started the action   |
| `--recipient` `<value>`   | User who receives the message |
| `--target-user` `<value>` | User the action is about      |

Also takes the [global flags](/codemash/cli/reference.md#global-flags): `--json`, `--project`, `--env`, `--region`, `--api-key`, `--account`, `--profile`.

Examples:

```sh
norbix project tokens
norbix project tokens --recipient 66b2f0a1c3d4e5f6a7b8c9d0
```
