> For the complete documentation index, see [llms.txt](https://developers.polymath.network/polymesh-sdk-api-reference/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developers.polymath.network/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_custompermissiongroup.custompermissiongroup.md).

# api\_entities\_CustomPermissionGroup.CustomPermissionGroup

[@polymeshassociation/polymesh-sdk](/polymesh-sdk-api-reference/docs-alpha/classes.md) / [Modules](/polymesh-sdk-api-reference/docs-alpha/modules.md) / [api/entities/CustomPermissionGroup](/polymesh-sdk-api-reference/docs-alpha/modules-1/api_entities_custompermissiongroup.md) / CustomPermissionGroup

## Class: CustomPermissionGroup

[api/entities/CustomPermissionGroup](/polymesh-sdk-api-reference/docs-alpha/modules-1/api_entities_custompermissiongroup.md).CustomPermissionGroup

Represents a group of custom permissions for an Asset

### Hierarchy

* [`PermissionGroup`](/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_permissiongroup.permissiongroup.md)

  ↳ **`CustomPermissionGroup`**

### Table of contents

#### Properties

* [asset](#asset)
* [id](#id)
* [uuid](#uuid)

#### Methods

* [exists](#exists)
* [getPermissions](#getpermissions)
* [isEqual](#isequal)
* [setPermissions](#setpermissions)
* [toHuman](#tohuman)
* [generateUuid](#generateuuid)
* [unserialize](#unserialize)

### Properties

#### asset

• **asset**: [`Asset`](/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_asset.asset.md)

Asset for which this group specifies permissions

**Inherited from**

[PermissionGroup](/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_permissiongroup.permissiongroup.md).[asset](/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_permissiongroup.permissiongroup.md#asset)

**Defined in**

[api/entities/PermissionGroup.ts:19](https://github.com/PolymathNetwork/polymesh-sdk/blob/31dfa0dc/src/api/entities/PermissionGroup.ts#L19)

***

#### id

• **id**: `BigNumber`

**Defined in**

[api/entities/CustomPermissionGroup.ts:45](https://github.com/PolymathNetwork/polymesh-sdk/blob/31dfa0dc/src/api/entities/CustomPermissionGroup.ts#L45)

***

#### uuid

• **uuid**: `string`

**Inherited from**

[PermissionGroup](/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_permissiongroup.permissiongroup.md).[uuid](/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_permissiongroup.permissiongroup.md#uuid)

**Defined in**

[api/entities/Entity.ts:46](https://github.com/PolymathNetwork/polymesh-sdk/blob/31dfa0dc/src/api/entities/Entity.ts#L46)

### Methods

#### exists

▸ **exists**(): `Promise`<`boolean`>

Determine whether this Custom Permission Group exists on chain

**Returns**

`Promise`<`boolean`>

**Overrides**

[PermissionGroup](/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_permissiongroup.permissiongroup.md).[exists](/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_permissiongroup.permissiongroup.md#exists)

**Defined in**

[api/entities/CustomPermissionGroup.ts:106](https://github.com/PolymathNetwork/polymesh-sdk/blob/31dfa0dc/src/api/entities/CustomPermissionGroup.ts#L106)

***

#### getPermissions

▸ **getPermissions**(): `Promise`<[`GroupPermissions`](/polymesh-sdk-api-reference/docs-alpha/modules-1/types.md#grouppermissions)>

Retrieve the list of permissions and transaction groups associated with this Permission Group

**Returns**

`Promise`<[`GroupPermissions`](/polymesh-sdk-api-reference/docs-alpha/modules-1/types.md#grouppermissions)>

**Overrides**

[PermissionGroup](/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_permissiongroup.permissiongroup.md).[getPermissions](/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_permissiongroup.permissiongroup.md#getpermissions)

**Defined in**

[api/entities/CustomPermissionGroup.ts:76](https://github.com/PolymathNetwork/polymesh-sdk/blob/31dfa0dc/src/api/entities/CustomPermissionGroup.ts#L76)

***

#### isEqual

▸ **isEqual**(`entity`): `boolean`

Determine whether this Entity is the same as another one

**Parameters**

| Name     | Type                                                                                                           |
| -------- | -------------------------------------------------------------------------------------------------------------- |
| `entity` | [`Entity`](/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_entity.entity.md)<`unknown`, `unknown`> |

**Returns**

`boolean`

**Inherited from**

[PermissionGroup](/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_permissiongroup.permissiongroup.md).[isEqual](/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_permissiongroup.permissiongroup.md#isequal)

**Defined in**

[api/entities/Entity.ts:61](https://github.com/PolymathNetwork/polymesh-sdk/blob/31dfa0dc/src/api/entities/Entity.ts#L61)

***

#### setPermissions

▸ **setPermissions**(`args`, `opts?`): `Promise`<`TransactionQueue`<`void`, `void`, `unknown`\[]\[]>>

Modify the group's permissions

**`note`** this method is of type [ProcedureMethod](/polymesh-sdk-api-reference/docs-alpha/interfaces/types.proceduremethod.md), which means you can call [setPermissions.checkAuthorization](/polymesh-sdk-api-reference/docs-alpha/interfaces/types.proceduremethod.md#checkauthorization) on it to see whether the signing Account and Identity have the required roles and permissions to run it

**Parameters**

| Name    | Type                                                                                                                                             |
| ------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| `args`  | [`SetGroupPermissionsParams`](/polymesh-sdk-api-reference/docs-alpha/interfaces/api_procedures_setgrouppermissions.setgrouppermissionsparams.md) |
| `opts?` | [`ProcedureOpts`](/polymesh-sdk-api-reference/docs-alpha/interfaces/types.procedureopts.md)                                                      |

**Returns**

`Promise`<`TransactionQueue`<`void`, `void`, `unknown`\[]\[]>>

**Defined in**

[api/entities/CustomPermissionGroup.ts:69](https://github.com/PolymathNetwork/polymesh-sdk/blob/31dfa0dc/src/api/entities/CustomPermissionGroup.ts#L69)

***

#### toHuman

▸ **toHuman**(): [`HumanReadable`](/polymesh-sdk-api-reference/docs-alpha/interfaces/api_entities_custompermissiongroup.humanreadable.md)

Return the Group's static data

**Returns**

[`HumanReadable`](/polymesh-sdk-api-reference/docs-alpha/interfaces/api_entities_custompermissiongroup.humanreadable.md)

**Overrides**

[PermissionGroup](/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_permissiongroup.permissiongroup.md).[toHuman](/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_permissiongroup.permissiongroup.md#tohuman)

**Defined in**

[api/entities/CustomPermissionGroup.ts:124](https://github.com/PolymathNetwork/polymesh-sdk/blob/31dfa0dc/src/api/entities/CustomPermissionGroup.ts#L124)

***

#### generateUuid

▸ `Static` **generateUuid**<`Identifiers`>(`identifiers`): `string`

Generate the Entity's UUID from its identifying properties

**Type parameters**

| Name          |
| ------------- |
| `Identifiers` |

**Parameters**

| Name          | Type          |
| ------------- | ------------- |
| `identifiers` | `Identifiers` |

**Returns**

`string`

**Inherited from**

[PermissionGroup](/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_permissiongroup.permissiongroup.md).[generateUuid](/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_permissiongroup.permissiongroup.md#generateuuid)

**Defined in**

[api/entities/Entity.ts:14](https://github.com/PolymathNetwork/polymesh-sdk/blob/31dfa0dc/src/api/entities/Entity.ts#L14)

***

#### unserialize

▸ `Static` **unserialize**<`Identifiers`>(`serialized`): `Identifiers`

Unserialize a UUID into its Unique Identifiers

**Type parameters**

| Name          |
| ------------- |
| `Identifiers` |

**Parameters**

| Name         | Type     | Description         |
| ------------ | -------- | ------------------- |
| `serialized` | `string` | UUID to unserialize |

**Returns**

`Identifiers`

**Inherited from**

[PermissionGroup](/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_permissiongroup.permissiongroup.md).[unserialize](/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_permissiongroup.permissiongroup.md#unserialize)

**Defined in**

[api/entities/Entity.ts:23](https://github.com/PolymathNetwork/polymesh-sdk/blob/31dfa0dc/src/api/entities/Entity.ts#L23)
