> ## Documentation Index
> Fetch the complete documentation index at: https://docs.telloai.io/llms.txt
> Use this file to discover all available pages before exploring further.

# 통화 상세

> 통화 한 건의 현재 상태와 종료 사유, 전사·요약·차감 크레딧을 조회해요.

## 할 수 있는 일

진행 중이거나 끝난 통화를 id로 조회해요. 인증한 계정의 **원 통화**만 조회할 수 있어요.
전환으로 파생된 별도 통화와 포털 테스트 통화는 제외해요.

```http theme={null}
GET https://api.telloai.io/v1/calls/{callId}
```

## 파라미터

| 이름 | 위치 | 필수 | 설명 |
| - | - | - | - |
| `callId` | 경로 | 필수 | `c_12345` 형식의 통화 id. 생성 응답이나 목록에서 받은 값을 그대로 써요 |

```bash theme={null}
curl "https://api.telloai.io/v1/calls/c_12345" \
  --header "Authorization: Bearer <API_KEY>"
```

## 결과

성공하면 **`200 OK`와 통화 객체**가 와요. 별도의 `data` 봉투는 없어요. 아래 14개 필드는
통화 생성·목록·종료 접수·전환 접수 응답에서도 같은 형태로 쓰여요.

| 필드 | 타입 | 설명 |
| - | - | - |
| `id` | 문자열 | `c_`와 숫자로 이루어진 통화 id예요 |
| `status` | 문자열 | 아래 공개 상태 7개 중 하나예요 |
| `direction` | 문자열 | 통화 방향이에요. 예: `outbound`, `inbound` |
| `source` | 문자열 | 통화를 시작한 경로예요. 예: `api`, `mcp`, `a2a`, `sdk`, `sip`, `webrtc`, `unknown` |
| `agentId` | 문자열 또는 `null` | 통화에 연결된 에이전트 id예요 |
| `crewId` | 문자열 또는 `null` | 통화에 연결된 크루 id예요 |
| `createdAt` | ISO-8601 문자열 | 통화가 만들어진 시각이에요 |
| `startedAt` | ISO-8601 문자열 또는 `null` | 상대가 받아 통화가 연결된 시각이에요 |
| `endedAt` | ISO-8601 문자열 또는 `null` | 통화가 끝난 시각이에요 |
| `durationSeconds` | 숫자 또는 `null` | 통화 시간(초)이에요 |
| `endReason` | 문자열 또는 `null` | 종료 사유예요. 저장된 사유가 있으면 그 값을 우선해요 |
| `transcript` | 문자열 또는 `null` | 전사 전문이에요 |
| `summary` | 문자열 또는 `null` | 통화 요약이에요 |
| `creditCharged` | 숫자 또는 `null` | 차감된 크레딧이에요 |

아직 만들어지지 않았거나 제공되지 않는 값은 \*\*`null`\*\*이에요. 통화가 끝나도 전사·요약·과금
집계가 아직 반영되지 않았을 수 있어요. `summary`나 `creditCharged`가 `null`이라는 이유로
진행 중이라고 판단하지 말고 **`status`를 확인하세요.**

종료 직후에는 상태와 `endedAt`도 결과 반영을 기다리는 동안 이전 값으로 보일 수 있어요.
종료 요청의 `202` 응답만으로 종료를 확정하지 말고 상세를 다시 조회하세요.

`source`와 `endReason`은 고정된 코드 목록이 아니에요. 새로운 값이 올 수 있으니 알지 못하는
값도 처리할 수 있게 만드세요. 통화 객체에는 상대 전화번호가 포함되지 않아요.

```json 200 예시 theme={null}
{
  "id": "c_12345",
  "status": "completed",
  "direction": "outbound",
  "source": "api",
  "agentId": "12",
  "crewId": null,
  "createdAt": "2026-10-20T01:00:00.000Z",
  "startedAt": "2026-10-20T01:00:08.000Z",
  "endedAt": "2026-10-20T01:01:08.000Z",
  "durationSeconds": 60,
  "endReason": null,
  "transcript": null,
  "summary": null,
  "creditCharged": null
}
```

## 공개 상태

| `status` | 의미 | 종료 여부 |
| - | - | - |
| `dialing` | 발신을 준비하거나 상대의 응답을 기다려요 | 진행 중 |
| `inProgress` | 연결돼 통화 중이에요 | 진행 중 |
| `transferring` | 상담APP 상담사 연결을 기다려요 | 진행 중 |
| `completed` | 통화가 완료됐어요 | 끝남 |
| `noAnswer` | 상대가 받지 않았어요 | 끝남 |
| `failed` | 발신 또는 통화가 실패했어요 | 끝남 |
| `cancelled` | 취소돼 끝났어요 | 끝남 |

이 상태는 통화 결과를 공개 API의 7개 값으로 맞춘 것이에요. 연결 전의 대기·발신은
`dialing`으로, 연결된 통화는 `inProgress`로, [상담APP](https://docs.telloai.io/channels/agent-app.md) 상담사 연결 대기는
`transferring`으로 보여요. [통화 전환](https://docs.telloai.io/developer/rest/transfer-call.md)으로 번호에 넘기는 동안에는
`inProgress`예요.

### 통화 중·무응답 사유

발신 결과가 통화 중(`busy`)이면 공개 `status`는 `failed`예요. 무응답(`no_answer`)이면
`noAnswer`예요. 이때 **종료 사유가 저장되지 않은 경우에만** 다음 값을 채워요.

| 발신 결과 | 공개 `status` | `endReason` 기본값 |
| - | - | - |
| 통화 중 (`busy`) | `failed` | `dial_busy` |
| 무응답 (`no_answer`) | `noAnswer` | `dial_no_answer` |

이미 저장된 `endReason`이 있으면 위 기본값보다 **저장된 사유를 우선**해요.
`busy`·`no_answer` 자체가 공개 `status`로 오지는 않아요.

### 취소와 과금

[종료 요청](https://docs.telloai.io/developer/rest/end-call.md)으로 취소한 통화는 상대가 받기 전이든 받은 뒤든
공개 `status`가 `cancelled`로 보여요. 다만 **상대가 받은 뒤의 종료는 통화 시간에 따른 과금이
있고, 받기 전 취소는 통화 요금이 부과되지 않아요.** 취소 상태만 보고 무료라고 판단하지
말고 `startedAt`·`durationSeconds`·`creditCharged`를 함께 확인하세요.

## 계정 경계와 오류

없는 id, 형식이 잘못된 id, 다른 계정의 통화는 모두 \*\*`404 call_not_found`\*\*예요. 다른 계정의
통화가 존재하는지는 알려 주지 않아요. 조회 대상에서 제외한 전환 파생 통화와 테스트 통화도
같은 응답을 받아요.

인증 오류와 그 밖의 처리 오류는 [REST 오류](https://docs.telloai.io/developer/rest/errors.md)를 보세요.

## 관련 문서

* [통화 생성](https://docs.telloai.io/developer/rest/create-call.md)
* [통화 목록](https://docs.telloai.io/developer/rest/list-calls.md)
* [통화 종료](https://docs.telloai.io/developer/rest/end-call.md)
* [통화 전환](https://docs.telloai.io/developer/rest/transfer-call.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.