Skip to main content
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.
Stable events keep their event name and payload shape frozen except for additive fields. Beta events may change during their early access window.
Generated from apps/router/server/utils/webhooks/catalog.ts.
EventStabilityScopeResourceDescription
vault.upload.initiatedstablevaultvaultA vault object upload was initiated.
vault.upload.completedstablevaultvaultA vault object upload finished successfully.
vault.upload.failedstablevaultvaultA vault object upload failed.
vault.ingest.startedstablevaultvaultVault object ingest started.
vault.ingest.completedstablevaultvaultVault object ingest finished successfully.
vault.ingest.failedstablevaultvaultVault object ingest failed.
ocr.job.createdstablevision_ocr-An OCR job was enqueued.
ocr.job.completedstablevision_ocr-An OCR job finished successfully.
ocr.job.failedstablevision_ocr-An OCR job failed.
voice.transcription.createdstabletranscription-A transcription job was created.
voice.transcription.reusedstabletranscription-A completed transcription job was reused from cache.
voice.transcription.completedstabletranscription-A transcription job finished successfully.
voice.transcription.failedstabletranscription-A transcription job failed.
voice.transcription.deletedstabletranscription-A transcription job was deleted.
agent.run.createdbetaagent-An agent run was created.
agent.run.startedbetaagent-An agent run began executing.
agent.run.completedbetaagent-An agent run finished successfully.
agent.run.failedbetaagent-An agent run failed.
agent.run.cancelledbetaagent-An agent run was cancelled.
matter.createdbetalegalmatterA matter was created.
matter.updatedbetalegalmatterA matter was updated.
work_item.execution.completedbetalegalmatterA matter work item finished execution.
work_item.execution.failedbetalegalmatterA matter work item execution failed.
billing.charge.succeededstablewebhooks-A billing charge succeeded.
billing.charge.failedstablewebhooks-A billing charge failed.
balance.changedstablewebhooks-The organization credit balance changed.
compute.run.completedstablecompute-A compute function run completed successfully.
compute.run.failedstablecompute-A compute function run failed.
deployment.succeededstablewebhooks-A deployment succeeded.
deployment.failedstablewebhooks-A deployment failed.
webhook.endpoint.auto_disabledstablewebhooks-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.
PropertyValue
Stabilitystable
Required scopevault
Resource scopevault

Payload

FieldTypeRequiredDescription
vaultIdstringYesThe vault this event pertains to.
objectIdstringYesThe object within the vault.
filenamestringYesOriginal filename provided by the uploader.
mimeTypestringNoMIME 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.
PropertyValue
Stabilitystable
Required scopevault
Resource scopevault

Payload

FieldTypeRequiredDescription
vaultIdstringYesThe vault this event pertains to.
objectIdstringYesThe object within the vault.
filenamestringYes-
mimeTypestringYes-
sizeBytesnumberYesSize 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.
PropertyValue
Stabilitystable
Required scopevault
Resource scopevault

Payload

FieldTypeRequiredDescription
vaultIdstringYesThe vault this event pertains to.
objectIdstringYesThe object within the vault.
errorstringYesHuman-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.ingest.started

Vault object ingest started.
PropertyValue
Stabilitystable
Required scopevault
Resource scopevault

Payload

FieldTypeRequiredDescription
vaultIdstringYesThe vault this event pertains to.
objectIdstringYesThe object within the vault.
stagestringNoPipeline 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.
PropertyValue
Stabilitystable
Required scopevault
Resource scopevault

Payload

FieldTypeRequiredDescription
vaultIdstringYesThe vault this event pertains to.
objectIdstringYesThe object within the vault.
durationMsnumberYesTotal ingest duration in milliseconds.
chunkCountnumberNoNumber 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.
PropertyValue
Stabilitystable
Required scopevault
Resource scopevault

Payload

FieldTypeRequiredDescription
vaultIdstringYesThe vault this event pertains to.
objectIdstringYesThe object within the vault.
errorstringYesHuman-readable error description.
stagestringNoPipeline 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"
  }
}

ocr.job.created

An OCR job was enqueued.
PropertyValue
Stabilitystable
Required scopevision_ocr
Resource scopeNone

Payload

FieldTypeRequiredDescription
jobIdstringYesOCR job identifier.
objectIdstringYesThe vault object being processed.
vaultIdstringYes-
pageCountnumberNoNumber 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.
PropertyValue
Stabilitystable
Required scopevision_ocr
Resource scopeNone

Payload

