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

# OutboxRecord

> Interface exported by @botmesh/core/spi.

Defined in: [durability/types.ts:204](https://github.com/andresayac/botmesh/blob/main/packages/core/src/durability/types.ts#L204)

One journaled outbound send.

## Properties

### key

```ts theme={null}
key: string;
```

Defined in: [durability/types.ts:206](https://github.com/andresayac/botmesh/blob/main/packages/core/src/durability/types.ts#L206)

Idempotency key: explicit, derived from the inbound being handled, or random.

***

### chatId

```ts theme={null}
chatId: string;
```

Defined in: [durability/types.ts:207](https://github.com/andresayac/botmesh/blob/main/packages/core/src/durability/types.ts#L207)

***

### causationId?

```ts theme={null}
causationId?: string;
```

Defined in: [durability/types.ts:209](https://github.com/andresayac/botmesh/blob/main/packages/core/src/durability/types.ts#L209)

The inbound record (or job) whose handling produced this send.

***

### op

```ts theme={null}
op: "send";
```

Defined in: [durability/types.ts:210](https://github.com/andresayac/botmesh/blob/main/packages/core/src/durability/types.ts#L210)

***

### content

```ts theme={null}
content: JsonValue;
```

Defined in: [durability/types.ts:212](https://github.com/andresayac/botmesh/blob/main/packages/core/src/durability/types.ts#L212)

Encoded `OutboundContent` (Buffers base64-encoded).

***

### options?

```ts theme={null}
options?: JsonValue;
```

Defined in: [durability/types.ts:214](https://github.com/andresayac/botmesh/blob/main/packages/core/src/durability/types.ts#L214)

Encoded `SendOptions` (without `idempotencyKey`).

***

### state

```ts theme={null}
state: OutboxState;
```

Defined in: [durability/types.ts:215](https://github.com/andresayac/botmesh/blob/main/packages/core/src/durability/types.ts#L215)

***

### attempts

```ts theme={null}
attempts: number;
```

Defined in: [durability/types.ts:217](https://github.com/andresayac/botmesh/blob/main/packages/core/src/durability/types.ts#L217)

Provider attempts so far.

***

### nextAttemptAt

```ts theme={null}
nextAttemptAt: number;
```

Defined in: [durability/types.ts:218](https://github.com/andresayac/botmesh/blob/main/packages/core/src/durability/types.ts#L218)

***

### leaseUntil?

```ts theme={null}
leaseUntil?: number;
```

Defined in: [durability/types.ts:219](https://github.com/andresayac/botmesh/blob/main/packages/core/src/durability/types.ts#L219)

***

### owner?

```ts theme={null}
owner?: string;
```

Defined in: [durability/types.ts:220](https://github.com/andresayac/botmesh/blob/main/packages/core/src/durability/types.ts#L220)

***

### fencingToken

```ts theme={null}
fencingToken: number;
```

Defined in: [durability/types.ts:221](https://github.com/andresayac/botmesh/blob/main/packages/core/src/durability/types.ts#L221)

***

### result?

```ts theme={null}
result?: object;
```

Defined in: [durability/types.ts:223](https://github.com/andresayac/botmesh/blob/main/packages/core/src/durability/types.ts#L223)

The provider's message ref, written by the same operation that sets `sent`.

#### ref

```ts theme={null}
ref: MessageRef;
```

***

### fingerprint?

```ts theme={null}
fingerprint?: string;
```

Defined in: [durability/types.ts:228](https://github.com/andresayac/botmesh/blob/main/packages/core/src/durability/types.ts#L228)

Hash of the chat + encoded content the record was journaled with (before `before('send')`
hooks). A replay whose derived key matches but whose content differs is a new send.

***

### previousPart?

```ts theme={null}
previousPart?: string;
```

Defined in: [durability/types.ts:235](https://github.com/andresayac/botmesh/blob/main/packages/core/src/durability/types.ts#L235)

The key of the record that must be sent before this one: set on the later parts of a
split text (`<key>#2` follows `<key>`, `<key>#3` follows `<key>#2`…). The sweeper never
sends a record while that one is still to be sent, and dead-letters it when that one is
dead. A key ending in `#<n>` chosen by the caller has no such link.

***

### createdAt

```ts theme={null}
createdAt: number;
```

Defined in: [durability/types.ts:236](https://github.com/andresayac/botmesh/blob/main/packages/core/src/durability/types.ts#L236)

***

### sentAt?

```ts theme={null}
sentAt?: number;
```

Defined in: [durability/types.ts:237](https://github.com/andresayac/botmesh/blob/main/packages/core/src/durability/types.ts#L237)

***

### completedAt?

```ts theme={null}
completedAt?: number;
```

Defined in: [durability/types.ts:239](https://github.com/andresayac/botmesh/blob/main/packages/core/src/durability/types.ts#L239)

When the record reached a terminal state (`sent`, `dead`, `unknown`).

***

### lastError?

```ts theme={null}
lastError?: OutboxError;
```

Defined in: [durability/types.ts:240](https://github.com/andresayac/botmesh/blob/main/packages/core/src/durability/types.ts#L240)


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