> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.revero.no/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.revero.no/_mcp/server.

# Receive a terminal operation or output event

POST 

Revero delivers terminal events at least once and without ordering guarantees. Verify `Flyt-Signature` against the exact request bytes before decoding this envelope, deduplicate on the event ID, return a 2xx response quickly, and reconcile through the authenticated links. Revero retries timeouts, 429 and 5xx responses; it stops on other 4xx responses and does not follow redirects.

Reference: https://docs.revero.no/api-reference/revero-public-api/receive-public-terminal-event

## Request

### Headers

- `Flyt-Signature` (string, required) — One timestamp and one or more HMAC-SHA256 signatures: `t=<unix>,v1=<hex>`. Accept any matching `v1` during rotation.
- `Flyt-Event-Id` (string, required) — The same stable event ID as the envelope `id` field.

### Payload

- `schema_version` (string, required) — Version of this webhook envelope contract.
- `id` (string, required) — Stable event ID. Deduplicate repeated delivery on this value.
- `type` (enum, required) — Terminal event type.
  - Allowed values: `operation.completed`, `operation.failed`, `output.completed`, `output.failed`
- `created_at` (datetime, required) — When Revero created the event.
- `data` (PublicWebhookData, required) — Identifiers and terminal state.
- `links` (PublicWebhookLinks, required) — Authenticated resources whose current state is authoritative.

## Types

### PublicWebhookData

Identifiers and terminal state carried by a public webhook event.

- `meeting_id` (string, required) — Meeting to reconcile with the Public API.
- `external_id` (string, required) — Your identifier for the meeting.
- `operation_id` (string, required) — Operation associated with the event.
- `meeting_status` (enum, optional, nullable) — Terminal meeting state when the event describes an operation.
  - Allowed values: `awaiting_upload`, `processing`, `completed`, `failed`, `cancelled`
- `operation_status` (enum, optional, nullable) — Terminal operation state for an operation event.
  - Allowed values: `queued`, `processing`, `completed`, `failed`, `cancelled`
- `operation_phase` (enum, optional, nullable) — Final informational phase for an operation event.
  - Allowed values: `upload`, `transcription`, `generation`, `delivery`
- `output_id` (string, optional, nullable) — Output associated with an output event.
- `output_status` (enum, optional, nullable) — Terminal output state for an output event.
  - Allowed values: `pending`, `generating`, `completed`, `failed`, `cancelled`
- `profile_key` (string, optional, nullable) — Stable output profile key for an output event.
- `profile_version` (integer, optional, nullable) — Pinned output profile version for an output event.
- `schema_version` (string, optional, nullable) — Public content schema version for an output event.
- `failure_code` (enum, optional, nullable) — Stable failure reason for a failed operation or output.
  - Allowed values: `upload_unreadable`, `transcription_failed`, `transcription_empty`, `generation_failed`, `processing_not_entitled`, `output_profile_unavailable`, `organisation_key_unavailable`, `jurisdiction_unavailable`, `internal_error`
- `retryable` (boolean, optional, nullable) — Whether a failed operation may succeed when retried.

### PublicWebhookLinks

Authenticated Public API resources used to reconcile an event.

- `meeting` (string, required) — Authoritative meeting resource URL.
- `operation` (string, optional, nullable) — Authoritative operation resource URL when applicable.
- `output` (string, optional, nullable) — Authoritative output resource URL when applicable.