> 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-v2/classes/instruction.md).

# Instruction

Represents a settlement Instruction to be executed on a certain Venue

## Hierarchy

* [Entity](/polymesh-sdk-api-reference/docs-v2/classes/entity.md)‹UniqueIdentifiers›

  ↳ **Instruction**

## Index

### Properties

* [context](/polymesh-sdk-api-reference/docs-v2/classes/instruction.md#protected-context)
* [id](/polymesh-sdk-api-reference/docs-v2/classes/instruction.md#id)
* [uuid](/polymesh-sdk-api-reference/docs-v2/classes/instruction.md#uuid)

### Methods

* [authorize](/polymesh-sdk-api-reference/docs-v2/classes/instruction.md#authorize)
* [details](/polymesh-sdk-api-reference/docs-v2/classes/instruction.md#details)
* [getAuthorizations](/polymesh-sdk-api-reference/docs-v2/classes/instruction.md#getauthorizations)
* [getLegs](/polymesh-sdk-api-reference/docs-v2/classes/instruction.md#getlegs)
* [reject](/polymesh-sdk-api-reference/docs-v2/classes/instruction.md#reject)
* [unauthorize](/polymesh-sdk-api-reference/docs-v2/classes/instruction.md#unauthorize)
* [generateUuid](/polymesh-sdk-api-reference/docs-v2/classes/instruction.md#static-generateuuid)
* [unserialize](/polymesh-sdk-api-reference/docs-v2/classes/instruction.md#static-unserialize)

## Properties

### `Protected` context

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

*Inherited from* [*Entity*](/polymesh-sdk-api-reference/docs-v2/classes/entity.md)*.*[*context*](/polymesh-sdk-api-reference/docs-v2/classes/entity.md#protected-context)

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

### id

• **id**: *BigNumber*

*Defined in* [*src/api/entities/Instruction/index.ts:44*](https://github.com/PolymathNetwork/polymesh-sdk/blob/5b409784/src/api/entities/Instruction/index.ts#L44)

Identifier number of the venue

### uuid

• **uuid**: *string*

*Inherited from* [*Entity*](/polymesh-sdk-api-reference/docs-v2/classes/entity.md)*.*[*uuid*](/polymesh-sdk-api-reference/docs-v2/classes/entity.md#uuid)

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

## Methods

### authorize

▸ **authorize**(): *Promise‹*[*TransactionQueue*](/polymesh-sdk-api-reference/docs-v2/classes/transactionqueue.md)*‹*[*Instruction*](/polymesh-sdk-api-reference/docs-v2/classes/instruction.md)*››*

*Defined in* [*src/api/entities/Instruction/index.ts:178*](https://github.com/PolymathNetwork/polymesh-sdk/blob/5b409784/src/api/entities/Instruction/index.ts#L178)

Authorize this instruction

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

### details

▸ **details**(): *Promise‹*[*InstructionDetails*](/polymesh-sdk-api-reference/docs-v2/globals.md#instructiondetails)*›*

*Defined in* [*src/api/entities/Instruction/index.ts:60*](https://github.com/PolymathNetwork/polymesh-sdk/blob/5b409784/src/api/entities/Instruction/index.ts#L60)

Retrieve information specific to this Instruction

**Returns:** *Promise‹*[*InstructionDetails*](/polymesh-sdk-api-reference/docs-v2/globals.md#instructiondetails)*›*

### getAuthorizations

▸ **getAuthorizations**(): *Promise‹*[*InstructionAuthorization*](/polymesh-sdk-api-reference/docs-v2/interfaces/instructionauthorization.md)*\[]›*

*Defined in* [*src/api/entities/Instruction/index.ts:103*](https://github.com/PolymathNetwork/polymesh-sdk/blob/5b409784/src/api/entities/Instruction/index.ts#L103)

Retrieve every authorization generated by this Instruction (status and authorizing Identity)

**Returns:** *Promise‹*[*InstructionAuthorization*](/polymesh-sdk-api-reference/docs-v2/interfaces/instructionauthorization.md)*\[]›*

### getLegs

▸ **getLegs**(): *Promise‹*[*Leg*](/polymesh-sdk-api-reference/docs-v2/interfaces/leg.md)*\[]›*

*Defined in* [*src/api/entities/Instruction/index.ts:132*](https://github.com/PolymathNetwork/polymesh-sdk/blob/5b409784/src/api/entities/Instruction/index.ts#L132)

Retrieve all legs of this Instruction

**Returns:** *Promise‹*[*Leg*](/polymesh-sdk-api-reference/docs-v2/interfaces/leg.md)*\[]›*

### reject

▸ **reject**(): *Promise‹*[*TransactionQueue*](/polymesh-sdk-api-reference/docs-v2/classes/transactionqueue.md)*‹*[*Instruction*](/polymesh-sdk-api-reference/docs-v2/classes/instruction.md)*››*

*Defined in* [*src/api/entities/Instruction/index.ts:167*](https://github.com/PolymathNetwork/polymesh-sdk/blob/5b409784/src/api/entities/Instruction/index.ts#L167)

Reject this instruction

**`note`** reject on `SettleOnAuthorization` will execute the settlement and it will fail immediately.

**`note`** reject on `SettleOnBlock` behaves just like unauthorize

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

### unauthorize

▸ **unauthorize**(): *Promise‹*[*TransactionQueue*](/polymesh-sdk-api-reference/docs-v2/classes/transactionqueue.md)*‹*[*Instruction*](/polymesh-sdk-api-reference/docs-v2/classes/instruction.md)*››*

*Defined in* [*src/api/entities/Instruction/index.ts:189*](https://github.com/PolymathNetwork/polymesh-sdk/blob/5b409784/src/api/entities/Instruction/index.ts#L189)

Unauthorize this instruction

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

### `Static` generateUuid

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

*Inherited from* [*Entity*](/polymesh-sdk-api-reference/docs-v2/classes/entity.md)*.*[*generateUuid*](/polymesh-sdk-api-reference/docs-v2/classes/entity.md#static-generateuuid)

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

Generate the Entity's UUID from its identifying properties

**Type parameters:**

▪ **Identifiers**: *object*

**Parameters:**

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

**Returns:** *string*

### `Static` unserialize

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

*Inherited from* [*Entity*](/polymesh-sdk-api-reference/docs-v2/classes/entity.md)*.*[*unserialize*](/polymesh-sdk-api-reference/docs-v2/classes/entity.md#static-unserialize)

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

Unserialize a UUID into its Unique Identifiers

**Type parameters:**

▪ **Identifiers**: *object*

**Parameters:**

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

**Returns:** *Identifiers*
