# Permissions

## Return a list of all permissions.

> Returns the complete list of available permissions in the system. Each permission has a category, entity, action, and optional dependencies on other permissions.

```json
{"openapi":"3.0.0","info":{"title":"Guardian","version":"3.6.0-rc"},"servers":[{"url":"/api/v1","description":"version 1.0"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"PermissionsDTO":{"type":"object","properties":{"name":{"type":"string","enum":["ANALYTIC_POLICY_READ","ANALYTIC_MODULE_READ","ANALYTIC_TOOL_READ","ANALYTIC_SCHEMA_READ","ANALYTIC_DOCUMENT_READ","ARTIFACTS_FILE_READ","ARTIFACTS_FILE_CREATE","ARTIFACTS_FILE_DELETE","CONTRACTS_CONTRACT_READ","CONTRACTS_CONTRACT_EXECUTE","LOG_LOG_READ","LOG_SYSTEM_READ","LOG_USERS_READ","MODULES_MODULE_READ","MODULES_MODULE_CREATE","MODULES_MODULE_UPDATE","MODULES_MODULE_DELETE","MODULES_MODULE_REVIEW","POLICIES_POLICY_READ","POLICIES_POLICY_CREATE","POLICIES_POLICY_UPDATE","POLICIES_POLICY_DELETE","POLICIES_POLICY_REVIEW","POLICIES_POLICY_EXECUTE","POLICIES_POLICY_MANAGE","POLICIES_POLICY_AUDIT","POLICIES_POLICY_TAG","POLICIES_EXTERNAL_POLICY_READ","POLICIES_EXTERNAL_POLICY_CREATE","POLICIES_EXTERNAL_POLICY_UPDATE","POLICIES_EXTERNAL_POLICY_DELETE","SCHEMAS_SCHEMA_READ","SCHEMAS_SCHEMA_CREATE","SCHEMAS_SCHEMA_UPDATE","SCHEMAS_SCHEMA_DELETE","SCHEMAS_SCHEMA_REVIEW","TOOLS_TOOL_READ","TOOLS_TOOL_CREATE","TOOLS_TOOL_UPDATE","TOOLS_TOOL_DELETE","TOOLS_TOOL_REVIEW","TOKENS_TOKEN_READ","TOKENS_TOKEN_CREATE","TOKENS_TOKEN_UPDATE","TOKENS_TOKEN_DELETE","TOKENS_TOKEN_EXECUTE","TOKENS_TOKEN_MANAGE","TAGS_TAG_READ","TAGS_TAG_CREATE","SUGGESTIONS_SUGGESTIONS_READ","SUGGESTIONS_SUGGESTIONS_UPDATE","PERMISSIONS_ROLE_READ","PERMISSIONS_ROLE_CREATE","PERMISSIONS_ROLE_UPDATE","PERMISSIONS_ROLE_DELETE","PERMISSIONS_ROLE_MANAGE","STATISTICS_STATISTIC_READ","STATISTICS_STATISTIC_CREATE","STATISTICS_LABEL_READ","STATISTICS_LABEL_CREATE","SCHEMAS_RULE_READ","SCHEMAS_RULE_CREATE","SCHEMAS_RULE_EXECUTE","FORMULAS_FORMULA_READ","FORMULAS_FORMULA_CREATE","WORKER_TASKS_READ","WORKER_TASKS_EXECUTE","WORKER_TASKS_DELETE","ACCESS_POLICY_ALL","ACCESS_POLICY_ASSIGNED","ACCESS_POLICY_PUBLISHED","ACCESS_POLICY_ASSIGNED_AND_PUBLISHED","CREDENTIALS_USER_READ","CREDENTIALS_USER_WRITE","CREDENTIALS_SR_READ","CREDENTIALS_SR_WRITE","DELEGATION_ROLE_MANAGE"]},"category":{"type":"string","enum":["ACCOUNTS","SESSION","PROFILES","ANALYTIC","ARTIFACTS","POLICIES","BRANDING","CONTRACTS","DEMO","IPFS","LOG","MODULES","SETTINGS","SUGGESTIONS","TAGS","SCHEMAS","TOKENS","AUDIT","TOOLS","PERMISSIONS","ACCESS","DELEGATION","STATISTICS","FORMULAS","WORKER_TASKS","CREDENTIALS"]},"entity":{"type":"string","enum":["ACCOUNT","STANDARD_REGISTRY","USER","BALANCE","RESTORE","RECORD","POLICY","TOOL","DOCUMENT","SCHEMA","MODULE","FILE","CONFIG","CONTRACT","WIPE_REQUEST","WIPE_ADMIN","WIPE_MANAGER","WIPER","POOL","RETIRE_REQUEST","RETIRE_ADMIN","PERMISSIONS","KEY","LOG","MIGRATION","SETTINGS","SUGGESTIONS","TAG","SYSTEM_SCHEMA","THEME","TOKEN","TRUST_CHAIN","ROLE","STATISTIC","RULE","LABEL","FORMULA","EXTERNAL_POLICY","WORKER_TASK","CREDENTIAL"]},"action":{"type":"string","enum":["ALL","READ","CREATE","UPDATE","DELETE","REVIEW","TAG","AUDIT","EXECUTE","MANAGE","ASSIGNED","PUBLISHED","ASSIGNED_AND_PUBLISHED","SYSTEM","USERS"]},"disabled":{"type":"boolean"},"dependOn":{"type":"array","items":{"type":"string"}}},"required":["name","category","entity","action","disabled","dependOn"]},"UnauthorizedErrorDTO":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"}},"required":["statusCode","message"]},"ForbiddenErrorDTO":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"},"error":{"type":"string"}},"required":["statusCode","message"]},"InternalServerErrorDTO":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"}},"required":["statusCode","message"]}}},"paths":{"/permissions":{"get":{"description":"Returns the complete list of available permissions in the system. Each permission has a category, entity, action, and optional dependencies on other permissions.","operationId":"PermissionsApi_getPermissions","parameters":[],"responses":{"200":{"description":"Successful operation.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PermissionsDTO"}}}}},"401":{"description":"Unauthorized request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedErrorDTO"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenErrorDTO"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InternalServerErrorDTO"}}}}},"summary":"Return a list of all permissions.","tags":["permissions"]}}}}
```

## Return a list of all roles.

> Returns a paginated list of custom roles created by the current Standard Registry. Filter by role name with partial match.

