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

# Team members

> List, view, add, update, and remove team members.

A team member is a user in your workspace. See the [API reference](/api-reference/team-members/list) for the full resource shape.

## List team members

```bash theme={"system"}
neetocal team-members list
neetocal team-members list --email oliver@example.com
```

| Flag          | Type     | Required | Default | Description              |
| ------------- | -------- | -------- | ------- | ------------------------ |
| `--email`     | `string` |          |         | Filter by exact email    |
| `--page`      | `int`    |          | `0`     | Page number              |
| `--page-size` | `int`    |          | `0`     | Items per page (max 100) |

```json Sample output (--json) theme={"system"}
{
  "data": [
    {
      "id": "a1b2c3d4-1111-2222-3333-444455556666",
      "email": "oliver@example.com",
      "first_name": "Oliver",
      "last_name": "Smith",
      "time_zone": "America/New_York",
      "profile_image_url": null,
      "active": true,
      "organization_role": "Admin"
    }
  ],
  "breadcrumbs": [
    { "label": "Show details", "command": "neetocal team-members show <id>" }
  ],
  "pagination": {
    "total_records": 1,
    "total_pages": 1,
    "current_page_number": 1,
    "page_size": 30
  }
}
```

`--email` matches an address exactly rather than searching. Mirrors [List team members](/api-reference/team-members/list) in the API.

## Show a team member

```bash theme={"system"}
neetocal team-members show <id>
```

```json Sample output (--json) theme={"system"}
{
  "data": {
    "team_member": {
      "id": "a1b2c3d4-1111-2222-3333-444455556666",
      "email": "oliver@example.com",
      "first_name": "Oliver",
      "last_name": "Smith",
      "time_zone": "America/New_York",
      "profile_image_url": null,
      "active": true,
      "organization_role": "Admin"
    }
  },
  "breadcrumbs": [
    { "label": "List all team members", "command": "neetocal team-members list" },
    { "label": "Delete team member", "command": "neetocal team-members delete a1b2c3d4-1111-2222-3333-444455556666" }
  ]
}
```

Mirrors [Get team member](/api-reference/team-members/get) in the API.

## Add team members

```bash theme={"system"}
neetocal team-members create \
  --emails oliver@example.com,sam@example.com \
  --organization-role Admin
```

| Flag                      | Type     | Required | Default | Description                                   |
| ------------------------- | -------- | -------- | ------- | --------------------------------------------- |
| `--emails`                | `string` | Yes      |         | Comma-separated emails to add                 |
| `--invited-by`            | `string` |          |         | Email of an existing workspace admin          |
| `--json-file`             | `string` |          |         | Path to JSON file with team member data       |
| `--organization-role`     | `string` |          |         | Organization role (defaults to Standard)      |
| `--send-invitation-email` | `bool`   |          | `true`  | Send an invitation email to the added members |

Invites one or more people in a single call. `--emails` takes a comma-separated list and is required. Omit `--organization-role` and each invitee is added as `Standard`. Pass `--send-invitation-email=false` to add them without sending an invite.

```json Sample output (--json) theme={"system"}
{
  "data": {
    "message": "Users added successfully"
  }
}
```

The response is a confirmation message, not a team member record — list or show the member afterwards to read it back. Mirrors [Add team member](/api-reference/team-members/add) in the API.

## Update a team member

```bash theme={"system"}
neetocal team-members update <id> --first-name Oliver --organization-role Admin
```

| Flag                  | Type     | Required | Default | Description                             |
| --------------------- | -------- | -------- | ------- | --------------------------------------- |
| `--email`             | `string` |          |         | Email                                   |
| `--first-name`        | `string` |          |         | First name                              |
| `--json-file`         | `string` |          |         | Path to JSON file with team member data |
| `--last-name`         | `string` |          |         | Last name                               |
| `--organization-role` | `string` |          |         | Organization role                       |
| `--time-zone`         | `string` |          |         | Time zone                               |

```json Sample output (--json) theme={"system"}
{
  "data": {
    "team_member": {
      "id": "a1b2c3d4-1111-2222-3333-444455556666",
      "email": "oliver@example.com",
      "first_name": "Oliver",
      "last_name": "Smith",
      "time_zone": "America/New_York",
      "profile_image_url": null,
      "active": true,
      "organization_role": "Admin"
    }
  }
}
```

`--organization-role` must name a role that already exists in the workspace. Mirrors [Update team member](/api-reference/team-members/update) in the API.

## Delete a team member

```bash theme={"system"}
neetocal team-members delete <id>
```

```text Sample output theme={"system"}
Team member removed successfully.
```

Deactivates the member rather than erasing them. `--quiet` prints `success`. Mirrors [Remove team member](/api-reference/team-members/remove) in the API.
