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

# Event Types

> Subscribable Case.dev webhook events generated from the router event catalog

Case.dev exposes the following customer-facing events through webhook endpoints. This page is generated from the router event catalog and typed payload contracts so it stays aligned with the API.

<Info>
  Stable events keep their event name and payload shape frozen except for additive fields. Beta
  events may change during their early access window.
</Info>

Generated from `apps/router/server/utils/webhooks/catalog.ts`.

| Event                                            | Stability | Scope           | Resource | Description                                                                                                                                                                      |
| ------------------------------------------------ | --------- | --------------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `vault.upload.initiated`                         | stable    | `vault`         | `vault`  | A vault object upload was initiated.                                                                                                                                             |
| `vault.upload.completed`                         | stable    | `vault`         | `vault`  | A vault object upload finished successfully.                                                                                                                                     |
| `vault.upload.failed`                            | stable    | `vault`         | `vault`  | A vault object upload failed.                                                                                                                                                    |
| `vault.object.append.started`                    | stable    | `vault`         | `vault`  | Vault object append started.                                                                                                                                                     |
| `vault.object.append.completed`                  | stable    | `vault`         | `vault`  | Vault object append finished successfully.                                                                                                                                       |
| `vault.object.append.failed`                     | stable    | `vault`         | `vault`  | Vault object append failed.                                                                                                                                                      |
| `vault.object.merge.started`                     | stable    | `vault`         | `vault`  | Searchable vault object merge started.                                                                                                                                           |
| `vault.object.merge.completed`                   | stable    | `vault`         | `vault`  | Searchable vault object merge finished successfully.                                                                                                                             |
| `vault.object.merge.failed`                      | stable    | `vault`         | `vault`  | Searchable vault object merge failed.                                                                                                                                            |
| `vault.ingest.started`                           | stable    | `vault`         | `vault`  | Vault object ingest started.                                                                                                                                                     |
| `vault.ingest.completed`                         | stable    | `vault`         | `vault`  | Vault object ingest finished successfully.                                                                                                                                       |
| `vault.ingest.failed`                            | stable    | `vault`         | `vault`  | Vault object ingest failed.                                                                                                                                                      |
| `vault.ingest.page_count.retrieved`              | stable    | `vault`         | `vault`  | Vault object page count was derived during ingest.                                                                                                                               |
| `ocr.job.created`                                | stable    | `vision_ocr`    | -        | An OCR job was enqueued.                                                                                                                                                         |
| `ocr.job.completed`                              | stable    | `vision_ocr`    | -        | An OCR job finished successfully.                                                                                                                                                |
| `ocr.job.failed`                                 | stable    | `vision_ocr`    | -        | An OCR job failed.                                                                                                                                                               |
| `voice.transcription.created`                    | stable    | `transcription` | -        | A transcription job was created.                                                                                                                                                 |
| `voice.transcription.reused`                     | stable    | `transcription` | -        | A completed transcription job was reused from cache.                                                                                                                             |
| `voice.transcription.audio_derivative.started`   | stable    | `transcription` | -        | Audio derivative creation started for a large Vault video.                                                                                                                       |
| `voice.transcription.audio_derivative.completed` | stable    | `transcription` | -        | Audio derivative creation completed for a large Vault video.                                                                                                                     |
| `voice.transcription.audio_derivative.failed`    | stable    | `transcription` | -        | Audio derivative creation failed for a large Vault video.                                                                                                                        |
| `voice.transcription.completed`                  | stable    | `transcription` | -        | A transcription job finished successfully.                                                                                                                                       |
| `voice.transcription.failed`                     | stable    | `transcription` | -        | A transcription job failed.                                                                                                                                                      |
| `voice.transcription.deleted`                    | stable    | `transcription` | -        | A transcription job was deleted.                                                                                                                                                 |
| `agent.created`                                  | beta      | `agent`         | -        | An agent definition was created.                                                                                                                                                 |
| `agent.updated`                                  | beta      | `agent`         | -        | An agent definition was updated.                                                                                                                                                 |
| `agent.deleted`                                  | beta      | `agent`         | -        | An agent definition was deleted.                                                                                                                                                 |
| `agent.run.created`                              | beta      | `agent`         | -        | An agent run was created.                                                                                                                                                        |
| `agent.run.started`                              | beta      | `agent`         | -        | An agent run began executing.                                                                                                                                                    |
| `agent.run.completed`                            | beta      | `agent`         | -        | An agent run finished successfully.                                                                                                                                              |
| `agent.run.failed`                               | beta      | `agent`         | -        | An agent run failed.                                                                                                                                                             |
| `agent.run.cancelled`                            | beta      | `agent`         | -        | An agent run was cancelled.                                                                                                                                                      |
| `agent.runtime.started`                          | beta      | `agent`         | -        | An agent chat runtime sandbox was started.                                                                                                                                       |
| `agent.runtime.reused`                           | beta      | `agent`         | -        | An existing agent chat runtime sandbox was reused.                                                                                                                               |
| `agent.runtime.failed`                           | beta      | `agent`         | -        | An agent chat runtime sandbox failed to start or resume.                                                                                                                         |
| `agent.scope.activated`                          | beta      | `agent`         | -        | A chat session scope was activated for the requested matter or vault authority.                                                                                                  |
| `agent.scope.activation_failed`                  | beta      | `agent`         | -        | A chat session scope failed to activate.                                                                                                                                         |
| `agent.scope.reused`                             | beta      | `agent`         | -        | An existing chat session scope was reused.                                                                                                                                       |
| `agent.worker.ready`                             | beta      | `agent`         | -        | The agent worker inside a chat runtime is ready to accept work.                                                                                                                  |
| `agent.worker.failed`                            | beta      | `agent`         | -        | The agent worker inside a chat runtime failed to become available.                                                                                                               |
| `agent.chat.session.created`                     | beta      | `agent`         | -        | An agent chat session was created.                                                                                                                                               |
| `agent.chat.session.resumed`                     | beta      | `agent`         | -        | An agent chat session was resumed.                                                                                                                                               |
| `agent.chat.session.aborted`                     | beta      | `agent`         | -        | An active agent chat generation was aborted.                                                                                                                                     |
| `agent.chat.turn.accepted`                       | beta      | `agent`         | -        | An agent chat turn was accepted for processing.                                                                                                                                  |
| `agent.chat.turn.started`                        | beta      | `agent`         | -        | An agent chat turn began executing.                                                                                                                                              |
| `agent.chat.turn.completed`                      | beta      | `agent`         | -        | An agent chat turn completed successfully.                                                                                                                                       |
| `agent.chat.turn.failed`                         | beta      | `agent`         | -        | An agent chat turn failed.                                                                                                                                                       |
| `agent.chat.turn.conflict`                       | beta      | `agent`         | -        | An agent chat turn was rejected because another turn was active.                                                                                                                 |
| `linc.session.ended`                             | beta      | `agent`         | -        | A native Linc session reached a terminal state (user\_deleted, completed, failed, cancelled, runtime\_crashed, timed\_out).                                                      |
| `linc.session.turn.completed`                    | beta      | `agent`         | -        | A native Linc session completed an assistant turn.                                                                                                                               |
| `matter.created`                                 | beta      | `legal`         | `matter` | A matter was created.                                                                                                                                                            |
| `matter.updated`                                 | beta      | `legal`         | `matter` | A matter was updated.                                                                                                                                                            |
| `work_item.execution.completed`                  | beta      | `legal`         | `matter` | A matter work item finished execution.                                                                                                                                           |
| `work_item.execution.failed`                     | beta      | `legal`         | `matter` | A matter work item execution failed.                                                                                                                                             |
| `billing.charge.succeeded`                       | stable    | `webhooks`      | -        | A billing charge succeeded.                                                                                                                                                      |
| `billing.charge.failed`                          | stable    | `webhooks`      | -        | A billing charge failed.                                                                                                                                                         |
| `balance.changed`                                | stable    | `webhooks`      | -        | The organization credit balance changed.                                                                                                                                         |
| `compute.run.completed`                          | stable    | `compute`       | -        | A compute function run completed successfully.                                                                                                                                   |
| `compute.run.failed`                             | stable    | `compute`       | -        | A compute function run failed.                                                                                                                                                   |
| `deployment.succeeded`                           | stable    | `webhooks`      | -        | A deployment succeeded.                                                                                                                                                          |
| `deployment.failed`                              | stable    | `webhooks`      | -        | A deployment failed.                                                                                                                                                             |
| `webhook.endpoint.auto_disabled`                 | stable    | `webhooks`      | -        | A webhook endpoint was automatically disabled after too many consecutive delivery failures. Subscribe to this to be notified when a downstream customer endpoint starts failing. |

## vault.upload.initiated

A vault object upload was initiated.

| Property       | Value    |
| -------------- | -------- |
| Stability      | `stable` |
| Required scope | `vault`  |
| Resource scope | `vault`  |

### Payload

| Field      | Type     | Required | Description                                  |
| ---------- | -------- | -------- | -------------------------------------------- |
| `vaultId`  | `string` | Yes      | The vault this event pertains to.            |
| `objectId` | `string` | Yes      | The object within the vault.                 |
| `filename` | `string` | Yes      | Original filename provided by the uploader.  |
| `mimeType` | `string` | No       | MIME type of the uploaded file, if detected. |

### Example

```json theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
{
  "id": "evt_01HV8ZK8M7Q9YJ6P5E3P2R1A0B",
  "type": "vault.upload.initiated",
  "occurred_at": "2026-04-24T15:12:09.481Z",
  "data": {
    "vaultId": "vault_123",
    "objectId": "object_123",
    "filename": "filename_value",
    "mimeType": "mimeType_value"
  }
}
```

## vault.upload.completed

A vault object upload finished successfully.

| Property       | Value    |
| -------------- | -------- |
| Stability      | `stable` |
| Required scope | `vault`  |
| Resource scope | `vault`  |

### Payload

