# SessionKey

Defined in: [packages/synapse-sdk/src/session/key.ts:31](https://github.com/FilOzone/synapse-sdk/blob/32f86959b0bf15557657ea412e31a0897440ca98/packages/synapse-sdk/src/session/key.ts#L31)

## Constructors

### Constructor

> **new SessionKey**(`client`, `account`): `SessionKey`

Defined in: [packages/synapse-sdk/src/session/key.ts:37](https://github.com/FilOzone/synapse-sdk/blob/32f86959b0bf15557657ea412e31a0897440ca98/packages/synapse-sdk/src/session/key.ts#L37)

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `client` | `Client`\<`Transport`, `Chain`, `Account`\> |
| `account` | `Account` |

#### Returns

`SessionKey`

## Accessors

### account

#### Get Signature

> **get** **account**(): `Account`

Defined in: [packages/synapse-sdk/src/session/key.ts:48](https://github.com/FilOzone/synapse-sdk/blob/32f86959b0bf15557657ea412e31a0897440ca98/packages/synapse-sdk/src/session/key.ts#L48)

##### Returns

`Account`

***

### chain

#### Get Signature

> **get** **chain**(): `Chain`

Defined in: [packages/synapse-sdk/src/session/key.ts:52](https://github.com/FilOzone/synapse-sdk/blob/32f86959b0bf15557657ea412e31a0897440ca98/packages/synapse-sdk/src/session/key.ts#L52)

##### Returns

`Chain`

***

### client

#### Get Signature

> **get** **client**(): `Client`\<`Transport`, `Chain`, `Account`\>

Defined in: [packages/synapse-sdk/src/session/key.ts:56](https://github.com/FilOzone/synapse-sdk/blob/32f86959b0bf15557657ea412e31a0897440ca98/packages/synapse-sdk/src/session/key.ts#L56)

##### Returns

`Client`\<`Transport`, `Chain`, `Account`\>

## Methods

### fetchExpiries()

> **fetchExpiries**(`permissions`): [`Promise`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\<[`Record`](https://www.typescriptlang.org/docs/handbook/utility-types.html#recordkeys-type)\<[`SessionKeyPermissions`](/reference/filoz/synapse-core/session-key/type-aliases/sessionkeypermissions/), `bigint`\>\>

Defined in: [packages/synapse-sdk/src/session/key.ts:65](https://github.com/FilOzone/synapse-sdk/blob/32f86959b0bf15557657ea412e31a0897440ca98/packages/synapse-sdk/src/session/key.ts#L65)

Queries current permission expiries from the registry

#### Parameters

| Parameter | Type | Default value | Description |
| ------ | ------ | ------ | ------ |
| `permissions` | [`SessionKeyPermissions`](/reference/filoz/synapse-core/session-key/type-aliases/sessionkeypermissions/)[] | `SK.ALL_PERMISSIONS` | Expiries to fetch, as a list of bytes32 hex strings |

#### Returns

[`Promise`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\<[`Record`](https://www.typescriptlang.org/docs/handbook/utility-types.html#recordkeys-type)\<[`SessionKeyPermissions`](/reference/filoz/synapse-core/session-key/type-aliases/sessionkeypermissions/), `bigint`\>\>

map of each permission to its expiry for this session key

***

### login()

> **login**(`expiry`, `permissions`, `origin`): [`Promise`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\<`` `0x${string}` ``\>

Defined in: [packages/synapse-sdk/src/session/key.ts:97](https://github.com/FilOzone/synapse-sdk/blob/32f86959b0bf15557657ea412e31a0897440ca98/packages/synapse-sdk/src/session/key.ts#L97)

Authorize signer with permissions until expiry. This can also be used to
renew existing authorization by updating the expiry.

#### Parameters

| Parameter | Type | Default value | Description |
| ------ | ------ | ------ | ------ |
| `expiry` | `bigint` | `undefined` | unix time (block.timestamp) that the permissions expire |
| `permissions` | [`SessionKeyPermissions`](/reference/filoz/synapse-core/session-key/type-aliases/sessionkeypermissions/)[] | `SK.ALL_PERMISSIONS` | list of permissions granted to the signer, as a list of bytes32 hex strings |
| `origin` | `string` | `DEFAULT_ORIGIN` | the name of the application prompting this login |

#### Returns

[`Promise`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\<`` `0x${string}` ``\>

signed and broadcasted login transaction details

***

### revoke()

> **revoke**(`permissions`, `origin`): [`Promise`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\<`` `0x${string}` ``\>

Defined in: [packages/synapse-sdk/src/session/key.ts:116](https://github.com/FilOzone/synapse-sdk/blob/32f86959b0bf15557657ea412e31a0897440ca98/packages/synapse-sdk/src/session/key.ts#L116)

Invalidate signer permissions, setting their expiry to zero.

#### Parameters

| Parameter | Type | Default value | Description |
| ------ | ------ | ------ | ------ |
| `permissions` | [`SessionKeyPermissions`](/reference/filoz/synapse-core/session-key/type-aliases/sessionkeypermissions/)[] | `SK.ALL_PERMISSIONS` | list of permissions removed from the signer, as a list of bytes32 hex strings |
| `origin` | `string` | `DEFAULT_ORIGIN` | - |

#### Returns

[`Promise`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise)\<`` `0x${string}` ``\>

signed and broadcasted revoke transaction details