> 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-v6/classes/corporateactions.md).

# CorporateActions

Handles all Security Token Corporate Actions related functionality

## Hierarchy

* Namespace‹[SecurityToken](/polymesh-sdk-api-reference/docs-v6/classes/securitytoken.md)›

  ↳ **CorporateActions**

## Index

### Properties

* [context](/polymesh-sdk-api-reference/docs-v6/classes/corporateactions.md#protected-context)
* [distributions](/polymesh-sdk-api-reference/docs-v6/classes/corporateactions.md#distributions)
* [parent](/polymesh-sdk-api-reference/docs-v6/classes/corporateactions.md#protected-parent)

### Methods

* [getAgent](/polymesh-sdk-api-reference/docs-v6/classes/corporateactions.md#getagent)
* [getDefaults](/polymesh-sdk-api-reference/docs-v6/classes/corporateactions.md#getdefaults)
* [remove](/polymesh-sdk-api-reference/docs-v6/classes/corporateactions.md#remove)
* [removeAgent](/polymesh-sdk-api-reference/docs-v6/classes/corporateactions.md#removeagent)
* [setAgent](/polymesh-sdk-api-reference/docs-v6/classes/corporateactions.md#setagent)
* [setDefaults](/polymesh-sdk-api-reference/docs-v6/classes/corporateactions.md#setdefaults)

## Properties

### `Protected` context

• **context**: [*Context*](/polymesh-sdk-api-reference/docs-v6/classes/context.md)

*Inherited from void*

*Defined in* [*src/api/entities/Namespace.ts:11*](https://github.com/PolymathNetwork/polymesh-sdk/blob/23062de4/src/api/entities/Namespace.ts#L11)

### distributions

• **distributions**: [*Distributions*](/polymesh-sdk-api-reference/docs-v6/classes/distributions.md)

*Defined in* [*src/api/entities/SecurityToken/CorporateActions/index.ts:36*](https://github.com/PolymathNetwork/polymesh-sdk/blob/23062de4/src/api/entities/SecurityToken/CorporateActions/index.ts#L36)

### `Protected` parent

• **parent**: [*SecurityToken*](/polymesh-sdk-api-reference/docs-v6/classes/securitytoken.md)

*Inherited from void*

*Defined in* [*src/api/entities/Namespace.ts:9*](https://github.com/PolymathNetwork/polymesh-sdk/blob/23062de4/src/api/entities/Namespace.ts#L9)

## Methods

### getAgent

▸ **getAgent**(): *Promise‹*[*Identity*](/polymesh-sdk-api-reference/docs-v6/classes/identity.md)*›*

*Defined in* [*src/api/entities/SecurityToken/CorporateActions/index.ts:131*](https://github.com/PolymathNetwork/polymesh-sdk/blob/23062de4/src/api/entities/SecurityToken/CorporateActions/index.ts#L131)

Retrieve the Security Token's Corporate Actions agent

**Returns:** *Promise‹*[*Identity*](/polymesh-sdk-api-reference/docs-v6/classes/identity.md)*›*

### getDefaults

▸ **getDefaults**(): *Promise‹*[*CorporateActionDefaults*](/polymesh-sdk-api-reference/docs-v6/interfaces/corporateactiondefaults.md)*›*

*Defined in* [*src/api/entities/SecurityToken/CorporateActions/index.ts:163*](https://github.com/PolymathNetwork/polymesh-sdk/blob/23062de4/src/api/entities/SecurityToken/CorporateActions/index.ts#L163)

Retrieve default values for targets, global tax withholding percentage and per-identity tax withholding perecentages.

**`note`** These values are applied to every Corporate Action that is created until they are modified. Modifying these values does not impact existing Corporate Actions. When creating a Corporate Action, values passed explicitly will override these defaults

**Returns:** *Promise‹*[*CorporateActionDefaults*](/polymesh-sdk-api-reference/docs-v6/interfaces/corporateactiondefaults.md)*›*

### remove

▸ **remove**(`args`: [RemoveCorporateActionParams](/polymesh-sdk-api-reference/docs-v6/interfaces/removecorporateactionparams.md)): *Promise‹*[*TransactionQueue*](/polymesh-sdk-api-reference/docs-v6/classes/transactionqueue.md)*‹void››*

*Defined in* [*src/api/entities/SecurityToken/CorporateActions/index.ts:124*](https://github.com/PolymathNetwork/polymesh-sdk/blob/23062de4/src/api/entities/SecurityToken/CorporateActions/index.ts#L124)

Remove a Corporate Action

**`note`** required role:

* Corporate Actions Agent

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

**Parameters:**

| Name   | Type                                                                                                         |
| ------ | ------------------------------------------------------------------------------------------------------------ |
| `args` | [RemoveCorporateActionParams](/polymesh-sdk-api-reference/docs-v6/interfaces/removecorporateactionparams.md) |

**Returns:** *Promise‹*[*TransactionQueue*](/polymesh-sdk-api-reference/docs-v6/classes/transactionqueue.md)*‹void››*

### removeAgent

▸ **removeAgent**(`args`: void): *Promise‹*[*TransactionQueue*](/polymesh-sdk-api-reference/docs-v6/classes/transactionqueue.md)*‹void››*

*Defined in* [*src/api/entities/SecurityToken/CorporateActions/index.ts:111*](https://github.com/PolymathNetwork/polymesh-sdk/blob/23062de4/src/api/entities/SecurityToken/CorporateActions/index.ts#L111)

Remove the Corporate Actions Agent of the Security Token

**`note`** this action will leave the Security Token owner as the Corporate Actions Agent

**`note`** required role:

* Security Token Owner

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

**Parameters:**

| Name   | Type |
| ------ | ---- |
| `args` | void |

**Returns:** *Promise‹*[*TransactionQueue*](/polymesh-sdk-api-reference/docs-v6/classes/transactionqueue.md)*‹void››*

### setAgent

▸ **setAgent**(`args`: [ModifyCorporateActionsAgentParams](/polymesh-sdk-api-reference/docs-v6/interfaces/modifycorporateactionsagentparams.md)): *Promise‹*[*TransactionQueue*](/polymesh-sdk-api-reference/docs-v6/classes/transactionqueue.md)*‹void››*

*Defined in* [*src/api/entities/SecurityToken/CorporateActions/index.ts:96*](https://github.com/PolymathNetwork/polymesh-sdk/blob/23062de4/src/api/entities/SecurityToken/CorporateActions/index.ts#L96)

Assign a new Corporate Actions Agent for the Security Token

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

**`note`** required role:

* Security Token Owner

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

**Parameters:**

| Name   | Type                                                                                                                     |
| ------ | ------------------------------------------------------------------------------------------------------------------------ |
| `args` | [ModifyCorporateActionsAgentParams](/polymesh-sdk-api-reference/docs-v6/interfaces/modifycorporateactionsagentparams.md) |

**Returns:** *Promise‹*[*TransactionQueue*](/polymesh-sdk-api-reference/docs-v6/classes/transactionqueue.md)*‹void››*

### setDefaults

▸ **setDefaults**(`args`: [ModifyCaDefaultsParams](/polymesh-sdk-api-reference/docs-v6/globals.md#modifycadefaultsparams)): *Promise‹*[*TransactionQueue*](/polymesh-sdk-api-reference/docs-v6/classes/transactionqueue.md)*‹void››*

*Defined in* [*src/api/entities/SecurityToken/CorporateActions/index.ts:79*](https://github.com/PolymathNetwork/polymesh-sdk/blob/23062de4/src/api/entities/SecurityToken/CorporateActions/index.ts#L79)

Assign default values for targets, global tax withholding percentage and per-identity tax withholding perecentages.

**`note`** These values are applied to every Corporate Action that is created until they are modified. Modifying these values does not impact existing Corporate Actions. When creating a Corporate Action, values passed explicitly will override these defaults

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

**Parameters:**

| Name   | Type                                                                                            |
| ------ | ----------------------------------------------------------------------------------------------- |
| `args` | [ModifyCaDefaultsParams](/polymesh-sdk-api-reference/docs-v6/globals.md#modifycadefaultsparams) |

**Returns:** *Promise‹*[*TransactionQueue*](/polymesh-sdk-api-reference/docs-v6/classes/transactionqueue.md)*‹void››*