| Field       | Type     | Required | Description                         |
| ----------- | -------- | -------- | ----------------------------------- |
| `vaultId`   | `string` | Yes      | The vault this event pertains to.   |
| `objectId`  | `string` | Yes      | The object within the vault.        |
| `filename`  | `string` | Yes      | -                                   |
| `mimeType`  | `string` | Yes      | -                                   |
| `sizeBytes` | `number` | Yes      | Size of the uploaded file in bytes. |

### Example

```json theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
{
  "id": "evt_01HV8ZK8M7Q9YJ6P5E3P2R1A0B",
  "type": "vault.upload.completed",
  "occurred_at": "2026-04-24T15:12:09.481Z",
  "data": {
    "vaultId": "vault_123",
    "objectId": "object_123",
    "filename": "filename_value",
    "mimeType": "mimeType_value",
    "sizeBytes": 42
  }
}
```

## vault.upload.failed

A vault object upload failed.

| Property       | Value    |
| -------------- | -------- |
| Stability      | `stable` |
| Required scope | `vault`  |
| Resource scope | `vault`  |

### Payload

| Field      | Type     | Required | Description                       |
| ---------- | -------- | -------- | --------------------------------- |
| `vaultId`  | `string` | Yes      | The vault this event pertains to. |
| `objectId` | `string` | Yes      | The object within the vault.      |
| `error`    | `string` | Yes      | Human-readable error description. |

### Example

```json theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
{
  "id": "evt_01HV8ZK8M7Q9YJ6P5E3P2R1A0B",
  "type": "vault.upload.failed",
  "occurred_at": "2026-04-24T15:12:09.481Z",
  "data": {
    "vaultId": "vault_123",
    "objectId": "object_123",
    "error": "Processing failed"
  }
}
```

## vault.object.append.started

Vault object append started.

| Property       | Value    |
| -------------- | -------- |
| Stability      | `stable` |
| Required scope | `vault`  |
| Resource scope | `vault`  |

### Payload

| Field             | Type       | Required | Description                                                                     |
| ----------------- | ---------- | -------- | ------------------------------------------------------------------------------- |
| `vaultId`         | `string`   | Yes      | The vault this event pertains to.                                               |
| `objectId`        | `string`   | Yes      | The object within the vault.                                                    |
| `appendObjectIds` | `string[]` | Yes      | Vault object IDs whose pages will be appended onto the target object, in order. |

### Example

```json theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
{
  "id": "evt_01HV8ZK8M7Q9YJ6P5E3P2R1A0B",
  "type": "vault.object.append.started",
  "occurred_at": "2026-04-24T15:12:09.481Z",
  "data": {
    "vaultId": "vault_123",
    "objectId": "object_123",
    "appendObjectIds": ["appendObjectId_123"]
  }
}
```

## vault.object.append.completed

Vault object append finished successfully.

| Property       | Value    |
| -------------- | -------- |
| Stability      | `stable` |
| Required scope | `vault`  |
| Resource scope | `vault`  |

### Payload

| Field             | Type       | Required | Description                                                                     |
| ----------------- | ---------- | -------- | ------------------------------------------------------------------------------- |
| `vaultId`         | `string`   | Yes      | The vault this event pertains to.                                               |
| `objectId`        | `string`   | Yes      | The object within the vault.                                                    |
| `appendObjectIds` | `string[]` | Yes      | Vault object IDs whose pages will be appended onto the target object, in order. |
| `sizeBytes`       | `number`   | Yes      | Size of the updated target object in bytes.                                     |
| `pageCount`       | `number`   | Yes      | Page count of the updated target object.                                        |

### Example

```json theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
{
  "id": "evt_01HV8ZK8M7Q9YJ6P5E3P2R1A0B",
  "type": "vault.object.append.completed",
  "occurred_at": "2026-04-24T15:12:09.481Z",
  "data": {
    "vaultId": "vault_123",
    "objectId": "object_123",
    "appendObjectIds": ["appendObjectId_123"],
    "sizeBytes": 42,
    "pageCount": 42
  }
}
```

## vault.object.append.failed

Vault object append failed.

| Property       | Value    |
| -------------- | -------- |
| Stability      | `stable` |
| Required scope | `vault`  |
| Resource scope | `vault`  |

### Payload

| Field             | Type       | Required | Description                                                                     |
| ----------------- | ---------- | -------- | ------------------------------------------------------------------------------- |
| `vaultId`         | `string`   | Yes      | The vault this event pertains to.                                               |
| `objectId`        | `string`   | Yes      | The object within the vault.                                                    |
| `appendObjectIds` | `string[]` | Yes      | Vault object IDs whose pages will be appended onto the target object, in order. |
| `error`           | `string`   | Yes      | Human-readable error description.                                               |

### Example

```json theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
{
  "id": "evt_01HV8ZK8M7Q9YJ6P5E3P2R1A0B",
  "type": "vault.object.append.failed",
  "occurred_at": "2026-04-24T15:12:09.481Z",
  "data": {
    "vaultId": "vault_123",
    "objectId": "object_123",
    "appendObjectIds": ["appendObjectId_123"],
    "error": "Processing failed"
  }
}
```

## vault.ingest.started

Vault object ingest started.

| Property       | Value    |
| -------------- | -------- |
| Stability      | `stable` |
| Required scope | `vault`  |
| Resource scope | `vault`  |

### Payload

| Field      | Type     | Required | Description                                                |
| ---------- | -------- | -------- | ---------------------------------------------------------- |
| `vaultId`  | `string` | Yes      | The vault this event pertains to.                          |
| `objectId` | `string` | Yes      | The object within the vault.                               |
| `stage`    | `string` | No       | Pipeline stage that began (e.g. 'extraction', 'chunking'). |

### Example

```json theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
{
  "id": "evt_01HV8ZK8M7Q9YJ6P5E3P2R1A0B",
  "type": "vault.ingest.started",
  "occurred_at": "2026-04-24T15:12:09.481Z",
  "data": {
    "vaultId": "vault_123",
    "objectId": "object_123",
    "stage": "stage_value"
  }
}
```

## vault.ingest.completed

Vault object ingest finished successfully.

| Property       | Value    |
| -------------- | -------- |
| Stability      | `stable` |
| Required scope | `vault`  |
| Resource scope | `vault`  |

### Payload

| Field        | Type     | Required | Description                            |
| ------------ | -------- | -------- | -------------------------------------- |
| `vaultId`    | `string` | Yes      | The vault this event pertains to.      |
| `objectId`   | `string` | Yes      | The object within the vault.           |
| `durationMs` | `number` | Yes      | Total ingest duration in milliseconds. |
| `chunkCount` | `number` | No       | Number of chunks produced.             |

### Example

```json theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
{
  "id": "evt_01HV8ZK8M7Q9YJ6P5E3P2R1A0B",
  "type": "vault.ingest.completed",
  "occurred_at": "2026-04-24T15:12:09.481Z",
  "data": {
    "vaultId": "vault_123",
    "objectId": "object_123",
    "durationMs": 1284,
    "chunkCount": 42
  }
}
```

## vault.ingest.failed

Vault object ingest failed.

| Property       | Value    |
| -------------- | -------- |
| Stability      | `stable` |
| Required scope | `vault`  |
| Resource scope | `vault`  |

### Payload

| Field      | Type     | Required | Description                                |
| ---------- | -------- | -------- | ------------------------------------------ |
| `vaultId`  | `string` | Yes      | The vault this event pertains to.          |
| `objectId` | `string` | Yes      | The object within the vault.               |
| `error`    | `string` | Yes      | Human-readable error description.          |
| `stage`    | `string` | No       | Pipeline stage that failed, if applicable. |

### Example

```json theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
{
  "id": "evt_01HV8ZK8M7Q9YJ6P5E3P2R1A0B",
  "type": "vault.ingest.failed",
  "occurred_at": "2026-04-24T15:12:09.481Z",
  "data": {
    "vaultId": "vault_123",
    "objectId": "object_123",
    "error": "Processing failed",
    "stage": "stage_value"
  }
}
```

## vault.ingest.page\_count.retrieved

Vault object page count was derived during ingest.

| Property       | Value    |
| -------------- | -------- |
| Stability      | `stable` |
| Required scope | `vault`  |
| Resource scope | `vault`  |

### Payload

| Field          | Type     | Required | Description                                                           |
| -------------- | -------- | -------- | --------------------------------------------------------------------- |
| `vaultId`      | `string` | Yes      | The vault this event pertains to.                                     |
| `objectId`     | `string` | Yes      | The object within the vault.                                          |
| `filename`     | `string` | Yes      | Original filename for the vault object.                               |
| `mimeType`     | `string` | No       | MIME type of the vault object, if detected.                           |
| `pageCount`    | `number` | Yes      | Number of pages derived for this vault object.                        |
| `documentKind` | `string` | Yes      | File classification used by the ingest pipeline (e.g. 'pdf', 'docx'). |
| `source`       | `string` | Yes      | Extractor path that produced the page count.                          |

### Example

```json theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
{
  "id": "evt_01HV8ZK8M7Q9YJ6P5E3P2R1A0B",
  "type": "vault.ingest.page_count.retrieved",
  "occurred_at": "2026-04-24T15:12:09.481Z",
  "data": {
    "vaultId": "vault_123",
    "objectId": "object_123",
    "filename": "filename_value",
    "mimeType": "mimeType_value",
    "pageCount": 42,
    "documentKind": "documentKind_value",
    "source": "source_value"
  }
}
```

## ocr.job.created

An OCR job was enqueued.

| Property       | Value        |
| -------------- | ------------ |
| Stability      | `stable`     |
| Required scope | `vision_ocr` |
| Resource scope | None         |

### Payload

| Field       | Type     | Required | Description                       |
| ----------- | -------- | -------- | --------------------------------- |
| `jobId`     | `string` | Yes      | OCR job identifier.               |
| `objectId`  | `string` | Yes      | The vault object being processed. |
| `vaultId`   | `string` | Yes      | -                                 |
| `pageCount` | `number` | No       | Number of pages queued for OCR.   |

### Example

