---
title: "WorkspaceMember"
description: "The `WorkspaceMember` entity."
section: "Reference"
group: "Types"
order: 283
---

## Definition

```ts
interface WorkspaceMember {
  id: string;
  workspaceId: string;
  userId: string;
  role: "viewer" | "editor" | "admin";
  createdAt: string;
  userName?: string | null | undefined;
  userEmail?: string | null | undefined;
  userRole?: string | null | undefined;
}
```

## Fields

| Field         | Type                              | Notes                                                                                                                                                            |
| ------------- | --------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `id`          | `string`                          | `readonly` `required`                                                                                                                                            |
| `workspaceId` | `string`                          | `required` — Workspace the membership is in.                                                                                                                     |
| `userId`      | `string`                          | `required` — User represented by this membership.                                                                                                                |
| `role`        | `"viewer" \| "editor" \| "admin"` | `required` — Member role within the workspace (owner, admin, member).                                                                                            |
| `createdAt`   | `string`                          | `readonly` `required` — ISO-8601 timestamp when the membership was created.                                                                                      |
| `userName`    | `string \| null \| undefined`     | `optional` — Display name of the member's user. Populated by `list`; null when the user record was hard-deleted.                                                 |
| `userEmail`   | `string \| null \| undefined`     | `optional` — Email of the member's user. Populated by `list`; null when the user record was hard-deleted.                                                        |
| `userRole`    | `string \| null \| undefined`     | `optional` — Account role of the member's user ('user', 'admin', or 'service'). Lets the UI distinguish service users from humans without a separate user fetch. |