FieldTypeRequiredDescription
jobIdstringYesOCR job identifier.
objectIdstringYesThe vault object being processed.
vaultIdstringYes-
durationMsnumberYesProcessing duration in milliseconds.
pageCountnumberYesNumber 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.
PropertyValue
Stabilitystable
Required scopevision_ocr
Resource scopeNone

Payload

FieldTypeRequiredDescription
jobIdstringYesOCR job identifier.
objectIdstringYesThe vault object being processed.
vaultIdstringYes-
errorstringYes-

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.
PropertyValue
Stabilitystable
Required scopetranscription
Resource scopeNone

Payload

FieldTypeRequiredDescription
jobIdstringYes-
vaultIdstringNoVault that owns the source object, when the transcription came from a vault workflow.
assemblyaiIdstringNoAssemblyAI transcript identifier.
objectIdstringNoSource vault object for vault-backed jobs.
formatstringNoRequested transcript output format.
mode'vault' | 'direct'YesTranscription mode used by the request.
statusstringNoProvider status returned at job creation time.
speakerLabelsbooleanNo-
autoHighlightsbooleanNo-
contentSafetybooleanNo-
languageDetectionbooleanNo-

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",
    "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.
PropertyValue
Stabilitystable
Required scopetranscription
Resource scopeNone

Payload

FieldTypeRequiredDescription
jobIdstringYes-
vaultIdstringNoVault that owns the source object, when the transcription came from a vault workflow.
assemblyaiIdstringNoAssemblyAI transcript identifier.
objectIdstringYes-
formatstringNo-
mode'vault'Yes-
from_cachetrueYes-
options_hashstringNo-

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",
    "objectId": "object_123",
    "format": "format_value",
    "mode": "vault",
    "from_cache": true,
    "options_hash": "options_hash_value"
  }
}

voice.transcription.completed

A transcription job finished successfully.
PropertyValue
Stabilitystable
Required scopetranscription
Resource scopeNone

Payload

FieldTypeRequiredDescription
jobIdstringYes-
vaultIdstringNoVault that owns the source object, when the transcription came from a vault workflow.
assemblyaiIdstringNoAssemblyAI transcript identifier.
sourceObjectIdstringYes-
resultObjectIdstringYes-
audioDurationSecondsnumberNo-
wordCountnumberYes-
confidencenumberNo-
textLengthnumberYes-

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",
    "sourceObjectId": "sourceObject_123",
    "resultObjectId": "resultObject_123",
    "audioDurationSeconds": 42,
    "wordCount": 42,
    "confidence": 42,
    "textLength": 42
  }
}

voice.transcription.failed

A transcription job failed.
PropertyValue
Stabilitystable
Required scopetranscription
Resource scopeNone

Payload

FieldTypeRequiredDescription
jobIdstringYes-
vaultIdstringNoVault that owns the source object, when the transcription came from a vault workflow.
assemblyaiIdstringNoAssemblyAI transcript identifier.
sourceObjectIdstringNo-
errorstringYes-

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",
    "sourceObjectId": "sourceObject_123",
    "error": "Processing failed"
  }
}

voice.transcription.deleted

A transcription job was deleted.
PropertyValue
Stabilitystable
Required scopetranscription
Resource scopeNone

Payload

FieldTypeRequiredDescription
jobIdstringYes-
vaultIdstringNoVault that owns the source object, when the transcription came from a vault workflow.
assemblyaiIdstringNoAssemblyAI transcript identifier.
transcriptIdstringYes-
mode'vault' | 'direct'Yes-
providerDeletedbooleanYes-
providerAlreadyDeletedbooleanYes-
providerDeleteFailedbooleanYes-
providerErrorStatusCodenumberNo-
resultObjectDeletedbooleanYes-
localRecordDeletedbooleanYes-

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",
    "transcriptId": "transcript_123",
    "mode": "vault",
    "providerDeleted": true,
    "providerAlreadyDeleted": true,
    "providerDeleteFailed": true,
    "providerErrorStatusCode": 42,
    "resultObjectDeleted": true,
    "localRecordDeleted": true
  }
}

agent.run.created

An agent run was created.
PropertyValue
Stabilitybeta
Required scopeagent
Resource scopeNone

Payload

FieldTypeRequiredDescription
runIdstringYes-
agentIdstringNoThe skill or agent definition that was invoked.
sourcestringNoAPI surface or workflow source that emitted the event.
versionstringNo-
inputobjectNoInput prompt or parameters, if safe to expose.
promptLengthnumberNo-

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.
PropertyValue
Stabilitybeta
Required scopeagent
Resource scopeNone