```json theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
{
  "id": "evt_01HV8ZK8M7Q9YJ6P5E3P2R1A0B",
  "type": "ocr.job.created",
  "occurred_at": "2026-04-24T15:12:09.481Z",
  "data": {
    "jobId": "job_123",
    "objectId": "object_123",
    "vaultId": "vault_123",
    "pageCount": 42
  }
}
```

## ocr.job.completed

An OCR job finished successfully.

| Property       | Value        |
| -------------- | ------------ |
| Stability      | `stable`     |
| Required scope | `vision_ocr` |
| Resource scope | None         |

### Payload

| Field        | Type     | Required | Description                          |
| ------------ | -------- | -------- | ------------------------------------ |
| `jobId`      | `string` | Yes      | OCR job identifier.                  |
| `objectId`   | `string` | Yes      | The vault object being processed.    |
| `vaultId`    | `string` | Yes      | -                                    |
| `durationMs` | `number` | Yes      | Processing duration in milliseconds. |
| `pageCount`  | `number` | Yes      | Number of pages processed.           |

### Example

```json theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
{
  "id": "evt_01HV8ZK8M7Q9YJ6P5E3P2R1A0B",
  "type": "ocr.job.completed",
  "occurred_at": "2026-04-24T15:12:09.481Z",
  "data": {
    "jobId": "job_123",
    "objectId": "object_123",
    "vaultId": "vault_123",
    "durationMs": 1284,
    "pageCount": 42
  }
}
```

## ocr.job.failed

An OCR job failed.

| Property       | Value        |
| -------------- | ------------ |
| Stability      | `stable`     |
| Required scope | `vision_ocr` |
| Resource scope | None         |

### Payload

| Field      | Type     | Required | Description                       |
| ---------- | -------- | -------- | --------------------------------- |
| `jobId`    | `string` | Yes      | OCR job identifier.               |
| `objectId` | `string` | Yes      | The vault object being processed. |
| `vaultId`  | `string` | Yes      | -                                 |
| `error`    | `string` | Yes      | -                                 |

### Example

```json theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
{
  "id": "evt_01HV8ZK8M7Q9YJ6P5E3P2R1A0B",
  "type": "ocr.job.failed",
  "occurred_at": "2026-04-24T15:12:09.481Z",
  "data": {
    "jobId": "job_123",
    "objectId": "object_123",
    "vaultId": "vault_123",
    "error": "Processing failed"
  }
}
```

## voice.transcription.created

A transcription job was created.

| Property       | Value           |
| -------------- | --------------- |
| Stability      | `stable`        |
| Required scope | `transcription` |
| Resource scope | None            |

### Payload

| Field               | Type                  | Required | Description                                                                           |
| ------------------- | --------------------- | -------- | ------------------------------------------------------------------------------------- |
| `jobId`             | `string`              | Yes      | -                                                                                     |
| `vaultId`           | `string`              | No       | Vault that owns the source object, when the transcription came from a vault workflow. |
| `assemblyaiId`      | `string`              | No       | AssemblyAI transcript identifier.                                                     |
| `inputObjectId`     | `string`              | No       | Actual media object submitted to the speech provider.                                 |
| `objectId`          | `string`              | No       | Source vault object for vault-backed jobs.                                            |
| `format`            | `string`              | No       | Requested transcript output format.                                                   |
| `mode`              | `'vault' \| 'direct'` | Yes      | Transcription mode used by the request.                                               |
| `status`            | `string`              | No       | Provider status returned at job creation time.                                        |
| `speakerLabels`     | `boolean`             | No       | -                                                                                     |
| `autoHighlights`    | `boolean`             | No       | -                                                                                     |
| `contentSafety`     | `boolean`             | No       | -                                                                                     |
| `languageDetection` | `boolean`             | No       | -                                                                                     |

### Example

```json theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
{
  "id": "evt_01HV8ZK8M7Q9YJ6P5E3P2R1A0B",
  "type": "voice.transcription.created",
  "occurred_at": "2026-04-24T15:12:09.481Z",
  "data": {
    "jobId": "job_123",
    "vaultId": "vault_123",
    "assemblyaiId": "assemblyai_123",
    "inputObjectId": "inputObject_123",
    "objectId": "object_123",
    "format": "format_value",
    "mode": "vault",
    "status": "active",
    "speakerLabels": true,
    "autoHighlights": true,
    "contentSafety": true,
    "languageDetection": true
  }
}
```

## voice.transcription.reused

A completed transcription job was reused from cache.

| Property       | Value           |
| -------------- | --------------- |
| Stability      | `stable`        |
| Required scope | `transcription` |
| Resource scope | None            |

### Payload

| Field           | Type      | Required | Description                                                                           |
| --------------- | --------- | -------- | ------------------------------------------------------------------------------------- |
| `jobId`         | `string`  | Yes      | -                                                                                     |
| `vaultId`       | `string`  | No       | Vault that owns the source object, when the transcription came from a vault workflow. |
| `assemblyaiId`  | `string`  | No       | AssemblyAI transcript identifier.                                                     |
| `inputObjectId` | `string`  | No       | Actual media object submitted to the speech provider.                                 |
| `objectId`      | `string`  | Yes      | -                                                                                     |
| `format`        | `string`  | No       | -                                                                                     |
| `mode`          | `'vault'` | Yes      | -                                                                                     |
| `from_cache`    | `true`    | Yes      | -                                                                                     |
| `options_hash`  | `string`  | No       | -                                                                                     |

### Example

```json theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
{
  "id": "evt_01HV8ZK8M7Q9YJ6P5E3P2R1A0B",
  "type": "voice.transcription.reused",
  "occurred_at": "2026-04-24T15:12:09.481Z",
  "data": {
    "jobId": "job_123",
    "vaultId": "vault_123",
    "assemblyaiId": "assemblyai_123",
    "inputObjectId": "inputObject_123",
    "objectId": "object_123",
    "format": "format_value",
    "mode": "vault",
    "from_cache": true,
    "options_hash": "options_hash_value"
  }
}
```

## voice.transcription.audio\_derivative.started

Audio derivative creation started for a large Vault video.

| Property       | Value           |
| -------------- | --------------- |
| Stability      | `stable`        |
| Required scope | `transcription` |
| Resource scope | None            |

### Payload

| Field                   | Type     | Required | Description                       |
| ----------------------- | -------- | -------- | --------------------------------- |
| `jobId`                 | `string` | Yes      | -                                 |
| `vaultId`               | `string` | Yes      | -                                 |
| `assemblyaiId`          | `string` | No       | AssemblyAI transcript identifier. |
| `inputObjectId`         | `string` | Yes      | -                                 |
| `sourceObjectId`        | `string` | Yes      | -                                 |
| `error`                 | `string` | No       | -                                 |
| `sourceDurationMs`      | `number` | No       | -                                 |
| `sourceAudioDurationMs` | `number` | No       | -                                 |
| `sourceAudioStartMs`    | `number` | No       | -                                 |
| `timelineOffsetMs`      | `number` | No       | -                                 |
| `derivativeDurationMs`  | `number` | No       | -                                 |
| `durationDriftMs`       | `number` | No       | -                                 |
| `audioStreamIndex`      | `number` | No       | -                                 |

### Example

```json theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
{
  "id": "evt_01HV8ZK8M7Q9YJ6P5E3P2R1A0B",
  "type": "voice.transcription.audio_derivative.started",
  "occurred_at": "2026-04-24T15:12:09.481Z",
  "data": {
    "jobId": "job_123",
    "vaultId": "vault_123",
    "assemblyaiId": "assemblyai_123",
    "inputObjectId": "inputObject_123",
    "sourceObjectId": "sourceObject_123",
    "error": "Processing failed",
    "sourceDurationMs": 1284,
    "sourceAudioDurationMs": 1284,
    "sourceAudioStartMs": 1284,
    "timelineOffsetMs": 1284,
    "derivativeDurationMs": 1284,
    "durationDriftMs": 1284,
    "audioStreamIndex": 42
  }
}
```

## voice.transcription.audio\_derivative.completed

Audio derivative creation completed for a large Vault video.

| Property       | Value           |
| -------------- | --------------- |
| Stability      | `stable`        |
| Required scope | `transcription` |
| Resource scope | None            |

### Payload

| Field                   | Type     | Required | Description                       |
| ----------------------- | -------- | -------- | --------------------------------- |
| `jobId`                 | `string` | Yes      | -                                 |
| `vaultId`               | `string` | Yes      | -                                 |
| `assemblyaiId`          | `string` | No       | AssemblyAI transcript identifier. |
| `inputObjectId`         | `string` | Yes      | -                                 |
| `sourceObjectId`        | `string` | Yes      | -                                 |
| `error`                 | `string` | No       | -                                 |
| `sourceDurationMs`      | `number` | No       | -                                 |
| `sourceAudioDurationMs` | `number` | No       | -                                 |
| `sourceAudioStartMs`    | `number` | No       | -                                 |
| `timelineOffsetMs`      | `number` | No       | -                                 |
| `derivativeDurationMs`  | `number` | No       | -                                 |
| `durationDriftMs`       | `number` | No       | -                                 |
| `audioStreamIndex`      | `number` | No       | -                                 |

### Example

```json theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
{
  "id": "evt_01HV8ZK8M7Q9YJ6P5E3P2R1A0B",
  "type": "voice.transcription.audio_derivative.completed",
  "occurred_at": "2026-04-24T15:12:09.481Z",
  "data": {
    "jobId": "job_123",
    "vaultId": "vault_123",
    "assemblyaiId": "assemblyai_123",
    "inputObjectId": "inputObject_123",
    "sourceObjectId": "sourceObject_123",
    "error": "Processing failed",
    "sourceDurationMs": 1284,
    "sourceAudioDurationMs": 1284,
    "sourceAudioStartMs": 1284,
    "timelineOffsetMs": 1284,
    "derivativeDurationMs": 1284,
    "durationDriftMs": 1284,
    "audioStreamIndex": 42
  }
}
```

## voice.transcription.audio\_derivative.failed

Audio derivative creation failed for a large Vault video.

| Property       | Value           |
| -------------- | --------------- |
| Stability      | `stable`        |
| Required scope | `transcription` |
| Resource scope | None            |

