For the complete documentation index, see llms.txt. This page is also available as Markdown.

Permissions

Role-based access control and permission management.

Return a list of all permissions.

get

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

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Responses
200

Successful operation.

application/json
namestring · enumRequiredExample: ANALYTIC_POLICY_READPossible values:
categorystring · enumRequiredExample: ANALYTICPossible values:
entitystring · enumRequiredExample: POLICYPossible values:
actionstring · enumRequiredExample: READPossible values:
disabledbooleanRequiredExample: false
dependOnstring[]RequiredExample: ["POLICIES_POLICY_READ"]
get/permissions
GET /api/v1/permissions HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
  {
    "name": "ANALYTIC_POLICY_READ",
    "category": "ANALYTIC",
    "entity": "POLICY",
    "action": "READ",
    "disabled": false,
    "dependOn": [
      "POLICIES_POLICY_READ"
    ]
  }
]

Return a list of all roles.

get

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

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Query parameters
namestringOptional

Filter by role name (case-insensitive, partial match). Leave empty to return all.

pageIndexnumberOptional

The number of pages to skip before starting to collect the result set

Example: 0
pageSizenumberOptional

The numbers of items to return

Example: 20
Responses
200

Successful operation. Returns roles array and total count in X-Total-Count header.

application/json
get/permissions/roles
GET /api/v1/permissions/roles HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
  {
    "createDate": "2026-03-10T13:06:42.559Z",
    "updateDate": "2026-03-10T13:06:54.056Z",
    "uuid": "5c4eb19b-a946-4edb-a79f-e7199317824c",
    "name": "Policy User",
    "description": "",
    "owner": "did:hedera:testnet:Cvzp5kKVUuipBCQjcF54fBjdicvaKsB8zHeQ6Qq22U2Z_0.0.8200599",
    "permissions": [
      "CONTRACTS_CONTRACT_READ",
      "POLICIES_POLICY_EXECUTE",
      "POLICIES_POLICY_READ",
      "TOKENS_TOKEN_READ",
      "TAGS_TAG_READ"
    ],
    "default": false,
    "readonly": false,
    "id": "69b017625a07d3f3b40a9acd"
  }
]

Creates new role.

post

Creates new role.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
idstringRequired

Internal database identifier

Example: 69aeb71ef8c5b278e3bab4e5
createDatestringRequired

Role creation date in ISO 8601 format

Example: 2026-03-03T17:25:53.312Z
updateDatestringRequired

Last update date in ISO 8601 format

Example: 2026-03-03T17:25:53.312Z
uuidstringRequired

Unique universal identifier

Example: 9db028d2-03ad-4d49-a178-cf4b67f8c147
namestringRequired

Role name

Example: Policy User
descriptionstringRequired

Role description

Example: Role for standard policy users
ownerstringRequired

DID of the Standard Registry who created this role

Example: did:hedera:testnet:Cvzp5kKVUuipBCQjcF54fBjdicvaKsB8zHeQ6Qq22U2Z_0.0.8200599
defaultbooleanRequired

Whether this is the default role for new users

Example: false
readonlybooleanRequired

Whether the role is read-only (system role)

Example: false
Responses
201

Created role.

application/json
idstringRequired

Internal database identifier

Example: 69aeb71ef8c5b278e3bab4e5
createDatestringRequired

Role creation date in ISO 8601 format

Example: 2026-03-03T17:25:53.312Z
updateDatestringRequired

Last update date in ISO 8601 format

Example: 2026-03-03T17:25:53.312Z
uuidstringRequired

Unique universal identifier

Example: 9db028d2-03ad-4d49-a178-cf4b67f8c147
namestringRequired

Role name

Example: Policy User
descriptionstringRequired

Role description

Example: Role for standard policy users
ownerstringRequired

DID of the Standard Registry who created this role

Example: did:hedera:testnet:Cvzp5kKVUuipBCQjcF54fBjdicvaKsB8zHeQ6Qq22U2Z_0.0.8200599
defaultbooleanRequired

Whether this is the default role for new users

Example: false
readonlybooleanRequired

Whether the role is read-only (system role)

Example: false
post/permissions/roles
POST /api/v1/permissions/roles HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 116

