---
title: "Run specific metrics against call logs"
method: POST
path: "/observability/v2/call-logs/evaluate_metrics/"
tags: ["observability"]
---

# Run specific metrics against call logs

`POST /observability/v2/call-logs/evaluate_metrics/`

## Request

- Base URL: `https://api.cekura.ai`
- URL: `https://api.cekura.ai/observability/v2/call-logs/evaluate_metrics/`
- Auth: one of:
  - API key in header `X-CEKURA-API-KEY`
  - HTTP bearer
  - HTTP bearer
  - HTTP bearer

Evaluate one or more metrics against selected call logs. Unlike `rerun_evaluation` (which re-runs all assigned metrics), this endpoint lets you target specific metrics.

**Scope:** provide either `agent_id` or `project_id` to identify which agent's call logs and metrics to use. Metrics must belong to the specified agent or project.

**Credit check:** cost scales with the number of call logs and metrics selected. The request is rejected if your balance is insufficient — check your balance first via `test_framework_billing_info_retrieve`.

**Async:** evaluation runs in the background. The response returns the call logs in their current state. Retrieve each call log individually to see updated metric results once evaluation completes.

**Rate limited.** Respect 429 responses — wait for the `Retry-After` duration.

## Request body

- EvaluateMetrics
  - `agent_id` integer: Cekura agent ID. Provide this or `project_id`. Example: `224`
  - `project_id` integer: Project ID. Provide this or `agent_id`. Example: `456`
  - `call_logs` integer[], required: IDs of the call logs to evaluate. Example: `[123, 456]`
  - `metrics` integer[], required: IDs of the metrics to run. Must belong to the agent/project. Example: `[789, 790]`

## Response `200`

- CallLogList[]
  - `id` integer
  - `duration` string: Call duration in minutes in MM:SS format. Example: `01:10`
  - `success` boolean, nullable: Whether the call was successful. Example: `true` or `false`
  - `is_reviewed` boolean: Whether the call has been reviewed. Example: `true` or `false`
  - `status` 'success' | 'failure' | 'reviewed_success' | 'reviewed_failure': Status of the call or conversation. Example: `"completed"` or `"failed"` * `success` - Success * `failure` - Failure * `reviewed_success` - Reviewed Success * `reviewed_failure` - Reviewed Failure
  - `feedback` string: Feedback about the call. Example: `"Great Call"`
  - `metrics` CallLogListSerializerMetrics[]: Metrics of the call
    - `id` integer, required: Metric ID
    - `name` string, required: Metric name
    - `type` string, required: Metric type
    - `score` number, double, required: Evaluated metric score, Present if metrictype is not enum
    - `enum` string, required: Metric enum, Present if type is enum
    - `value` string, required: Evaluated metric value, Present if metric type is enum
  - `call_ended_reason` string: Reason why the call ended. Example: - `"customer-ended-call"` - `"agent-ended-call"`
  - `customer_number` string: Customer's phone number or identifier. Example: - `"+1234567890"` - `"customer_abc123"`
  - `agent` integer, nullable: Agent ID
  - `agent_name` string: Agent name
  - `call_id` string, required: Unique identifier for the call. Example: - `"call_abc123xyz"` - `"stereo_audio_session_456"`
  - `trace_id` string: OpenTelemetry trace ID (32-char hex). Set when OTel tracing is enabled.
  - `is_log_present` boolean: Whether provider execution logs are stored for this call.
  - `timestamp` string, date-time: When the call occurred. Example: `2024-03-15T10:15:45Z`
  - `error_message` string, nullable
  - `dropoff_point` string: Point in conversation where user disengaged. Example: `"end of conversation as no queries remaining"`
  - `topic` string: Topic of the call. Example: - `"product_inquiry"` - `"technical_support"`
  - `created_at` string, date-time: When this record was created. Example: `2024-03-15T10:30:45Z`
  - `updated_at` string, date-time: When this record was last updated. Example: `2024-03-15T10:35:11Z`
  - `transcript` string: Full text transcript of the call. Example: ```text [00:01] Testing Agent: Hello. [00:02] Main Agent: Hello, how can I help you today? [00:03] Testing Agent: Well, I mean, sure. What time exactly are we talking about here [00:04] Main Agent: 6 PM. [00:05] Testing Agent: Great. I'll book that for you. Just a sec. [00:06] Main Agent: Okay. ```
  - `transcript_object` string: Structured transcript data with timestamps. Example: ```json [ { "role": "Testing Agent", "content": "Hello", "start_time": 1.2, "end_time": 1.8 }, { "role": "Main Agent", "content": "Hello, how can I help you today?", "start_time": 1.8, "end_time": 2.5 } ]`
  - `evaluation` string: Evaluation of the call

## Other responses

- `400`

## Changes

- **2026-11-03** `a6fb6a739212`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/cekura/apis/cekura-api/changes/observability/v2/call-logs/evaluate_metrics/post.md)

---

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