Skip to main content

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

VariableTypeRequiredDescription
projectUuidstringtruePath variable from route pattern.
userEmailstringtruePath variable from route pattern.
roleUuidstringtruePath variable from route pattern.

Query Parameters

No query parameters.

HTTP Headers

VariableTypeRequiredDescription
AuthorizationstringtrueBearer token in the form Bearer <jwt>.
Content-TypestringfalseOptional 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 StatusExample 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);