### Payload

| Field                   | Type     | Required | Description                       |
| ----------------------- | -------- | -------- | --------------------------------- |
| `jobId`                 | `string` | Yes      | -                                 |
| `vaultId`               | `string` | Yes      | -                                 |
| `assemblyaiId`          | `string` | No       | AssemblyAI transcript identifier. |
| `inputObjectId`         | `string` | Yes      | -                                 |
| `sourceObjectId`        | `string` | Yes      | -                                 |
| `error`                 | `string` | No       | -                                 |
| `sourceDurationMs`      | `number` | No       | -                                 |
| `sourceAudioDurationMs` | `number` | No       | -                                 |
| `sourceAudioStartMs`    | `number` | No       | -                                 |
| `timelineOffsetMs`      | `number` | No       | -                                 |
| `derivativeDurationMs`  | `number` | No       | -                                 |
| `durationDriftMs`       | `number` | No       | -                                 |
| `audioStreamIndex`      | `number` | No       | -                                 |

### Example

```json theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
{
  "id": "evt_01HV8ZK8M7Q9YJ6P5E3P2R1A0B",
  "type": "voice.transcription.audio_derivative.failed",
  "occurred_at": "2026-04-24T15:12:09.481Z",
  "data": {
    "jobId": "job_123",
    "vaultId": "vault_123",
    "assemblyaiId": "assemblyai_123",
    "inputObjectId": "inputObject_123",
    "sourceObjectId": "sourceObject_123",
    "error": "Processing failed",
    "sourceDurationMs": 1284,
    "sourceAudioDurationMs": 1284,
    "sourceAudioStartMs": 1284,
    "timelineOffsetMs": 1284,
    "derivativeDurationMs": 1284,
    "durationDriftMs": 1284,
    "audioStreamIndex": 42
  }
}
```

## voice.transcription.completed

A transcription job finished successfully.

| Property       | Value           |
| -------------- | --------------- |
| Stability      | `stable`        |
| Required scope | `transcription` |
| Resource scope | None            |

### Payload

| Field                  | Type     | Required | Description                                                                           |
| ---------------------- | -------- | -------- | ------------------------------------------------------------------------------------- |
| `jobId`                | `string` | Yes      | -                                                                                     |
| `vaultId`              | `string` | No       | Vault that owns the source object, when the transcription came from a vault workflow. |
| `assemblyaiId`         | `string` | No       | AssemblyAI transcript identifier.                                                     |
| `inputObjectId`        | `string` | No       | Actual media object submitted to the speech provider.                                 |
| `sourceObjectId`       | `string` | Yes      | -                                                                                     |
| `resultObjectId`       | `string` | Yes      | -                                                                                     |
| `audioDurationSeconds` | `number` | No       | -                                                                                     |
| `wordCount`            | `number` | Yes      | -                                                                                     |
| `confidence`           | `number` | No       | -                                                                                     |
| `textLength`           | `number` | Yes      | -                                                                                     |

### Example

```json theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
{
  "id": "evt_01HV8ZK8M7Q9YJ6P5E3P2R1A0B",
  "type": "voice.transcription.completed",
  "occurred_at": "2026-04-24T15:12:09.481Z",
  "data": {
    "jobId": "job_123",
    "vaultId": "vault_123",
    "assemblyaiId": "assemblyai_123",
    "inputObjectId": "inputObject_123",
    "sourceObjectId": "sourceObject_123",
    "resultObjectId": "resultObject_123",
    "audioDurationSeconds": 42,
    "wordCount": 42,
    "confidence": 42,
    "textLength": 42
  }
}
```

## voice.transcription.failed

A transcription job failed.

| Property       | Value           |
| -------------- | --------------- |
| Stability      | `stable`        |
| Required scope | `transcription` |
| Resource scope | None            |

### Payload

| Field            | Type     | Required | Description                                                                           |
| ---------------- | -------- | -------- | ------------------------------------------------------------------------------------- |
| `jobId`          | `string` | Yes      | -                                                                                     |
| `vaultId`        | `string` | No       | Vault that owns the source object, when the transcription came from a vault workflow. |
| `assemblyaiId`   | `string` | No       | AssemblyAI transcript identifier.                                                     |
| `inputObjectId`  | `string` | No       | Actual media object submitted to the speech provider.                                 |
| `sourceObjectId` | `string` | No       | -                                                                                     |
| `error`          | `string` | Yes      | -                                                                                     |

### Example

```json theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
{
  "id": "evt_01HV8ZK8M7Q9YJ6P5E3P2R1A0B",
  "type": "voice.transcription.failed",
  "occurred_at": "2026-04-24T15:12:09.481Z",
  "data": {
    "jobId": "job_123",
    "vaultId": "vault_123",
    "assemblyaiId": "assemblyai_123",
    "inputObjectId": "inputObject_123",
    "sourceObjectId": "sourceObject_123",
    "error": "Processing failed"
  }
}
```

## voice.transcription.deleted

A transcription job was deleted.

| Property       | Value           |
| -------------- | --------------- |
| Stability      | `stable`        |
| Required scope | `transcription` |
| Resource scope | None            |

### Payload

| Field                     | Type                  | Required | Description                                                                           |
| ------------------------- | --------------------- | -------- | ------------------------------------------------------------------------------------- |
| `jobId`                   | `string`              | Yes      | -                                                                                     |
| `vaultId`                 | `string`              | No       | Vault that owns the source object, when the transcription came from a vault workflow. |
| `assemblyaiId`            | `string`              | No       | AssemblyAI transcript identifier.                                                     |
| `inputObjectId`           | `string`              | No       | Actual media object submitted to the speech provider.                                 |
| `transcriptId`            | `string`              | Yes      | -                                                                                     |
| `mode`                    | `'vault' \| 'direct'` | Yes      | -                                                                                     |
| `providerDeleted`         | `boolean`             | Yes      | -                                                                                     |
| `providerAlreadyDeleted`  | `boolean`             | Yes      | -                                                                                     |
| `providerDeleteFailed`    | `boolean`             | Yes      | -                                                                                     |
| `providerErrorStatusCode` | `number`              | No       | -                                                                                     |
| `inputObjectDeleted`      | `boolean`             | No       | -                                                                                     |
| `resultObjectDeleted`     | `boolean`             | Yes      | -                                                                                     |
| `localRecordDeleted`      | `boolean`             | Yes      | -                                                                                     |

### Example

```json theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
{
  "id": "evt_01HV8ZK8M7Q9YJ6P5E3P2R1A0B",
  "type": "voice.transcription.deleted",
  "occurred_at": "2026-04-24T15:12:09.481Z",
  "data": {
    "jobId": "job_123",
    "vaultId": "vault_123",
    "assemblyaiId": "assemblyai_123",
    "inputObjectId": "inputObject_123",
    "transcriptId": "transcript_123",
    "mode": "vault",
    "providerDeleted": true,
    "providerAlreadyDeleted": true,
    "providerDeleteFailed": true,
    "providerErrorStatusCode": 42,
    "inputObjectDeleted": true,
    "resultObjectDeleted": true,
    "localRecordDeleted": true
  }
}
```

## agent.created

An agent definition was created.

| Property       | Value   |
| -------------- | ------- |
| Stability      | `beta`  |
| Required scope | `agent` |
| Resource scope | None    |

### Payload

| Field     | Type      | Required | Description |
| --------- | --------- | -------- | ----------- |
| `name`    | `string`  | No       | -           |
| `model`   | `string`  | No       | -           |
| `adhoc`   | `boolean` | No       | -           |
| `version` | `string`  | No       | -           |

### Example

```json theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
{
  "id": "evt_01HV8ZK8M7Q9YJ6P5E3P2R1A0B",
  "type": "agent.created",
  "occurred_at": "2026-04-24T15:12:09.481Z",
  "data": {
    "name": "name_value",
    "model": "model_value",
    "adhoc": true,
    "version": "version_value"
  }
}
```

## agent.updated

An agent definition was updated.

| Property       | Value   |
| -------------- | ------- |
| Stability      | `beta`  |
| Required scope | `agent` |
| Resource scope | None    |

### Payload

| Field    | Type       | Required | Description |
| -------- | ---------- | -------- | ----------- |
| `fields` | `string[]` | Yes      | -           |

### Example

```json theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
{
  "id": "evt_01HV8ZK8M7Q9YJ6P5E3P2R1A0B",
  "type": "agent.updated",
  "occurred_at": "2026-04-24T15:12:09.481Z",
  "data": {
    "fields": ["field_123"]
  }
}
```

## agent.deleted

An agent definition was deleted.

| Property       | Value   |
| -------------- | ------- |
| Stability      | `beta`  |
| Required scope | `agent` |
| Resource scope | None    |

### Payload

| Field    | Type | Required | Description          |
| -------- | ---- | -------- | -------------------- |
| *(none)* | -    | -        | Empty `data` object. |

### Example

```json theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
{
  "id": "evt_01HV8ZK8M7Q9YJ6P5E3P2R1A0B",
  "type": "agent.deleted",
  "occurred_at": "2026-04-24T15:12:09.481Z",
  "data": {}
}
```

## agent.run.created

An agent run was created.

| Property       | Value   |
| -------------- | ------- |
| Stability      | `beta`  |
| Required scope | `agent` |
| Resource scope | None    |

### Payload

| Field          | Type     | Required | Description                                            |
| -------------- | -------- | -------- | ------------------------------------------------------ |
| `runId`        | `string` | Yes      | -                                                      |
| `agentId`      | `string` | No       | The skill or agent definition that was invoked.        |
| `source`       | `string` | No       | API surface or workflow source that emitted the event. |
| `version`      | `string` | No       | -                                                      |
| `input`        | `object` | No       | Input prompt or parameters, if safe to expose.         |
| `promptLength` | `number` | No       | -                                                      |

### Example

```json theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
{
  "id": "evt_01HV8ZK8M7Q9YJ6P5E3P2R1A0B",
  "type": "agent.run.created",
  "occurred_at": "2026-04-24T15:12:09.481Z",
  "data": {
    "runId": "run_123",
    "agentId": "agent_123",
    "source": "source_value",
    "version": "version_value",
    "input": {},
    "promptLength": 42
  }
}
```

