PUT /api/v1/internal/projects/:projectUuid/project-users/:userEmail/project-roles/:roleUuid
Modifies an existing project roles resource.
This endpoint documentation is generated from the current Fastify route implementation and should be treated as the implementation-level contract for this version of the API.
Source route file:
src/api/routes/internal/private/bearer/projects/project-users/put.ts
Request Method
PUT
Base URL
https://api.userdocks.local:5000
Endpoint
/api/v1/internal/projects/:projectUuid/project-users/:userEmail/project-roles/:roleUuid
Path Variables
| Variable | Type | Required | Description |
|---|---|---|---|
projectUuid | string | true | Path variable from route pattern. |
userEmail | string | true | Path variable from route pattern. |
roleUuid | string | true | Path variable from route pattern. |
Query Parameters
No query parameters.
HTTP Headers
| Variable | Type | Required | Description |
|---|---|---|---|
Authorization | string | true | Bearer token in the form Bearer <jwt>. |
Content-Type | string | false | Optional because this route does not consume a request body. |
Request Body
No request body.
Successful Response
Success status code(s): 200.
{
"kind": "projectUsers",
"totalItems": 1,
"itemsLength": 1,
"items": [
{
"uuid": "f779e8a1-1212-4a2d-9f1a-121212121212",
"userUuid": "f6d9e8a1-1111-4a2d-9f1a-111111111111",
"projectUuid": "8bb9e8a1-3333-4a2d-9f1a-333333333333",
"role": "admin",
"createdAt": "2026-01-01T00:00:00.000Z",
"updatedAt": "2026-01-01T00:00:00.000Z"
}
]
}
Error Responses
| HTTP Status | Example Error |
|---|---|
401 | {"errors":[{"validation":"error","code":"[E4010]","message":"Unauthorized Token"}]} |
403 | {"errors":[{"validation":"error","code":"[E4030]","message":"App Is Disabled"}]} |
400 | {"errors":[{"validation":"error","code":"[E4000]","message":"Bad Request / validation error"}]} |
500 | {"errors":[{"validation":"error","code":"[E0000]","message":"Internal Server Error"}]} |
Example
const url = `https://api.userdocks.local:5000/api/v1/internal/projects/projectUuid-value/project-users/user@example.com/project-roles/roleUuid-value`;
const response = await fetch(url, {
method: 'PUT',
headers: {
Authorization: 'Bearer <jwt>',
},
});
const data = await response.json();
console.log(response.status, data);