---
title: "Read an optional advisory extraction result for one call"
method: GET
path: "/v1/calls/{call_id}/post-call-extraction"
---

# Read an optional advisory extraction result for one call

`GET /v1/calls/{call_id}/post-call-extraction`

## Request

- Base URL: `https://api.skysay.ai`
- URL: `https://api.skysay.ai/v1/calls/{call_id}/post-call-extraction`
- Auth: none declared

Returns not_configured when this call had no configured extraction schema. Results are asynchronously derived from a bounded transcript after completion and are never authoritative for billing, policy, or customer-system state.

## Path parameters

- `call_id` string, required

## Response `200`

Advisory extraction result or not_configured

- PostCallExtractionResult
  - `advisory` true: Extraction output is advisory and never changes call state, billing, or policy.
  - `agent_id` string
  - `analysis_version` integer: Immutable platform analysis implementation version snapshotted when this extraction is enqueued; distinct from schema_version and never relabeled by a later platform release.
  - `authoritative_call` CallResultCallReference: Authoritative technical call facts, intentionally separate from advisory extraction.
    - `answer_classification` '' | 'human' | 'non_human_audio' | 'silent' | 'unknown', required: What was heard after the answer, with the same meanings as on the Call resource. It sits here rather than with the analysis because it is an observation of the line, not a reading of the conversation.
    - `call_id` string, required
    - `direction` string, required
    - `external_group_reference` string
    - `external_reference` string
    - `reason_detail` '' | 'caller_tune' | 'data_not_authorised' | 'deadline' | 'during_hold' | 'hold_limit' | 'hold_music' | 'insufficient_balance' | 'looping_recording' | 'menu_no_path' | 'model_unresponsive' | 'navigation_detector_lost' | 'navigation_limit' | 'no_audio' | 'recorded_message_only' | 'renewal_unavailable', required: Qualifies answer_classification or ended_reason, with the same meanings as on the Call resource.
    - `status` string, required
  - `call_id` string, required
  - `completed_at` string, date-time, nullable
  - `error_code` string: Safe, non-provider-specific processing outcome.
  - `evidence` PostCallAnalysisEvidence
    - `anchors` PostCallEvidenceAnchor[], required
      - `end_ms` integer, required
      - `sequence` integer, required
      - `speaker` string, required
      - `start_ms` integer, required
      - `turn_id` string, required
    - `availability` 'available' | 'unavailable', required: Whether this response could assemble the bounded evidence projection. unavailable makes no claim that the underlying recording or transcript is absent.
    - `recording` object, required
      - `available` boolean
      - `duration_seconds` number
      - `kind` string
      - `recording_id` string
      - `url` string: Authenticated relative Skysay recording route when available.
    - `transcript` object, required
      - `available` boolean
      - `transcript_status` string
      - `turn_count` integer
      - `url` string: Authenticated relative Skysay transcript route when available.
  - `failure_reason` string: Bounded safe failure reason; aliases error_code for new consumers.
  - `quality_flags` string[]: Observable generic platform-quality facts, not a business disposition.
  - `result` object: Schema-validated advisory scalar output. Values can be null when unavailable.
  - `schema_version` integer
  - `status` 'not_configured' | 'pending' | 'running' | 'ready' | 'failed', required

---

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