```json
{"openapi":"3.0.0","info":{"title":"Guardian","version":"3.6.0-rc"},"servers":[{"url":"/api/v1","description":"version 1.0"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"RoleDTO":{"type":"object","properties":{"id":{"type":"string","description":"Internal database identifier"},"createDate":{"type":"string","description":"Role creation date in ISO 8601 format"},"updateDate":{"type":"string","description":"Last update date in ISO 8601 format"},"uuid":{"type":"string","description":"Unique universal identifier"},"name":{"type":"string","description":"Role name"},"description":{"type":"string","description":"Role description"},"owner":{"type":"string","description":"DID of the Standard Registry who created this role"},"permissions":{"type":"array","description":"List of permission names assigned to this role","items":{"type":"string","enum":["ANALYTIC_POLICY_READ","ANALYTIC_MODULE_READ","ANALYTIC_TOOL_READ","ANALYTIC_SCHEMA_READ","ANALYTIC_DOCUMENT_READ","ARTIFACTS_FILE_READ","ARTIFACTS_FILE_CREATE","ARTIFACTS_FILE_DELETE","CONTRACTS_CONTRACT_READ","CONTRACTS_CONTRACT_EXECUTE","LOG_LOG_READ","LOG_SYSTEM_READ","LOG_USERS_READ","MODULES_MODULE_READ","MODULES_MODULE_CREATE","MODULES_MODULE_UPDATE","MODULES_MODULE_DELETE","MODULES_MODULE_REVIEW","POLICIES_POLICY_READ","POLICIES_POLICY_CREATE","POLICIES_POLICY_UPDATE","POLICIES_POLICY_DELETE","POLICIES_POLICY_REVIEW","POLICIES_POLICY_EXECUTE","POLICIES_POLICY_MANAGE","POLICIES_POLICY_AUDIT","POLICIES_POLICY_TAG","POLICIES_EXTERNAL_POLICY_READ","POLICIES_EXTERNAL_POLICY_CREATE","POLICIES_EXTERNAL_POLICY_UPDATE","POLICIES_EXTERNAL_POLICY_DELETE","SCHEMAS_SCHEMA_READ","SCHEMAS_SCHEMA_CREATE","SCHEMAS_SCHEMA_UPDATE","SCHEMAS_SCHEMA_DELETE","SCHEMAS_SCHEMA_REVIEW","TOOLS_TOOL_READ","TOOLS_TOOL_CREATE","TOOLS_TOOL_UPDATE","TOOLS_TOOL_DELETE","TOOLS_TOOL_REVIEW","TOKENS_TOKEN_READ","TOKENS_TOKEN_CREATE","TOKENS_TOKEN_UPDATE","TOKENS_TOKEN_DELETE","TOKENS_TOKEN_EXECUTE","TOKENS_TOKEN_MANAGE","TAGS_TAG_READ","TAGS_TAG_CREATE","SUGGESTIONS_SUGGESTIONS_READ","SUGGESTIONS_SUGGESTIONS_UPDATE","PERMISSIONS_ROLE_READ","PERMISSIONS_ROLE_CREATE","PERMISSIONS_ROLE_UPDATE","PERMISSIONS_ROLE_DELETE","PERMISSIONS_ROLE_MANAGE","STATISTICS_STATISTIC_READ","STATISTICS_STATISTIC_CREATE","STATISTICS_LABEL_READ","STATISTICS_LABEL_CREATE","SCHEMAS_RULE_READ","SCHEMAS_RULE_CREATE","SCHEMAS_RULE_EXECUTE","FORMULAS_FORMULA_READ","FORMULAS_FORMULA_CREATE","WORKER_TASKS_READ","WORKER_TASKS_EXECUTE","WORKER_TASKS_DELETE","ACCESS_POLICY_ALL","ACCESS_POLICY_ASSIGNED","ACCESS_POLICY_PUBLISHED","ACCESS_POLICY_ASSIGNED_AND_PUBLISHED","CREDENTIALS_USER_READ","CREDENTIALS_USER_WRITE","CREDENTIALS_SR_READ","CREDENTIALS_SR_WRITE","DELEGATION_ROLE_MANAGE"]}},"default":{"type":"boolean","description":"Whether this is the default role for new users"},"readonly":{"type":"boolean","description":"Whether the role is read-only (system role)"}},"required":["id","createDate","updateDate","uuid","name","description","owner","permissions","default","readonly"]},"UnauthorizedErrorDTO":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"}},"required":["statusCode","message"]},"ForbiddenErrorDTO":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"},"error":{"type":"string"}},"required":["statusCode","message"]},"InternalServerErrorDTO":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"}},"required":["statusCode","message"]}}},"paths":{"/permissions/roles":{"get":{"description":"Returns a paginated list of custom roles created by the current Standard Registry. Filter by role name with partial match.","operationId":"PermissionsApi_getRoles","parameters":[{"name":"name","required":false,"in":"query","description":"Filter by role name (case-insensitive, partial match). Leave empty to return all.","schema":{"type":"string"}},{"name":"pageIndex","required":false,"in":"query","description":"The number of pages to skip before starting to collect the result set","schema":{"type":"number"}},{"name":"pageSize","required":false,"in":"query","description":"The numbers of items to return","schema":{"type":"number"}}],"responses":{"200":{"description":"Successful operation. Returns roles array and total count in X-Total-Count header.","headers":{"X-Total-Count":{"schema":{"type":"integer"},"description":"Total items in the collection."}},"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RoleDTO"}}}}},"401":{"description":"Unauthorized request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedErrorDTO"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenErrorDTO"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InternalServerErrorDTO"}}}}},"summary":"Return a list of all roles.","tags":["permissions"]}}}}
```

## Creates new role.

> Creates new role.

