Logo
Search
Docs

Overview

What Call History covers, how list vs search differ, the response envelope, and role-based field visibility.

What this reference explains

Call History is the read-only surface for assistant call logs: when a call happened, who participated, how long it lasted, a short summary, optional recording links, and (on the detail endpoint) the full transcript plus a structured conversation derived from that transcript.

This reference shows how the call-logs system works under the hood: every Call History dashboard action goes through these endpoints, with exact query parameters, response keys, storage columns, and error responses.

Identifiers

The detail path uses the public call_id string (unique on call_logs), not the numeric primary key. List rows still expose both id (numeric PK) and call_id. assistant_id on every row is the local assistants table primary key.

Role-based field visibility

Callers who are not content admins never receive cost, currency, metadata, or webhook_data. On the detail endpoint they also do not receive the nested assistant object (which would otherwise include vapi_assistant_id and the brand-neutral assistant_id alias from the Assistants module). They still get joined assistant_name and assistant_phone.

Content admins receive cost fields on list/search/stats/detail, and on detail they also receive metadata, webhook_data, and the full nested assistant (including vapi_assistant_id). Raw upstream dump objects are omitted from the examples on this page — only the wire key names and the visibility rule are part of the documented contract.

Response envelope

List, search, index, and stats use the panel shape {"success": true, "data": ...}. Paginated endpoints add a sibling meta object (current_page, last_page, per_page, total, from, to) — not a pagination key. The detail endpoint returns success, data, and a sibling conversation object (not nested under data).

Feature availability

This module is gated by the call_logs feature. When disabled, every endpoint under /call-logs returns 403 with {"message":"This feature is not enabled for your account. Please contact your administrator.","feature":"call_logs"}.

Out of scope here

Squad call history (/api/squad-call-logs), admin/super-admin call-log routes, and write/delete of call logs are not part of this module. Call rows are created by inbound webhook processing, not by these endpoints.