# kindgi people

> The tenant's people: add one, list, get, their grants, tenant admin given or taken (grant / ungrant), and remove one

## `kindgi people`

**Synopsis**

```sh signature
kindgi people <command>
```

The tenant's people: add one, list, get, their grants, tenant admin given or taken (grant / ungrant), and remove one.

**Commands**

| Command                                                                                                 | Description                                                                                                                                                                |
| ------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [`kindgi people add`](https://docs.kindgi.com/v0.1.8/reference/cli/people.md#kindgi-people-add)         | Add a person to the tenant; prints their id.                                                                                                                               |
| [`kindgi people list`](https://docs.kindgi.com/v0.1.8/reference/cli/people.md#kindgi-people-list)       | List the tenant's people; `--query` matches the start of a name.                                                                                                           |
| [`kindgi people get`](https://docs.kindgi.com/v0.1.8/reference/cli/people.md#kindgi-people-get)         | One person, by id.                                                                                                                                                         |
| [`kindgi people grants`](https://docs.kindgi.com/v0.1.8/reference/cli/people.md#kindgi-people-grants)   | What a person may do, as granted directly: tenant admin, tenant member (reads the tenant's settings), project and team roles, the reviewer roster.                         |
| [`kindgi people grant`](https://docs.kindgi.com/v0.1.8/reference/cli/people.md#kindgi-people-grant)     | Make a person a tenant admin, before it answers: their next request holds it.                                                                                              |
| [`kindgi people ungrant`](https://docs.kindgi.com/v0.1.8/reference/cli/people.md#kindgi-people-ungrant) | Remove tenant admin from a person.                                                                                                                                         |
| [`kindgi people remove`](https://docs.kindgi.com/v0.1.8/reference/cli/people.md#kindgi-people-remove)   | Remove a person from the tenant: every API key and session of theirs is revoked, and every role and membership taken away, before it answers (their keys get 401 at once). |

**See also**

- [People, API keys and service accounts](https://docs.kindgi.com/v0.1.8/deploy/people-and-keys.md)

### `kindgi people add`

**Synopsis**

```sh signature
kindgi people add --name=<display-name> [--email=<email>]
```

Add a person to the tenant; prints their id. They can read the tenant's settings at once; give them a project role to work on its agents and runs, and their first key (`kindgi tokens create --for=user:<id>`). Tenant admins only.

**Options**

| Option            | Default  | Description                                    |
| ----------------- | -------- | ---------------------------------------------- |
| `--email <value>` | none     | Their email; unique among the tenant's people. |
| `--name <value>`  | required | Their name, as people see it.                  |

Every command also takes the [global flags](https://docs.kindgi.com/v0.1.8/reference/cli.md#global-flags).

**Examples**

From [People, API keys and service accounts](https://docs.kindgi.com/v0.1.8/deploy/people-and-keys.md):

```sh
npx --yes @kindgi/cli@0.1 people add --name="Sam Rivera" --email=sam@acme.example
```

**See also**

- [People, API keys and service accounts](https://docs.kindgi.com/v0.1.8/deploy/people-and-keys.md)
- [`kindgi people`](https://docs.kindgi.com/v0.1.8/reference/cli/people.md#kindgi-people)

### `kindgi people list`

**Synopsis**

```sh signature
kindgi people list [--query=<name-prefix>] [--include-removed] [--limit=<n>] [--cursor=<c>] [--table]
```

List the tenant's people; `--query` matches the start of a name. People who were removed are left out unless `--include-removed`.

**Options**

| Option              | Default              | Description                                                |
| ------------------- | -------------------- | ---------------------------------------------------------- |
| `--cursor <value>`  | none                 | The next page, from `nextCursor`.                          |
| `--include-removed` | off                  | People who were removed too, with when (`unregisteredAt`). |
| `--limit <value>`   | `25` (at most `100`) | Page size.                                                 |
| `--query <value>`   | none                 | Only names starting with this.                             |

Every command also takes the [global flags](https://docs.kindgi.com/v0.1.8/reference/cli.md#global-flags).

**Examples**

Find people whose name starts with Sam.

```sh
kindgi people list --query=Sam
```

List everyone, removed people too, as a table.

```sh
kindgi people list --include-removed --table
```

**See also**

- [People, API keys and service accounts](https://docs.kindgi.com/v0.1.8/deploy/people-and-keys.md)
- [`kindgi people`](https://docs.kindgi.com/v0.1.8/reference/cli/people.md#kindgi-people)

### `kindgi people get`

**Synopsis**

```sh signature
kindgi people get <user-id>
```

One person, by id.

**Options**

Every command also takes the [global flags](https://docs.kindgi.com/v0.1.8/reference/cli.md#global-flags).

**Examples**

Show one person.

```sh
kindgi people get <user-id>
```

**See also**

- [People, API keys and service accounts](https://docs.kindgi.com/v0.1.8/deploy/people-and-keys.md)
- [`kindgi people`](https://docs.kindgi.com/v0.1.8/reference/cli/people.md#kindgi-people)

### `kindgi people grants`

**Synopsis**

```sh signature
kindgi people grants <user-id> [--table]
```

What a person may do, as granted directly: tenant admin, tenant member (reads the tenant's settings), project and team roles, the reviewer roster. A tenant admin reads anyone's; anyone else only their own.

**Options**

Every command also takes the [global flags](https://docs.kindgi.com/v0.1.8/reference/cli.md#global-flags).

**Examples**

Show what a person may do, as a table.

```sh
kindgi people grants <user-id> --table
```

**See also**

- [People, API keys and service accounts](https://docs.kindgi.com/v0.1.8/deploy/people-and-keys.md)
- [`kindgi people`](https://docs.kindgi.com/v0.1.8/reference/cli/people.md#kindgi-people)

### `kindgi people grant`

**Synopsis**

```sh signature
kindgi people grant <user-id> --tenant-admin
```

Make a person a tenant admin, before it answers: their next request holds it. Tenant admins only.

**Options**

| Option           | Default | Description   |
| ---------------- | ------- | ------------- |
| `--tenant-admin` | off     | Tenant admin. |

Every command also takes the [global flags](https://docs.kindgi.com/v0.1.8/reference/cli.md#global-flags).

**Examples**

From [People, API keys and service accounts](https://docs.kindgi.com/v0.1.8/deploy/people-and-keys.md):

```sh
npx --yes @kindgi/cli@0.1 people grant <user-id> --tenant-admin
```

**See also**

- [People, API keys and service accounts](https://docs.kindgi.com/v0.1.8/deploy/people-and-keys.md)
- [`kindgi people`](https://docs.kindgi.com/v0.1.8/reference/cli/people.md#kindgi-people)

### `kindgi people ungrant`

**Synopsis**

```sh signature
kindgi people ungrant <user-id> --tenant-admin
```

Remove tenant admin from a person. Refused for the only person who holds it (make someone else one first) and for the seed user (unset KINDGI_SEED_USER_ID and restart the runtime first). Tenant admins only.

**Options**

| Option           | Default | Description   |
| ---------------- | ------- | ------------- |
| `--tenant-admin` | off     | Tenant admin. |

Every command also takes the [global flags](https://docs.kindgi.com/v0.1.8/reference/cli.md#global-flags).

**Examples**

From [People, API keys and service accounts](https://docs.kindgi.com/v0.1.8/deploy/people-and-keys.md):

```sh
npx --yes @kindgi/cli@0.1 people ungrant <user-id> --tenant-admin
```

**See also**

- [People, API keys and service accounts](https://docs.kindgi.com/v0.1.8/deploy/people-and-keys.md)
- [`kindgi people`](https://docs.kindgi.com/v0.1.8/reference/cli/people.md#kindgi-people)

### `kindgi people remove`

**Synopsis**

```sh signature
kindgi people remove <user-id>
```

Remove a person from the tenant: every API key and session of theirs is revoked, and every role and membership taken away, before it answers (their keys get 401 at once). Their record stays, so their history still says who they were; their email is free again (adding it makes a new person). Refused for yourself, the seed user and the only tenant admin. Tenant admins only.

**Options**

Every command also takes the [global flags](https://docs.kindgi.com/v0.1.8/reference/cli.md#global-flags).

**Examples**

From [People, API keys and service accounts](https://docs.kindgi.com/v0.1.8/deploy/people-and-keys.md):

```sh
npx --yes @kindgi/cli@0.1 people remove <user-id>
```

**See also**

- [People, API keys and service accounts](https://docs.kindgi.com/v0.1.8/deploy/people-and-keys.md)
- [`kindgi people`](https://docs.kindgi.com/v0.1.8/reference/cli/people.md#kindgi-people)