```json
{"openapi":"3.0.0","info":{"title":"Guardian","version":"3.6.0-rc"},"servers":[{"url":"/api/v1","description":"version 1.0"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"RoleDTO":{"type":"object","properties":{"id":{"type":"string","description":"Internal database identifier"},"createDate":{"type":"string","description":"Role creation date in ISO 8601 format"},"updateDate":{"type":"string","description":"Last update date in ISO 8601 format"},"uuid":{"type":"string","description":"Unique universal identifier"},"name":{"type":"string","description":"Role name"},"description":{"type":"string","description":"Role description"},"owner":{"type":"string","description":"DID of the Standard Registry who created this role"},"permissions":{"type":"array","description":"List of permission names assigned to this role","items":{"type":"string","enum":["ANALYTIC_POLICY_READ","ANALYTIC_MODULE_READ","ANALYTIC_TOOL_READ","ANALYTIC_SCHEMA_READ","ANALYTIC_DOCUMENT_READ","ARTIFACTS_FILE_READ","ARTIFACTS_FILE_CREATE","ARTIFACTS_FILE_DELETE","CONTRACTS_CONTRACT_READ","CONTRACTS_CONTRACT_EXECUTE","LOG_LOG_READ","LOG_SYSTEM_READ","LOG_USERS_READ","MODULES_MODULE_READ","MODULES_MODULE_CREATE","MODULES_MODULE_UPDATE","MODULES_MODULE_DELETE","MODULES_MODULE_REVIEW","POLICIES_POLICY_READ","POLICIES_POLICY_CREATE","POLICIES_POLICY_UPDATE","POLICIES_POLICY_DELETE","POLICIES_POLICY_REVIEW","POLICIES_POLICY_EXECUTE","POLICIES_POLICY_MANAGE","POLICIES_POLICY_AUDIT","POLICIES_POLICY_TAG","POLICIES_EXTERNAL_POLICY_READ","POLICIES_EXTERNAL_POLICY_CREATE","POLICIES_EXTERNAL_POLICY_UPDATE","POLICIES_EXTERNAL_POLICY_DELETE","SCHEMAS_SCHEMA_READ","SCHEMAS_SCHEMA_CREATE","SCHEMAS_SCHEMA_UPDATE","SCHEMAS_SCHEMA_DELETE","SCHEMAS_SCHEMA_REVIEW","TOOLS_TOOL_READ","TOOLS_TOOL_CREATE","TOOLS_TOOL_UPDATE","TOOLS_TOOL_DELETE","TOOLS_TOOL_REVIEW","TOKENS_TOKEN_READ","TOKENS_TOKEN_CREATE","TOKENS_TOKEN_UPDATE","TOKENS_TOKEN_DELETE","TOKENS_TOKEN_EXECUTE","TOKENS_TOKEN_MANAGE","TAGS_TAG_READ","TAGS_TAG_CREATE","SUGGESTIONS_SUGGESTIONS_READ","SUGGESTIONS_SUGGESTIONS_UPDATE","PERMISSIONS_ROLE_READ","PERMISSIONS_ROLE_CREATE","PERMISSIONS_ROLE_UPDATE","PERMISSIONS_ROLE_DELETE","PERMISSIONS_ROLE_MANAGE","STATISTICS_STATISTIC_READ","STATISTICS_STATISTIC_CREATE","STATISTICS_LABEL_READ","STATISTICS_LABEL_CREATE","SCHEMAS_RULE_READ","SCHEMAS_RULE_CREATE","SCHEMAS_RULE_EXECUTE","FORMULAS_FORMULA_READ","FORMULAS_FORMULA_CREATE","WORKER_TASKS_READ","WORKER_TASKS_EXECUTE","WORKER_TASKS_DELETE","ACCESS_POLICY_ALL","ACCESS_POLICY_ASSIGNED","ACCESS_POLICY_PUBLISHED","ACCESS_POLICY_ASSIGNED_AND_PUBLISHED","CREDENTIALS_USER_READ","CREDENTIALS_USER_WRITE","CREDENTIALS_SR_READ","CREDENTIALS_SR_WRITE","DELEGATION_ROLE_MANAGE"]}},"default":{"type":"boolean","description":"Whether this is the default role for new users"},"readonly":{"type":"boolean","description":"Whether the role is read-only (system role)"}},"required":["id","createDate","updateDate","uuid","name","description","owner","permissions","default","readonly"]},"UnauthorizedErrorDTO":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"}},"required":["statusCode","message"]},"ForbiddenErrorDTO":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"},"error":{"type":"string"}},"required":["statusCode","message"]},"InternalServerErrorDTO":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"}},"required":["statusCode","message"]}}},"paths":{"/permissions/roles":{"post":{"description":"Creates new role.","operationId":"PermissionsApi_createRole","parameters":[],"requestBody":{"required":true,"description":"Object that contains role information.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleDTO"}}}},"responses":{"201":{"description":"Created role.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleDTO"}}}},"401":{"description":"Unauthorized request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedErrorDTO"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenErrorDTO"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InternalServerErrorDTO"}}}}},"summary":"Creates new role.","tags":["permissions"]}}}}
```

## Updates role configuration.

> Updates role configuration for the specified role ID.

```json
{"openapi":"3.0.0","info":{"title":"Guardian","version":"3.6.0-rc"},"servers":[{"url":"/api/v1","description":"version 1.0"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"RoleDTO":{"type":"object","properties":{"id":{"type":"string","description":"Internal database identifier"},"createDate":{"type":"string","description":"Role creation date in ISO 8601 format"},"updateDate":{"type":"string","description":"Last update date in ISO 8601 format"},"uuid":{"type":"string","description":"Unique universal identifier"},"name":{"type":"string","description":"Role name"},"description":{"type":"string","description":"Role description"},"owner":{"type":"string","description":"DID of the Standard Registry who created this role"},"permissions":{"type":"array","description":"List of permission names assigned to this role","items":{"type":"string","enum":["ANALYTIC_POLICY_READ","ANALYTIC_MODULE_READ","ANALYTIC_TOOL_READ","ANALYTIC_SCHEMA_READ","ANALYTIC_DOCUMENT_READ","ARTIFACTS_FILE_READ","ARTIFACTS_FILE_CREATE","ARTIFACTS_FILE_DELETE","CONTRACTS_CONTRACT_READ","CONTRACTS_CONTRACT_EXECUTE","LOG_LOG_READ","LOG_SYSTEM_READ","LOG_USERS_READ","MODULES_MODULE_READ","MODULES_MODULE_CREATE","MODULES_MODULE_UPDATE","MODULES_MODULE_DELETE","MODULES_MODULE_REVIEW","POLICIES_POLICY_READ","POLICIES_POLICY_CREATE","POLICIES_POLICY_UPDATE","POLICIES_POLICY_DELETE","POLICIES_POLICY_REVIEW","POLICIES_POLICY_EXECUTE","POLICIES_POLICY_MANAGE","POLICIES_POLICY_AUDIT","POLICIES_POLICY_TAG","POLICIES_EXTERNAL_POLICY_READ","POLICIES_EXTERNAL_POLICY_CREATE","POLICIES_EXTERNAL_POLICY_UPDATE","POLICIES_EXTERNAL_POLICY_DELETE","SCHEMAS_SCHEMA_READ","SCHEMAS_SCHEMA_CREATE","SCHEMAS_SCHEMA_UPDATE","SCHEMAS_SCHEMA_DELETE","SCHEMAS_SCHEMA_REVIEW","TOOLS_TOOL_READ","TOOLS_TOOL_CREATE","TOOLS_TOOL_UPDATE","TOOLS_TOOL_DELETE","TOOLS_TOOL_REVIEW","TOKENS_TOKEN_READ","TOKENS_TOKEN_CREATE","TOKENS_TOKEN_UPDATE","TOKENS_TOKEN_DELETE","TOKENS_TOKEN_EXECUTE","TOKENS_TOKEN_MANAGE","TAGS_TAG_READ","TAGS_TAG_CREATE","SUGGESTIONS_SUGGESTIONS_READ","SUGGESTIONS_SUGGESTIONS_UPDATE","PERMISSIONS_ROLE_READ","PERMISSIONS_ROLE_CREATE","PERMISSIONS_ROLE_UPDATE","PERMISSIONS_ROLE_DELETE","PERMISSIONS_ROLE_MANAGE","STATISTICS_STATISTIC_READ","STATISTICS_STATISTIC_CREATE","STATISTICS_LABEL_READ","STATISTICS_LABEL_CREATE","SCHEMAS_RULE_READ","SCHEMAS_RULE_CREATE","SCHEMAS_RULE_EXECUTE","FORMULAS_FORMULA_READ","FORMULAS_FORMULA_CREATE","WORKER_TASKS_READ","WORKER_TASKS_EXECUTE","WORKER_TASKS_DELETE","ACCESS_POLICY_ALL","ACCESS_POLICY_ASSIGNED","ACCESS_POLICY_PUBLISHED","ACCESS_POLICY_ASSIGNED_AND_PUBLISHED","CREDENTIALS_USER_READ","CREDENTIALS_USER_WRITE","CREDENTIALS_SR_READ","CREDENTIALS_SR_WRITE","DELEGATION_ROLE_MANAGE"]}},"default":{"type":"boolean","description":"Whether this is the default role for new users"},"readonly":{"type":"boolean","description":"Whether the role is read-only (system role)"}},"required":["id","createDate","updateDate","uuid","name","description","owner","permissions","default","readonly"]},"UnauthorizedErrorDTO":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"}},"required":["statusCode","message"]},"ForbiddenErrorDTO":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"},"error":{"type":"string"}},"required":["statusCode","message"]},"InternalServerErrorDTO":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"}},"required":["statusCode","message"]}}},"paths":{"/permissions/roles/{id}":{"put":{"description":"Updates role configuration for the specified role ID.","operationId":"PermissionsApi_updateRole","parameters":[{"name":"id","required":true,"in":"path","description":"Role Identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"description":"Role configuration.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleDTO"}}}},"responses":{"200":{"description":"Role configuration.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleDTO"}}}},"401":{"description":"Unauthorized request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedErrorDTO"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenErrorDTO"}}}},"404":{"description":"Role not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InternalServerErrorDTO"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InternalServerErrorDTO"}}}}},"summary":"Updates role configuration.","tags":["permissions"]}}}}
```

