---
title: "Add an allowlisted user to a board (workspace admin role and admin token scope)"
method: POST
path: "/api/boards/{boardId}/members"
tags: ["Users"]
---

# Add an allowlisted user to a board (workspace admin role and admin token scope)

`POST /api/boards/{boardId}/members`

## Request

- Base URL: `https://tre-app.com`
- URL: `https://tre-app.com/api/boards/{boardId}/members`
- Auth: HTTP bearer

## Headers

- `Idempotency-Key` string

## Request body

- BoardMemberCreate
  - `email` string, email, required
  - `role` 'editor' | 'viewer', required

## Response `201`

Success

- BoardMember
  - `userId` string, uuid, required
  - `email` string, email, required
  - `name` string, nullable, required
  - `role` 'editor' | 'viewer', required
  - `createdAt` string, date-time: When the membership began. The list carries it; the add answer does not.

## Other responses

- `400`: Invalid request
- `401`: Unauthenticated
- `403`: Forbidden: insufficient role or token scope; scope denials name the held scope and the operation
- `404`: Not found
- `409`: Conflict
- `422`: Idempotency-Key reused with a different request body (IDEMPOTENCY_KEY_REUSED)
- `429`: Rate limited
- `500`: Internal server error
- `503`: Temporarily unavailable

---

[API](https://skmtc.dev/tre-app/apis/tre-rest-api.md) · [All operations](https://skmtc.dev/tre-app/apis/tre-rest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/tre-app/apis/tre-rest-api/revisions/26a7187a05fc?raw)
