---
title: "Recent call history"
method: GET
path: "/api/v1/calls"
tags: ["calls"]
---

# Recent call history

`GET /api/v1/calls`

## Request

- Base URL: `https://www.callagent.pro`
- URL: `https://www.callagent.pro/api/v1/calls`
- Auth: HTTP bearer

## Query parameters

- `limit` integer
- `offset` integer
- `status` 'ringing' | 'answered' | 'completed' | 'failed' | 'no_answer' | 'busy'
- `date_from` string, date
- `date_to` string, date
- `search` string

## Response `200`

OK

- object
  - `calls` Call[]
    - `id` integer, required
    - `caller` string, required: The external party's number ('—' if unknown)
    - `agent` integer, nullable, required: agent id (null for a direct SIP-to-SIP/trunk call with no agent)
    - `dir` 'in' | 'out', required
    - `status` 'ringing' | 'answered' | 'completed' | 'failed' | 'no_answer' | 'busy', required
    - `reason` string, required: Failure detail, only set when status=failed
    - `disp` string, required: Outcome tag once the agent has classified the call, e.g. qualified, not_interested, callback_requested — empty until then
    - `dur` string, required: MM:SS
    - `date` string, required: e.g. '02 Sep', in the account owner's timezone
    - `time` string, required: HH:MM, in the account owner's timezone
    - `ts` integer, required: Unix timestamp
    - `summary` string, required
    - `vars` unknown[], required: Always empty on the list shape — call captured variables via GET /calls/{id}
      - unknown
  - `meta` object
    - `total` integer
    - `limit` integer
    - `offset` integer

## Other responses

- `401`: Missing or invalid Bearer key
- `429`: Too many requests — see the endpoint's rate limit tier (agent-api 120/min, agent-api-heavy 6/min, agent-api-secrets 10/min)

---

[API](https://skmtc.dev/callagent/apis/callagent-pro-agent-api.md) · [All operations](https://skmtc.dev/callagent/apis/callagent-pro-agent-api/llms.txt) · [OpenAPI document](https://skmtc.dev/callagent/apis/callagent-pro-agent-api/revisions/38072cf8a24b?raw)