## Deletes the role.

> Deletes the role with the provided role ID.

```json
{"openapi":"3.0.0","info":{"title":"Guardian","version":"3.6.0-rc"},"servers":[{"url":"/api/v1","description":"version 1.0"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"UnauthorizedErrorDTO":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"}},"required":["statusCode","message"]},"ForbiddenErrorDTO":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"},"error":{"type":"string"}},"required":["statusCode","message"]},"UnprocessableEntityErrorDTO":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"oneOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"error":{"type":"string"}},"required":["statusCode","message"]},"InternalServerErrorDTO":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"}},"required":["statusCode","message"]}}},"paths":{"/permissions/roles/{id}":{"delete":{"description":"Deletes the role with the provided role ID.","operationId":"PermissionsApi_deleteModule","parameters":[{"name":"id","required":true,"in":"path","description":"Role Identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful operation.","content":{"application/json":{"schema":{"type":"boolean"}}}},"401":{"description":"Unauthorized request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedErrorDTO"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenErrorDTO"}}}},"422":{"description":"Unprocessable entity.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnprocessableEntityErrorDTO"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InternalServerErrorDTO"}}}}},"summary":"Deletes the role.","tags":["permissions"]}}}}
```

## Set default role.

> Set the role as default for new users.

```json
{"openapi":"3.0.0","info":{"title":"Guardian","version":"3.6.0-rc"},"servers":[{"url":"/api/v1","description":"version 1.0"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"RoleDTO":{"type":"object","properties":{"id":{"type":"string","description":"Internal database identifier"},"createDate":{"type":"string","description":"Role creation date in ISO 8601 format"},"updateDate":{"type":"string","description":"Last update date in ISO 8601 format"},"uuid":{"type":"string","description":"Unique universal identifier"},"name":{"type":"string","description":"Role name"},"description":{"type":"string","description":"Role description"},"owner":{"type":"string","description":"DID of the Standard Registry who created this role"},"permissions":{"type":"array","description":"List of permission names assigned to this role","items":{"type":"string","enum":["ANALYTIC_POLICY_READ","ANALYTIC_MODULE_READ","ANALYTIC_TOOL_READ","ANALYTIC_SCHEMA_READ","ANALYTIC_DOCUMENT_READ","ARTIFACTS_FILE_READ","ARTIFACTS_FILE_CREATE","ARTIFACTS_FILE_DELETE","CONTRACTS_CONTRACT_READ","CONTRACTS_CONTRACT_EXECUTE","LOG_LOG_READ","LOG_SYSTEM_READ","LOG_USERS_READ","MODULES_MODULE_READ","MODULES_MODULE_CREATE","MODULES_MODULE_UPDATE","MODULES_MODULE_DELETE","MODULES_MODULE_REVIEW","POLICIES_POLICY_READ","POLICIES_POLICY_CREATE","POLICIES_POLICY_UPDATE","POLICIES_POLICY_DELETE","POLICIES_POLICY_REVIEW","POLICIES_POLICY_EXECUTE","POLICIES_POLICY_MANAGE","POLICIES_POLICY_AUDIT","POLICIES_POLICY_TAG","POLICIES_EXTERNAL_POLICY_READ","POLICIES_EXTERNAL_POLICY_CREATE","POLICIES_EXTERNAL_POLICY_UPDATE","POLICIES_EXTERNAL_POLICY_DELETE","SCHEMAS_SCHEMA_READ","SCHEMAS_SCHEMA_CREATE","SCHEMAS_SCHEMA_UPDATE","SCHEMAS_SCHEMA_DELETE","SCHEMAS_SCHEMA_REVIEW","TOOLS_TOOL_READ","TOOLS_TOOL_CREATE","TOOLS_TOOL_UPDATE","TOOLS_TOOL_DELETE","TOOLS_TOOL_REVIEW","TOKENS_TOKEN_READ","TOKENS_TOKEN_CREATE","TOKENS_TOKEN_UPDATE","TOKENS_TOKEN_DELETE","TOKENS_TOKEN_EXECUTE","TOKENS_TOKEN_MANAGE","TAGS_TAG_READ","TAGS_TAG_CREATE","SUGGESTIONS_SUGGESTIONS_READ","SUGGESTIONS_SUGGESTIONS_UPDATE","PERMISSIONS_ROLE_READ","PERMISSIONS_ROLE_CREATE","PERMISSIONS_ROLE_UPDATE","PERMISSIONS_ROLE_DELETE","PERMISSIONS_ROLE_MANAGE","STATISTICS_STATISTIC_READ","STATISTICS_STATISTIC_CREATE","STATISTICS_LABEL_READ","STATISTICS_LABEL_CREATE","SCHEMAS_RULE_READ","SCHEMAS_RULE_CREATE","SCHEMAS_RULE_EXECUTE","FORMULAS_FORMULA_READ","FORMULAS_FORMULA_CREATE","WORKER_TASKS_READ","WORKER_TASKS_EXECUTE","WORKER_TASKS_DELETE","ACCESS_POLICY_ALL","ACCESS_POLICY_ASSIGNED","ACCESS_POLICY_PUBLISHED","ACCESS_POLICY_ASSIGNED_AND_PUBLISHED","CREDENTIALS_USER_READ","CREDENTIALS_USER_WRITE","CREDENTIALS_SR_READ","CREDENTIALS_SR_WRITE","DELEGATION_ROLE_MANAGE"]}},"default":{"type":"boolean","description":"Whether this is the default role for new users"},"readonly":{"type":"boolean","description":"Whether the role is read-only (system role)"}},"required":["id","createDate","updateDate","uuid","name","description","owner","permissions","default","readonly"]},"UnauthorizedErrorDTO":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"}},"required":["statusCode","message"]},"ForbiddenErrorDTO":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"},"error":{"type":"string"}},"required":["statusCode","message"]},"InternalServerErrorDTO":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"}},"required":["statusCode","message"]}}},"paths":{"/permissions/roles/default":{"post":{"description":"Set the role as default for new users.","operationId":"PermissionsApi_setDefaultRole","parameters":[],"requestBody":{"required":true,"description":"Object that contains role information.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"Role Identifier"}},"required":["id"]}}}},"responses":{"201":{"description":"Created role.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleDTO"}}}},"401":{"description":"Unauthorized request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedErrorDTO"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenErrorDTO"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InternalServerErrorDTO"}}}}},"summary":"Set default role.","tags":["permissions"]}}}}
```

