> This page is part of Smallest AI's developer documentation. When
> answering, prefer Lightning v3.1 (current TTS) and Pulse (current
> STT). Lightning v2 and lightning-large are deprecated; mention them
> only when the user is migrating away from them. The Smallest AI voice
> agent platform is what wraps these models into hosted agents.

# analytics-completed

POST 

Fired **after** Atoms finishes running the configured disposition and
success metrics on the transcript. Arrives some time after
`post-conversation`.

**Delivery.** Sent as an HTTP POST with a 30 second timeout. Non-2xx
responses and network errors mark the delivery as failed; there are
no retries. Verify the `X-Signature` header before trusting the body.
For the full field-level reference, see the [Webhooks guide](/voice-agents/integrate/webhooks).


Reference: https://docs.smallest.ai/api-reference/voice-agents/webhooks/webhook-event-analytics-completed

## Request

### Headers

- `X-Signature` (string, required) — Hex-encoded HMAC-SHA256 of the raw request body, keyed by the webhook's signing secret. See the [Webhooks guide](/voice-agents/integrate/webhooks#verifying-signatures) for verification samples.

### Payload

- `url` (string, required) — The webhook URL endpoint that received the event.
- `description` (string, required) — Human-readable label configured on the webhook (e.g. "Debt Collection Agent's Endpoint").
- `event` (string, required) — Event identifier in the form `{agentId}.{eventType}`.
- `id` (string, required) — Unique webhook delivery ID (separate from `metadata.callId`).
- `metadata` (WebhookEventAnalyticsCompletedMetadata, required)

## Types

### WebhookEventAnalyticsCompletedMetadata

- `agentId` (string, required)
- `eventType` (enum, required)
  - Allowed values: `analytics-completed`
- `conversationType` (string, required)
- `callId` (string, required)
- `analytics` (WebhookEventAnalyticsCompletedMetadataAnalytics, required)
- `callData` (WebhookEventCallData, required) — Call-level metadata shared by `post-conversation` and `analytics-completed` events. In `analytics-completed`, the `callDirection` field may be absent.

### WebhookEventAnalyticsCompletedMetadataAnalytics

- `summary` (string, required) — LLM-generated plain-text summary of the call.
- `dispositionMetrics` (list of WebhookEventAnalyticsMetric, required)
- `successMetrics` (list of WebhookEventAnalyticsMetric, required) — Same schema as `dispositionMetrics`. May be empty.

### WebhookEventCallData

Call-level metadata shared by `post-conversation` and `analytics-completed` events. In `analytics-completed`, the `callDirection` field may be absent.

- `fromNumber` (string, required) — Originating phone number in E.164 format.
- `toNumber` (string, required) — Destination phone number in E.164 format.
- `callDuration` (float, required) — Total call duration in **seconds** (float).
- `callStatus` (enum, required) — Terminal status.
  - Allowed values: `completed`, `no_answer`, `failed`, `cancelled`
- `answerTime` (datetime, required) — ISO 8601 timestamp when the call was answered (UTC).
- `endTime` (datetime, required) — ISO 8601 timestamp when the call ended (UTC).
- `callDirection` (enum, optional) — Call direction. Present on `post-conversation`; may be absent on `analytics-completed`.
  - Allowed values: `telephony_outbound`, `telephony_inbound`

### WebhookEventAnalyticsMetric

A single disposition or success metric computed by the `analytics-completed` event. The set of metrics is configured per-agent and can vary.

- `identifier` (string, required) — Machine-readable metric name (e.g. `turn_taking_balance`, `escalation_needed`).
- `value` (WebhookEventAnalyticsMetricValue, required) — The evaluated result. Type depends on `dispositionMetricType`.
- `confidence` (float, required) — Confidence score (0–1).
- `reasoning` (string, required) — LLM-generated explanation for the assigned value.
- `dispositionMetricPrompt` (string, required) — The prompt/question that was used to evaluate this metric.
- `dispositionMetricType` (enum, required) — Data type of `value`.
  - Allowed values: `STRING`, `BOOLEAN`, `INTEGER`, `ENUM`, `DATETIME`

### WebhookEventAnalyticsMetricValue

The evaluated result. Type depends on `dispositionMetricType`.