새로운 문서를 작성 중입니다.새 문서로 이동
ClawOps Docs
API Reference

통화 목록 조회

GET
/v1/accounts/{accountId}/calls

계정의 통화 로그를 페이지네이션으로 조회합니다.

Authorization

BearerAuth
AuthorizationBearer <token>

API Key를 Bearer 토큰으로 전달

In: header

Path Parameters

accountId*string

계정 ID

Query Parameters

status?string

통화 상태로 필터링. 실패 사유를 더 세분해 조회하려면 hangupCause 를 사용하세요.

Value in"queued" | "ringing" | "in-progress" | "completed" | "busy" | "no-answer" | "failed" | "canceled" | "rejected"
from?|array<string>

발신번호로 필터링. 단일 값 또는 배열 (?from=070...&from=070...)

to?|array<string>

수신번호로 필터링. 단일 값 또는 배열 (?to=010...&to=010...)

number?|array<string>

관여 번호로 필터링 (from OR to 매칭). 해당 번호가 발신 또는 수신에 포함된 통화를 조회합니다. 단일 값 또는 배열

since?string

이 시각 이후(포함) 시작된 통화만. ISO 8601.

Formatdate-time
until?string

이 시각 이전(미포함) 시작된 통화만. ISO 8601. since 와 함께 쓰면 구간이 겹치지 않게 이어붙일 수 있습니다.

Formatdate-time
minDuration?integer

통화 시간(초) 하한. 이 값 포함.

Range0 <= value <= 2147483647
maxDuration?integer

통화 시간(초) 상한. 이 값 포함. minDuration=0&maxDuration=0 이면 0초 통화만.

Range0 <= value <= 2147483647
hangupCause?|array<string>

종료 사유로 필터링. status 가 실패를 한 덩어리로 묶는 것과 달리 끝났는지로 가릅니다 — 채널 초과(concurrency_limit_exceeded)·결번(invalid_number)· ClawOps 오류(app_error) 등. 전체 목록은 통화 실패 사유. 단일 값 또는 배열.

pageSize?integer

페이지당 항목 수 (최대 100)

Default20
Rangevalue <= 100
page_size?integerDeprecated

pageSize 의 별칭(하위호환). 신규 연동은 pageSize 를 사용하세요.

Rangevalue <= 100
limit?integerDeprecated

pageSize 의 별칭(하위호환). 신규 연동은 pageSize 를 사용하세요.

Rangevalue <= 100
page?integer

페이지 번호 (0부터 시작)

Default0

Response Body

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/v1/accounts/AC1a2b3c4d/calls?status=completed&from=07052358010&to=01012345678&number=07012345678&since=2026-08-01T00%3A00%3A00Z&until=2026-09-01T00%3A00%3A00Z&minDuration=10&maxDuration=60&hangupCause=concurrency_limit_exceeded&pageSize=20&page_size=50&limit=100&page=0"
{
  "data": [
    {
      "callId": "CAabcdef1234567890",
      "status": "queued",
      "to": "01012345678",
      "from": "07052358010",
      "direction": "outbound",
      "duration": 30,
      "accountId": "AC1a2b3c4d",
      "answeredBy": "human",
      "recordingUrl": "/v1/accounts/AC1a2b3c4d/recordings/CAabcdef1234567890",
      "hangupCause": "invalid_number",
      "hangupCauseQ850": 1,
      "sipResponseCode": 404,
      "hangupSource": "carrier",
      "transferTo": "01012345678",
      "transferStatus": "completed",
      "transferDuration": 60,
      "transferHangupCauseQ850": 16,
      "transferSipResponseCode": 500,
      "transferReasonText": "CS_NORMAL_RELEASE",
      "transfers": [
        {
          "sequence": 0,
          "to": "string",
          "mode": "string",
          "destinationType": "string",
          "status": "string",
          "duration": 0,
          "billable": true,
          "billableDuration": 0,
          "hangupCauseQ850": 0,
          "sipResponseCode": 0,
          "reasonText": "string",
          "startedAt": "2019-08-24T14:15:22Z",
          "connectedAt": "2019-08-24T14:15:22Z",
          "endedAt": "2019-08-24T14:15:22Z"
        }
      ],
      "dateCreated": "2019-08-24T14:15:22Z",
      "dateUpdated": "2019-08-24T14:15:22Z"
    }
  ],
  "meta": {
    "page": 0,
    "pageSize": 0,
    "total": 0
  }
}
{
  "error": "string",
  "code": "recipient_blocked"
}
{
  "error": "string",
  "code": "recipient_blocked"
}
{
  "error": "string",
  "code": "recipient_blocked"
}