{
  "name": "Custom Role",
  "description": "Role for VVB users",
  "permissions": [
    "POLICIES_POLICY_READ",
    "TOKENS_TOKEN_READ"
  ]
}
{
  "createDate": "2026-03-10T13:06:42.559Z",
  "updateDate": "2026-03-10T13:06:54.056Z",
  "uuid": "5c4eb19b-a946-4edb-a79f-e7199317824c",
  "name": "Policy User",
  "description": "",
  "owner": "did:hedera:testnet:Cvzp5kKVUuipBCQjcF54fBjdicvaKsB8zHeQ6Qq22U2Z_0.0.8200599",
  "permissions": [
    "CONTRACTS_CONTRACT_READ",
    "POLICIES_POLICY_EXECUTE",
    "POLICIES_POLICY_READ",
    "TOKENS_TOKEN_READ",
    "TAGS_TAG_READ"
  ],
  "default": false,
  "readonly": false,
  "id": "69b017625a07d3f3b40a9acd"
}

Updates role configuration.

put

Updates role configuration for the specified role ID.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequired

Role Identifier

Example: 69aeb71ef8c5b278e3bab4e5
Body
idstringRequired

Internal database identifier

Example: 69aeb71ef8c5b278e3bab4e5
createDatestringRequired

Role creation date in ISO 8601 format

Example: 2026-03-03T17:25:53.312Z
updateDatestringRequired

Last update date in ISO 8601 format

Example: 2026-03-03T17:25:53.312Z
uuidstringRequired

Unique universal identifier

Example: 9db028d2-03ad-4d49-a178-cf4b67f8c147
namestringRequired

Role name

Example: Policy User
descriptionstringRequired

Role description

Example: Role for standard policy users
ownerstringRequired

DID of the Standard Registry who created this role

Example: did:hedera:testnet:Cvzp5kKVUuipBCQjcF54fBjdicvaKsB8zHeQ6Qq22U2Z_0.0.8200599
defaultbooleanRequired

Whether this is the default role for new users

Example: false
readonlybooleanRequired

Whether the role is read-only (system role)

Example: false
Responses
200

Role configuration.

application/json
idstringRequired

Internal database identifier

Example: 69aeb71ef8c5b278e3bab4e5
createDatestringRequired

Role creation date in ISO 8601 format

Example: 2026-03-03T17:25:53.312Z
updateDatestringRequired

Last update date in ISO 8601 format

Example: 2026-03-03T17:25:53.312Z
uuidstringRequired

Unique universal identifier

Example: 9db028d2-03ad-4d49-a178-cf4b67f8c147
namestringRequired

Role name

Example: Policy User
descriptionstringRequired

Role description

Example: Role for standard policy users
ownerstringRequired

DID of the Standard Registry who created this role

Example: did:hedera:testnet:Cvzp5kKVUuipBCQjcF54fBjdicvaKsB8zHeQ6Qq22U2Z_0.0.8200599
defaultbooleanRequired

Whether this is the default role for new users

Example: false
readonlybooleanRequired

Whether the role is read-only (system role)

Example: false
put/permissions/roles/{id}
PUT /api/v1/permissions/roles/{id} HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 116

{
  "name": "Custom Role",
  "description": "Role for VVB users",
  "permissions": [
    "POLICIES_POLICY_READ",
    "TOKENS_TOKEN_READ"
  ]
}
{
  "createDate": "2026-03-10T13:06:42.559Z",
  "updateDate": "2026-03-10T13:06:54.056Z",
  "uuid": "5c4eb19b-a946-4edb-a79f-e7199317824c",
  "name": "Policy User",
  "description": "",
  "owner": "did:hedera:testnet:Cvzp5kKVUuipBCQjcF54fBjdicvaKsB8zHeQ6Qq22U2Z_0.0.8200599",
  "permissions": [
    "CONTRACTS_CONTRACT_READ",
    "POLICIES_POLICY_EXECUTE",
    "POLICIES_POLICY_READ",
    "TOKENS_TOKEN_READ",
    "TAGS_TAG_READ"
  ],
  "default": false,
  "readonly": false,
  "id": "69b017625a07d3f3b40a9acd"
}

Deletes the role.

delete

Deletes the role with the provided role ID.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequired

Role Identifier

Example: 69aeb71ef8c5b278e3bab4e5
Responses
200

Successful operation.

