> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bijection.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Module: sessions

> Reference for the bijection/sessions entry point.

## Type Aliases

### IssuedSessions

Ƭ **IssuedSessions**: `Object`

A service issues a session for one resource.

#### Type declaration

| Name | Type | Description |
| :- | :- | :- |
| `service` | `string` | - |
| `role` | `string` | - |
| `ancestorRoles?` | readonly `string`\[] | - |
| `operationRoles?` | \{ `invoke?`: `string` ; `read?`: `string`  } | - |
| `operationRoles.invoke?` | `string` | - |
| `operationRoles.read?` | `string` | - |
| `beforeVerification?` | readonly `string`\[] | - |
| `evidence?` | readonly `string`\[] \| `null` | Verification evidence is recorded, never treated as proof by itself. |
| `maxDurationMs?` | `number` | Upper bound, further narrowed by every issued role. Default 30 minutes. |

***

### DelegatedSessions

Ƭ **DelegatedSessions**: `Object`

A person's client acts within that person's current authority.

#### Type declaration

| Name | Type | Description |
| :- | :- | :- |
| `permissions?` | readonly `string`\[] \| `null` | - |
| `maxDurationMs?` | `number` | Upper bound, further narrowed by the token. Default 30 minutes. |

***

### IssuedSessionPolicy

Ƭ **IssuedSessionPolicy**: `Readonly`\<\{ `kind`: `"issued"` ; `service`: `string` ; `resourceType`: `string` ; `role`: `string` ; `ancestorRoles`: readonly `string`\[] ; `operationRoles`: `Readonly`\<\{ `invoke`: `string` ; `read`: `string`  }> ; `beforeVerification`: readonly `string`\[] ; `evidence`: readonly `string`\[] | `null` ; `maxDurationMs`: `number`  }>

The policy of a service-issued session.

***

### DelegatedSessionPolicy

Ƭ **DelegatedSessionPolicy**: `Readonly`\<\{ `kind`: `"delegated"` ; `permissions`: readonly `string`\[] | `null` ; `maxDurationMs`: `number`  }>

The policy of a person-delegated session.

***

### SessionPolicy

Ƭ **SessionPolicy**: [`IssuedSessionPolicy`](/api/modules/sessions#issuedsessionpolicy) | [`DelegatedSessionPolicy`](/api/modules/sessions#delegatedsessionpolicy)

Authority has exactly two origins.

## Functions

### issuedSessions

▸ **issuedSessions**(`options`): [`IssuedSessionPolicy`](/api/modules/sessions#issuedsessionpolicy)

Declare service-issued authority; the role determines its resource type.
The service must currently be allowed to issue every role.

#### Parameters

| Name | Type |
| :- | :- |
| `options` | [`IssuedSessions`](/api/modules/sessions#issuedsessions) |

#### Returns

[`IssuedSessionPolicy`](/api/modules/sessions#issuedsessionpolicy)

***

### delegatedSessions

▸ **delegatedSessions**(`options?`): [`DelegatedSessionPolicy`](/api/modules/sessions#delegatedsessionpolicy)

Declare authority delegated by a person. It grants no service roles.

#### Parameters

| Name | Type |
| :- | :- |
| `options` | [`DelegatedSessions`](/api/modules/sessions#delegatedsessions) |

#### Returns

[`DelegatedSessionPolicy`](/api/modules/sessions#delegatedsessionpolicy)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.