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

# tai principals

> Manage the deployment's principals.

Manage the deployment's principals.

```console theme={null}
$ tai principals [OPTIONS] COMMAND [ARGS]...
```

## `tai principals create`

Create a human or service principal under a role.

Example: `tai principals create --kind service --display-name 'CI runner' --role editor`

```console theme={null}
$ tai principals create [OPTIONS]
```

| Option                            | Description                                                                    |
| --------------------------------- | ------------------------------------------------------------------------------ |
| `--kind` `&lt;human\|service&gt;` | The principal's kind. *(required)*                                             |
| `--display-name` `&lt;str&gt;`    | How the principal appears in listings. *(required)*                            |
| `--role` `&lt;str&gt;`            | The role template the principal's keys inherit (see `tai roles`). *(required)* |
| `--user` `&lt;str&gt;`            | The principal's id (omitted = server-minted).                                  |
| `--json` / `--no-json`            | Emit raw JSON instead of human tables.                                         |

## `tai principals delete`

Delete a principal — REVOKES every key it owns and drops its policy.

Deletion is immediate and cannot be undone: each key the principal owns stops
authenticating on its next request. List the keys with `tai keys list` first.

Example: `tai principals delete usr-abc123`

```console theme={null}
$ tai principals delete [OPTIONS] {user}
```

| Argument | Description                      |
| -------- | -------------------------------- |
| `user`   | The principal's id. *(required)* |

| Option                 | Description                            |
| ---------------------- | -------------------------------------- |
| `--json` / `--no-json` | Emit raw JSON instead of human tables. |

## `tai principals disable`

Disable a principal — its keys stop authenticating until it is re-enabled.

Example: `tai principals disable usr-abc123`

```console theme={null}
$ tai principals disable [OPTIONS] {user}
```

| Argument | Description                      |
| -------- | -------------------------------- |
| `user`   | The principal's id. *(required)* |

| Option                 | Description                            |
| ---------------------- | -------------------------------------- |
| `--json` / `--no-json` | Emit raw JSON instead of human tables. |

## `tai principals enable`

Re-enable a disabled principal — its keys authenticate again.

Example: `tai principals enable usr-abc123`

```console theme={null}
$ tai principals enable [OPTIONS] {user}
```

| Argument | Description                      |
| -------- | -------------------------------- |
| `user`   | The principal's id. *(required)* |

| Option                 | Description                            |
| ---------------------- | -------------------------------------- |
| `--json` / `--no-json` | Emit raw JSON instead of human tables. |

## `tai principals list`

List every principal with its kind, display name, and disabled state.

Example: `tai principals list`

```console theme={null}
$ tai principals list [OPTIONS]
```

| Option                 | Description                            |
| ---------------------- | -------------------------------------- |
| `--json` / `--no-json` | Emit raw JSON instead of human tables. |
