---
title: "Add members to a project"
method: POST
path: "/projects/{project_id}/members"
tags: ["Project"]
---

# Add members to a project

`POST /projects/{project_id}/members`

## Request

- Base URL: `https://api.your-domain.com`
- URL: `https://api.your-domain.com/projects/{project_id}/members`
- Auth: API key in header `X-API-KEY`
- TypeScript: <https://skmtc.dev/neulandai/apis/neuland-ai-hub-api/docs/projects/:project_id/members/post.ts> (a function with typed inputs; its response is checked against the schema)

Add one or more members to a project (project owner only).

## Path parameters

- `project_id` integer, required

## Query parameters

- `cookie_name` string, nullable

## Request body

- ProjectMemberBulkIn
  - `members` ProjectMemberIn[], required: List of members to add to the project.
    - `user_id` integer, required: ID of the user to add to the project.
    - `role` string, required: Role to assign to the member (e.g. `owner` or `member`).

## Response `201`

Successful Response

- ProjectMember[]
  - `tenant_id` integer, required: ID of the tenant that owns the project membership.
  - `created_at` string, date-time: Timestamp when the membership was created.
  - `project_id` integer, required: ID of the project.
  - `user_id` integer, required: ID of the member user.
  - `role` string, required: Role of the user within the project.

## Other responses

- `401`: Missing or invalid authentication.
- `403`: Current user is not an owner of the project.
- `404`: No project exists with the given id.
- `422`: Validation Error

---

[API](https://skmtc.dev/neulandai/apis/neuland-ai-hub-api.md) - [All operations](https://skmtc.dev/neulandai/apis/neuland-ai-hub-api/llms.txt) - [OpenAPI document](https://skmtc.dev/neulandai/apis/neuland-ai-hub-api/revisions/b53e89b98c2b?raw)
