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

# Users

> Inspect users and manage invitations, names, roles, and workspace membership.

Roles are `admin`, `marketer`, and `viewer`. An invited user is `pending` until they sign in, then `active`. A workspace must retain at least one active admin.

A user's name and role are shared across their 1eye workspaces. Removing membership affects only the current workspace. Confirm the person, email, and proposed changes before using a change tool.

The examples below are MCP tool arguments. Replace uppercase IDs with values returned by your workspace.

## Tools

* [`list_users`](#list-users) — Read-only.
* [`get_user`](#get-user) — Read-only.
* [`invite_user`](#invite-user) — Change; confirmation required.
* [`update_user`](#update-user) — Change; confirmation required.
* [`delete_user`](#delete-user) — Change; confirmation required.

## `list_users`

**Read-only**

List workspace users, newest first.

### Arguments

| Argument | Type | Required | Description |
| - | - | - | - |
| `limit` | number | No | Page size; defaults to 100. |
| `cursor` | string | No | Opaque continuation cursor from the same list. |
| `role` | `admin`, `marketer`, or `viewer` | No | Filter by role. |
| `status` | `active` or `pending` | No | Filter active users or unaccepted invitations. |

### Example

```json theme={null}
{
  "status": "active",
  "limit": 10
}
```

**Returns:** Users with name, email, role, status, and last sign-in, plus `total` and `next_cursor`.

## `get_user`

**Read-only**

Retrieve one user of the current workspace.

### Arguments

| Argument | Type | Required | Description |
| - | - | - | - |
| `user_id` | string | Yes | ID from `list_users`. |

### Example

```json theme={null}
{
  "user_id": "USER_ID"
}
```

**Returns:** The user's profile, role, status, and sign-in information.

## `invite_user`

**Change · confirmation required**

Invite a teammate to the current workspace.

Confirm the email and role first. This sends an invitation email, and the user is pending until sign-in. Someone already in another 1eye workspace keeps their existing role and can only be invited with that same role.

### Arguments

| Argument | Type | Required | Description |
| - | - | - | - |
| `email` | string | Yes | Email address to invite. |
| `role` | `admin`, `marketer`, or `viewer` | Yes | Role for the invitation. |

### Example

```json theme={null}
{
  "email": "teammate@example.com",
  "role": "viewer"
}
```

**Returns:** The invitation result.

## `update_user`

**Change · confirmation required**

Change a user's name and/or role.

Confirm the person and changes first. Name and role are shared across all of that user's 1eye workspaces. A workspace must keep at least one active admin. Only supplied fields change.

### Arguments

| Argument | Type | Required | Description |
| - | - | - | - |
| `user_id` | string | Yes | User ID. |
| `name` | string | No | Full name. |
| `role` | `admin`, `marketer`, or `viewer` | No | New role. |

### Example

```json theme={null}
{
  "user_id": "USER_ID",
  "role": "viewer"
}
```

**Returns:** The whole updated user.

## `delete_user`

**Change · confirmation required**

Remove a user's membership in the current workspace.

Confirm the named person first. The user loses access to this workspace and keeps any other 1eye workspace memberships. A workspace must keep at least one active admin.

### Arguments

| Argument | Type | Required | Description |
| - | - | - | - |
| `user_id` | string | Yes | User ID. |

### Example

```json theme={null}
{
  "user_id": "USER_ID"
}
```

**Returns:** The membership-removal result.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.