application/json
booleanOptional
delete/permissions/roles/{id}
DELETE /api/v1/permissions/roles/{id} HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
true

Set default role.

post

Set the role as default for new users.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
idstringRequired

Role Identifier

Example: 69aeb71ef8c5b278e3bab4e5
Responses
201

Created role.

application/json
idstringRequired

Internal database identifier

Example: 69aeb71ef8c5b278e3bab4e5
createDatestringRequired

Role creation date in ISO 8601 format

Example: 2026-03-03T17:25:53.312Z
updateDatestringRequired

Last update date in ISO 8601 format

Example: 2026-03-03T17:25:53.312Z
uuidstringRequired

Unique universal identifier

Example: 9db028d2-03ad-4d49-a178-cf4b67f8c147
namestringRequired

Role name

Example: Policy User
descriptionstringRequired

Role description

Example: Role for standard policy users
ownerstringRequired

DID of the Standard Registry who created this role

Example: did:hedera:testnet:Cvzp5kKVUuipBCQjcF54fBjdicvaKsB8zHeQ6Qq22U2Z_0.0.8200599
defaultbooleanRequired

Whether this is the default role for new users

Example: false
readonlybooleanRequired

Whether the role is read-only (system role)

Example: false
post/permissions/roles/default
POST /api/v1/permissions/roles/default HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 33

{
  "id": "69aeb71ef8c5b278e3bab4e5"
}
{
  "createDate": "2026-03-10T13:06:42.559Z",
  "updateDate": "2026-03-10T13:06:54.056Z",
  "uuid": "5c4eb19b-a946-4edb-a79f-e7199317824c",
  "name": "Policy User",
  "description": "",
  "owner": "did:hedera:testnet:Cvzp5kKVUuipBCQjcF54fBjdicvaKsB8zHeQ6Qq22U2Z_0.0.8200599",
  "permissions": [
    "CONTRACTS_CONTRACT_READ",
    "POLICIES_POLICY_EXECUTE",
    "POLICIES_POLICY_READ",
    "TOKENS_TOKEN_READ",
    "TAGS_TAG_READ"
  ],
  "default": false,
  "readonly": false,
  "id": "69b017625a07d3f3b40a9acd"
}

Return a list of all users.

get

Returns all users.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Query parameters
pageIndexnumberOptional

The number of pages to skip before starting to collect the result set

Example: 0
pageSizenumberOptional

The numbers of items to return

Example: 20
rolestringOptional

Filter by role

Example: 69aeb71ef8c5b278e3bab4e5
statusstring · enumOptional

Filter by status

Possible values:
usernamestringOptional

Filter by username

Example: username
Responses
200

Successful operation.

application/json
get/permissions/users
GET /api/v1/permissions/users HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
  {
    "username": "username",
    "role": "STANDARD_REGISTRY",
    "permissionsGroup": [
      {}
    ],
    "permissions": [
      "POLICIES_POLICY_READ"
    ],
    "did": "did:hedera:testnet:abc123",
    "parent": "string",
    "hederaAccountId": "0.0.1001"
  }
]

Updates user permissions.

get

Updates user permissions for the specified username.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
usernamestringRequired

User Identifier

Example: username
Responses
200

User permissions.

application/json
usernamestringRequiredExample: username
rolestring · enumRequiredExample: USERPossible values:
permissionsGroupstring[]OptionalExample: [{}]
permissionsstring[]RequiredExample: ["POLICIES_POLICY_READ"]
didstringOptionalExample: did:hedera:testnet:Cvzp5kKVUuipBCQjcF54fBjdicvaKsB8zHeQ6Qq22U2Z_0.0.8200599
parentstringOptionalExample: did:hedera:testnet:Cvzp5kKVUuipBCQjcF54fBjdicvaKsB8zHeQ6Qq22U2Z_0.0.8200599
hederaAccountIdstringOptionalExample: 0.0.6046379
get/permissions/users/{username}
GET /api/v1/permissions/users/{username} HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "username": "username",
  "role": "USER",
  "permissionsGroup": [
    {}
  ],
  "permissions": [
    "POLICIES_POLICY_READ"
  ],
  "did": "did:hedera:testnet:Cvzp5kKVUuipBCQjcF54fBjdicvaKsB8zHeQ6Qq22U2Z_0.0.8200599",
  "parent": "did:hedera:testnet:Cvzp5kKVUuipBCQjcF54fBjdicvaKsB8zHeQ6Qq22U2Z_0.0.8200599",
  "hederaAccountId": "0.0.6046379"
}