## Return a list of all users.

> Returns all users.

```json
{"openapi":"3.0.0","info":{"title":"Guardian","version":"3.6.0-rc"},"servers":[{"url":"/api/v1","description":"version 1.0"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"UserDTO":{"type":"object","properties":{"username":{"type":"string"},"role":{"type":"string","enum":["STANDARD_REGISTRY","USER","AUDITOR"]},"permissionsGroup":{"type":"array","items":{"type":"string"}},"permissions":{"type":"array","items":{"type":"string"}},"did":{"type":"string"},"parent":{"type":"string"},"hederaAccountId":{"type":"string"}},"required":["username","role","permissions"]},"UnauthorizedErrorDTO":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"}},"required":["statusCode","message"]},"ForbiddenErrorDTO":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"},"error":{"type":"string"}},"required":["statusCode","message"]},"InternalServerErrorDTO":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"}},"required":["statusCode","message"]}}},"paths":{"/permissions/users":{"get":{"description":"Returns all users.","operationId":"PermissionsApi_getUsers","parameters":[{"name":"pageIndex","required":false,"in":"query","description":"The number of pages to skip before starting to collect the result set","schema":{"type":"number"}},{"name":"pageSize","required":false,"in":"query","description":"The numbers of items to return","schema":{"type":"number"}},{"name":"role","required":false,"in":"query","description":"Filter by role","schema":{"type":"string"}},{"name":"status","required":false,"in":"query","description":"Filter by status","schema":{"enum":["Active","Inactive"],"type":"string"}},{"name":"username","required":false,"in":"query","description":"Filter by username","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful operation.","headers":{"X-Total-Count":{"schema":{"type":"integer"},"description":"Total items in the collection."}},"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UserDTO"}}}}},"401":{"description":"Unauthorized request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedErrorDTO"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenErrorDTO"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InternalServerErrorDTO"}}}}},"summary":"Return a list of all users.","tags":["permissions"]}}}}
```

## Updates user permissions.

> Updates user permissions for the specified username.

```json
{"openapi":"3.0.0","info":{"title":"Guardian","version":"3.6.0-rc"},"servers":[{"url":"/api/v1","description":"version 1.0"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"UserDTO":{"type":"object","properties":{"username":{"type":"string"},"role":{"type":"string","enum":["STANDARD_REGISTRY","USER","AUDITOR"]},"permissionsGroup":{"type":"array","items":{"type":"string"}},"permissions":{"type":"array","items":{"type":"string"}},"did":{"type":"string"},"parent":{"type":"string"},"hederaAccountId":{"type":"string"}},"required":["username","role","permissions"]},"UnauthorizedErrorDTO":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"}},"required":["statusCode","message"]},"ForbiddenErrorDTO":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"},"error":{"type":"string"}},"required":["statusCode","message"]},"InternalServerErrorDTO":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"}},"required":["statusCode","message"]}}},"paths":{"/permissions/users/{username}":{"get":{"description":"Updates user permissions for the specified username.","operationId":"PermissionsApi_getUser","parameters":[{"name":"username","required":true,"in":"path","description":"User Identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"User permissions.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserDTO"}}}},"401":{"description":"Unauthorized request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedErrorDTO"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenErrorDTO"}}}},"404":{"description":"User not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InternalServerErrorDTO"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InternalServerErrorDTO"}}}}},"summary":"Updates user permissions.","tags":["permissions"]}}}}
```

## Updates user permissions.

> Updates user permissions for the specified username.

```json
{"openapi":"3.0.0","info":{"title":"Guardian","version":"3.6.0-rc"},"servers":[{"url":"/api/v1","description":"version 1.0"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"UserDTO":{"type":"object","properties":{"username":{"type":"string"},"role":{"type":"string","enum":["STANDARD_REGISTRY","USER","AUDITOR"]},"permissionsGroup":{"type":"array","items":{"type":"string"}},"permissions":{"type":"array","items":{"type":"string"}},"did":{"type":"string"},"parent":{"type":"string"},"hederaAccountId":{"type":"string"}},"required":["username","role","permissions"]},"UnauthorizedErrorDTO":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"}},"required":["statusCode","message"]},"ForbiddenErrorDTO":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"},"error":{"type":"string"}},"required":["statusCode","message"]},"InternalServerErrorDTO":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"}},"required":["statusCode","message"]}}},"paths":{"/permissions/users/{username}":{"put":{"description":"Updates user permissions for the specified username.","operationId":"PermissionsApi_updateUser","parameters":[{"name":"username","required":true,"in":"path","description":"User Identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"description":"User permissions.","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"responses":{"200":{"description":"User permissions.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserDTO"}}}},"401":{"description":"Unauthorized request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedErrorDTO"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenErrorDTO"}}}},"404":{"description":"User not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InternalServerErrorDTO"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InternalServerErrorDTO"}}}}},"summary":"Updates user permissions.","tags":["permissions"]}}}}
```