## agent.run.started

An agent run began executing.

| Property       | Value   |
| -------------- | ------- |
| Stability      | `beta`  |
| Required scope | `agent` |
| Resource scope | None    |

### Payload

| Field        | Type      | Required | Description                                            |
| ------------ | --------- | -------- | ------------------------------------------------------ |
| `runId`      | `string`  | Yes      | -                                                      |
| `agentId`    | `string`  | No       | The skill or agent definition that was invoked.        |
| `source`     | `string`  | No       | API surface or workflow source that emitted the event. |
| `version`    | `string`  | No       | -                                                      |
| `workflowId` | `string`  | No       | -                                                      |
| `adhoc`      | `boolean` | No       | -                                                      |

### Example

```json theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
{
  "id": "evt_01HV8ZK8M7Q9YJ6P5E3P2R1A0B",
  "type": "agent.run.started",
  "occurred_at": "2026-04-24T15:12:09.481Z",
  "data": {
    "runId": "run_123",
    "agentId": "agent_123",
    "source": "source_value",
    "version": "version_value",
    "workflowId": "workflow_123",
    "adhoc": true
  }
}
```

## agent.run.completed

An agent run finished successfully.

| Property       | Value   |
| -------------- | ------- |
| Stability      | `beta`  |
| Required scope | `agent` |
| Resource scope | None    |

### Payload

| Field        | Type                                          | Required | Description                                            |
| ------------ | --------------------------------------------- | -------- | ------------------------------------------------------ |
| `runId`      | `string`                                      | Yes      | -                                                      |
| `agentId`    | `string`                                      | No       | The skill or agent definition that was invoked.        |
| `source`     | `string`                                      | No       | API surface or workflow source that emitted the event. |
| `version`    | `string`                                      | No       | -                                                      |
| `durationMs` | `number`                                      | Yes      | -                                                      |
| `usage`      | `{inputTokens: number; outputTokens: number}` | No       | Token usage summary.                                   |

### Example

```json theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
{
  "id": "evt_01HV8ZK8M7Q9YJ6P5E3P2R1A0B",
  "type": "agent.run.completed",
  "occurred_at": "2026-04-24T15:12:09.481Z",
  "data": {
    "runId": "run_123",
    "agentId": "agent_123",
    "source": "source_value",
    "version": "version_value",
    "durationMs": 1284,
    "usage": { "inputTokens": 123, "outputTokens": 456 }
  }
}
```

## agent.run.failed

An agent run failed.

| Property       | Value   |
| -------------- | ------- |
| Stability      | `beta`  |
| Required scope | `agent` |
| Resource scope | None    |

### Payload

| Field     | Type      | Required | Description                                            |
| --------- | --------- | -------- | ------------------------------------------------------ |
| `runId`   | `string`  | Yes      | -                                                      |
| `agentId` | `string`  | No       | The skill or agent definition that was invoked.        |
| `source`  | `string`  | No       | API surface or workflow source that emitted the event. |
| `version` | `string`  | No       | -                                                      |
| `adhoc`   | `boolean` | No       | -                                                      |
| `runtime` | `string`  | No       | -                                                      |
| `error`   | `string`  | Yes      | -                                                      |

### Example

```json theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
{
  "id": "evt_01HV8ZK8M7Q9YJ6P5E3P2R1A0B",
  "type": "agent.run.failed",
  "occurred_at": "2026-04-24T15:12:09.481Z",
  "data": {
    "runId": "run_123",
    "agentId": "agent_123",
    "source": "source_value",
    "version": "version_value",
    "adhoc": true,
    "runtime": "runtime_value",
    "error": "Processing failed"
  }
}
```

## agent.run.cancelled

An agent run was cancelled.

| Property       | Value   |
| -------------- | ------- |
| Stability      | `beta`  |
| Required scope | `agent` |
| Resource scope | None    |

### Payload

| Field     | Type     | Required | Description                                            |
| --------- | -------- | -------- | ------------------------------------------------------ |
| `runId`   | `string` | Yes      | -                                                      |
| `agentId` | `string` | No       | The skill or agent definition that was invoked.        |
| `source`  | `string` | No       | API surface or workflow source that emitted the event. |
| `version` | `string` | No       | -                                                      |
| `reason`  | `string` | No       | Cancellation reason, if one was provided.              |

### Example

```json theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
{
  "id": "evt_01HV8ZK8M7Q9YJ6P5E3P2R1A0B",
  "type": "agent.run.cancelled",
  "occurred_at": "2026-04-24T15:12:09.481Z",
  "data": {
    "runId": "run_123",
    "agentId": "agent_123",
    "source": "source_value",
    "version": "version_value",
    "reason": "reason_value"
  }
}
```

## agent.runtime.started

An agent chat runtime sandbox was started.

| Property       | Value   |
| -------------- | ------- |
| Stability      | `beta`  |
| Required scope | `agent` |
| Resource scope | None    |

### Payload

| Field             | Type             | Required | Description |
| ----------------- | ---------------- | -------- | ----------- |
| `chatId`          | `string`         | Yes      | -           |
| `runtimeProvider` | `string`         | No       | -           |
| `runtimeId`       | `string \| null` | No       | -           |
| `runtimeState`    | `string \| null` | No       | -           |
| `sessionId`       | `string \| null` | No       | -           |
| `error`           | `string`         | No       | -           |

### Example

```json theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
{
  "id": "evt_01HV8ZK8M7Q9YJ6P5E3P2R1A0B",
  "type": "agent.runtime.started",
  "occurred_at": "2026-04-24T15:12:09.481Z",
  "data": {
    "chatId": "chat_123",
    "runtimeProvider": "runtimeProvider_value",
    "runtimeId": "runtime_123",
    "runtimeState": "runtimeState_value",
    "sessionId": "session_123",
    "error": "Processing failed"
  }
}
```

## agent.runtime.reused

An existing agent chat runtime sandbox was reused.

| Property       | Value   |
| -------------- | ------- |
| Stability      | `beta`  |
| Required scope | `agent` |
| Resource scope | None    |

### Payload

| Field             | Type             | Required | Description |
| ----------------- | ---------------- | -------- | ----------- |
| `chatId`          | `string`         | Yes      | -           |
| `runtimeProvider` | `string`         | No       | -           |
| `runtimeId`       | `string \| null` | No       | -           |
| `runtimeState`    | `string \| null` | No       | -           |
| `sessionId`       | `string \| null` | No       | -           |
| `error`           | `string`         | No       | -           |

### Example

```json theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
{
  "id": "evt_01HV8ZK8M7Q9YJ6P5E3P2R1A0B",
  "type": "agent.runtime.reused",
  "occurred_at": "2026-04-24T15:12:09.481Z",
  "data": {
    "chatId": "chat_123",
    "runtimeProvider": "runtimeProvider_value",
    "runtimeId": "runtime_123",
    "runtimeState": "runtimeState_value",
    "sessionId": "session_123",
    "error": "Processing failed"
  }
}
```

## agent.runtime.failed

An agent chat runtime sandbox failed to start or resume.

| Property       | Value   |
| -------------- | ------- |
| Stability      | `beta`  |
| Required scope | `agent` |
| Resource scope | None    |

### Payload

| Field             | Type             | Required | Description |
| ----------------- | ---------------- | -------- | ----------- |
| `chatId`          | `string`         | Yes      | -           |
| `runtimeProvider` | `string`         | No       | -           |
| `runtimeId`       | `string \| null` | No       | -           |
| `runtimeState`    | `string \| null` | No       | -           |
| `sessionId`       | `string \| null` | No       | -           |
| `error`           | `string`         | No       | -           |

### Example

```json theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
{
  "id": "evt_01HV8ZK8M7Q9YJ6P5E3P2R1A0B",
  "type": "agent.runtime.failed",
  "occurred_at": "2026-04-24T15:12:09.481Z",
  "data": {
    "chatId": "chat_123",
    "runtimeProvider": "runtimeProvider_value",
    "runtimeId": "runtime_123",
    "runtimeState": "runtimeState_value",
    "sessionId": "session_123",
    "error": "Processing failed"
  }
}
```

## agent.scope.activated

A chat session scope was activated for the requested matter or vault authority.

| Property       | Value   |
| -------------- | ------- |
| Stability      | `beta`  |
| Required scope | `agent` |
| Resource scope | None    |

### Payload

| Field             | Type               | Required | Description |
| ----------------- | ------------------ | -------- | ----------- |
| `chatId`          | `string`           | Yes      | -           |
| `runtimeProvider` | `string`           | No       | -           |
| `runtimeId`       | `string \| null`   | No       | -           |
| `runtimeState`    | `string \| null`   | No       | -           |
| `sessionId`       | `string \| null`   | No       | -           |
| `vaultIds`        | `string[] \| null` | No       | -           |
| `matterIds`       | `string[] \| null` | No       | -           |
| `error`           | `string`           | No       | -           |

### Example

```json theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
{
  "id": "evt_01HV8ZK8M7Q9YJ6P5E3P2R1A0B",
  "type": "agent.scope.activated",
  "occurred_at": "2026-04-24T15:12:09.481Z",
  "data": {
    "chatId": "chat_123",
    "runtimeProvider": "runtimeProvider_value",
    "runtimeId": "runtime_123",
    "runtimeState": "runtimeState_value",
    "sessionId": "session_123",
    "vaultIds": ["vaultId_123"],
    "matterIds": ["matterId_123"],
    "error": "Processing failed"
  }
}
```

## agent.scope.activation\_failed

A chat session scope failed to activate.

| Property       | Value   |
| -------------- | ------- |
| Stability      | `beta`  |
| Required scope | `agent` |
| Resource scope | None    |

### Payload

