Assign Roles to Endpoint
Assigns one or more roles to a specific API endpoint. Existing assignments are preserved (additive). **Important:** This operation is atomic - if ANY role fails to assign (e.g., role not found), the ENTIRE operation is rejected and NO roles are assigned. This prevents partial/inconsistent permission states.
Authorization
BearerAuth In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/rbac/endpoint-role/assign" \ -H "Content-Type: application/json" \ -d '{ "endpoint": "/v1/accounts/%", "method": "GET", "roles": [ "User", "StandardUser" ] }'{
"message": "Roles assigned successfully",
"endpoint": "/v1/customers",
"method": "GET",
"roles": [
"User",
"StandardUser"
]
}{
"status": 400,
"code": "rbac_m.endpoint_not_found",
"message": "Invalid input",
"details": [
{
"field": "roles",
"rule": "required",
"param": "string",
"message": "roles is required"
}
],
"class": "validation",
"retryable": false
}{
"status": 400,
"code": "rbac_m.endpoint_not_found",
"message": "Invalid input",
"details": [
{
"field": "roles",
"rule": "required",
"param": "string",
"message": "roles is required"
}
],
"class": "validation",
"retryable": false
}{
"status": 400,
"code": "rbac_m.endpoint_not_found",
"message": "Invalid input",
"details": [
{
"field": "roles",
"rule": "required",
"param": "string",
"message": "roles is required"
}
],
"class": "validation",
"retryable": false
}{
"status": 400,
"code": "rbac_m.endpoint_not_found",
"message": "Invalid input",
"details": [
{
"field": "roles",
"rule": "required",
"param": "string",
"message": "roles is required"
}
],
"class": "validation",
"retryable": false
}{
"status": 400,
"code": "rbac_m.endpoint_not_found",
"message": "Invalid input",
"details": [
{
"field": "roles",
"rule": "required",
"param": "string",
"message": "roles is required"
}
],
"class": "validation",
"retryable": false
}{
"status": 400,
"code": "rbac_m.endpoint_not_found",
"message": "Invalid input",
"details": [
{
"field": "roles",
"rule": "required",
"param": "string",
"message": "roles is required"
}
],
"class": "validation",
"retryable": false
}{
"overall_status": "unhealthy",
"message": "Service is shutting down",
"timestamp": "2019-08-24T14:15:22Z"
}Returns all API endpoints that only have Administrator role access. These endpoints need role assignments for regular users.
Exports every module's endpoint permissions and writes each one to $DATA_DIR/rbac/<module>.rbac.yaml on the server. Takes no body. A module that fails to export or write is reported in errors and does not fail the request, so a 200 does not mean every module was written - compare success_count with total_modules.