---
title: "Add a workspace member to the board"
method: POST
path: "/projects/{id}/members"
---

# Add a workspace member to the board

`POST /projects/{id}/members`

## Request

- Base URL: `https://craaft.io/api/v1`
- URL: `https://craaft.io/api/v1/projects/{id}/members`
- Auth: HTTP bearer

Board-admin only. The target must already be a workspace member;
otherwise 404. Roles for workspace owners/admins are implicit, so
explicit grants are only stored for workspace `member`s.

## Request body

- BoardMemberInput
  - `userId` string, uuid, required
  - `role` 'admin' | 'contributor', required

## Response `201`

Created

- object
  - `userId` string, uuid, required
  - `role` 'admin' | 'contributor', required
  - `createdAt` string, date-time, required

## Other responses

- `400`: Missing / invalid role
- `401`: Missing or invalid token
- `404`: Resource doesn't exist or caller isn't a member of its workspace

---

[API](https://skmtc.dev/craaft/apis/craaft-api.md) · [All operations](https://skmtc.dev/craaft/apis/craaft-api/llms.txt) · [OpenAPI document](https://skmtc.dev/craaft/apis/craaft-api/revisions/3a1e9d30d7dc?raw)