## Return a list of all roles.

> Returns all roles.

```json
{"openapi":"3.0.0","info":{"title":"Guardian","version":"3.6.0-rc"},"servers":[{"url":"/api/v1","description":"version 1.0"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"PolicyDTO":{"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"topicDescription":{"type":"string"},"applicabilityConditions":{"type":"string"},"detailsUrl":{"type":"string"},"typicalProjects":{"type":"string"},"importantParameters":{"$ref":"#/components/schemas/PolicyImportantParametersDTO"},"policyTag":{"type":"string"},"status":{"type":"string","enum":["DRY-RUN","DRAFT","PUBLISH_ERROR","PUBLISH","DISCONTINUED","DEMO","VIEW"]},"creator":{"type":"string"},"owner":{"type":"string"},"topicId":{"type":"string"},"instanceTopicId":{"type":"string"},"messageId":{"type":"string"},"availability":{"type":"string","enum":["private","public"]},"codeVersion":{"type":"string"},"tools":{"type":"array","items":{"$ref":"#/components/schemas/PolicyToolDTO"}},"createDate":{"type":"string"},"version":{"type":"string"},"originalChanged":{"type":"string"},"editableParametersSettings":{"type":"array","items":{"$ref":"#/components/schemas/PolicyEditableFieldDTO"}},"config":{"type":"object","additionalProperties":true},"userRole":{"type":"string"},"userRoles":{"type":"array","items":{"type":"string"}},"userGroup":{"type":"object","additionalProperties":true,"nullable":true,"description":"Last active group in iteration order (not a separate summary). Often shown via groupLabel or uuid."},"userGroups":{"additionalProperties":true,"description":"Full list of group rows for this user in the policy (getGroupsByUser), including inactive.","type":"array","items":{"type":"object"}},"policyRoles":{"type":"array","items":{"type":"string"}},"policyNavigation":{"additionalProperties":true,"type":"array","items":{"type":"object"}},"policyTopics":{"additionalProperties":true,"type":"array","items":{"type":"object"}},"policyTokens":{"additionalProperties":true,"type":"array","items":{"type":"object"}},"policyGroups":{"additionalProperties":true,"type":"array","items":{"type":"object"}},"policyDocumentation":{"additionalProperties":true,"description":"User-configured policy API documentation entries. The `alias` may be a single slug (`create-device`) or a path of slugs separated by `/` (`monitoring-reports/create`).","type":"array","items":{"type":"object"}},"categories":{"type":"array","items":{"type":"string"}},"projectSchema":{"type":"string"},"tests":{"type":"array","items":{"$ref":"#/components/schemas/PolicyTestDTO"}},"ignoreRules":{"description":"Validation-only rules to hide matching warnings/infos (not persisted)","type":"array","items":{"$ref":"#/components/schemas/IgnoreRuleDTO"}}},"required":["id","uuid","name","description","topicDescription","policyTag","status","creator","owner","topicId","instanceTopicId","messageId","codeVersion","tools","createDate","version","editableParametersSettings","config","userRole","userRoles","userGroup","userGroups","policyRoles","policyNavigation","policyTopics","policyTokens","policyGroups","policyDocumentation","categories","projectSchema","tests"]},"PolicyImportantParametersDTO":{"type":"object","properties":{"atValidation":{"type":"string"},"monitored":{"type":"string"}}},"PolicyToolDTO":{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string","nullable":true},"topicId":{"type":"string"},"messageId":{"type":"string"}},"required":["name","topicId","messageId"]},"PolicyEditableFieldDTO":{"type":"object","properties":{}},"PolicyTestDTO":{"type":"object","properties":{"id":{"type":"string","description":"Test ID"},"uuid":{"type":"string","description":"Test UUID"},"name":{"type":"string","description":"Test Name"},"policyId":{"type":"string","description":"Policy ID"},"owner":{"type":"string","description":"Test owner"},"status":{"type":"string","description":"Test status","enum":["New","Running","Stopped","Success","Failure"]},"date":{"type":"string","description":"Last start date"},"duration":{"type":"string","description":"Test duration"},"progress":{"type":"string","description":"Test progress"},"resultId":{"type":"string","description":"Test result"},"result":{"type":"string","description":"Test result"}},"required":["id","uuid","name","policyId","owner","status","date","duration","progress","resultId","result"]},"IgnoreRuleDTO":{"type":"object","properties":{"code":{"type":"string","description":"Stable message code, e.g. DEPRECATION_BLOCK"},"blockType":{"type":"string","description":"Limit by block type"},"property":{"type":"string","description":"Limit by property"},"contains":{"type":"string","description":"Substring filter applied to message text"},"severity":{"type":"string","description":"Type of message","enum":["warning","info"]}}},"UnauthorizedErrorDTO":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"}},"required":["statusCode","message"]},"ForbiddenErrorDTO":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"},"error":{"type":"string"}},"required":["statusCode","message"]},"InternalServerErrorDTO":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"}},"required":["statusCode","message"]}}},"paths":{"/permissions/users/{username}/policies":{"get":{"description":"Returns all roles.","operationId":"PermissionsApi_getAssignedPolicies","parameters":[{"name":"username","required":true,"in":"path","description":"User Identifier","schema":{"type":"string"}},{"name":"pageIndex","required":false,"in":"query","description":"The number of pages to skip before starting to collect the result set","schema":{"type":"number"}},{"name":"pageSize","required":false,"in":"query","description":"The numbers of items to return","schema":{"type":"number"}},{"name":"status","required":false,"in":"query","description":"Filter by status","schema":{"enum":["DRY-RUN","DRAFT","PUBLISH_ERROR","PUBLISH","DISCONTINUED","DEMO","VIEW"],"type":"string"}}],"responses":{"200":{"description":"Successful operation.","headers":{"X-Total-Count":{"schema":{"type":"integer"},"description":"Total items in the collection."}},"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PolicyDTO"}}}}},"401":{"description":"Unauthorized request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedErrorDTO"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenErrorDTO"}}}},"404":{"description":"User not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InternalServerErrorDTO"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InternalServerErrorDTO"}}}}},"summary":"Return a list of all roles.","tags":["permissions"]}}}}
```