| Field             | Type               | Required | Description |
| ----------------- | ------------------ | -------- | ----------- |
| `chatId`          | `string`           | Yes      | -           |
| `runtimeProvider` | `string`           | No       | -           |
| `runtimeId`       | `string \| null`   | No       | -           |
| `runtimeState`    | `string \| null`   | No       | -           |
| `sessionId`       | `string \| null`   | No       | -           |
| `vaultIds`        | `string[] \| null` | No       | -           |
| `matterIds`       | `string[] \| null` | No       | -           |
| `error`           | `string`           | No       | -           |

### Example

```json theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
{
  "id": "evt_01HV8ZK8M7Q9YJ6P5E3P2R1A0B",
  "type": "agent.scope.activation_failed",
  "occurred_at": "2026-04-24T15:12:09.481Z",
  "data": {
    "chatId": "chat_123",
    "runtimeProvider": "runtimeProvider_value",
    "runtimeId": "runtime_123",
    "runtimeState": "runtimeState_value",
    "sessionId": "session_123",
    "vaultIds": ["vaultId_123"],
    "matterIds": ["matterId_123"],
    "error": "Processing failed"
  }
}
```

## agent.scope.reused

An existing chat session scope was reused.

| Property       | Value   |
| -------------- | ------- |
| Stability      | `beta`  |
| Required scope | `agent` |
| Resource scope | None    |

### Payload

| Field             | Type               | Required | Description |
| ----------------- | ------------------ | -------- | ----------- |
| `chatId`          | `string`           | Yes      | -           |
| `runtimeProvider` | `string`           | No       | -           |
| `runtimeId`       | `string \| null`   | No       | -           |
| `runtimeState`    | `string \| null`   | No       | -           |
| `sessionId`       | `string \| null`   | No       | -           |
| `vaultIds`        | `string[] \| null` | No       | -           |
| `matterIds`       | `string[] \| null` | No       | -           |
| `error`           | `string`           | No       | -           |

### Example

```json theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
{
  "id": "evt_01HV8ZK8M7Q9YJ6P5E3P2R1A0B",
  "type": "agent.scope.reused",
  "occurred_at": "2026-04-24T15:12:09.481Z",
  "data": {
    "chatId": "chat_123",
    "runtimeProvider": "runtimeProvider_value",
    "runtimeId": "runtime_123",
    "runtimeState": "runtimeState_value",
    "sessionId": "session_123",
    "vaultIds": ["vaultId_123"],
    "matterIds": ["matterId_123"],
    "error": "Processing failed"
  }
}
```

## agent.worker.ready

The agent worker inside a chat runtime is ready to accept work.

| Property       | Value   |
| -------------- | ------- |
| Stability      | `beta`  |
| Required scope | `agent` |
| Resource scope | None    |

### Payload

| Field             | Type             | Required | Description |
| ----------------- | ---------------- | -------- | ----------- |
| `chatId`          | `string`         | Yes      | -           |
| `runtimeProvider` | `string`         | No       | -           |
| `runtimeId`       | `string \| null` | No       | -           |
| `runtimeState`    | `string \| null` | No       | -           |
| `sessionId`       | `string \| null` | No       | -           |
| `error`           | `string`         | No       | -           |

### Example

```json theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
{
  "id": "evt_01HV8ZK8M7Q9YJ6P5E3P2R1A0B",
  "type": "agent.worker.ready",
  "occurred_at": "2026-04-24T15:12:09.481Z",
  "data": {
    "chatId": "chat_123",
    "runtimeProvider": "runtimeProvider_value",
    "runtimeId": "runtime_123",
    "runtimeState": "runtimeState_value",
    "sessionId": "session_123",
    "error": "Processing failed"
  }
}
```

## agent.worker.failed

The agent worker inside a chat runtime failed to become available.

| Property       | Value   |
| -------------- | ------- |
| Stability      | `beta`  |
| Required scope | `agent` |
| Resource scope | None    |

### Payload

| Field             | Type             | Required | Description |
| ----------------- | ---------------- | -------- | ----------- |
| `chatId`          | `string`         | Yes      | -           |
| `runtimeProvider` | `string`         | No       | -           |
| `runtimeId`       | `string \| null` | No       | -           |
| `runtimeState`    | `string \| null` | No       | -           |
| `sessionId`       | `string \| null` | No       | -           |
| `error`           | `string`         | No       | -           |

### Example

```json theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
{
  "id": "evt_01HV8ZK8M7Q9YJ6P5E3P2R1A0B",
  "type": "agent.worker.failed",
  "occurred_at": "2026-04-24T15:12:09.481Z",
  "data": {
    "chatId": "chat_123",
    "runtimeProvider": "runtimeProvider_value",
    "runtimeId": "runtime_123",
    "runtimeState": "runtimeState_value",
    "sessionId": "session_123",
    "error": "Processing failed"
  }
}
```

## agent.chat.session.created

An agent chat session was created.

| Property       | Value   |
| -------------- | ------- |
| Stability      | `beta`  |
| Required scope | `agent` |
| Resource scope | None    |

### Payload

| Field             | Type             | Required | Description |
| ----------------- | ---------------- | -------- | ----------- |
| `chatId`          | `string`         | Yes      | -           |
| `runtimeProvider` | `string`         | No       | -           |
| `runtimeId`       | `string \| null` | No       | -           |
| `runtimeState`    | `string \| null` | No       | -           |
| `sessionId`       | `string \| null` | No       | -           |
| `title`           | `string \| null` | No       | -           |
| `model`           | `string \| null` | No       | -           |
| `reason`          | `string \| null` | No       | -           |

### Example

```json theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
{
  "id": "evt_01HV8ZK8M7Q9YJ6P5E3P2R1A0B",
  "type": "agent.chat.session.created",
  "occurred_at": "2026-04-24T15:12:09.481Z",
  "data": {
    "chatId": "chat_123",
    "runtimeProvider": "runtimeProvider_value",
    "runtimeId": "runtime_123",
    "runtimeState": "runtimeState_value",
    "sessionId": "session_123",
    "title": "title_value",
    "model": "model_value",
    "reason": "reason_value"
  }
}
```

## agent.chat.session.resumed

An agent chat session was resumed.

| Property       | Value   |
| -------------- | ------- |
| Stability      | `beta`  |
| Required scope | `agent` |
| Resource scope | None    |

### Payload

| Field             | Type             | Required | Description |
| ----------------- | ---------------- | -------- | ----------- |
| `chatId`          | `string`         | Yes      | -           |
| `runtimeProvider` | `string`         | No       | -           |
| `runtimeId`       | `string \| null` | No       | -           |
| `runtimeState`    | `string \| null` | No       | -           |
| `sessionId`       | `string \| null` | No       | -           |
| `title`           | `string \| null` | No       | -           |
| `model`           | `string \| null` | No       | -           |
| `reason`          | `string \| null` | No       | -           |

### Example

```json theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
{
  "id": "evt_01HV8ZK8M7Q9YJ6P5E3P2R1A0B",
  "type": "agent.chat.session.resumed",
  "occurred_at": "2026-04-24T15:12:09.481Z",
  "data": {
    "chatId": "chat_123",
    "runtimeProvider": "runtimeProvider_value",
    "runtimeId": "runtime_123",
    "runtimeState": "runtimeState_value",
    "sessionId": "session_123",
    "title": "title_value",
    "model": "model_value",
    "reason": "reason_value"
  }
}
```

## agent.chat.session.aborted

An active agent chat generation was aborted.

| Property       | Value   |
| -------------- | ------- |
| Stability      | `beta`  |
| Required scope | `agent` |
| Resource scope | None    |

### Payload

| Field             | Type             | Required | Description |
| ----------------- | ---------------- | -------- | ----------- |
| `chatId`          | `string`         | Yes      | -           |
| `runtimeProvider` | `string`         | No       | -           |
| `runtimeId`       | `string \| null` | No       | -           |
| `runtimeState`    | `string \| null` | No       | -           |
| `sessionId`       | `string \| null` | No       | -           |
| `title`           | `string \| null` | No       | -           |
| `model`           | `string \| null` | No       | -           |
| `reason`          | `string \| null` | No       | -           |

### Example

```json theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
{
  "id": "evt_01HV8ZK8M7Q9YJ6P5E3P2R1A0B",
  "type": "agent.chat.session.aborted",
  "occurred_at": "2026-04-24T15:12:09.481Z",
  "data": {
    "chatId": "chat_123",
    "runtimeProvider": "runtimeProvider_value",
    "runtimeId": "runtime_123",
    "runtimeState": "runtimeState_value",
    "sessionId": "session_123",
    "title": "title_value",
    "model": "model_value",
    "reason": "reason_value"
  }
}
```

## agent.chat.turn.accepted

An agent chat turn was accepted for processing.

| Property       | Value   |
| -------------- | ------- |
| Stability      | `beta`  |
| Required scope | `agent` |
| Resource scope | None    |

### Payload

| Field             | Type             | Required | Description |
| ----------------- | ---------------- | -------- | ----------- |
| `chatId`          | `string`         | Yes      | -           |
| `runtimeProvider` | `string`         | No       | -           |
| `runtimeId`       | `string \| null` | No       | -           |
| `runtimeState`    | `string \| null` | No       | -           |
| `sessionId`       | `string \| null` | No       | -           |
| `turnId`          | `string`         | Yes      | -           |
| `messageId`       | `string \| null` | No       | -           |
| `finishReason`    | `string \| null` | No       | -           |
| `error`           | `string`         | No       | -           |

### Example

```json theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
{
  "id": "evt_01HV8ZK8M7Q9YJ6P5E3P2R1A0B",
  "type": "agent.chat.turn.accepted",
  "occurred_at": "2026-04-24T15:12:09.481Z",
  "data": {
    "chatId": "chat_123",
    "runtimeProvider": "runtimeProvider_value",
    "runtimeId": "runtime_123",
    "runtimeState": "runtimeState_value",
    "sessionId": "session_123",
    "turnId": "turn_123",
    "messageId": "message_123",
    "finishReason": "finishReason_value",
    "error": "Processing failed"
  }
}
```

## agent.chat.turn.started

An agent chat turn began executing.

| Property       | Value   |
| -------------- | ------- |
| Stability      | `beta`  |
| Required scope | `agent` |
| Resource scope | None    |

