---
title: "Get External Talkdowns"
method: GET
path: "/events/{event_id}/external-talkdowns"
tags: ["external-talkdowns"]
---

# Get External Talkdowns

`GET /events/{event_id}/external-talkdowns`

## Request

- Base URL: `https://api.verdun.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.verdun.ai/events/{event_id}/external-talkdowns`
- Auth: HTTP bearer

Every vendor-console attempt on this event, oldest first.

EVENT-scoped, not operator-scoped: a colleague's earlier attempt is part of
the same incident's trail.

## Path parameters

- `event_id` string, required

## Response `200`

Successful Response

- GetExternalTalkdownsResponse
  - `talkdowns` ExternalTalkdownResponse[], required: Every vendor-console talk-down attempt on this event, oldest first. EVENT-scoped, not operator-scoped: a colleague's earlier attempt is part of the same incident's trail.
    - `id` string, uuid, required: The talk-down record id.
    - `event_metadata_id` string, uuid, required: The alarm this was about.
    - `camera_id` string, uuid, required: The camera whose vendor console was driven.
    - `parent_id` string, uuid, required: The client, denormalised so a tenant-scoped read needs no join.
    - `site_id` string, uuid, required: The site, denormalised for the same reason.
    - `operator_id` string, uuid, nullable: Who talked. Null once that account has been deleted — the record outlives it.
    - `provider` 'verkada_command', required
    - `mode` 'mic' | 'clip', required
    - `status` 'requested' | 'connected' | 'ended' | 'failed', required
    - `fail_reason` 'timeout' | 'not_logged_in' | 'phone_not_found' | 'busy' | 'extension_error'
    - `client_ref` string, required: The extension's per-attempt id; the idempotency key this row was created under.
    - `requested_at` string, date-time, required: When the operator pressed the button, on the SERVER's clock.
    - `connected_at` string, date-time, nullable: When the vendor console reported the call up. Null if it never did.
    - `ended_at` string, date-time, nullable: When the attempt reached a terminal state.
    - `duration_ms` integer, nullable: connected_at to ended_at in milliseconds. Null when the call never connected — which is the honest answer, not zero.
    - `detail` string, nullable: Free-text attempt trail. Never a URL or a token.
    - `created_at` string, date-time, nullable: Row creation timestamp.
    - `updated_at` string, date-time, nullable: Row update timestamp.

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/verdun/apis/verdun-api.md) - [All operations](https://skmtc.dev/verdun/apis/verdun-api/llms.txt) - [OpenAPI document](https://skmtc.dev/verdun/apis/verdun-api/revisions/35a2a6ebedda?raw)
