Role Controller

List All Roles (Web3 Auth Required)

Path: /api/roles

Method: GET

Example Http Request

GET /api/roles?owner=global&page=0&size=20&sortBy=name&sortDir=asc HTTP/1.1
X-WAL: 0x1234567890123456789012345678901234567890
X-SIG: 0xabcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef12
X-MES: VGVzdCBtZXNzYWdlIGZvciBhdXRoZW50aWNhdGlvbg==
Host: localhost:8080

Example Http Response

HTTP/1.1 200 OK
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: 1235

{
  "content" : [ {
    "id" : "rol_789",
    "createdAt" : "2025-12-04T14:43:48.630Z",
    "updatedAt" : "2025-12-04T14:43:48.630Z",
    "version" : 0,
    "createdBy" : null,
    "updatedBy" : null,
    "tenantId" : "t_KRF3XMBK10BWN9JRBDZXVYD6HM",
    "name" : "Test Role",
    "description" : "Test role for documentation",
    "ownerAdminId" : "adm_123",
    "permissions" : [ {
      "resource" : "user",
      "action" : "read",
      "effect" : "ALLOW",
      "constraints" : { },
      "allow" : true,
      "deny" : false
    }, {
      "resource" : "channel",
      "action" : "read",
      "effect" : "ALLOW",
      "constraints" : { },
      "allow" : true,
      "deny" : false
    } ],
    "features" : [ "users.read", "channels.read" ],
    "global" : false
  } ],
  "pageable" : {
    "pageNumber" : 0,
    "pageSize" : 20,
    "sort" : {
      "empty" : false,
      "sorted" : true,
      "unsorted" : false
    },
    "offset" : 0,
    "paged" : true,
    "unpaged" : false
  },
  "totalElements" : 1,
  "totalPages" : 1,
  "last" : true,
  "size" : 20,
  "number" : 0,
  "sort" : {
    "empty" : false,
    "sorted" : true,
    "unsorted" : false
  },
  "numberOfElements" : 1,
  "first" : true,
  "empty" : false
}

Example Curl Request

$ curl 'http://localhost:8080/api/roles?owner=global&page=0&size=20&sortBy=name&sortDir=asc' -i -X GET \
    -H 'X-WAL: 0x1234567890123456789012345678901234567890' \
    -H 'X-SIG: 0xabcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef12' \
    -H 'X-MES: VGVzdCBtZXNzYWdlIGZvciBhdXRoZW50aWNhdGlvbg=='

Role Controller