Updates user permissions.

put

Updates user permissions for the specified username.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
usernamestringRequired

User Identifier

Example: username
Bodystring[]
string[]Optional
Responses
200

User permissions.

application/json
usernamestringRequiredExample: username
rolestring · enumRequiredExample: USERPossible values:
permissionsGroupstring[]OptionalExample: [{}]
permissionsstring[]RequiredExample: ["POLICIES_POLICY_READ"]
didstringOptionalExample: did:hedera:testnet:Cvzp5kKVUuipBCQjcF54fBjdicvaKsB8zHeQ6Qq22U2Z_0.0.8200599
parentstringOptionalExample: did:hedera:testnet:Cvzp5kKVUuipBCQjcF54fBjdicvaKsB8zHeQ6Qq22U2Z_0.0.8200599
hederaAccountIdstringOptionalExample: 0.0.6046379
put/permissions/users/{username}
PUT /api/v1/permissions/users/{username} HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 55

[
  "69aeb71ef8c5b278e3bab4e5",
  "69aeb71ef8c5b278e3bab4e5"
]
{
  "username": "username",
  "role": "USER",
  "permissionsGroup": [
    {}
  ],
  "permissions": [
    "POLICIES_POLICY_READ"
  ],
  "did": "did:hedera:testnet:Cvzp5kKVUuipBCQjcF54fBjdicvaKsB8zHeQ6Qq22U2Z_0.0.8200599",
  "parent": "did:hedera:testnet:Cvzp5kKVUuipBCQjcF54fBjdicvaKsB8zHeQ6Qq22U2Z_0.0.8200599",
  "hederaAccountId": "0.0.6046379"
}

Return a list of all roles.

get

Returns all roles.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
usernamestringRequired

User Identifier

Example: username
Query parameters
pageIndexnumberOptional

The number of pages to skip before starting to collect the result set

Example: 0
pageSizenumberOptional

The numbers of items to return

Example: 20
statusstring · enumOptional

Filter by status

Possible values:
Responses
200

Successful operation.

application/json
get/permissions/users/{username}/policies
GET /api/v1/permissions/users/{username}/policies HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
  {
    "id": "69aeb71ef8c5b278e3bab4e5",
    "uuid": "9db028d2-03ad-4d49-a178-cf4b67f8c147",
    "name": "Policy name",
    "description": "Description",
    "topicDescription": "Description",
    "policyTag": "Tag",
    "status": "string",
    "creator": "string",
    "owner": "string",
    "topicId": "0.0.6046379",
    "messageId": "1773670900.819264517",
    "codeVersion": "1.0.0",
    "createDate": "string",
    "version": "1.0.0",
    "originalChanged": true,
    "config": {},
    "userRole": "Installer",
    "userRoles": [
      "Installer"
    ],
    "userGroup": {
      "uuid": "9db028d2-03ad-4d49-a178-cf4b67f8c147",
      "role": "Installer",
      "groupLabel": "Label",
      "groupName": "Name",
      "active": true
    },
    "userGroups": [
      {
        "uuid": "9db028d2-03ad-4d49-a178-cf4b67f8c147",
        "role": "Installer",
        "groupLabel": "Label",
        "groupName": "Name",
        "active": true
      }
    ],
    "policyRoles": [
      "Registrant"
    ],
    "policyNavigation": [
      {
        "role": "Registrant",
        "steps": [
          {
            "block": "Block tag",
            "level": 1,
            "name": "Step name"
          }
        ]
      }
    ],
    "policyTopics": [
      {
        "name": "Project",
        "description": "Project",
        "memoObj": "topic",
        "static": false,
        "type": "any"
      }
    ],
    "policyTokens": [
      {
        "tokenName": "Token name",
        "tokenSymbol": "Token symbol",
        "tokenType": "non-fungible",
        "decimals": "",
        "changeSupply": true,
        "enableAdmin": true,
        "enableFreeze": true,
        "enableKYC": true,
        "enableWipe": true,
        "templateTokenTag": "token_template_0"
      }
    ],
    "policyGroups": [
      {
        "name": "Group name",
        "creator": "Registrant",
        "groupAccessType": "Private",
        "groupRelationshipType": "Multiple",
        "members": [
          "Registrant"
        ]
      }
    ],
    "categories": [
      "string"
    ],
    "projectSchema": "string",
    "tests": [
      {
        "id": "69aeb71ef8c5b278e3bab4e5",
        "uuid": "9db028d2-03ad-4d49-a178-cf4b67f8c147",
        "name": "Test Name",
        "policyId": "69aeb71ef8c5b278e3bab4e5",
        "owner": "string",
        "status": "string",
        "date": "string",
        "duration": 0,
        "progress": 0,
        "resultId": "69aeb71ef8c5b278e3bab4e5",
        "result": {}
      }
    ],
    "ignoreRules": [
      {
        "code": "string",
        "blockType": "string",
        "property": "string",
        "contains": "string",
        "severity": "warning"
      }
    ]
  }
]

