# Accounts

## Returns current session of the user.

> Returns current user session.

```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":{"AccountsSessionResponseDTO":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"did":{"type":"string"},"hederaAccountId":{"type":"string"},"role":{"type":"string"},"permissions":{"type":"array","items":{"type":"string"}},"permissionsGroup":{"type":"array","items":{"$ref":"#/components/schemas/PermissionGroupResponseDTO"}},"location":{"type":"string"}},"required":["id","username","role","permissions"]},"PermissionGroupResponseDTO":{"type":"object","properties":{"uuid":{"type":"string"},"roleId":{"type":"string"},"roleName":{"type":"string"},"owner":{"type":"string","nullable":true}},"required":["uuid","roleId","roleName"]},"InternalServerErrorDTO":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"}},"required":["statusCode","message"]}}},"paths":{"/accounts/session":{"get":{"description":"Returns current user session.","operationId":"AccountApi_getSession","parameters":[],"responses":{"200":{"description":"Successful operation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountsSessionResponseDTO"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InternalServerErrorDTO"}}}}},"summary":"Returns current session of the user.","tags":["accounts"]}}}}
```

## Registers a new user account.

> Object that contain username, password and role fields.

```json
{"openapi":"3.0.0","info":{"title":"Guardian","version":"3.6.0-rc"},"servers":[{"url":"/api/v1","description":"version 1.0"}],"paths":{"/accounts/register":{"post":{"description":"Object that contain username, password and role fields.","operationId":"AccountApi_register","parameters":[],"requestBody":{"required":true,"description":"Register payload.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegisterUserDTO"}}}},"responses":{"201":{"description":"Successful operation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountsResponseDTO"}}}},"409":{"description":"Conflict.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConflictErrorDTO"}}}},"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":"Registers a new user account.","tags":["accounts"]}}},"components":{"schemas":{"RegisterUserDTO":{"type":"object","properties":{"username":{"type":"string"},"password":{"type":"string"},"password_confirmation":{"type":"string"},"role":{"type":"string"}},"required":["username","password","password_confirmation","role"]},"AccountsResponseDTO":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"role":{"type":"string"},"permissions":{"type":"array","items":{"type":"string"}},"permissionsGroup":{"type":"array","items":{"$ref":"#/components/schemas/PermissionGroupResponseDTO"}},"location":{"type":"string"}},"required":["id","username","role"]},"PermissionGroupResponseDTO":{"type":"object","properties":{"uuid":{"type":"string"},"roleId":{"type":"string"},"roleName":{"type":"string"},"owner":{"type":"string","nullable":true}},"required":["uuid","roleId","roleName"]},"ConflictErrorDTO":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"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"]}}}}
```

## Registers and fully onboards a new user account.

> Creates a user account, Hedera account, DID, and cryptographic keys on behalf of the user. If hederaAccountId / hederaAccountKey are omitted the platform generates them.&#x20;