## Assign policy.

> Assign policy.

```json
{"openapi":"3.0.0","info":{"title":"Guardian","version":"3.6.0-rc"},"servers":[{"url":"/api/v1","description":"version 1.0"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"AssignPolicyDTO":{"type":"object","properties":{"policyIds":{"type":"array","items":{"type":"string"}},"assign":{"type":"boolean"}},"required":["policyIds","assign"]},"PolicyDTO":{"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"topicDescription":{"type":"string"},"applicabilityConditions":{"type":"string"},"detailsUrl":{"type":"string"},"typicalProjects":{"type":"string"},"importantParameters":{"$ref":"#/components/schemas/PolicyImportantParametersDTO"},"policyTag":{"type":"string"},"status":{"type":"string","enum":["DRY-RUN","DRAFT","PUBLISH_ERROR","PUBLISH","DISCONTINUED","DEMO","VIEW"]},"creator":{"type":"string"},"owner":{"type":"string"},"topicId":{"type":"string"},"instanceTopicId":{"type":"string"},"messageId":{"type":"string"},"availability":{"type":"string","enum":["private","public"]},"codeVersion":{"type":"string"},"tools":{"type":"array","items":{"$ref":"#/components/schemas/PolicyToolDTO"}},"createDate":{"type":"string"},"version":{"type":"string"},"originalChanged":{"type":"string"},"editableParametersSettings":{"type":"array","items":{"$ref":"#/components/schemas/PolicyEditableFieldDTO"}},"config":{"type":"object","additionalProperties":true},"userRole":{"type":"string"},"userRoles":{"type":"array","items":{"type":"string"}},"userGroup":{"type":"object","additionalProperties":true,"nullable":true,"description":"Last active group in iteration order (not a separate summary). Often shown via groupLabel or uuid."},"userGroups":{"additionalProperties":true,"description":"Full list of group rows for this user in the policy (getGroupsByUser), including inactive.","type":"array","items":{"type":"object"}},"policyRoles":{"type":"array","items":{"type":"string"}},"policyNavigation":{"additionalProperties":true,"type":"array","items":{"type":"object"}},"policyTopics":{"additionalProperties":true,"type":"array","items":{"type":"object"}},"policyTokens":{"additionalProperties":true,"type":"array","items":{"type":"object"}},"policyGroups":{"additionalProperties":true,"type":"array","items":{"type":"object"}},"policyDocumentation":{"additionalProperties":true,"description":"User-configured policy API documentation entries. The `alias` may be a single slug (`create-device`) or a path of slugs separated by `/` (`monitoring-reports/create`).","type":"array","items":{"type":"object"}},"categories":{"type":"array","items":{"type":"string"}},"projectSchema":{"type":"string"},"tests":{"type":"array","items":{"$ref":"#/components/schemas/PolicyTestDTO"}},"ignoreRules":{"description":"Validation-only rules to hide matching warnings/infos (not persisted)","type":"array","items":{"$ref":"#/components/schemas/IgnoreRuleDTO"}}},"required":["id","uuid","name","description","topicDescription","policyTag","status","creator","owner","topicId","instanceTopicId","messageId","codeVersion","tools","createDate","version","editableParametersSettings","config","userRole","userRoles","userGroup","userGroups","policyRoles","policyNavigation","policyTopics","policyTokens","policyGroups","policyDocumentation","categories","projectSchema","tests"]},"PolicyImportantParametersDTO":{"type":"object","properties":{"atValidation":{"type":"string"},"monitored":{"type":"string"}}},"PolicyToolDTO":{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string","nullable":true},"topicId":{"type":"string"},"messageId":{"type":"string"}},"required":["name","topicId","messageId"]},"PolicyEditableFieldDTO":{"type":"object","properties":{}},"PolicyTestDTO":{"type":"object","properties":{"id":{"type":"string","description":"Test ID"},"uuid":{"type":"string","description":"Test UUID"},"name":{"type":"string","description":"Test Name"},"policyId":{"type":"string","description":"Policy ID"},"owner":{"type":"string","description":"Test owner"},"status":{"type":"string","description":"Test status","enum":["New","Running","Stopped","Success","Failure"]},"date":{"type":"string","description":"Last start date"},"duration":{"type":"string","description":"Test duration"},"progress":{"type":"string","description":"Test progress"},"resultId":{"type":"string","description":"Test result"},"result":{"type":"string","description":"Test result"}},"required":["id","uuid","name","policyId","owner","status","date","duration","progress","resultId","result"]},"IgnoreRuleDTO":{"type":"object","properties":{"code":{"type":"string","description":"Stable message code, e.g. DEPRECATION_BLOCK"},"blockType":{"type":"string","description":"Limit by block type"},"property":{"type":"string","description":"Limit by property"},"contains":{"type":"string","description":"Substring filter applied to message text"},"severity":{"type":"string","description":"Type of message","enum":["warning","info"]}}},"UnauthorizedErrorDTO":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"}},"required":["statusCode","message"]},"ForbiddenErrorDTO":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"},"error":{"type":"string"}},"required":["statusCode","message"]},"InternalServerErrorDTO":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"}},"required":["statusCode","message"]}}},"paths":{"/permissions/users/{username}/policies/assign":{"post":{"description":"Assign policy.","operationId":"PermissionsApi_assignPolicy","parameters":[{"name":"username","required":true,"in":"path","description":"User Identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"description":"Options.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssignPolicyDTO"}}}},"responses":{"201":{"description":"Assigned policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PolicyDTO"}}}},"401":{"description":"Unauthorized request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedErrorDTO"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenErrorDTO"}}}},"404":{"description":"User not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InternalServerErrorDTO"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InternalServerErrorDTO"}}}}},"summary":"Assign policy.","tags":["permissions"]}}}}
```

## Delegate user permissions.

> Delegate user permissions for the specified username.