Assign policy.

post

Assign policy.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
usernamestringRequired

User Identifier

Example: username
Body
policyIdsstring[]RequiredExample: ["69aeb71ef8c5b278e3bab4e5"]
assignbooleanRequiredExample: true
Responses
201

Assigned policy.

application/json
idstringRequiredExample: 69aeb71ef8c5b278e3bab4e5
uuidstringRequiredExample: 9db028d2-03ad-4d49-a178-cf4b67f8c147
namestringRequiredExample: Policy name
descriptionstringRequiredExample: Description
topicDescriptionstringRequiredExample: Description
applicabilityConditionsstringOptional
detailsUrlstringOptional
typicalProjectsstringOptional
policyTagstringRequiredExample: Tag
statusstring · enumRequiredExample: DRAFTPossible values:
creatorstringRequiredExample: did:hedera:testnet:Cvzp5kKVUuipBCQjcF54fBjdicvaKsB8zHeQ6Qq22U2Z_0.0.8200599
ownerstringRequiredExample: did:hedera:testnet:Cvzp5kKVUuipBCQjcF54fBjdicvaKsB8zHeQ6Qq22U2Z_0.0.8200599
topicIdstringRequiredExample: 0.0.6046379
instanceTopicIdstringRequiredExample: 0.0.6046379
messageIdstringRequiredExample: 1773670900.819264517
availabilitystring · enumOptionalExample: privatePossible values:
codeVersionstringRequiredExample: 1.0.0
schemaTemplatesobject[] · nullableRequired

Server-managed schema template bindings, one per applied template. Ignored by normal policy update endpoints.

createDatestringRequiredExample: 2026-03-03T17:25:53.312Z
versionstringRequiredExample: 1.0.0
originalChangedstringOptional
editableParametersSettingsobject · PolicyEditableFieldDTO[]Required
userRolestringRequiredExample: Installer
userRolesstring[]RequiredExample: ["Installer"]
userGroupsobject[]Required

Full list of group rows for this user in the policy (getGroupsByUser), including inactive.

Example: [{"uuid":"9db028d2-03ad-4d49-a178-cf4b67f8c147","role":"Installer","groupLabel":"Label","groupName":"Name","active":true}]
policyRolesstring[]RequiredExample: ["Registrant"]
policyNavigationobject[]RequiredExample: [{"role":"Registrant","steps":[{"block":"Block tag","level":1,"name":"Step name"}]}]
policyTopicsobject[]RequiredExample: [{"name":"Project","description":"Project","memoObj":"topic","static":false,"type":"any"}]
policyTokensobject[]RequiredExample: [{"tokenName":"Token name","tokenSymbol":"Token symbol","tokenType":"non-fungible","decimals":"","changeSupply":true,"enableAdmin":true,"enableFreeze":true,"enableKYC":true,"enableWipe":true,"templateTokenTag":"token_template_0"}]
policyGroupsobject[]RequiredExample: [{"name":"Group name","creator":"Registrant","groupAccessType":"Private","groupRelationshipType":"Multiple","members":["Registrant"]}]
policyDocumentationobject[]Required

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).

