---
title: "Live agent handoff cards (≤3): open promises/facts from in-call index. Idle $0. Lab: TEMSOR_RTP_LAB=1 → lab_latency_ms."
method: GET
path: "/v1/pbx/whisper/suggest"
tags: ["PBX Search"]
---

# Live agent handoff cards (≤3): open promises/facts from in-call index. Idle $0. Lab: TEMSOR_RTP_LAB=1 → lab_latency_ms.

`GET /v1/pbx/whisper/suggest`

## Request

- Base URL: `https://api.temsor.com`
- URL: `https://api.temsor.com/v1/pbx/whisper/suggest`
- Auth: one of:
  - HTTP bearer
  - API key in header `x-api-key`

POST /v1/pbx/whisper/suggest {call_id, partial_text}. Returns open promises and facts as whisper cards for agent handoff. Prefers in-call partial index when present. Mock latency_ms under 400ms (compat stub). Idle $0. No Telnyx/DID/live PSTN. Advanced: optional lab_latency_ms when TEMSOR_RTP_LAB=1 (measured; not prod SLA).

**Credits per call:** 1 · **Operation id:** `pbx_whisper_suggest`

In the GET form every field is a query parameter; object and array fields are JSON-encoded.

## Query parameters

- `call_id` string, required: Active call id for agent UI context.
- `partial_text` string: Partial transcript / utterance text (no live speech recognition).

## Response `200`

Success

- object
  - `ok` unknown, required
  - `data` object, required
    - `call_id` string, required
    - `partial_text` string, required
    - `cards` object[], required
      - `type` 'promise' | 'fact', required
      - `title` string, required
      - `body` string, required
      - `call_id` string, required
      - `source_id` string, required
      - `status` string
      - `kind` string
      - `relevance` number, required
      - `from_partial` boolean
    - `count` integer, required
    - `latency_ms` integer, required
    - `mock` boolean, required
    - `partial_index` boolean
    - `partial_preferred` boolean
    - `lab_latency_ms` integer
    - `note` string, required
  - `meta` object
    - `credits` integer
    - `cached` boolean
    - `requestId` string
    - `durationMs` integer

## Other responses

- `400`: Error
- `401`: Error
- `402`: Error
- `429`: Rate limit exceeded — wait `Retry-After` seconds. The RateLimit headers are sent here too.

---

[API](https://skmtc.dev/temsor/apis/temsor-api.md) · [All operations](https://skmtc.dev/temsor/apis/temsor-api/llms.txt) · [OpenAPI document](https://skmtc.dev/temsor/apis/temsor-api/revisions/19702107e15a?raw)
