---
title: "Add a new member to the project"
method: POST
path: "/workspaces/{workspace_domain}/projects/{project_name}/members"
tags: ["Project API"]
---

# Add a new member to the project

`POST /workspaces/{workspace_domain}/projects/{project_name}/members`

## Path parameters

- `workspace_domain` string, required
- `project_name` string, required

## Request body

- AddProjectMemberRequest
  - `id` integer, required — The ID of the user
  - `permission_set` PermissionSetIdRequest, required — User permission set configuration
    - `id` integer, required — The ID of the permission set

## Response `201`

- ProjectMemberView
  - `url` string — API endpoint to GET this object
  - `html_url` string — Web URL to view this object in Buddy.works
  - `id` integer — The ID of the user
  - `name` string — The name of the user
  - `avatar_url` string — The avatar URL of the user
  - `email` string — The email address of the user
  - `admin` boolean — Whether the user has admin privileges
  - `workspace_owner` boolean — Whether the user is workspace owner
  - `permission_set` PermissionSetView — User permission set configuration
    - `url` string — API endpoint to GET this object
    - `html_url` string — Web URL to view this object in Buddy.works
    - `name` string, required — The name of the permission set
    - `repository_access_level` 'DENIED' | 'READ_ONLY' | 'READ_WRITE' | 'MANAGE', required — The repository access level
    - `pipeline_access_level` 'DENIED' | 'READ_ONLY' | 'RUN_ONLY' | 'READ_WRITE', required — The pipeline access level
    - `sandbox_access_level` 'DENIED' | 'READ_ONLY' | 'RUN_ONLY' | 'READ_WRITE', required — The sandbox access level
    - `project_team_access_level` 'READ_ONLY' | 'MANAGE', required — The project team access level
    - `environment_access_level` 'DENIED' | 'MANAGE' | 'USE_ONLY', required — The environment access level
    - `artifact_access_level` 'DENIED' | 'READ_ONLY' | 'READ_WRITE' | 'MANAGE', required — The artifact access level
    - `routing_access_level` 'DENIED' | 'READ_ONLY' | 'MANAGE', required — The routing access level
    - `target_access_level` 'DENIED' | 'READ_ONLY' | 'USE_ONLY' | 'MANAGE', required — The target access level
    - `tunnel_agent_access_level` 'DENIED' | 'READ_ONLY' | 'USE_ONLY' | 'MANAGE', required — Tunnel agent access level
    - `note` string — Note for this resource
    - `agent_note` string — YAML note for AI agents operating on this resource
    - `id` integer, required — The ID of the permission set
    - `type` 'DEVELOPER' | 'READ_ONLY' | 'CUSTOM' | 'PROJECT_MANAGER' — The type of the permission set

## Changes

- **2026-08-25** `fa785a68f09d` — 2 info
  - the security scope `PROJECT_WRITE` was added to the endpoint's security scheme `oauth2`
  - the security scope `WORKSPACE` was removed from the endpoint's security scheme `oauth2`
- **2026-08-04** `2426d67c249a` — 1 warning, 2 info
  - removed the optional property `permission_set/description` from the response with the `201` status
  - added the optional property `permission_set/agent_note` to the response with the `201` status
  - added the optional property `permission_set/note` to the response with the `201` status

[Change history](https://skmtc.dev/buddy/apis/buddy-api/changes/workspaces/:workspace_domain/projects/:project_name/members/post.md)

---

[API](https://skmtc.dev/buddy/apis/buddy-api.md) · [All operations](https://skmtc.dev/buddy/apis/buddy-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/buddy/buddy-api/revisions/fa785a68f09d/schema)
