---
title: "Single view surface for all LiveKit sim ingestion HTTP endpoints."
method: PATCH
path: "/simulate/api/alk-simulate/call-executions/{call_execution_id}/result/"
tags: ["simulate"]
---

# Single view surface for all LiveKit sim ingestion HTTP endpoints.

`PATCH /simulate/api/alk-simulate/call-executions/{call_execution_id}/result/`

## Request

- Base URL: `http://localhost:8000`
- URL: `http://localhost:8000/simulate/api/alk-simulate/call-executions/{call_execution_id}/result/`
- Auth: one of:
  - API key in header `X-Api-Key`
  - API key in header `X-Secret-Key`

Views here are intentionally minimal: they resolve the tenant-scoped
target row, hand the parsed payload to
`simulate.services.alk_simulate_ingestion`, and format the response.

## Request body

- ALKSimulateResult
  - `status` 'completed' | 'failed' | 'cancelled', required
  - `started_at` string, date-time, nullable
  - `ended_at` string, date-time, nullable
  - `duration_seconds` integer, nullable
  - `ended_reason` string
  - `error_message` string
  - `call_summary` string
  - `result_digest` string
  - `artifact_manifest_digest` string
  - `transcript` ALKSimulateTranscriptSegment[]
    - `speaker_role` 'user' | 'assistant' | 'system' | 'tool_calls' | 'tool_call_result' | 'unknown', required
    - `content` string, required
    - `start_time_ms` integer
    - `end_time_ms` integer
    - `confidence_score` number, nullable
    - `latency_ms` integer, nullable
    - `tool_calls` object
    - `tool_call_id` string
  - `recording_url` string, uri
  - `stereo_recording_url` string, uri
  - `costs` ALKSimulateCostBreakdown
    - `stt_cost_cents` integer, nullable
    - `llm_cost_cents` integer, nullable
    - `tts_cost_cents` integer, nullable
    - `storage_cost_cents` number, nullable
    - `cost_cents` integer, nullable
  - `provider_call_data` object
  - `call_metadata` object

## Response `200`

OK

- ALKSimulateResultResponse
  - `status` boolean
  - `result` ALKSimulateResultOutcome, required
    - `call_execution_id` string, uuid, required
    - `status` string, required
    - `eval_dispatched` boolean, required

## Other responses

- `400`: Bad Request
- `404`: Not Found
- `500`: Internal Server Error
- `default`: Default error response

---

[API](https://skmtc.dev/futureagi/apis/future-agi-management-api.md) · [All operations](https://skmtc.dev/futureagi/apis/future-agi-management-api/llms.txt) · [OpenAPI document](https://skmtc.dev/futureagi/apis/future-agi-management-api/revisions/c8684118e142?raw)