```json
{"openapi":"3.0.0","info":{"title":"Guardian","version":"3.6.0-rc"},"servers":[{"url":"/api/v1","description":"version 1.0"}],"paths":{"/accounts/push/onboard":{"post":{"description":"Creates a user account, Hedera account, DID, and cryptographic keys on behalf of the user. If hederaAccountId / hederaAccountKey are omitted the platform generates them. ","operationId":"AccountApi_registerAndOnboard","parameters":[],"requestBody":{"required":true,"description":"Registration and optional Hedera / DID credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OnboardingDTO"}}}},"responses":{"202":{"description":"Task created — poll for completion.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaskDTO"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InternalServerErrorDTO"}}}}},"summary":"Registers and fully onboards a new user account.","tags":["accounts"]}}},"components":{"schemas":{"OnboardingDTO":{"type":"object","properties":{"username":{"type":"string"},"password":{"type":"string"},"password_confirmation":{"type":"string"},"role":{"type":"string"},"hederaAccountId":{"type":"string","description":"Hedera account ID (e.g. 0.0.12345). Auto-generated from the operator account if omitted."},"hederaAccountKey":{"type":"string","description":"Hedera account private key. Required when hederaAccountId is provided; auto-generated if omitted."},"parent":{"type":"string","description":"Standard Registry username or DID. Required for USER role accounts to link them to their registry."},"vcDocument":{"description":"VC document to publish during profile setup.","allOf":[{"$ref":"#/components/schemas/SubjectDTO"}]},"didDocument":{"description":"Pre-created DID document. Auto-generated if omitted.","allOf":[{"$ref":"#/components/schemas/DidDocumentDTO"}]},"didKeys":{"description":"Private keys for the DID document methods.","type":"array","items":{"$ref":"#/components/schemas/DidKeyDTO"}},"useFireblocksSigning":{"type":"boolean","default":false,"description":"Use Fireblocks signing instead of local key."},"fireblocksConfig":{"description":"Fireblocks configuration (required when useFireblocksSigning is true).","allOf":[{"$ref":"#/components/schemas/FireblocksConfigDTO"}]}},"required":["username","password","password_confirmation","role"]},"SubjectDTO":{"type":"object","properties":{"@context":{"nullable":true,"type":"array","items":{"type":"string"}},"id":{"type":"string","nullable":true},"type":{"type":"string","nullable":true}},"required":["@context"]},"DidDocumentDTO":{"type":"object","properties":{"id":{"type":"string","nullable":false},"@context":{"nullable":true,"type":"array","items":{"type":"string"}},"alsoKnownAs":{"nullable":true,"type":"array","items":{"type":"string"}},"controller":{"nullable":true,"type":"array","items":{"type":"string"}},"verificationMethod":{"additionalProperties":true,"nullable":true,"type":"array","items":{"type":"object"}},"authentication":{"additionalProperties":true,"nullable":true,"type":"array","items":{"type":"object"}},"assertionMethod":{"additionalProperties":true,"nullable":true,"type":"array","items":{"type":"object"}},"keyAgreement":{"additionalProperties":true,"nullable":true,"type":"array","items":{"type":"object"}},"capabilityInvocation":{"additionalProperties":true,"nullable":true,"type":"array","items":{"type":"object"}},"capabilityDelegation":{"additionalProperties":true,"nullable":true,"type":"array","items":{"type":"object"}},"service":{"additionalProperties":true,"nullable":true,"type":"array","items":{"type":"object"}}},"required":["id","@context","alsoKnownAs","controller","verificationMethod","authentication","assertionMethod","keyAgreement","capabilityInvocation","capabilityDelegation","service"]},"DidKeyDTO":{"type":"object","properties":{"id":{"type":"string","nullable":false},"key":{"type":"string","nullable":false}},"required":["id","key"]},"FireblocksConfigDTO":{"type":"object","properties":{"fireBlocksVaultId":{"type":"string"},"fireBlocksAssetId":{"type":"string"},"fireBlocksApiKey":{"type":"string"},"fireBlocksPrivateiKey":{"type":"string","description":"API property name is `fireBlocksPrivateiKey` (typo preserved for compatibility)."}}},"TaskDTO":{"type":"object","properties":{"taskId":{"type":"string","description":"Task Id"},"expectation":{"type":"number","description":"Expected count of task phases"},"action":{"type":"string","description":"Task action"},"userId":{"type":"string","description":"User Id"}},"required":["taskId","expectation","action","userId"]},"InternalServerErrorDTO":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"}},"required":["statusCode","message"]}}}}
```

## POST /accounts/login

> Logs user into the system.

```json
{"openapi":"3.0.0","info":{"title":"Guardian","version":"3.6.0-rc"},"servers":[{"url":"/api/v1","description":"version 1.0"}],"paths":{"/accounts/login":{"post":{"operationId":"AccountApi_login","parameters":[],"requestBody":{"required":true,"description":"Login payload.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginUserDTO"}}}},"responses":{"200":{"description":"Successful operation.","schema":{"oneOf":[{"$ref":"#/components/schemas/LoginSuccessResponseDTO"},{"$ref":"#/components/schemas/LoginOTPRequiredResponseDTO"}]},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountsLoginResponseDTO"}}}},"401":{"description":"Unauthorized request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnauthorizedErrorDTO"}}}},"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":"Logs user into the system.","tags":["accounts"]}}},"components":{"schemas":{"LoginUserDTO":{"type":"object","properties":{"username":{"type":"string"},"password":{"type":"string"},"otp":{"type":"string"}},"required":["username","password","otp"]},"LoginSuccessResponseDTO":{"type":"object","properties":{"did":{"type":"string"},"refreshToken":{"type":"string"},"role":{"type":"string"},"username":{"type":"string"},"weakPassword":{"type":"string"}},"required":["did","refreshToken","role","username","weakPassword"]},"LoginOTPRequiredResponseDTO":{"type":"object","properties":{"success":{"type":"boolean"},"otprequired":{"type":"boolean"}},"required":["success","otprequired"]},"AccountsLoginResponseDTO":{"type":"object","properties":{"username":{"type":"string"},"did":{"type":"string"},"role":{"type":"string"},"refreshToken":{"type":"string"},"weakPassword":{"type":"boolean"}},"required":["username","did","role","refreshToken"]},"UnauthorizedErrorDTO":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"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"]}}}}
```

