---
title: "Add workspace members"
method: POST
path: "/api/v3/meta/workspaces/{workspaceId}/members"
tags: ["Workspace Members"]
---

# Add workspace members

`POST /api/v3/meta/workspaces/{workspaceId}/members`

## Request

- Base URL: `https://app.nocodb.com`
- URL: `https://app.nocodb.com/api/v3/meta/workspaces/{workspaceId}/members`
- Auth: one of:
  - API key in header `xc-token`
  - HTTP bearer
- TypeScript: <https://skmtc.dev/nocodb/apis/nocodb-v3/docs/api/v3/meta/workspaces/:workspaceId/members/post.ts> (a function with typed inputs; its response is checked against the schema)

Add new members to a workspace. The request requires the workspace identifier in the path and member details in the request body.

Notes: Workspace collaboration APIs are available on cloud-hosted **Business** plans and above, and on licensed self-hosted deployments (**Business** plan and above).

## Path parameters

- `workspaceId` string, required

## Request body

- union[]: Array of workspace users to be created.
  - union: An object representing a new workspace user to be created.
    - object
      - `user_id` string, required: Unique identifier for the user (skip if email is provided)
      - `workspace_role` 'workspace-level-owner' | 'workspace-level-creator' | 'workspace-level-editor' | 'workspace-level-viewer' | 'workspace-level-commenter' | 'workspace-level-no-access', required: Workspace roles for the user. These are the values accepted when granting a role.
    - object
      - `email` string, email, required: Email address of the user (skip if user_id is provided)
      - `workspace_role` 'workspace-level-owner' | 'workspace-level-creator' | 'workspace-level-editor' | 'workspace-level-viewer' | 'workspace-level-commenter' | 'workspace-level-no-access', required: Workspace roles for the user. These are the values accepted when granting a role.

## Response `200`

Workspace members were added successfully.

- WorkspaceUser[]
  - `email` string, email, required: Email address of the user
  - `user_id` string, required: Unique identifier for the user
  - `created_at` string, date-time, required: Timestamp when the user was added to the workspace
  - `updated_at` string, date-time, required: Timestamp when the user was last updated in the workspace
  - `workspace_role` 'workspace-level-owner' | 'workspace-level-creator' | 'workspace-level-editor' | 'workspace-level-viewer' | 'workspace-level-commenter' | 'workspace-level-no-access' | 'workspace-level-inherit', required: Workspace role as reported on a member read. A superset of `WorkspaceRoles`: `workspace-level-inherit` means the role is inherited from the organization rather than set on the workspace. It cannot be assigned — it is never valid in a request body.

## Other responses

- `400`: Invalid request body.
- `500`: Server error.

## Changes

- **2026-10-13** `2ba4267a99d7`: 1 warning
  - added the new `workspace-level-inherit` enum value to the `items/workspace_role` response property for the response status `200`

[Operation history](https://skmtc.dev/nocodb/apis/nocodb-v3/changes/api/v3/meta/workspaces/:workspaceId/members/post.md)

---

[API](https://skmtc.dev/nocodb/apis/nocodb-v3.md) - [All operations](https://skmtc.dev/nocodb/apis/nocodb-v3/llms.txt) - [OpenAPI document](https://skmtc.dev/nocodb/apis/nocodb-v3/revisions/62a735aaf849?raw)