Example: [{"name":"create_device","description":"Send event to create_device","target":"create_device","method":"POST","alias":"monitoring-reports/create","url":"/api/v1/policies/{policyId}/tag/create_device/blocks","dmrvUrl":"/api/v1/dmrv/{policyId}/monitoring-reports/create"}]
categoriesstring[]Required
projectSchemastringRequiredExample: 9db028d2-03ad-4d49-a178-cf4b67f8c147
post/permissions/users/{username}/policies/assign
POST /api/v1/permissions/users/{username}/policies/assign HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 56

{
  "policyIds": [
    "69aeb71ef8c5b278e3bab4e5"
  ],
  "assign": true
}
{
  "id": "69aeb71ef8c5b278e3bab4e5",
  "uuid": "9db028d2-03ad-4d49-a178-cf4b67f8c147",
  "name": "Policy name",
  "description": "Description",
  "topicDescription": "Description",
  "policyTag": "Tag",
  "status": "DRAFT",
  "creator": "did:hedera:testnet:Cvzp5kKVUuipBCQjcF54fBjdicvaKsB8zHeQ6Qq22U2Z_0.0.8200599",
  "owner": "did:hedera:testnet:Cvzp5kKVUuipBCQjcF54fBjdicvaKsB8zHeQ6Qq22U2Z_0.0.8200599",
  "topicId": "0.0.6046379",
  "messageId": "1773670900.819264517",
  "codeVersion": "1.0.0",
  "createDate": "2026-03-03T17:25:53.312Z",
  "version": "1.0.0",
  "originalChanged": true,
  "config": {},
  "userRole": "Installer",
  "userRoles": [
    "Installer"
  ],
  "userGroup": {
    "uuid": "9db028d2-03ad-4d49-a178-cf4b67f8c147",
    "role": "Installer",
    "groupLabel": "Label",
    "groupName": "Name",
    "active": true
  },
  "userGroups": [
    {
      "uuid": "9db028d2-03ad-4d49-a178-cf4b67f8c147",
      "role": "Installer",
      "groupLabel": "Label",
      "groupName": "Name",
      "active": true
    }
  ],
  "policyRoles": [
    "Registrant"
  ],
  "policyNavigation": [
    {
      "role": "Registrant",
      "steps": [
        {
          "block": "Block tag",
          "level": 1,
          "name": "Step name"
        }
      ]
    }
  ],
  "policyTopics": [
    {
      "name": "Project",
      "description": "Project",
      "memoObj": "topic",
      "static": false,
      "type": "any"
    }
  ],
  "policyTokens": [
    {
      "tokenName": "Token name",
      "tokenSymbol": "Token symbol",
      "tokenType": "non-fungible",
      "decimals": "",
      "changeSupply": true,
      "enableAdmin": true,
      "enableFreeze": true,
      "enableKYC": true,
      "enableWipe": true,
      "templateTokenTag": "token_template_0"
    }
  ],
  "policyGroups": [
    {
      "name": "Group name",
      "creator": "Registrant",
      "groupAccessType": "Private",
      "groupRelationshipType": "Multiple",
      "members": [
        "Registrant"
      ]
    }
  ],
  "categories": [
    "string"
  ],
  "projectSchema": "9db028d2-03ad-4d49-a178-cf4b67f8c147",
  "tests": [
    {
      "id": "69aeb71ef8c5b278e3bab4e5",
      "uuid": "9db028d2-03ad-4d49-a178-cf4b67f8c147",
      "name": "Test Name",
      "policyId": "69aeb71ef8c5b278e3bab4e5",
      "owner": "did:hedera:testnet:Cvzp5kKVUuipBCQjcF54fBjdicvaKsB8zHeQ6Qq22U2Z_0.0.8200599",
      "status": "NEW",
      "date": "2026-03-03T17:25:53.312Z",
      "duration": 0,
      "progress": 0,
      "resultId": "9db028d2-03ad-4d49-a178-cf4b67f8c147",
      "result": {}
    }
  ],
  "ignoreRules": [
    {
      "code": "string",
      "blockType": "string",
      "property": "string",
      "contains": "string",
      "severity": "warning"
    }
  ]
}

Delegate user permissions.

put

Delegate user permissions for the specified username.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
usernamestringRequired

User Identifier

Example: username
Bodystring[]
string[]Optional
Responses
200

User permissions.

