---
title: "Read the exact owner-bound reminder attempt and privacy-safe quality evidence; missing metrics remain unknown"
method: GET
path: "/v1/tasks/{id}/items/{itemId}/reminder-call"
---

# Read the exact owner-bound reminder attempt and privacy-safe quality evidence; missing metrics remain unknown

`GET /v1/tasks/{id}/items/{itemId}/reminder-call`

## Request

- Base URL: `https://volai.cz`
- URL: `https://volai.cz/v1/tasks/{id}/items/{itemId}/reminder-call`
- Auth: HTTP bearer

Read evidence for an actual counted call from a task with `purpose: coupon_reminder`. Supply the required query parameter `callId=c_...` exactly once. The server verifies the exact account, task, item, call and reminder authorization binding. `reminderCall` contains the phone hash, status, price and sanitized quality; it does not return phone numbers, transcripts or tool arguments. Missing metrics have `observed: false` and `count: null`, never zero. `dismissReminder.invoked: true` or `optOutRequested: true` suppresses SMS even if the tool fails or times out. Only a proven closed no-answer attempt with zero duration and price, without contradictory conversation evidence, can establish that dismissal and opt-out are `false`; missing turn/tool metrics remain unknown. Check the call status before taking a follow-up action. This endpoint only reads evidence and sends no SMS.

## Path parameters

- `id` string, required
- `itemId` string, required

## Query parameters

- `callId` string, required

## Response `200`

Verified reminder call

- object
  - `reminderCall` object, required
    - `callId` string, required
    - `tenantId` string, required
    - `agentId` string, required
    - `taskId` string, required
    - `taskItemId` string, required
    - `dispatchIntentId` string, required
    - `purpose` 'coupon_reminder', required
    - `phoneSha256` string, required
    - `direction` 'out', required
    - `status` 'initiated' | 'ringing' | 'in_progress' | 'completed' | 'failed' | 'missed' | 'no_answer', required
    - `startedAt` number, required
    - `durationSecs` number, nullable, required
    - `priceHal` integer, nullable, required
    - `endReason` 'completed' | 'no_answer' | 'busy' | 'rejected' | 'capacity' | 'blocked' | 'loop_guard' | 'credit_blocked' | 'suspended' | 'failed' | 'engine_error' | 'caller_loop', nullable, required
    - `optOutRequested` boolean, nullable, required
    - `hasConversation` boolean, nullable, required
    - `quality` object, required
      - `turnFailures` union, required
        - object
          - `observed` true, required
          - `count` integer, required
        - object
          - `observed` false, required
          - `count` unknown, required
      - `toolFailures` union, required
        - object
          - `observed` true, required
          - `count` integer, required
        - object
          - `observed` false, required
          - `count` unknown, required
      - `dismissReminder` union, required
        - object
          - `observed` true, required
          - `invoked` boolean, required
        - object
          - `observed` false, required
          - `invoked` unknown, required

## Other responses

- `400`: Error codes: validation (request).
- `401`: Error codes: unauthorized (request).
- `403`: Error codes: account_suspended (account).
- `404`: Error codes: task_not_found (account).
- `429`: Error codes: rate_limited (busy).
- `500`: Error codes: internal_error (service).

---

[API](https://skmtc.dev/volai/apis/volai-rest-api.md) · [All operations](https://skmtc.dev/volai/apis/volai-rest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/volai/apis/volai-rest-api/revisions/12029b05e2fa?raw)
