> For the complete documentation index, see [llms.txt](https://dev.guardian.hedera.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://dev.guardian.hedera.com/static-spec-test/identity-and-access/permissions.md).

# 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":"0.0.1"},"tags":[{"name":"permissions"}],"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":"0.0.1"},"tags":[{"name":"permissions"}],"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":"0.0.1"},"tags":[{"name":"permissions"}],"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":"0.0.1"},"tags":[{"name":"permissions"}],"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":"0.0.1"},"tags":[{"name":"permissions"}],"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":"0.0.1"},"tags":[{"name":"permissions"}],"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":"0.0.1"},"tags":[{"name":"permissions"}],"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":"0.0.1"},"tags":[{"name":"permissions"}],"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":"0.0.1"},"tags":[{"name":"permissions"}],"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":"0.0.1"},"tags":[{"name":"permissions"}],"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":"0.0.1"},"tags":[{"name":"permissions"}],"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":"0.0.1"},"tags":[{"name":"permissions"}],"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":"0.0.1"},"tags":[{"name":"permissions"}],"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"]}}}}
```
