> 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_client_identities.identities.md).

# api\_client\_Identities.Identities

[@polymeshassociation/polymesh-sdk](/polymesh-sdk-api-reference/docs-alpha/classes.md) / [Modules](/polymesh-sdk-api-reference/docs-alpha/modules.md) / [api/client/Identities](/polymesh-sdk-api-reference/docs-alpha/modules-1/api_client_identities.md) / Identities

## Class: Identities

[api/client/Identities](/polymesh-sdk-api-reference/docs-alpha/modules-1/api_client_identities.md).Identities

Handles all Identity related functionality

### Table of contents

#### Methods

* [createPortfolio](#createportfolio)
* [getIdentity](#getidentity)
* [isIdentityValid](#isidentityvalid)
* [registerIdentity](#registeridentity)

### Methods

#### createPortfolio

▸ **createPortfolio**(`args`, `opts?`): `Promise`<`TransactionQueue`<[`NumberedPortfolio`](/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_numberedportfolio.numberedportfolio.md), [`NumberedPortfolio`](/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_numberedportfolio.numberedportfolio.md), `unknown`\[]\[]>>

Create a new Portfolio under the ownership of the signing Identity

**`note`** this method is of type [ProcedureMethod](/polymesh-sdk-api-reference/docs-alpha/interfaces/types.proceduremethod.md), which means you can call [createPortfolio.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`      | `Object`                                                                                    |
| `args.name` | `string`                                                                                    |
| `opts?`     | [`ProcedureOpts`](/polymesh-sdk-api-reference/docs-alpha/interfaces/types.procedureopts.md) |

**Returns**

`Promise`<`TransactionQueue`<[`NumberedPortfolio`](/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_numberedportfolio.numberedportfolio.md), [`NumberedPortfolio`](/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_numberedportfolio.numberedportfolio.md), `unknown`\[]\[]>>

**Defined in**

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

***

#### getIdentity

▸ **getIdentity**(`args`): `Promise`<[`Identity`](/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_identity.identity.md)>

Create an Identity instance from a DID

**`throws`** if there is no Identity with the passed DID

**Parameters**

| Name       | Type     |
| ---------- | -------- |
| `args`     | `Object` |
| `args.did` | `string` |

**Returns**

`Promise`<[`Identity`](/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_identity.identity.md)>

**Defined in**

[api/client/Identities.ts:70](https://github.com/PolymathNetwork/polymesh-sdk/blob/31dfa0dc/src/api/client/Identities.ts#L70)

***

#### isIdentityValid

▸ **isIdentityValid**(`args`): `Promise`<`boolean`>

Return whether the supplied Identity/DID exists

**Parameters**

| Name            | Type                                                                                                       |
| --------------- | ---------------------------------------------------------------------------------------------------------- |
| `args`          | `Object`                                                                                                   |
| `args.identity` | `string` \| [`Identity`](/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_identity.identity.md) |

**Returns**

`Promise`<`boolean`>

**Defined in**

[api/client/Identities.ts:77](https://github.com/PolymathNetwork/polymesh-sdk/blob/31dfa0dc/src/api/client/Identities.ts#L77)

***

#### registerIdentity

▸ **registerIdentity**(`args`, `opts?`): `Promise`<`TransactionQueue`<[`Identity`](/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_identity.identity.md), [`Identity`](/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_identity.identity.md), `unknown`\[]\[]>>

Register an Identity

**`note`** must be a CDD provider

**`note`** this may create [Authorization Requests](/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_authorizationrequest.authorizationrequest.md) which have to be accepted by the `targetAccount`. An [Account](/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_account.account.md) or [Identity](/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_identity.identity.md) can fetch its pending Authorization Requests by calling [authorizations.getReceived](/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_common_namespaces_authorizations.authorizations.md#getreceived). Also, an Account or Identity can directly fetch the details of an Authorization Request by calling [authorizations.getOne](/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_common_namespaces_authorizations.authorizations.md#getone)

**`note`** required role:

* Customer Due Diligence Provider

**`note`** this method is of type [ProcedureMethod](/polymesh-sdk-api-reference/docs-alpha/interfaces/types.proceduremethod.md), which means you can call [registerIdentity.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`  | [`RegisterIdentityParams`](/polymesh-sdk-api-reference/docs-alpha/interfaces/api_procedures_registeridentity.registeridentityparams.md) |
| `opts?` | [`ProcedureOpts`](/polymesh-sdk-api-reference/docs-alpha/interfaces/types.procedureopts.md)                                             |

**Returns**

`Promise`<`TransactionQueue`<[`Identity`](/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_identity.identity.md), [`Identity`](/polymesh-sdk-api-reference/docs-alpha/classes/api_entities_identity.identity.md), `unknown`\[]\[]>>

**Defined in**

[api/client/Identities.ts:51](https://github.com/PolymathNetwork/polymesh-sdk/blob/31dfa0dc/src/api/client/Identities.ts#L51)