## POST /accounts/change-password

> Change user password.

```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":{"ChangePasswordDTO":{"type":"object","properties":{"username":{"type":"string"},"oldPassword":{"type":"string"},"newPassword":{"type":"string"}},"required":["username","oldPassword","newPassword"]},"AccountsLoginResponseDTO":{"type":"object","properties":{"username":{"type":"string"},"did":{"type":"string"},"role":{"type":"string"},"refreshToken":{"type":"string"},"weakPassword":{"type":"boolean"}},"required":["username","did","role","refreshToken"]},"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":{"/accounts/change-password":{"post":{"operationId":"AccountApi_changePassword","parameters":[],"requestBody":{"required":true,"description":"User credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangePasswordDTO"}}}},"responses":{"200":{"description":"Successful operation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountsLoginResponseDTO"}}}},"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":"Change user password.","tags":["accounts"]}}}}
```

## Returns access token.

> Returns access token.

```json
{"openapi":"3.0.0","info":{"title":"Guardian","version":"3.6.0-rc"},"servers":[{"url":"/api/v1","description":"version 1.0"}],"paths":{"/accounts/access-token":{"post":{"description":"Returns access token.","operationId":"AccountApi_getAccessToken","parameters":[],"requestBody":{"required":true,"description":"Object that contains a refresh token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessTokenRequestDTO"}}}},"responses":{"200":{"description":"Successful operation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessTokenResponseDTO"}}}},"500":{"description":"Internal server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InternalServerErrorDTO"}}}}},"summary":"Returns access token.","tags":["accounts"]}}},"components":{"schemas":{"AccessTokenRequestDTO":{"type":"object","properties":{"refreshToken":{"type":"string","description":"Refresh token"}},"required":["refreshToken"]},"AccessTokenResponseDTO":{"type":"object","properties":{"accessToken":{"type":"string","description":"Access token"}},"required":["accessToken"]},"InternalServerErrorDTO":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"}},"required":["statusCode","message"]}}}}
```

## Returns a list of users, excluding Standard Registry.

> Returns all users except those with role Standard Registry. Only users with the Standard Registry role are allowed to make the request.

```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":{"UserAccountDTO":{"type":"object","properties":{"username":{"type":"string"},"parent":{"type":"string"},"did":{"type":"string"}},"required":["username"]},"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":{"/accounts":{"get":{"description":"Returns all users except those with role Standard Registry. Only users with the Standard Registry role are allowed to make the request.","operationId":"AccountApi_getAllAccounts","parameters":[],"responses":{"200":{"description":"Successful operation.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UserAccountDTO"}}}}},"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":"Returns a list of users, excluding Standard Registry.","tags":["accounts"]}}}}
```

## Returns all Standard Registries.

> Returns all Standard Registries.

```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":{"StandardRegistryAccountDTO":{"type":"object","properties":{"username":{"type":"string"},"did":{"type":"string"}},"required":["username"]},"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":{"/accounts/standard-registries":{"get":{"description":"Returns all Standard Registries.","operationId":"AccountApi_getStandardRegistries","parameters":[],"responses":{"200":{"description":"Successful operation.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StandardRegistryAccountDTO"}}}}},"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":"Returns all Standard Registries.","tags":["accounts"]}}}}
```

## Returns all Standard Registries aggregated with polices and vcDocuments.

> Returns all Standard Registries aggregated with polices and vcDocuments

```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":{"AggregatedDTOItem":{"type":"object","properties":{"did":{"type":"string"},"vcDocument":{"$ref":"#/components/schemas/VcDocumentDTO"},"policies":{"type":"array","items":{"$ref":"#/components/schemas/PolicyDTO"}},"username":{"type":"string"},"hederaAccountId":{"type":"string"}},"required":["did","vcDocument","policies","username","hederaAccountId"]},"VcDocumentDTO":{"type":"object","properties":{"id":{"type":"string"},"policyId":{"type":"string"},"hash":{"type":"string"},"signature":{"type":"number"},"status":{"type":"string","enum":["NEW","ISSUE","REVOKE","SUSPEND","RESUME","FAILED"]},"tag":{"type":"string"},"type":{"type":"string"},"createDate":{"type":"string"},"updateDate":{"type":"string"},"owner":{"type":"string"},"hederaStatus":{"type":"string"},"option":{"type":"object","additionalProperties":true},"topicId":{"type":"string"},"messageId":{"type":"string"},"document":{"$ref":"#/components/schemas/VcDTO"}}},"VcDTO":{"type":"object","properties":{"id":{"type":"string","nullable":true},"@context":{"type":"array","items":{"type":"string"}},"type":{"type":"array","items":{"type":"string"}},"credentialSubject":{"additionalProperties":true,"type":"array","items":{"type":"object"}},"issuer":{"oneOf":[{"type":"string"},{"type":"object","additionalProperties":true}]},"issuanceDate":{"type":"string"},"proof":{"nullable":true,"type":"object","allOf":[{"$ref":"#/components/schemas/ProofDTO"}]}},"required":["id","@context","type","credentialSubject","issuer","issuanceDate","proof"]},"ProofDTO":{"type":"object","properties":{"type":{"type":"string"},"created":{"type":"string"},"verificationMethod":{"type":"string"},"proofPurpose":{"type":"string"},"jws":{"type":"string"}},"required":["type","created","verificationMethod","proofPurpose","jws"]},"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":{"/accounts/standard-registries/aggregated":{"get":{"description":"Returns all Standard Registries aggregated with polices and vcDocuments","operationId":"AccountApi_getAggregatedStandardRegistries","parameters":[],"responses":{"200":{"description":"Successful operation.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AggregatedDTOItem"}}}}},"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":"Returns all Standard Registries aggregated with polices and vcDocuments.","tags":["accounts"]}}}}
```

