---
title: "End an active call"
method: POST
path: "/v1/calls/{call_id}/end"
tags: ["Calls", "Calls"]
---

# End an active call

`POST /v1/calls/{call_id}/end`

## Request

- Base URL: `https://api.call2me.app`
- URL: `https://api.call2me.app/v1/calls/{call_id}/end`
- Auth: HTTP bearer

Forcefully terminate an ongoing call (e.g. when an automation decides the conversation should stop early). The call is marked `disconnection_reason='agent_hangup'`. Calls that are not currently `ongoing` cannot be ended this way.

## Path parameters

- `call_id` string, required

## Response `200`

The updated call object with `call_status='ended'`.

- Call: Complete call record.
  - `call_id` string, required: Unique call identifier
  - `agent_id` string, nullable: Agent used for this call (tercüman/köprü aramalarında yok)
  - `call_status` 'pending' | 'ringing' | 'in_progress' | 'completed' | 'failed' | 'no_answer' | 'busy' | 'transferred' | 'ended', required: Current call status
  - `call_type` 'inbound' | 'outbound' | 'sip_call' | 'web_call' | 'interpreter' | 'phone_call' | 'phone', required: Call direction type
  - `direction` 'inbound' | 'outbound' | 'web' | 'web_bridge', required: Call direction
  - `from_number` string, nullable: Caller phone number
  - `to_number` string, nullable: Callee phone number
  - `start_timestamp` integer, nullable: Unix timestamp in milliseconds when call started
  - `end_timestamp` integer, nullable: Unix timestamp in milliseconds when call ended
  - `duration_ms` integer, nullable: Call duration in milliseconds
  - `transcript` string, nullable: Full transcript as text
  - `transcript_object` TranscriptTurn[], nullable: Structured transcript
    - `role` 'agent' | 'user', required: Speaker role
    - `text` string, required: Spoken text (canlı veride `text` anahtarı)
    - `timestamp` string, nullable: ISO 8601 timestamp
  - `recording_url` string, nullable: URL to call recording
  - `disconnection_reason` string, nullable: Reason the call ended (sabit kod ya da ajanın açıklaması)
  - `call_analysis` CallAnalysis: Post-call analysis results.
    - `call_successful` boolean, required: Whether the call achieved its goal
    - `call_summary` string, required: AI-generated summary of the call
    - `user_sentiment` 'positive' | 'neutral' | 'negative', nullable: Overall user sentiment
    - `custom_analysis_data` object, nullable: Custom analysis results
  - `metadata` object, nullable: Custom metadata
  - `created_at` string, date-time: Record creation time
  - `updated_at` string, date-time: Last update time

## Other responses

- `400`: Call is not in an ongoing state.
- `404`: Call not found.
- `422`: Validation Error

---

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