# POST /api/project-members > Project Members - Add a Member to a Project The project and the user must both exist. Staff users can join any project; a client contact can only join a project of their own client, which is the rule the RISE project screen applies. Adding somebody who was removed earlier restores their original membership row, so the id stays the same and no duplicate is created. - **Endpoint:** `POST /api/project-members` - **Group:** Project Members - **Since:** v1.0.0 - **Defined in:** `RestApi/Controllers/ProjectMembersController.php` ## Headers | Field | Type | Description | | --- | --- | --- | | `authtoken` | String | Authentication token, generated from admin area | ## Parameters | Field | Type | Required | Description | | --- | --- | --- | --- | | `project_id` | Number | yes | Mandatory Project ID | | `user_id` | Number | yes | Mandatory User ID of the member | | `is_leader` | Number | no | Optional 0 or 1, defaults to 0 | ## Request example ```bash curl -X POST "https://yoursite.com/index.php/api/project-members" \ -H "authtoken: YOUR_API_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "project_id": "...", "user_id": "..." }' ``` ## Responses ### Success - Success-Response: ```json HTTP/1.1 201 Created { "status": 200, "messages": { "success": "The record has been saved." }, "id": 6 } ``` ### Error - Already-A-Member: ```json HTTP/1.1 400 Bad Request { "status": false, "messages": { "user_id": "This user is already a member of the project." } } ``` ### Error - Not-Allowed: ```json HTTP/1.1 400 Bad Request { "status": false, "messages": { "user_id": "A client contact can only be added to a project of their own client." } } ``` --- Part of the [REST API for RISE CRM](https://risecrm.themesic.com/apiguide/) documentation. Full page: https://risecrm.themesic.com/apiguide/project-members/create-project-member/