```json
{"openapi":"3.0.0","info":{"title":"Guardian","version":"3.6.0-rc"},"servers":[{"url":"/api/v1","description":"version 1.0"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"UserDTO":{"type":"object","properties":{"username":{"type":"string"},"role":{"type":"string","enum":["STANDARD_REGISTRY","USER","AUDITOR"]},"permissionsGroup":{"type":"array","items":{"type":"string"}},"permissions":{"type":"array","items":{"type":"string"}},"did":{"type":"string"},"parent":{"type":"string"},"hederaAccountId":{"type":"string"}},"required":["username","role","permissions"]},"UnauthorizedErrorDTO":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"}},"required":["statusCode","message"]},"ForbiddenErrorDTO":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"},"error":{"type":"string"}},"required":["statusCode","message"]},"InternalServerErrorDTO":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"}},"required":["statusCode","message"]}}},"paths":{"/permissions/users/{username}/delegate":{"put":{"description":"Delegate user permissions for the specified username.","operationId":"PermissionsApi_delegateRole","parameters":[{"name":"username","required":true,"in":"path","description":"User Identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"description":"User permissions.","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"responses":{"200":{"description":"User permissions.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserDTO"}}}},"401":{"description":"Unauthorized request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedErrorDTO"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenErrorDTO"}}}},"404":{"description":"User not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InternalServerErrorDTO"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InternalServerErrorDTO"}}}}},"summary":"Delegate user permissions.","tags":["permissions"]}}}}
```

## Delegate policy.

> Delegate policy.

```json
{"openapi":"3.0.0","info":{"title":"Guardian","version":"3.6.0-rc"},"servers":[{"url":"/api/v1","description":"version 1.0"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"AssignPolicyDTO":{"type":"object","properties":{"policyIds":{"type":"array","items":{"type":"string"}},"assign":{"type":"boolean"}},"required":["policyIds","assign"]},"PolicyDTO":{"type":"object","properties":{"id":{"type":"string"},"uuid":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"topicDescription":{"type":"string"},"applicabilityConditions":{"type":"string"},"detailsUrl":{"type":"string"},"typicalProjects":{"type":"string"},"importantParameters":{"$ref":"#/components/schemas/PolicyImportantParametersDTO"},"policyTag":{"type":"string"},"status":{"type":"string","enum":["DRY-RUN","DRAFT","PUBLISH_ERROR","PUBLISH","DISCONTINUED","DEMO","VIEW"]},"creator":{"type":"string"},"owner":{"type":"string"},"topicId":{"type":"string"},"instanceTopicId":{"type":"string"},"messageId":{"type":"string"},"availability":{"type":"string","enum":["private","public"]},"codeVersion":{"type":"string"},"tools":{"type":"array","items":{"$ref":"#/components/schemas/PolicyToolDTO"}},"createDate":{"type":"string"},"version":{"type":"string"},"originalChanged":{"type":"string"},"editableParametersSettings":{"type":"array","items":{"$ref":"#/components/schemas/PolicyEditableFieldDTO"}},"config":{"type":"object","additionalProperties":true},"userRole":{"type":"string"},"userRoles":{"type":"array","items":{"type":"string"}},"userGroup":{"type":"object","additionalProperties":true,"nullable":true,"description":"Last active group in iteration order (not a separate summary). Often shown via groupLabel or uuid."},"userGroups":{"additionalProperties":true,"description":"Full list of group rows for this user in the policy (getGroupsByUser), including inactive.","type":"array","items":{"type":"object"}},"policyRoles":{"type":"array","items":{"type":"string"}},"policyNavigation":{"additionalProperties":true,"type":"array","items":{"type":"object"}},"policyTopics":{"additionalProperties":true,"type":"array","items":{"type":"object"}},"policyTokens":{"additionalProperties":true,"type":"array","items":{"type":"object"}},"policyGroups":{"additionalProperties":true,"type":"array","items":{"type":"object"}},"policyDocumentation":{"additionalProperties":true,"description":"User-configured policy API documentation entries. The `alias` may be a single slug (`create-device`) or a path of slugs separated by `/` (`monitoring-reports/create`).","type":"array","items":{"type":"object"}},"categories":{"type":"array","items":{"type":"string"}},"projectSchema":{"type":"string"},"tests":{"type":"array","items":{"$ref":"#/components/schemas/PolicyTestDTO"}},"ignoreRules":{"description":"Validation-only rules to hide matching warnings/infos (not persisted)","type":"array","items":{"$ref":"#/components/schemas/IgnoreRuleDTO"}}},"required":["id","uuid","name","description","topicDescription","policyTag","status","creator","owner","topicId","instanceTopicId","messageId","codeVersion","tools","createDate","version","editableParametersSettings","config","userRole","userRoles","userGroup","userGroups","policyRoles","policyNavigation","policyTopics","policyTokens","policyGroups","policyDocumentation","categories","projectSchema","tests"]},"PolicyImportantParametersDTO":{"type":"object","properties":{"atValidation":{"type":"string"},"monitored":{"type":"string"}}},"PolicyToolDTO":{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string","nullable":true},"topicId":{"type":"string"},"messageId":{"type":"string"}},"required":["name","topicId","messageId"]},"PolicyEditableFieldDTO":{"type":"object","properties":{}},"PolicyTestDTO":{"type":"object","properties":{"id":{"type":"string","description":"Test ID"},"uuid":{"type":"string","description":"Test UUID"},"name":{"type":"string","description":"Test Name"},"policyId":{"type":"string","description":"Policy ID"},"owner":{"type":"string","description":"Test owner"},"status":{"type":"string","description":"Test status","enum":["New","Running","Stopped","Success","Failure"]},"date":{"type":"string","description":"Last start date"},"duration":{"type":"string","description":"Test duration"},"progress":{"type":"string","description":"Test progress"},"resultId":{"type":"string","description":"Test result"},"result":{"type":"string","description":"Test result"}},"required":["id","uuid","name","policyId","owner","status","date","duration","progress","resultId","result"]},"IgnoreRuleDTO":{"type":"object","properties":{"code":{"type":"string","description":"Stable message code, e.g. DEPRECATION_BLOCK"},"blockType":{"type":"string","description":"Limit by block type"},"property":{"type":"string","description":"Limit by property"},"contains":{"type":"string","description":"Substring filter applied to message text"},"severity":{"type":"string","description":"Type of message","enum":["warning","info"]}}},"UnauthorizedErrorDTO":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"}},"required":["statusCode","message"]},"ForbiddenErrorDTO":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"},"error":{"type":"string"}},"required":["statusCode","message"]},"InternalServerErrorDTO":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"}},"required":["statusCode","message"]}}},"paths":{"/permissions/users/{username}/policies/delegate":{"post":{"description":"Delegate policy.","operationId":"PermissionsApi_delegatePolicy","parameters":[{"name":"username","required":true,"in":"path","description":"User Identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"description":"Options.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssignPolicyDTO"}}}},"responses":{"201":{"description":"Assigned policy.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PolicyDTO"}}}},"401":{"description":"Unauthorized request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedErrorDTO"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenErrorDTO"}}}},"404":{"description":"User not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InternalServerErrorDTO"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InternalServerErrorDTO"}}}}},"summary":"Delegate policy.","tags":["permissions"]}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://dev.guardian.hedera.com/api-reference/permissions.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
