## Unassign a Project Role

### Endpoint
POST /v2.0/projects/{projectId}/members/{userId}/removerolefrommember

### Example Requests

#### cURL
```bash
curl --request POST \
  --url https://api-trial.cognigy.ai/new/v2.0/projects/{projectId}/members/{userId}/removerolefrommember \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <api-key>' \
  --data '{}'
```

#### Python
```python
import requests

url = "https://api-trial.cognigy.ai/new/v2.0/projects/{projectId}/members/{userId}/removerolefrommember"

payload = {}
headers = {
    "X-API-Key": "<api-key>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
```

#### JavaScript (Fetch)
```javascript
const options = {
  method: 'POST',
  headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
  body: JSON.stringify({})
};

fetch('https://api-trial.cognigy.ai/new/v2.0/projects/{projectId}/members/{userId}/removerolefrommember', options)
  .then(res => res.json())
  .then(res => console.log(res))
  .catch(err => console.error(err));
```

#### PHP
```php
$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://api-trial.cognigy.ai/new/v2.0/projects/{projectId}/members/{userId}/removerolefrommember",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => json_encode([]),
  CURLOPT_HTTPHEADER => [
    "Content-Type: application/json",
    "X-API-Key: <api-key>"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
```

### Response Codes
- **204**: The role was removed from the project member.
- **400**: Bad Request - Validation failed. Missing payload.
- **401**: Unauthorized - Invalid API key.
- **403**: Forbidden - Insufficient permissions.
- **404**: Not Found - Invalid project or user ID.
- **500**: Internal Server Error - An unexpected error occurred.

### Headers
- **X-API-Key**: *(string)* required - Supply the API Key in the HTTP-Header.
- **Content-Type**: *(string)* required - Set to `application/json`.

### Path Parameters
- **userId**: *(string)* required - The ID of the User. Required string length: `24`. Must match pattern `^[a-z0-9]{24}$`.
- **projectId**: *(string)* required - The unique identifier for the Project. Required string length: `24`. Must match pattern `^[a-z0-9]{24}$`.

### Body
- **role**: *(enum<string>)* The role to be removed from the user. Available options include:
  - `agentAssistConfigAdmin`
  - `agentAssistConfigViewer`
  - `analytics`
  - `basic`
  - Many more roles...

### Last Modified
July 8, 2026
