Stable events keep their event name and payload shape frozen except for additive fields. Beta
events may change during their early access window.
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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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
{
"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"
}
}