Payload

FieldTypeRequiredDescription
runIdstringYes-
agentIdstringNoThe skill or agent definition that was invoked.
sourcestringNoAPI surface or workflow source that emitted the event.
versionstringNo-
workflowIdstringNo-
adhocbooleanNo-

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.
PropertyValue
Stabilitybeta
Required scopeagent
Resource scopeNone

Payload

FieldTypeRequiredDescription
runIdstringYes-
agentIdstringNoThe skill or agent definition that was invoked.
sourcestringNoAPI surface or workflow source that emitted the event.
versionstringNo-
durationMsnumberYes-
usage{inputTokens: number; outputTokens: number}NoToken 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.
PropertyValue
Stabilitybeta
Required scopeagent
Resource scopeNone

Payload

FieldTypeRequiredDescription
runIdstringYes-
agentIdstringNoThe skill or agent definition that was invoked.
sourcestringNoAPI surface or workflow source that emitted the event.
versionstringNo-
adhocbooleanNo-
runtimestringNo-
errorstringYes-

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.
PropertyValue
Stabilitybeta
Required scopeagent
Resource scopeNone

Payload

FieldTypeRequiredDescription
runIdstringYes-
agentIdstringNoThe skill or agent definition that was invoked.
sourcestringNoAPI surface or workflow source that emitted the event.
versionstringNo-
reasonstringNoCancellation 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"
  }
}

matter.created

A matter was created.
PropertyValue
Stabilitybeta
Required scopelegal
Resource scopematter

Payload

FieldTypeRequiredDescription
matterIdstringYes-
titlestringNoHuman-readable matter title.
statusstringYesMatter 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.
PropertyValue
Stabilitybeta
Required scopelegal
Resource scopematter

Payload

FieldTypeRequiredDescription
matterIdstringYes-
objectobjectYesCurrent state of the matter.
previous_attributesobjectNoOnly-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.
PropertyValue
Stabilitybeta
Required scopelegal
Resource scopematter

Payload

FieldTypeRequiredDescription
matterIdstringYes-
workItemIdstringYes-
durationMsnumberYes-

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.
PropertyValue
Stabilitybeta
Required scopelegal
Resource scopematter

Payload

FieldTypeRequiredDescription
matterIdstringYes-
workItemIdstringYes-
errorstringYes-

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.
PropertyValue
Stabilitystable
Required scopewebhooks
Resource scopeNone

Payload

FieldTypeRequiredDescription
chargeIdstringYesStripe charge or invoice ID.
amountCentsnumberYesAmount in cents.
currencystringYesISO 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.
PropertyValue
Stabilitystable
Required scopewebhooks
Resource scopeNone

Payload

FieldTypeRequiredDescription
chargeIdstringYes-
amountCentsnumberYes-
currencystringYes-
errorstringYes-

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.
PropertyValue
Stabilitystable
Required scopewebhooks
Resource scopeNone

Payload

FieldTypeRequiredDescription
balanceCentsnumberYesNew credit balance in cents.
deltaCentsnumberYesChange amount (positive = credit added, negative = deducted).
reasonstringNoReason 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.
PropertyValue
Stabilitystable
Required scopecompute
Resource scopeNone

Payload

FieldTypeRequiredDescription
runIdstringYes-
functionIdstringYes-
durationMsnumberYes-
exitCodenumberNoExit 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.
PropertyValue
Stabilitystable
Required scopecompute
Resource scopeNone

Payload

FieldTypeRequiredDescription
runIdstringYes-
functionIdstringYes-
errorstringYes-
exitCodenumberNo-

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.
PropertyValue
Stabilitystable
Required scopewebhooks
Resource scopeNone

Payload

FieldTypeRequiredDescription
deploymentIdstringYes-
appNamestringNoApplication or project name.
urlstringNoURL of the deployed application.
durationMsnumberNo-

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.
PropertyValue
Stabilitystable
Required scopewebhooks
Resource scopeNone

Payload

FieldTypeRequiredDescription
deploymentIdstringYes-
appNamestringNoApplication or project name.
errorstringYes-

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.
PropertyValue
Stabilitystable
Required scopewebhooks
Resource scopeNone

Payload

FieldTypeRequiredDescription
endpointIdstringYesThe endpoint that was disabled.
urlstringYesURL of the disabled endpoint.
consecutiveFailuresnumberYesNumber of consecutive failures that triggered the disable.
lastFailureAtstringYesTimestamp 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"
  }
}