> ## 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.

# Interface: RequestJournal

> Private durable storage scoped to one deployment and caller namespace.

[browser](/api/modules/browser).RequestJournal

Private durable storage scoped to one deployment and caller namespace.
create is atomic: an existing identity must return its original envelope.
A write failure must never fall back to process memory.

## Properties

### interactions

• `Optional` **interactions**: `Object`

An editor location retains an identity before any submission. All methods
are atomic across hosts sharing this journal; clear compares the old ID.

#### Type declaration

| Name | Type |
| :- | :- |
| `load` | (`key`: `string`) => `Promise`\<[`RequestId`](/api/modules/requests#requestid) \| `null`> |
| `claim` | (`key`: `string`, `request_id`: [`RequestId`](/api/modules/requests#requestid)) => `Promise`\<[`RequestId`](/api/modules/requests#requestid)> |
| `clear` | (`key`: `string`, `request_id`: [`RequestId`](/api/modules/requests#requestid)) => `Promise`\<`void`> |

***

### preparations

• `Optional` **preparations**: `Object`

Exact JSON preparation state with conflict-detecting writes. Required
when this journal is used for files or server preparation recipes.

#### Type declaration

| Name | Type |
| :- | :- |
| `open` | (`scope`: `OperationRequestScope`) => `Promise`\<`OperationRequestSession`> |
| `scan` | (`owner`: `Pick`\<`OperationRequestScope`, `"url"` \| `"caller"`>, `options?`: `RequestPageOptions`) => `Promise`\<`RequestPage`> |

***

### drafts

• `Optional` **drafts**: `Object`

Editable input and atomic handoff share this journal with frozen requests.

#### Type declaration

| Name | Type |
| :- | :- |
| `open` | (`scope`: [`InteractionScope`](/api/modules/browser#interactionscope), `signal`: `AbortSignal`) => `Promise`\<[`InteractionSession`](/api/modules/browser#interactionsession)> |

***

### scenario\_submissions

• `Optional` **scenario\_submissions**: [`ScenarioSubmissionStore`](/api/modules/scenarios#scenariosubmissionstore)

***

### branch\_submissions

• `Optional` **branch\_submissions**: [`BranchSubmissionStore`](/api/modules/browser#branchsubmissionstore)

***

### questions

• `Optional` **questions**: [`QuestionRequestStore`](/api/modules/browser#questionrequeststore)

## Methods

### create

▸ **create**(`envelope`): `Promise`\<`RequestEnvelope`>

#### Parameters

| Name | Type |
| :- | :- |
| `envelope` | `RequestEnvelope` |

#### Returns

`Promise`\<`RequestEnvelope`>

***

### load

▸ **load**(`request_id`): `Promise`\<`RequestEnvelope` | `null`>

#### Parameters

| Name | Type |
| :- | :- |
| `request_id` | [`RequestId`](/api/modules/requests#requestid) |

#### Returns

`Promise`\<`RequestEnvelope` | `null`>

***

### list

▸ `Optional` **list**(`options?`): `Promise`\<\{ `items`: `RequestEnvelope`\[] ; `next_cursor`: `string` | `null`  }>

#### Parameters

| Name | Type |
| :- | :- |
| `options?` | `Object` |
| `options.limit?` | `number` |
| `options.cursor?` | `string` \| `null` |

#### Returns

`Promise`\<\{ `items`: `RequestEnvelope`\[] ; `next_cursor`: `string` | `null`  }>


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