Role Controller
Create Role (Web3 Auth Required)
Path: /api/roles
Method: POST
Example Http Request
POST /api/roles HTTP/1.1
Content-Type: application/json
X-WAL: 0x1234567890123456789012345678901234567890
X-SIG: 0xabcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef12
X-MES: VGVzdCBtZXNzYWdlIGZvciBhdXRoZW50aWNhdGlvbg==
Idempotency-Key: test-key-123
Content-Length: 167
Host: localhost:8080
{
"name" : "New Role",
"description" : "A new role for testing",
"ownerAdminId" : null,
"permissions" : null,
"features" : [ "users.read", "users.create" ]
}
Example Http Response
HTTP/1.1 201 Created
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Access-Control-Allow-Headers: Origin, Content-Type, Accept, Authorization, Accept-Language, connection, Cache-Control, Access-Control-Request-Method, Access-Control-Request-Headers, X-SIG, X-WAL, X-MES
Access-Control-Allow-Credentials: true
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS, HEAD
Access-Control-Expose-Headers: Access-Control-Allow-Origin, Access-Control-Allow-Credentials
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 0
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 430
{
"id" : "rol_QNF3XMBK10H58M4RE3TDQXW2F4",
"createdAt" : "2025-12-04T14:43:48.535Z",
"updatedAt" : "2025-12-04T14:43:48.535Z",
"version" : 0,
"createdBy" : null,
"updatedBy" : null,
"tenantId" : "t_2NF3XMBK105HS5MJN6DNVV3SDX",
"name" : "New Role",
"description" : "A new role for testing",
"ownerAdminId" : "adm_123",
"permissions" : [ ],
"features" : [ "users.read", "users.create" ],
"global" : false
}
Example Curl Request
$ curl 'http://localhost:8080/api/roles' -i -X POST \
-H 'Content-Type: application/json' \
-H 'X-WAL: 0x1234567890123456789012345678901234567890' \
-H 'X-SIG: 0xabcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef12' \
-H 'X-MES: VGVzdCBtZXNzYWdlIGZvciBhdXRoZW50aWNhdGlvbg==' \
-H 'Idempotency-Key: test-key-123' \
-d '{
"name" : "New Role",
"description" : "A new role for testing",
"ownerAdminId" : null,
"permissions" : null,
"features" : [ "users.read", "users.create" ]
}'
Role Controller