### Payload

| Field             | Type             | Required | Description |
| ----------------- | ---------------- | -------- | ----------- |
| `chatId`          | `string`         | Yes      | -           |
| `runtimeProvider` | `string`         | No       | -           |
| `runtimeId`       | `string \| null` | No       | -           |
| `runtimeState`    | `string \| null` | No       | -           |
| `sessionId`       | `string \| null` | No       | -           |
| `turnId`          | `string`         | Yes      | -           |
| `messageId`       | `string \| null` | No       | -           |
| `finishReason`    | `string \| null` | No       | -           |
| `error`           | `string`         | No       | -           |

### Example

```json theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
{
  "id": "evt_01HV8ZK8M7Q9YJ6P5E3P2R1A0B",
  "type": "agent.chat.turn.started",
  "occurred_at": "2026-04-24T15:12:09.481Z",
  "data": {
    "chatId": "chat_123",
    "runtimeProvider": "runtimeProvider_value",
    "runtimeId": "runtime_123",
    "runtimeState": "runtimeState_value",
    "sessionId": "session_123",
    "turnId": "turn_123",
    "messageId": "message_123",
    "finishReason": "finishReason_value",
    "error": "Processing failed"
  }
}
```

## agent.chat.turn.completed

An agent chat turn completed successfully.

| Property       | Value   |
| -------------- | ------- |
| Stability      | `beta`  |
| Required scope | `agent` |
| Resource scope | None    |

### Payload

| Field             | Type             | Required | Description |
| ----------------- | ---------------- | -------- | ----------- |
| `chatId`          | `string`         | Yes      | -           |
| `runtimeProvider` | `string`         | No       | -           |
| `runtimeId`       | `string \| null` | No       | -           |
| `runtimeState`    | `string \| null` | No       | -           |
| `sessionId`       | `string \| null` | No       | -           |
| `turnId`          | `string`         | Yes      | -           |
| `messageId`       | `string \| null` | No       | -           |
| `finishReason`    | `string \| null` | No       | -           |
| `error`           | `string`         | No       | -           |

### Example

```json theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
{
  "id": "evt_01HV8ZK8M7Q9YJ6P5E3P2R1A0B",
  "type": "agent.chat.turn.completed",
  "occurred_at": "2026-04-24T15:12:09.481Z",
  "data": {
    "chatId": "chat_123",
    "runtimeProvider": "runtimeProvider_value",
    "runtimeId": "runtime_123",
    "runtimeState": "runtimeState_value",
    "sessionId": "session_123",
    "turnId": "turn_123",
    "messageId": "message_123",
    "finishReason": "finishReason_value",
    "error": "Processing failed"
  }
}
```

## agent.chat.turn.failed

An agent chat turn failed.

| Property       | Value   |
| -------------- | ------- |
| Stability      | `beta`  |
| Required scope | `agent` |
| Resource scope | None    |

### Payload

| Field             | Type             | Required | Description |
| ----------------- | ---------------- | -------- | ----------- |
| `chatId`          | `string`         | Yes      | -           |
| `runtimeProvider` | `string`         | No       | -           |
| `runtimeId`       | `string \| null` | No       | -           |
| `runtimeState`    | `string \| null` | No       | -           |
| `sessionId`       | `string \| null` | No       | -           |
| `turnId`          | `string`         | Yes      | -           |
| `messageId`       | `string \| null` | No       | -           |
| `finishReason`    | `string \| null` | No       | -           |
| `error`           | `string`         | No       | -           |

### Example

```json theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
{
  "id": "evt_01HV8ZK8M7Q9YJ6P5E3P2R1A0B",
  "type": "agent.chat.turn.failed",
  "occurred_at": "2026-04-24T15:12:09.481Z",
  "data": {
    "chatId": "chat_123",
    "runtimeProvider": "runtimeProvider_value",
    "runtimeId": "runtime_123",
    "runtimeState": "runtimeState_value",
    "sessionId": "session_123",
    "turnId": "turn_123",
    "messageId": "message_123",
    "finishReason": "finishReason_value",
    "error": "Processing failed"
  }
}
```

## agent.chat.turn.conflict

An agent chat turn was rejected because another turn was active.

| Property       | Value   |
| -------------- | ------- |
| Stability      | `beta`  |
| Required scope | `agent` |
| Resource scope | None    |

### Payload

| Field             | Type             | Required | Description |
| ----------------- | ---------------- | -------- | ----------- |
| `chatId`          | `string`         | Yes      | -           |
| `runtimeProvider` | `string`         | No       | -           |
| `runtimeId`       | `string \| null` | No       | -           |
| `runtimeState`    | `string \| null` | No       | -           |
| `sessionId`       | `string \| null` | No       | -           |
| `turnId`          | `string`         | Yes      | -           |
| `messageId`       | `string \| null` | No       | -           |
| `finishReason`    | `string \| null` | No       | -           |
| `error`           | `string`         | No       | -           |

### Example

```json theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
{
  "id": "evt_01HV8ZK8M7Q9YJ6P5E3P2R1A0B",
  "type": "agent.chat.turn.conflict",
  "occurred_at": "2026-04-24T15:12:09.481Z",
  "data": {
    "chatId": "chat_123",
    "runtimeProvider": "runtimeProvider_value",
    "runtimeId": "runtime_123",
    "runtimeState": "runtimeState_value",
    "sessionId": "session_123",
    "turnId": "turn_123",
    "messageId": "message_123",
    "finishReason": "finishReason_value",
    "error": "Processing failed"
  }
}
```

## linc.session.ended

A native Linc session reached a terminal state (user\_deleted, completed, failed, cancelled, runtime\_crashed, timed\_out).

| Property       | Value   |
| -------------- | ------- |
| Stability      | `beta`  |
| Required scope | `agent` |
| Resource scope | None    |

### Payload

| Field             | Type                                | Required | Description |
| ----------------- | ----------------------------------- | -------- | ----------- |
| `sessionId`       | `string`                            | Yes      | -           |
| `runtimeProvider` | `string`                            | Yes      | -           |
| `runtimeId`       | `string \| null`                    | No       | -           |
| `model`           | `string \| null`                    | No       | -           |
| `title`           | `string \| null`                    | No       | -           |
| `organizationId`  | `string \| null`                    | No       | -           |
| `terminalStatus`  | `'done' \| 'failed' \| 'cancelled'` | No       | -           |
| `reason`          | `LincSessionEndedReason`            | Yes      | -           |
| `error`           | `string \| null`                    | No       | -           |
| `endedAt`         | `string`                            | Yes      | -           |
| `lastEventSeq`    | `number`                            | Yes      | -           |
| `replayUrl`       | `string \| null`                    | No       | -           |
| `resultMetadata`  | `object \| null`                    | No       | -           |

### Example

```json theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
{
  "id": "evt_01HV8ZK8M7Q9YJ6P5E3P2R1A0B",
  "type": "linc.session.ended",
  "occurred_at": "2026-04-24T15:12:09.481Z",
  "data": {
    "sessionId": "session_123",
    "runtimeProvider": "runtimeProvider_value",
    "runtimeId": "runtime_123",
    "model": "model_value",
    "title": "title_value",
    "organizationId": "organization_123",
    "terminalStatus": "terminalStatus_value",
    "reason": "reason_value",
    "error": "Processing failed",
    "endedAt": "endedAt_value",
    "lastEventSeq": 42,
    "replayUrl": "replayUrl_value",
    "resultMetadata": {}
  }
}
```

## linc.session.turn.completed

A native Linc session completed an assistant turn.

| Property       | Value   |
| -------------- | ------- |
| Stability      | `beta`  |
| Required scope | `agent` |
| Resource scope | None    |

### Payload

| Field             | Type             | Required | Description |
| ----------------- | ---------------- | -------- | ----------- |
| `sessionId`       | `string`         | Yes      | -           |
| `runtimeProvider` | `string`         | Yes      | -           |
| `runtimeId`       | `string \| null` | No       | -           |
| `model`           | `string \| null` | No       | -           |
| `title`           | `string \| null` | No       | -           |
| `organizationId`  | `string \| null` | No       | -           |
| `turnId`          | `string`         | Yes      | -           |
| `turnSeq`         | `number`         | Yes      | -           |
| `message`         | `object`         | Yes      | -           |
| `usage`           | `unknown`        | No       | -           |
| `finishReason`    | `string \| null` | No       | -           |
| `completedAt`     | `string`         | Yes      | -           |
| `lastEventSeq`    | `number`         | Yes      | -           |

### Example

```json theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
{
  "id": "evt_01HV8ZK8M7Q9YJ6P5E3P2R1A0B",
  "type": "linc.session.turn.completed",
  "occurred_at": "2026-04-24T15:12:09.481Z",
  "data": {
    "sessionId": "session_123",
    "runtimeProvider": "runtimeProvider_value",
    "runtimeId": "runtime_123",
    "model": "model_value",
    "title": "title_value",
    "organizationId": "organization_123",
    "turnId": "turn_123",
    "turnSeq": 42,
    "message": {},
    "usage": { "inputTokens": 123, "outputTokens": 456 },
    "finishReason": "finishReason_value",
    "completedAt": "completedAt_value",
    "lastEventSeq": 42
  }
}
```

## matter.created

A matter was created.

| Property       | Value    |
| -------------- | -------- |
| Stability      | `beta`   |
| Required scope | `legal`  |
| Resource scope | `matter` |

### Payload

| Field      | Type     | Required | Description                     |
| ---------- | -------- | -------- | ------------------------------- |
| `matterId` | `string` | Yes      | -                               |
| `title`    | `string` | No       | Human-readable matter title.    |
| `status`   | `string` | Yes      | Matter status at creation time. |

### Example

```json theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
{
  "id": "evt_01HV8ZK8M7Q9YJ6P5E3P2R1A0B",
  "type": "matter.created",
  "occurred_at": "2026-04-24T15:12:09.481Z",
  "data": {
    "matterId": "matter_123",
    "title": "title_value",
    "status": "active"
  }
}
```

## matter.updated

A matter was updated.

