# Identity

Represents an Identity in the Polymesh blockchain

## Hierarchy

* [Entity](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/classes/entity)‹[UniqueIdentifiers](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/interfaces/uniqueidentifiers), string›

  ↳ **Identity**

  ↳ [DefaultTrustedClaimIssuer](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/classes/defaulttrustedclaimissuer)

## Index

### Constructors

* [constructor](#constructor)

### Properties

* [authorizations](#authorizations)
* [context](#protected-context)
* [did](#did)
* [portfolios](#portfolios)
* [tokenPermissions](#tokenpermissions)
* [uuid](#uuid)

### Methods

* [areSecondaryKeysFrozen](#aresecondarykeysfrozen)
* [createVenue](#createvenue)
* [exists](#exists)
* [freezeSecondaryKeys](#freezesecondarykeys)
* [getHeldTokens](#getheldtokens)
* [getInstructions](#getinstructions)
* [getPendingDistributions](#getpendingdistributions)
* [getPendingInstructions](#getpendinginstructions)
* [getPrimaryKey](#getprimarykey)
* [getScopeId](#getscopeid)
* [getSecondaryKeys](#getsecondarykeys)
* [getTokenBalance](#gettokenbalance)
* [getTrustingTokens](#gettrustingtokens)
* [getVenues](#getvenues)
* [hasRole](#hasrole)
* [hasRoles](#hasroles)
* [hasValidCdd](#hasvalidcdd)
* [inviteAccount](#inviteaccount)
* [isCddProvider](#iscddprovider)
* [isEqual](#isequal)
* [isGcMember](#isgcmember)
* [modifyPermissions](#modifypermissions)
* [removeSecondaryKeys](#removesecondarykeys)
* [revokePermissions](#revokepermissions)
* [toJson](#tojson)
* [unfreezeSecondaryKeys](#unfreezesecondarykeys)
* [generateUuid](#static-generateuuid)
* [unserialize](#static-unserialize)

## Constructors

### constructor

* **new Identity**(`identifiers`: [UniqueIdentifiers](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/interfaces/uniqueidentifiers), `context`: [Context](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/classes/context)): [*Identity*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/classes/identity)

*Overrides void*

*Defined in* [*src/api/entities/Identity/index.ts:111*](https://github.com/PolymathNetwork/polymesh-sdk/blob/959efb76/src/api/entities/Identity/index.ts#L111)

Create an Identity entity

**Parameters:**

| Name          | Type                                                                                                                      |
| ------------- | ------------------------------------------------------------------------------------------------------------------------- |
| `identifiers` | [UniqueIdentifiers](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/interfaces/uniqueidentifiers) |
| `context`     | [Context](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/classes/context)                        |

**Returns:** [*Identity*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/classes/identity)

## Properties

### authorizations

• **authorizations**: [*IdentityAuthorizations*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/classes/identityauthorizations)

*Defined in* [*src/api/entities/Identity/index.ts:109*](https://github.com/PolymathNetwork/polymesh-sdk/blob/959efb76/src/api/entities/Identity/index.ts#L109)

### `Protected` context

• **context**: [*Context*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/classes/context)

*Inherited from* [*Entity*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/classes/entity)*.*[*context*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/entity#protected-context)

*Defined in* [*src/api/entities/Entity.ts:48*](https://github.com/PolymathNetwork/polymesh-sdk/blob/959efb76/src/api/entities/Entity.ts#L48)

### did

• **did**: *string*

*Defined in* [*src/api/entities/Identity/index.ts:106*](https://github.com/PolymathNetwork/polymesh-sdk/blob/959efb76/src/api/entities/Identity/index.ts#L106)

identity ID as stored in the blockchain

### portfolios

• **portfolios**: [*Portfolios*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/classes/portfolios)

*Defined in* [*src/api/entities/Identity/index.ts:110*](https://github.com/PolymathNetwork/polymesh-sdk/blob/959efb76/src/api/entities/Identity/index.ts#L110)

### tokenPermissions

• **tokenPermissions**: [*TokenPermissions*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/classes/tokenpermissions)

*Defined in* [*src/api/entities/Identity/index.ts:111*](https://github.com/PolymathNetwork/polymesh-sdk/blob/959efb76/src/api/entities/Identity/index.ts#L111)

### uuid

• **uuid**: *string*

*Inherited from* [*Entity*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/classes/entity)*.*[*uuid*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/entity#uuid)

*Defined in* [*src/api/entities/Entity.ts:46*](https://github.com/PolymathNetwork/polymesh-sdk/blob/959efb76/src/api/entities/Entity.ts#L46)

## Methods

### areSecondaryKeysFrozen

▸ **areSecondaryKeysFrozen**(): *Promise‹boolean›*

*Defined in* [*src/api/entities/Identity/index.ts:683*](https://github.com/PolymathNetwork/polymesh-sdk/blob/959efb76/src/api/entities/Identity/index.ts#L683)

Check whether secondary keys are frozen

**`note`** can be subscribed to

**Returns:** *Promise‹boolean›*

▸ **areSecondaryKeysFrozen**(`callback`: [SubCallback](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/globals#subcallback)‹boolean›): *Promise‹*[*UnsubCallback*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/globals#unsubcallback)*›*

*Defined in* [*src/api/entities/Identity/index.ts:684*](https://github.com/PolymathNetwork/polymesh-sdk/blob/959efb76/src/api/entities/Identity/index.ts#L684)

**Parameters:**

| Name       | Type                                                                                                                |
| ---------- | ------------------------------------------------------------------------------------------------------------------- |
| `callback` | [SubCallback](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/globals#subcallback)‹boolean› |

**Returns:** *Promise‹*[*UnsubCallback*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/globals#unsubcallback)*›*

### createVenue

▸ **createVenue**(`args`: [CreateVenueParams](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/interfaces/createvenueparams), `opts?`: [ProcedureOpts](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/interfaces/procedureopts)): *Promise‹*[*TransactionQueue*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/classes/transactionqueue)*‹*[*Venue*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/classes/venue)*››*

*Defined in* [*src/api/entities/Identity/index.ts:225*](https://github.com/PolymathNetwork/polymesh-sdk/blob/959efb76/src/api/entities/Identity/index.ts#L225)

Create a Venue

**`note`** this method is of type [ProcedureMethod](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/interfaces/proceduremethod), which means you can call `createVenue.checkAuthorization` on it to see whether the Current Account has the required permissions to run it

**Parameters:**

| Name    | Type                                                                                                                      |
| ------- | ------------------------------------------------------------------------------------------------------------------------- |
| `args`  | [CreateVenueParams](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/interfaces/createvenueparams) |
| `opts?` | [ProcedureOpts](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/interfaces/procedureopts)         |

**Returns:** *Promise‹*[*TransactionQueue*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/classes/transactionqueue)*‹*[*Venue*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/classes/venue)*››*

### exists

▸ **exists**(): *Promise‹boolean›*

*Overrides* [*Entity*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/classes/entity)*.*[*exists*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/entity#abstract-exists)

*Defined in* [*src/api/entities/Identity/index.ts:806*](https://github.com/PolymathNetwork/polymesh-sdk/blob/959efb76/src/api/entities/Identity/index.ts#L806)

Determine whether this Identity exists on chain

**Returns:** *Promise‹boolean›*

### freezeSecondaryKeys

▸ **freezeSecondaryKeys**(`args`: void, `opts?`: [ProcedureOpts](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/interfaces/procedureopts)): *Promise‹*[*TransactionQueue*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/classes/transactionqueue)*‹void››*

*Defined in* [*src/api/entities/Identity/index.ts:235*](https://github.com/PolymathNetwork/polymesh-sdk/blob/959efb76/src/api/entities/Identity/index.ts#L235)

Freeze all the secondary keys in this Identity. This means revoking their permission to perform any operation on the blockchain and freezing their funds until the keys are unfrozen via [unfreezeSecondaryKeys](#unfreezesecondarykeys)

**`note`** this method is of type [ProcedureMethod](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/interfaces/proceduremethod), which means you can call `freezeSecondaryKeys.checkAuthorization` on it to see whether the Current Account has the required permissions to run it

**Parameters:**

| Name    | Type                                                                                                              |
| ------- | ----------------------------------------------------------------------------------------------------------------- |
| `args`  | void                                                                                                              |
| `opts?` | [ProcedureOpts](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/interfaces/procedureopts) |

**Returns:** *Promise‹*[*TransactionQueue*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/classes/transactionqueue)*‹void››*

### getHeldTokens

▸ **getHeldTokens**(`opts`: object): *Promise‹*[*ResultSet*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/interfaces/resultset)*‹*[*SecurityToken*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/classes/securitytoken)*››*

*Defined in* [*src/api/entities/Identity/index.ts:435*](https://github.com/PolymathNetwork/polymesh-sdk/blob/959efb76/src/api/entities/Identity/index.ts#L435)

Retrieve a list of all tokens which were held at one point by this Identity

**`note`** uses the middleware

**`note`** supports pagination

**Parameters:**

▪`Default value` **opts**: *object*= { order: Order.Asc }

| Name     | Type                |
| -------- | ------------------- |
| `order?` | Order               |
| `size?`  | undefined \| number |
| `start?` | undefined \| number |

**Returns:** *Promise‹*[*ResultSet*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/interfaces/resultset)*‹*[*SecurityToken*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/classes/securitytoken)*››*

### getInstructions

▸ **getInstructions**(): *Promise‹*[*GroupedInstructions*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/interfaces/groupedinstructions)*›*

*Defined in* [*src/api/entities/Identity/index.ts:559*](https://github.com/PolymathNetwork/polymesh-sdk/blob/959efb76/src/api/entities/Identity/index.ts#L559)

Retrieve all Instructions where this Identity is a participant, grouped by status

**Returns:** *Promise‹*[*GroupedInstructions*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/interfaces/groupedinstructions)*›*

### getPendingDistributions

▸ **getPendingDistributions**(): *Promise‹*[*DistributionWithDetails*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/interfaces/distributionwithdetails)*\[]›*

*Defined in* [*src/api/entities/Identity/index.ts:719*](https://github.com/PolymathNetwork/polymesh-sdk/blob/959efb76/src/api/entities/Identity/index.ts#L719)

Retrieve every Dividend Distribution for which this Identity is eligible and hasn't been paid

**`note`** uses the middleware

**`note`** this query can be potentially **SLOW** depending on which Tokens this Identity has held

**Returns:** *Promise‹*[*DistributionWithDetails*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/interfaces/distributionwithdetails)*\[]›*

### getPendingInstructions

▸ **getPendingInstructions**(): *Promise‹*[*Instruction*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/classes/instruction)*\[]›*

*Defined in* [*src/api/entities/Identity/index.ts:632*](https://github.com/PolymathNetwork/polymesh-sdk/blob/959efb76/src/api/entities/Identity/index.ts#L632)

Retrieve all pending Instructions involving this Identity

**`deprecated`** in favor of `getInstructions`

**Returns:** *Promise‹*[*Instruction*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/classes/instruction)*\[]›*

### getPrimaryKey

▸ **getPrimaryKey**(): *Promise‹*[*Account*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/classes/account)*›*

*Defined in* [*src/api/entities/Identity/index.ts:400*](https://github.com/PolymathNetwork/polymesh-sdk/blob/959efb76/src/api/entities/Identity/index.ts#L400)

Retrieve the primary key associated with the Identity

**`note`** can be subscribed to

**Returns:** *Promise‹*[*Account*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/classes/account)*›*

▸ **getPrimaryKey**(`callback`: [SubCallback](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/globals#subcallback)‹[Account](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/classes/account)›): *Promise‹*[*UnsubCallback*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/globals#unsubcallback)*›*

*Defined in* [*src/api/entities/Identity/index.ts:401*](https://github.com/PolymathNetwork/polymesh-sdk/blob/959efb76/src/api/entities/Identity/index.ts#L401)

**Parameters:**

| Name       | Type                                                                                                                                                                                                           |
| ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `callback` | [SubCallback](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/globals#subcallback)‹[Account](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/classes/account)› |

**Returns:** *Promise‹*[*UnsubCallback*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/globals#unsubcallback)*›*

### getScopeId

▸ **getScopeId**(`args`: object): *Promise‹string›*

*Defined in* [*src/api/entities/Identity/index.ts:541*](https://github.com/PolymathNetwork/polymesh-sdk/blob/959efb76/src/api/entities/Identity/index.ts#L541)

Retrieve the Scope ID associated to this Identity's Investor Uniqueness Claim for a specific Security Token

**`note`** more on Investor Uniqueness: <https://developers.polymesh.live/confidential_identity>

**Parameters:**

▪ **args**: *object*

| Name    | Type                                                                                                                     |
| ------- | ------------------------------------------------------------------------------------------------------------------------ |
| `token` | [SecurityToken](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/classes/securitytoken) \| string |

**Returns:** *Promise‹string›*

### getSecondaryKeys

▸ **getSecondaryKeys**(): *Promise‹*[*SecondaryKey*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/interfaces/secondarykey)*\[]›*

*Defined in* [*src/api/entities/Identity/index.ts:771*](https://github.com/PolymathNetwork/polymesh-sdk/blob/959efb76/src/api/entities/Identity/index.ts#L771)

Get the list of secondary keys related to the Identity

**`note`** can be subscribed to

**Returns:** *Promise‹*[*SecondaryKey*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/interfaces/secondarykey)*\[]›*

▸ **getSecondaryKeys**(`callback`: [SubCallback](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/globals#subcallback)‹[SecondaryKey](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/interfaces/secondarykey)\[]›): *Promise‹*[*UnsubCallback*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/globals#unsubcallback)*›*

*Defined in* [*src/api/entities/Identity/index.ts:772*](https://github.com/PolymathNetwork/polymesh-sdk/blob/959efb76/src/api/entities/Identity/index.ts#L772)

**Parameters:**

| Name       | Type                                                                                                                                                                                                                           |
| ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `callback` | [SubCallback](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/globals#subcallback)‹[SecondaryKey](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/interfaces/secondarykey)\[]› |

**Returns:** *Promise‹*[*UnsubCallback*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/globals#unsubcallback)*›*

### getTokenBalance

▸ **getTokenBalance**(`args`: object): *Promise‹BigNumber›*

*Defined in* [*src/api/entities/Identity/index.ts:300*](https://github.com/PolymathNetwork/polymesh-sdk/blob/959efb76/src/api/entities/Identity/index.ts#L300)

Retrieve the balance of a particular Security Token

**`note`** can be subscribed to

**Parameters:**

▪ **args**: *object*

| Name     | Type   |
| -------- | ------ |
| `ticker` | string |

**Returns:** *Promise‹BigNumber›*

▸ **getTokenBalance**(`args`: object, `callback`: [SubCallback](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/globals#subcallback)‹BigNumber›): *Promise‹*[*UnsubCallback*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/globals#unsubcallback)*›*

*Defined in* [*src/api/entities/Identity/index.ts:301*](https://github.com/PolymathNetwork/polymesh-sdk/blob/959efb76/src/api/entities/Identity/index.ts#L301)

**Parameters:**

▪ **args**: *object*

| Name     | Type   |
| -------- | ------ |
| `ticker` | string |

▪ **callback**: [*SubCallback*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/globals#subcallback)*‹BigNumber›*

**Returns:** *Promise‹*[*UnsubCallback*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/globals#unsubcallback)*›*

### getTrustingTokens

▸ **getTrustingTokens**(`args`: object): *Promise‹*[*SecurityToken*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/classes/securitytoken)*\[]›*

*Defined in* [*src/api/entities/Identity/index.ts:486*](https://github.com/PolymathNetwork/polymesh-sdk/blob/959efb76/src/api/entities/Identity/index.ts#L486)

Get the list of tokens for which this Identity is a trusted claim issuer

**`note`** uses the middleware

**Parameters:**

▪`Default value` **args**: *object*= { order: Order.Asc }

| Name    | Type  |
| ------- | ----- |
| `order` | Order |

**Returns:** *Promise‹*[*SecurityToken*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/classes/securitytoken)*\[]›*

### getVenues

▸ **getVenues**(): *Promise‹*[*Venue*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/classes/venue)*\[]›*

*Defined in* [*src/api/entities/Identity/index.ts:507*](https://github.com/PolymathNetwork/polymesh-sdk/blob/959efb76/src/api/entities/Identity/index.ts#L507)

Retrieve all Venues created by this Identity

**`note`** can be subscribed to

**Returns:** *Promise‹*[*Venue*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/classes/venue)*\[]›*

▸ **getVenues**(`callback`: [SubCallback](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/globals#subcallback)‹[Venue](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/classes/venue)\[]›): *Promise‹*[*UnsubCallback*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/globals#unsubcallback)*›*

*Defined in* [*src/api/entities/Identity/index.ts:508*](https://github.com/PolymathNetwork/polymesh-sdk/blob/959efb76/src/api/entities/Identity/index.ts#L508)

**Parameters:**

| Name       | Type                                                                                                                                                                                                          |
| ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `callback` | [SubCallback](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/globals#subcallback)‹[Venue](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/classes/venue)\[]› |

**Returns:** *Promise‹*[*UnsubCallback*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/globals#unsubcallback)*›*

### hasRole

▸ **hasRole**(`role`: [Role](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/globals#role)): *Promise‹boolean›*

*Defined in* [*src/api/entities/Identity/index.ts:252*](https://github.com/PolymathNetwork/polymesh-sdk/blob/959efb76/src/api/entities/Identity/index.ts#L252)

Check whether this Identity possesses the specified Role

**Parameters:**

| Name   | Type                                                                                         |
| ------ | -------------------------------------------------------------------------------------------- |
| `role` | [Role](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/globals#role) |

**Returns:** *Promise‹boolean›*

### hasRoles

▸ **hasRoles**(`roles`: [Role](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/globals#role)\[]): *Promise‹boolean›*

*Defined in* [*src/api/entities/Identity/index.ts:475*](https://github.com/PolymathNetwork/polymesh-sdk/blob/959efb76/src/api/entities/Identity/index.ts#L475)

Check whether this Identity possesses all specified roles

**Parameters:**

| Name    | Type                                                                                            |
| ------- | ----------------------------------------------------------------------------------------------- |
| `roles` | [Role](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/globals#role)\[] |

**Returns:** *Promise‹boolean›*

### hasValidCdd

▸ **hasValidCdd**(): *Promise‹boolean›*

*Defined in* [*src/api/entities/Identity/index.ts:348*](https://github.com/PolymathNetwork/polymesh-sdk/blob/959efb76/src/api/entities/Identity/index.ts#L348)

Check whether this Identity has a valid CDD claim

**Returns:** *Promise‹boolean›*

### inviteAccount

▸ **inviteAccount**(`args`: [InviteAccountParams](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/interfaces/inviteaccountparams), `opts?`: [ProcedureOpts](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/interfaces/procedureopts)): *Promise‹*[*TransactionQueue*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/classes/transactionqueue)*‹void››*

*Defined in* [*src/api/entities/Identity/index.ts:215*](https://github.com/PolymathNetwork/polymesh-sdk/blob/959efb76/src/api/entities/Identity/index.ts#L215)

Send an invitation to an Account to join this Identity

**`note`** this may create AuthorizationRequest which have to be accepted by the corresponding Account. An Account or Identity can fetch its pending Authorization Requests by calling `authorizations.getReceived`

**`note`** this method is of type [ProcedureMethod](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/interfaces/proceduremethod), which means you can call `inviteAccount.checkAuthorization` on it to see whether the Current Account has the required permissions to run it

**Parameters:**

| Name    | Type                                                                                                                          |
| ------- | ----------------------------------------------------------------------------------------------------------------------------- |
| `args`  | [InviteAccountParams](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/interfaces/inviteaccountparams) |
| `opts?` | [ProcedureOpts](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/interfaces/procedureopts)             |

**Returns:** *Promise‹*[*TransactionQueue*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/classes/transactionqueue)*‹void››*

### isCddProvider

▸ **isCddProvider**(): *Promise‹boolean›*

*Defined in* [*src/api/entities/Identity/index.ts:381*](https://github.com/PolymathNetwork/polymesh-sdk/blob/959efb76/src/api/entities/Identity/index.ts#L381)

Check whether this Identity is a CDD provider

**Returns:** *Promise‹boolean›*

### isEqual

▸ **isEqual**(`entity`: [Entity](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/classes/entity)‹unknown, unknown›): *boolean*

*Inherited from* [*Entity*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/classes/entity)*.*[*isEqual*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/entity#isequal)

*Defined in* [*src/api/entities/Entity.ts:61*](https://github.com/PolymathNetwork/polymesh-sdk/blob/959efb76/src/api/entities/Entity.ts#L61)

Determine whether this Entity is the same as another one

**Parameters:**

| Name     | Type                                                                                                               |
| -------- | ------------------------------------------------------------------------------------------------------------------ |
| `entity` | [Entity](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/classes/entity)‹unknown, unknown› |

**Returns:** *boolean*

### isGcMember

▸ **isGcMember**(): *Promise‹boolean›*

*Defined in* [*src/api/entities/Identity/index.ts:364*](https://github.com/PolymathNetwork/polymesh-sdk/blob/959efb76/src/api/entities/Identity/index.ts#L364)

Check whether this Identity is Governance Committee member

**Returns:** *Promise‹boolean›*

### modifyPermissions

▸ **modifyPermissions**(`args`: [ModifySignerPermissionsParams](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/interfaces/modifysignerpermissionsparams), `opts?`: [ProcedureOpts](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/interfaces/procedureopts)): *Promise‹*[*TransactionQueue*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/classes/transactionqueue)*‹void››*

*Defined in* [*src/api/entities/Identity/index.ts:201*](https://github.com/PolymathNetwork/polymesh-sdk/blob/959efb76/src/api/entities/Identity/index.ts#L201)

Modify all permissions of a list of secondary keys associated with the Identity

**`note`** this method is of type [ProcedureMethod](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/interfaces/proceduremethod), which means you can call `modifyPermissions.checkAuthorization` on it to see whether the Current Account has the required permissions to run it

**Parameters:**

| Name    | Type                                                                                                                                              |
| ------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| `args`  | [ModifySignerPermissionsParams](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/interfaces/modifysignerpermissionsparams) |
| `opts?` | [ProcedureOpts](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/interfaces/procedureopts)                                 |

**Returns:** *Promise‹*[*TransactionQueue*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/classes/transactionqueue)*‹void››*

### removeSecondaryKeys

▸ **removeSecondaryKeys**(`args`: [RemoveSecondaryKeysParams](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/interfaces/removesecondarykeysparams), `opts?`: [ProcedureOpts](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/interfaces/procedureopts)): *Promise‹*[*TransactionQueue*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/classes/transactionqueue)*‹void››*

*Defined in* [*src/api/entities/Identity/index.ts:181*](https://github.com/PolymathNetwork/polymesh-sdk/blob/959efb76/src/api/entities/Identity/index.ts#L181)

Remove a list of secondary keys associated with the Identity

**`note`** this method is of type [ProcedureMethod](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/interfaces/proceduremethod), which means you can call `removeSecondaryKeys.checkAuthorization` on it to see whether the Current Account has the required permissions to run it

**Parameters:**

| Name    | Type                                                                                                                                      |
| ------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
| `args`  | [RemoveSecondaryKeysParams](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/interfaces/removesecondarykeysparams) |
| `opts?` | [ProcedureOpts](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/interfaces/procedureopts)                         |

**Returns:** *Promise‹*[*TransactionQueue*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/classes/transactionqueue)*‹void››*

### revokePermissions

▸ **revokePermissions**(`args`: object, `opts?`: [ProcedureOpts](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/interfaces/procedureopts)): *Promise‹*[*TransactionQueue*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/classes/transactionqueue)*‹void››*

*Defined in* [*src/api/entities/Identity/index.ts:191*](https://github.com/PolymathNetwork/polymesh-sdk/blob/959efb76/src/api/entities/Identity/index.ts#L191)

Revoke all permissions of a list of secondary keys associated with the Identity

**`note`** this method is of type [ProcedureMethod](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/interfaces/proceduremethod), which means you can call `revokePermissions.checkAuthorization` on it to see whether the Current Account has the required permissions to run it

**Parameters:**

▪ **args**: *object*

| Name            | Type                                                                                                |
| --------------- | --------------------------------------------------------------------------------------------------- |
| `secondaryKeys` | [Signer](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/globals#signer)\[] |

▪`Optional` **opts**: [*ProcedureOpts*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/interfaces/procedureopts)

**Returns:** *Promise‹*[*TransactionQueue*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/classes/transactionqueue)*‹void››*

### toJson

▸ **toJson**(): *string*

*Overrides* [*Entity*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/classes/entity)*.*[*toJson*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/entity#abstract-tojson)

*Defined in* [*src/api/entities/Identity/index.ts:819*](https://github.com/PolymathNetwork/polymesh-sdk/blob/959efb76/src/api/entities/Identity/index.ts#L819)

Return the Identity's DID

**Returns:** *string*

### unfreezeSecondaryKeys

▸ **unfreezeSecondaryKeys**(`args`: void, `opts?`: [ProcedureOpts](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/interfaces/procedureopts)): *Promise‹*[*TransactionQueue*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/classes/transactionqueue)*‹void››*

*Defined in* [*src/api/entities/Identity/index.ts:245*](https://github.com/PolymathNetwork/polymesh-sdk/blob/959efb76/src/api/entities/Identity/index.ts#L245)

Unfreeze all the secondary keys in this Identity. This will restore their permissions as they were before being frozen

**`note`** this method is of type [ProcedureMethod](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/interfaces/proceduremethod), which means you can call `unfreezeSecondaryKeys.checkAuthorization` on it to see whether the Current Account has the required permissions to run it

**Parameters:**

| Name    | Type                                                                                                              |
| ------- | ----------------------------------------------------------------------------------------------------------------- |
| `args`  | void                                                                                                              |
| `opts?` | [ProcedureOpts](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/interfaces/procedureopts) |

**Returns:** *Promise‹*[*TransactionQueue*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/classes/transactionqueue)*‹void››*

### `Static` generateUuid

▸ **generateUuid**‹**Identifiers**›(`identifiers`: Identifiers): *string*

*Inherited from* [*Entity*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/classes/entity)*.*[*generateUuid*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/entity#static-generateuuid)

*Defined in* [*src/api/entities/Entity.ts:14*](https://github.com/PolymathNetwork/polymesh-sdk/blob/959efb76/src/api/entities/Entity.ts#L14)

Generate the Entity's UUID from its identifying properties

**Type parameters:**

▪ **Identifiers**

**Parameters:**

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

**Returns:** *string*

### `Static` unserialize

▸ **unserialize**‹**Identifiers**›(`serialized`: string): *Identifiers*

*Inherited from* [*Entity*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/classes/entity)*.*[*unserialize*](https://developers.polymath.network/polymesh-sdk-api-reference/docs-v10/entity#static-unserialize)

*Defined in* [*src/api/entities/Entity.ts:23*](https://github.com/PolymathNetwork/polymesh-sdk/blob/959efb76/src/api/entities/Entity.ts#L23)

Unserialize a UUID into its Unique Identifiers

**Type parameters:**

▪ **Identifiers**

**Parameters:**

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

**Returns:** *Identifiers*