## Returns user's Hedera account balance.

> Requests current Hedera account balance.

```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":{"BalanceResponseDTO":{"type":"object","properties":{"balance":{"type":"string"},"unit":{"type":"string"},"user":{"$ref":"#/components/schemas/StandardRegistryAccountDTO"}},"required":["balance","unit","user"]},"StandardRegistryAccountDTO":{"type":"object","properties":{"username":{"type":"string"},"did":{"type":"string"}},"required":["username"]},"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":{"/accounts/balance":{"get":{"description":"Requests current Hedera account balance.","operationId":"AccountApi_getBalance","parameters":[],"responses":{"200":{"description":"Successful operation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BalanceResponseDTO"}}}},"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":"Returns user's Hedera account balance.","tags":["accounts"]}}}}
```

## Generate an OTP secret for 2FA setup.

> Generate an OTP secret for 2FA setup.

```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":{"GenerateOPTResponseDTO":{"type":"object","properties":{"issuer":{"type":"string"},"user":{"type":"string"},"secret":{"type":"string"},"url":{"type":"string"},"config":{"$ref":"#/components/schemas/OTPConfigDTO"}},"required":["issuer","user","secret","url","config"]},"OTPConfigDTO":{"type":"object","properties":{"algo":{"type":"string"},"digits":{"type":"number"},"period":{"type":"number"},"secretSize":{"type":"number"}},"required":["algo","digits","period","secretSize"]},"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":{"/accounts/otp/generate":{"post":{"description":"Generate an OTP secret for 2FA setup.","operationId":"AccountApi_generateOtp","parameters":[],"responses":{"200":{"description":"Successful operation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateOPTResponseDTO"}}}},"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":"Generate an OTP secret for 2FA setup.","tags":["accounts"]}}}}
```

## Confirm OTP setup.

> Confirm OTP setup by OTP token.

```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":{"OTPConfirmDTO":{"type":"object","properties":{"token":{"type":"string"}},"required":["token"]},"OTPConfirmResponseDTO":{"type":"object","properties":{"success":{"type":"boolean"},"backupCodes":{"type":"array","items":{"type":"string"}}},"required":["success","backupCodes"]},"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":{"/accounts/otp/confirm":{"post":{"description":"Confirm OTP setup by OTP token.","operationId":"AccountApi_confirmOtp","parameters":[],"requestBody":{"required":true,"description":"Configuration.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OTPConfirmDTO"}}}},"responses":{"200":{"description":"Successful operation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OTPConfirmResponseDTO"}}}},"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":"Confirm OTP setup.","tags":["accounts"]}}}}
```

## Get OTP status.

> Get OTP status for the current user.

```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":{"OTPStatusResponseDTO":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"]},"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":{"/accounts/otp/status":{"get":{"description":"Get OTP status for the current user.","operationId":"AccountApi_getOtpStatus","parameters":[],"responses":{"200":{"description":"Successful operation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OTPStatusResponseDTO"}}}},"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":"Get OTP status.","tags":["accounts"]}}}}
```

## Deactivate 2FA.

> Deactivate 2FA.

```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":{"EmptyResponseDTO":{"type":"object","properties":{}},"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":{"/accounts/otp/deactivate":{"post":{"description":"Deactivate 2FA.","operationId":"AccountApi_deactivateOtp","parameters":[],"responses":{"200":{"description":"Successful operation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmptyResponseDTO"}}}},"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":"Deactivate 2FA.","tags":["accounts"]}}}}
```


---

# 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/accounts.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.
