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

# Users

> Manage users with the AX CLI

<Note>
  The `ax users` commands are currently in **BETA**. The API may change without notice. A one-time warning is emitted on first use.
</Note>

The `ax users` commands let you create, retrieve, update, and delete users on the Arize platform.

## `ax users list`

List users in the account, optionally filtered by email or status.

```bash theme={null}
ax users list [--email <filter>] [--status <status>] [--limit <n>] [--cursor <cursor>] [--output <fmt>] [--verbose]
```

| Option            | Description                                                               |
| ----------------- | ------------------------------------------------------------------------- |
| `--email`, `-e`   | Filter users by email (case-insensitive substring match)                  |
| `--status`, `-s`  | Filter by status: `active` or `invited`. Can be specified multiple times. |
| `--limit`, `-l`   | Maximum number of results to return (1-100, default: 50)                  |
| `--cursor`, `-c`  | Pagination cursor for the next page                                       |
| `--output`, `-o`  | Output format (`table`, `json`, `csv`, `parquet`) or file path            |
| `--verbose`, `-v` | Enable verbose logs                                                       |

**Examples:**

```bash theme={null}
ax users list
ax users list --email "@example.com" --status active
ax users list --output users.json
```

## `ax users get`

Get a user by ID or email address.

```bash theme={null}
ax users get <user-id-or-email> [--output <fmt>] [--verbose]
```

| Argument / Option    | Description                                                    |
| -------------------- | -------------------------------------------------------------- |
| `<user-id-or-email>` | User ID or email address (required)                            |
| `--output`, `-o`     | Output format (`table`, `json`, `csv`, `parquet`) or file path |
| `--verbose`, `-v`    | Enable verbose logs                                            |

**Examples:**

```bash theme={null}
ax users get usr_abc123
ax users get jane@example.com
```

## `ax users create`

Create a new user with a builtin account-level role. The `--role` flag accepts predefined role names: `admin`, `member`, or `annotator`.

```bash theme={null}
ax users create --full-name <name> --email <email> --role <role> --invite-mode <mode> [--is-not-developer] [--output <fmt>] [--verbose]
```

| Option               | Description                                                                                                  |
| -------------------- | ------------------------------------------------------------------------------------------------------------ |
| `--full-name`, `-n`  | Full name for the user (1-255 characters)                                                                    |
| `--email`, `-e`      | Email address (used as the idempotency key)                                                                  |
| `--role`, `-r`       | Account-level predefined role: `admin`, `member`, or `annotator`                                             |
| `--invite-mode`      | Invite mode: `none`, `email_link`, or `temporary_password`                                                   |
| `--is-not-developer` | Disable developer permissions. By default, new users are granted developer permissions to use the Arize API. |
| `--output`, `-o`     | Output format (`table`, `json`, `csv`, `parquet`) or file path                                               |
| `--verbose`, `-v`    | Enable verbose logs                                                                                          |

**Example:**

```bash theme={null}
ax users create \
  --full-name "Jane Doe" \
  --email jane@example.com \
  --role member \
  --invite-mode email_link
```

## `ax users update`

Update a user's full name or developer permission flag. At least one of `--full-name` or `--is-developer/--is-not-developer` must be provided.

```bash theme={null}
ax users update <user-id> [--full-name <name>] [--is-developer | --is-not-developer] [--output <fmt>] [--verbose]
```

| Argument / Option                     | Description                                                    |
| ------------------------------------- | -------------------------------------------------------------- |
| `<user-id>`                           | User ID (required)                                             |
| `--full-name`, `-n`                   | New full name for the user                                     |
| `--is-developer / --is-not-developer` | Update developer permission flag                               |
| `--output`, `-o`                      | Output format (`table`, `json`, `csv`, `parquet`) or file path |
| `--verbose`, `-v`                     | Enable verbose logs                                            |

**Examples:**

```bash theme={null}
ax users update usr_abc123 --full-name "Jane Smith"
ax users update usr_abc123 --is-not-developer
```

## `ax users delete`

Delete one or more users by ID or email. Each deletion cascades to organization memberships, space memberships, API keys, and role bindings. Both `--id` and `--email` accept repeated flags or comma-separated values. Emails are resolved to user IDs before deletion.

```bash theme={null}
ax users delete [--id <id> ...] [--email <email> ...] [--force] [--output <fmt>] [--verbose]
```

| Option            | Description                                                                                                                                       |
| ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| `--id`            | User ID to delete. Repeat the flag (`--id id1 --id id2`) or pass comma-separated values (`--id id1,id2,id3`).                                     |
| `--email`, `-e`   | User email to resolve and delete. Repeat the flag (`--email a@b.com --email c@d.com`) or pass comma-separated values (`--email a@b.com,c@d.com`). |
| `--force`, `-f`   | Skip the confirmation prompt                                                                                                                      |
| `--output`, `-o`  | Output format (`table`, `json`, `csv`, `parquet`) or file path                                                                                    |
| `--verbose`, `-v` | Enable verbose logs                                                                                                                               |

At least one `--id` or `--email` must be provided. Each deletion is attempted independently; the results table shows the outcome (`deleted`, `failed`, `not_found`) for each user.

**Examples:**

```bash theme={null}
ax users delete --id usr_abc123
ax users delete --id id1,id2,id3 --force
ax users delete --email jane@example.com
ax users delete --id usr_abc123 --email jane@example.com --force
```

## `ax users resend-invitation`

Resend an invitation email for a pending (invited) user.

```bash theme={null}
ax users resend-invitation <user-id> [--verbose]
```

| Argument / Option | Description         |
| ----------------- | ------------------- |
| `<user-id>`       | User ID (required)  |
| `--verbose`, `-v` | Enable verbose logs |

**Example:**

```bash theme={null}
ax users resend-invitation usr_abc123
```

## `ax users reset-password`

Send a password-reset email to a user. The user must authenticate via password (not SSO/SAML) and must have already verified their account.

```bash theme={null}
ax users reset-password <user-id> [--verbose]
```

| Argument / Option | Description         |
| ----------------- | ------------------- |
| `<user-id>`       | User ID (required)  |
| `--verbose`, `-v` | Enable verbose logs |

**Example:**

```bash theme={null}
ax users reset-password usr_abc123
```