application/json
usernamestringRequiredExample: username
rolestring · enumRequiredExample: USERPossible values:
permissionsGroupstring[]OptionalExample: [{}]
permissionsstring[]RequiredExample: ["POLICIES_POLICY_READ"]
didstringOptionalExample: did:hedera:testnet:Cvzp5kKVUuipBCQjcF54fBjdicvaKsB8zHeQ6Qq22U2Z_0.0.8200599
parentstringOptionalExample: did:hedera:testnet:Cvzp5kKVUuipBCQjcF54fBjdicvaKsB8zHeQ6Qq22U2Z_0.0.8200599
hederaAccountIdstringOptionalExample: 0.0.6046379
put/permissions/users/{username}/delegate
PUT /api/v1/permissions/users/{username}/delegate HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 55

[
  "69aeb71ef8c5b278e3bab4e5",
  "69aeb71ef8c5b278e3bab4e5"
]
{
  "username": "username",
  "role": "USER",
  "permissionsGroup": [
    {}
  ],
  "permissions": [
    "POLICIES_POLICY_READ"
  ],
  "did": "did:hedera:testnet:Cvzp5kKVUuipBCQjcF54fBjdicvaKsB8zHeQ6Qq22U2Z_0.0.8200599",
  "parent": "did:hedera:testnet:Cvzp5kKVUuipBCQjcF54fBjdicvaKsB8zHeQ6Qq22U2Z_0.0.8200599",
  "hederaAccountId": "0.0.6046379"
}

Delegate policy.

post

Delegate policy.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
usernamestringRequired

User Identifier

Example: username
Body
policyIdsstring[]RequiredExample: ["69aeb71ef8c5b278e3bab4e5"]
assignbooleanRequiredExample: true
Responses
201

Assigned policy.

application/json
idstringRequiredExample: 69aeb71ef8c5b278e3bab4e5
uuidstringRequiredExample: 9db028d2-03ad-4d49-a178-cf4b67f8c147
namestringRequiredExample: Policy name
descriptionstringRequiredExample: Description
topicDescriptionstringRequiredExample: Description
applicabilityConditionsstringOptional
detailsUrlstringOptional
typicalProjectsstringOptional
policyTagstringRequiredExample: Tag
statusstring · enumRequiredExample: DRAFTPossible values:
creatorstringRequiredExample: did:hedera:testnet:Cvzp5kKVUuipBCQjcF54fBjdicvaKsB8zHeQ6Qq22U2Z_0.0.8200599
ownerstringRequiredExample: did:hedera:testnet:Cvzp5kKVUuipBCQjcF54fBjdicvaKsB8zHeQ6Qq22U2Z_0.0.8200599
topicIdstringRequiredExample: 0.0.6046379
instanceTopicIdstringRequiredExample: 0.0.6046379
messageIdstringRequiredExample: 1773670900.819264517
availabilitystring · enumOptionalExample: privatePossible values:
codeVersionstringRequiredExample: 1.0.0
schemaTemplatesobject[] · nullableRequired

Server-managed schema template bindings, one per applied template. Ignored by normal policy update endpoints.

createDatestringRequiredExample: 2026-03-03T17:25:53.312Z
versionstringRequiredExample: 1.0.0
originalChangedstringOptional
editableParametersSettingsobject · PolicyEditableFieldDTO[]Required
userRolestringRequiredExample: Installer
userRolesstring[]RequiredExample: ["Installer"]
userGroupsobject[]Required

Full list of group rows for this user in the policy (getGroupsByUser), including inactive.

Example: [{"uuid":"9db028d2-03ad-4d49-a178-cf4b67f8c147","role":"Installer","groupLabel":"Label","groupName":"Name","active":true}]
policyRolesstring[]RequiredExample: ["Registrant"]
policyNavigationobject[]RequiredExample: [{"role":"Registrant","steps":[{"block":"Block tag","level":1,"name":"Step name"}]}]
policyTopicsobject[]RequiredExample: [{"name":"Project","description":"Project","memoObj":"topic","static":false,"type":"any"}]
policyTokensobject[]RequiredExample: [{"tokenName":"Token name","tokenSymbol":"Token symbol","tokenType":"non-fungible","decimals":"","changeSupply":true,"enableAdmin":true,"enableFreeze":true,"enableKYC":true,"enableWipe":true,"templateTokenTag":"token_template_0"}]
policyGroupsobject[]RequiredExample: [{"name":"Group name","creator":"Registrant","groupAccessType":"Private","groupRelationshipType":"Multiple","members":["Registrant"]}]
policyDocumentationobject[]Required

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).

