---
title: "GET /v1/external/campaigns/{agent_id}/{campaign_id}/calls"
method: GET
path: "/v1/external/campaigns/{agent_id}/{campaign_id}/calls"
---

# GET /v1/external/campaigns/{agent_id}/{campaign_id}/calls

`GET /v1/external/campaigns/{agent_id}/{campaign_id}/calls`

## Request

- Base URL: `https://api.samora.ai`
- URL: `https://api.samora.ai/v1/external/campaigns/{agent_id}/{campaign_id}/calls`
- Auth: API key in header `X-API-Key`
- TypeScript: <https://skmtc.dev/i-stem/apis/samora-ai-api/docs/v1/external/campaigns/:agent_id/:campaign_id/calls/get.ts> (a function with typed inputs; its response is checked against the schema)

Lists calls/recipients created for a campaign. Use this lightweight response to track call statuses. Use Get call details for the full call record.

## Path parameters

- `agent_id` string, uuid, required
- `campaign_id` string, uuid, required

## Query parameters

- `page` integer
- `page_size` integer
- `search` string
- `status` string
- `duration_min` integer
- `duration_max` integer
- `sort_by` 'participant_id' | 'status' | 'created_at' | 'updated_at' | 'started_at' | 'ended_at' | 'duration'
- `sort_dir` 'asc' | 'desc'

## Response `200`

Campaign calls fetched successfully

- ListCampaignCallsResponse
  - `message` string, required
  - `data` object, required
    - `calls` CampaignCall[], required
      - `id` string, uuid, required
      - `to_number` string, required: Recipient phone number.
      - `status` string, required: Current call status.
      - `duration` integer, required: Call duration in seconds.
      - `created_at` string, date-time, required
      - `updated_at` string, date-time, required
      - `started_at` string, date-time, nullable, required
      - `ended_at` string, date-time, nullable, required
    - `page` integer, required
    - `page_size` integer, required
    - `total` integer, required

## Other responses

- `400`: Bad request
- `404`: Resource not found or does not belong to your organization
- `500`: Internal server error

## Changes

- **2026-06-03** `1fa4dba3e96d`: 5 info
  - added the required property `data/calls/items/created_at` to the response with the `200` status
  - added the required property `data/calls/items/duration` to the response with the `200` status
  - added the required property `data/calls/items/ended_at` to the response with the `200` status
  - added the required property `data/calls/items/started_at` to the response with the `200` status
  - …1 more
- **2026-06-03** `4575127a5020`: 1 info
  - endpoint added
- **2026-02-03** `919eb7a392aa`: 1 breaking
  - api path removed without deprecation

[Operation history](https://skmtc.dev/i-stem/apis/samora-ai-api/changes/v1/external/campaigns/:agent_id/:campaign_id/calls/get.md)

---

[API](https://skmtc.dev/i-stem/apis/samora-ai-api.md) - [All operations](https://skmtc.dev/i-stem/apis/samora-ai-api/llms.txt) - [OpenAPI document](https://skmtc.dev/i-stem/apis/samora-ai-api/revisions/cb390cb388d1?raw)