| Property       | Value    |
| -------------- | -------- |
| Stability      | `beta`   |
| Required scope | `legal`  |
| Resource scope | `matter` |

### Payload

| Field                 | Type     | Required | Description                                                                                        |
| --------------------- | -------- | -------- | -------------------------------------------------------------------------------------------------- |
| `matterId`            | `string` | Yes      | -                                                                                                  |
| `object`              | `object` | Yes      | Current state of the matter.                                                                       |
| `previous_attributes` | `object` | No       | Only-changed fields with their previous values. Present when the emitter supports change tracking. |

### Example

```json theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
{
  "id": "evt_01HV8ZK8M7Q9YJ6P5E3P2R1A0B",
  "type": "matter.updated",
  "occurred_at": "2026-04-24T15:12:09.481Z",
  "data": {
    "matterId": "matter_123",
    "object": {},
    "previous_attributes": {}
  }
}
```

## work\_item.execution.completed

A matter work item finished execution.

| Property       | Value    |
| -------------- | -------- |
| Stability      | `beta`   |
| Required scope | `legal`  |
| Resource scope | `matter` |

### Payload

| Field        | Type     | Required | Description |
| ------------ | -------- | -------- | ----------- |
| `matterId`   | `string` | Yes      | -           |
| `workItemId` | `string` | Yes      | -           |
| `durationMs` | `number` | Yes      | -           |

### Example

```json theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
{
  "id": "evt_01HV8ZK8M7Q9YJ6P5E3P2R1A0B",
  "type": "work_item.execution.completed",
  "occurred_at": "2026-04-24T15:12:09.481Z",
  "data": {
    "matterId": "matter_123",
    "workItemId": "workItem_123",
    "durationMs": 1284
  }
}
```

## work\_item.execution.failed

A matter work item execution failed.

| Property       | Value    |
| -------------- | -------- |
| Stability      | `beta`   |
| Required scope | `legal`  |
| Resource scope | `matter` |

### Payload

| Field        | Type     | Required | Description |
| ------------ | -------- | -------- | ----------- |
| `matterId`   | `string` | Yes      | -           |
| `workItemId` | `string` | Yes      | -           |
| `error`      | `string` | Yes      | -           |

### Example

```json theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
{
  "id": "evt_01HV8ZK8M7Q9YJ6P5E3P2R1A0B",
  "type": "work_item.execution.failed",
  "occurred_at": "2026-04-24T15:12:09.481Z",
  "data": {
    "matterId": "matter_123",
    "workItemId": "workItem_123",
    "error": "Processing failed"
  }
}
```

## billing.charge.succeeded

A billing charge succeeded.

| Property       | Value      |
| -------------- | ---------- |
| Stability      | `stable`   |
| Required scope | `webhooks` |
| Resource scope | None       |

### Payload

| Field         | Type     | Required | Description                  |
| ------------- | -------- | -------- | ---------------------------- |
| `chargeId`    | `string` | Yes      | Stripe charge or invoice ID. |
| `amountCents` | `number` | Yes      | Amount in cents.             |
| `currency`    | `string` | Yes      | ISO 4217 currency code.      |

### Example

```json theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
{
  "id": "evt_01HV8ZK8M7Q9YJ6P5E3P2R1A0B",
  "type": "billing.charge.succeeded",
  "occurred_at": "2026-04-24T15:12:09.481Z",
  "data": {
    "chargeId": "charge_123",
    "amountCents": 2500,
    "currency": "usd"
  }
}
```

## billing.charge.failed

A billing charge failed.

| Property       | Value      |
| -------------- | ---------- |
| Stability      | `stable`   |
| Required scope | `webhooks` |
| Resource scope | None       |

### Payload

| Field         | Type     | Required | Description |
| ------------- | -------- | -------- | ----------- |
| `chargeId`    | `string` | Yes      | -           |
| `amountCents` | `number` | Yes      | -           |
| `currency`    | `string` | Yes      | -           |
| `error`       | `string` | Yes      | -           |

### Example

```json theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
{
  "id": "evt_01HV8ZK8M7Q9YJ6P5E3P2R1A0B",
  "type": "billing.charge.failed",
  "occurred_at": "2026-04-24T15:12:09.481Z",
  "data": {
    "chargeId": "charge_123",
    "amountCents": 2500,
    "currency": "usd",
    "error": "Processing failed"
  }
}
```

## balance.changed

The organization credit balance changed.

| Property       | Value      |
| -------------- | ---------- |
| Stability      | `stable`   |
| Required scope | `webhooks` |
| Resource scope | None       |

### Payload

| Field          | Type     | Required | Description                                                   |
| -------------- | -------- | -------- | ------------------------------------------------------------- |
| `balanceCents` | `number` | Yes      | New credit balance in cents.                                  |
| `deltaCents`   | `number` | Yes      | Change amount (positive = credit added, negative = deducted). |
| `reason`       | `string` | No       | Reason for the change (e.g. 'charge', 'top\_up', 'promo').    |

### Example

```json theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
{
  "id": "evt_01HV8ZK8M7Q9YJ6P5E3P2R1A0B",
  "type": "balance.changed",
  "occurred_at": "2026-04-24T15:12:09.481Z",
  "data": {
    "balanceCents": 2500,
    "deltaCents": 2500,
    "reason": "reason_value"
  }
}
```

## compute.run.completed

A compute function run completed successfully.

| Property       | Value     |
| -------------- | --------- |
| Stability      | `stable`  |
| Required scope | `compute` |
| Resource scope | None      |

### Payload

| Field        | Type     | Required | Description                        |
| ------------ | -------- | -------- | ---------------------------------- |
| `runId`      | `string` | Yes      | -                                  |
| `functionId` | `string` | Yes      | -                                  |
| `durationMs` | `number` | Yes      | -                                  |
| `exitCode`   | `number` | No       | Exit code of the compute function. |

### Example

```json theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
{
  "id": "evt_01HV8ZK8M7Q9YJ6P5E3P2R1A0B",
  "type": "compute.run.completed",
  "occurred_at": "2026-04-24T15:12:09.481Z",
  "data": {
    "runId": "run_123",
    "functionId": "function_123",
    "durationMs": 1284,
    "exitCode": 42
  }
}
```

## compute.run.failed

A compute function run failed.

| Property       | Value     |
| -------------- | --------- |
| Stability      | `stable`  |
| Required scope | `compute` |
| Resource scope | None      |

### Payload

| Field        | Type     | Required | Description |
| ------------ | -------- | -------- | ----------- |
| `runId`      | `string` | Yes      | -           |
| `functionId` | `string` | Yes      | -           |
| `error`      | `string` | Yes      | -           |
| `exitCode`   | `number` | No       | -           |

### Example

```json theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
{
  "id": "evt_01HV8ZK8M7Q9YJ6P5E3P2R1A0B",
  "type": "compute.run.failed",
  "occurred_at": "2026-04-24T15:12:09.481Z",
  "data": {
    "runId": "run_123",
    "functionId": "function_123",
    "error": "Processing failed",
    "exitCode": 42
  }
}
```

## deployment.succeeded

A deployment succeeded.

| Property       | Value      |
| -------------- | ---------- |
| Stability      | `stable`   |
| Required scope | `webhooks` |
| Resource scope | None       |

### Payload

| Field          | Type     | Required | Description                      |
| -------------- | -------- | -------- | -------------------------------- |
| `deploymentId` | `string` | Yes      | -                                |
| `appName`      | `string` | No       | Application or project name.     |
| `url`          | `string` | No       | URL of the deployed application. |
| `durationMs`   | `number` | No       | -                                |

### Example

```json theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
{
  "id": "evt_01HV8ZK8M7Q9YJ6P5E3P2R1A0B",
  "type": "deployment.succeeded",
  "occurred_at": "2026-04-24T15:12:09.481Z",
  "data": {
    "deploymentId": "deployment_123",
    "appName": "appName_value",
    "url": "url_value",
    "durationMs": 1284
  }
}
```

## deployment.failed

A deployment failed.

| Property       | Value      |
| -------------- | ---------- |
| Stability      | `stable`   |
| Required scope | `webhooks` |
| Resource scope | None       |

### Payload

| Field          | Type     | Required | Description                  |
| -------------- | -------- | -------- | ---------------------------- |
| `deploymentId` | `string` | Yes      | -                            |
| `appName`      | `string` | No       | Application or project name. |
| `error`        | `string` | Yes      | -                            |

### Example

```json theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
{
  "id": "evt_01HV8ZK8M7Q9YJ6P5E3P2R1A0B",
  "type": "deployment.failed",
  "occurred_at": "2026-04-24T15:12:09.481Z",
  "data": {
    "deploymentId": "deployment_123",
    "appName": "appName_value",
    "error": "Processing failed"
  }
}
```

## webhook.endpoint.auto\_disabled

A webhook endpoint was automatically disabled after too many consecutive delivery failures. Subscribe to this to be notified when a downstream customer endpoint starts failing.

| Property       | Value      |
| -------------- | ---------- |
| Stability      | `stable`   |
| Required scope | `webhooks` |
| Resource scope | None       |

### Payload

| Field                 | Type     | Required | Description                                                |
| --------------------- | -------- | -------- | ---------------------------------------------------------- |
| `endpointId`          | `string` | Yes      | The endpoint that was disabled.                            |
| `url`                 | `string` | Yes      | URL of the disabled endpoint.                              |
| `consecutiveFailures` | `number` | Yes      | Number of consecutive failures that triggered the disable. |
| `lastFailureAt`       | `string` | Yes      | Timestamp of the last failed delivery attempt.             |

### Example

```json theme={"theme":{"light":"github-light","dark":"one-dark-pro"}}
{
  "id": "evt_01HV8ZK8M7Q9YJ6P5E3P2R1A0B",
  "type": "webhook.endpoint.auto_disabled",
  "occurred_at": "2026-04-24T15:12:09.481Z",
  "data": {
    "endpointId": "endpoint_123",
    "url": "url_value",
    "consecutiveFailures": 42,
    "lastFailureAt": "lastFailureAt_value"
  }
}
```