Example: [{"name":"create_device","description":"Send event to create_device","target":"create_device","method":"POST","alias":"monitoring-reports/create","url":"/api/v1/policies/{policyId}/tag/create_device/blocks","dmrvUrl":"/api/v1/dmrv/{policyId}/monitoring-reports/create"}]
categoriesstring[]Required
projectSchemastringRequiredExample: 9db028d2-03ad-4d49-a178-cf4b67f8c147
post/permissions/users/{username}/policies/delegate
POST /api/v1/permissions/users/{username}/policies/delegate HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 56

{
  "policyIds": [
    "69aeb71ef8c5b278e3bab4e5"
  ],
  "assign": true
}
{
  "id": "69aeb71ef8c5b278e3bab4e5",
  "uuid": "9db028d2-03ad-4d49-a178-cf4b67f8c147",
  "name": "Policy name",
  "description": "Description",
  "topicDescription": "Description",
  "policyTag": "Tag",
  "status": "DRAFT",
  "creator": "did:hedera:testnet:Cvzp5kKVUuipBCQjcF54fBjdicvaKsB8zHeQ6Qq22U2Z_0.0.8200599",
  "owner": "did:hedera:testnet:Cvzp5kKVUuipBCQjcF54fBjdicvaKsB8zHeQ6Qq22U2Z_0.0.8200599",
  "topicId": "0.0.6046379",
  "messageId": "1773670900.819264517",
  "codeVersion": "1.0.0",
  "createDate": "2026-03-03T17:25:53.312Z",
  "version": "1.0.0",
  "originalChanged": true,
  "config": {},
  "userRole": "Installer",
  "userRoles": [
    "Installer"
  ],
  "userGroup": {
    "uuid": "9db028d2-03ad-4d49-a178-cf4b67f8c147",
    "role": "Installer",
    "groupLabel": "Label",
    "groupName": "Name",
    "active": true
  },
  "userGroups": [
    {
      "uuid": "9db028d2-03ad-4d49-a178-cf4b67f8c147",
      "role": "Installer",
      "groupLabel": "Label",
      "groupName": "Name",
      "active": true
    }
  ],
  "policyRoles": [
    "Registrant"
  ],
  "policyNavigation": [
    {
      "role": "Registrant",
      "steps": [
        {
          "block": "Block tag",
          "level": 1,
          "name": "Step name"
        }
      ]
    }
  ],
  "policyTopics": [
    {
      "name": "Project",
      "description": "Project",
      "memoObj": "topic",
      "static": false,
      "type": "any"
    }
  ],
  "policyTokens": [
    {
      "tokenName": "Token name",
      "tokenSymbol": "Token symbol",
      "tokenType": "non-fungible",
      "decimals": "",
      "changeSupply": true,
      "enableAdmin": true,
      "enableFreeze": true,
      "enableKYC": true,
      "enableWipe": true,
      "templateTokenTag": "token_template_0"
    }
  ],
  "policyGroups": [
    {
      "name": "Group name",
      "creator": "Registrant",
      "groupAccessType": "Private",
      "groupRelationshipType": "Multiple",
      "members": [
        "Registrant"
      ]
    }
  ],
  "categories": [
    "string"
  ],
  "projectSchema": "9db028d2-03ad-4d49-a178-cf4b67f8c147",
  "tests": [
    {
      "id": "69aeb71ef8c5b278e3bab4e5",
      "uuid": "9db028d2-03ad-4d49-a178-cf4b67f8c147",
      "name": "Test Name",
      "policyId": "69aeb71ef8c5b278e3bab4e5",
      "owner": "did:hedera:testnet:Cvzp5kKVUuipBCQjcF54fBjdicvaKsB8zHeQ6Qq22U2Z_0.0.8200599",
      "status": "NEW",
      "date": "2026-03-03T17:25:53.312Z",
      "duration": 0,
      "progress": 0,
      "resultId": "9db028d2-03ad-4d49-a178-cf4b67f8c147",
      "result": {}
    }
  ],
  "ignoreRules": [
    {
      "code": "string",
      "blockType": "string",
      "property": "string",
      "contains": "string",
      "severity": "warning"
    }
  ]
}

Last updated

Was this helpful?