---
title: "Get extended lead information"
method: PUT
path: "/{sub_domain}/api/leads/extended-data"
tags: ["Leads"]
---

# Get extended lead information

`PUT /{sub_domain}/api/leads/extended-data`

## Request

- Base URL: `https://api.commpeak.com/dialer`
- URL: `https://api.commpeak.com/dialer/{sub_domain}/api/leads/extended-data`
- Auth: API key in header `Authorization`

Retrieve leads together with their extended campaign information.

**When to use.** Fetch leads enriched with campaign-level details such as status, call counts, freeze time, campaign name, and reasons a lead is not currently callable. For the basic lead records, use `GET /leads`.

**Request body.** A filter object selecting which leads to return. Each key is a lead or campaign-lead field: a scalar matches by equality and an array matches any of the listed values. Special filters:
- `limit`: a `"limit;offset"` string, for example `"500;1000"`. Up to 200 rows are returned by default.
- Date fields such as `created_at`, `updated_at`, `campaign_updated_at` and `global_updated_at` accept a `"value;operator"` expression, and two can be combined with a pipe to select a range, for example `"2024-06-01 00:00:00;>|2024-06-30 00:00:00;<"`. The operator is one of `=`, `!=`, `<>`, `<`, `>`, `<=`, `>=`, `like`. A date value sent on its own, with no operator, matches by equality.

An empty body is rejected with `400`.

**Returns.** `{ "leads": [ ... ], "total_leads": N }`.

**Example.** `PUT /api/leads/extended-data` with body `{ "campaign_id": 42, "limit": "50;0" }`

## Path parameters

- `sub_domain` string, required: Dialer Name (subdomain)

## Request body

- LeadExtendedDataInput
  - `id` integer[], nullable: Lead IDs.
  - `first_name` string[], nullable: Match by first name(s).
  - `limit` string, nullable: Limit and offset as "limit;offset".
  - `created_at` string, nullable: Filter by the date the lead was created.
  - `updated_at` string, nullable: Filter by lead updated_at.
  - `campaign_updated_at` string, nullable: Filter by campaign lead updated_at.
  - `global_updated_at` string, nullable: Filter by the latest updated_at across the lead or its related campaign leads.

## Response `200`

Successful Response

- LeadsExtendedResponse
  - `leads` LeadExtendedItem[], required
    - `lead_id` integer, nullable: Lead ID.
    - `lead_file_id` integer, nullable: Lead file ID.
    - `first_name` string, nullable: First name.
    - `last_name` string, nullable: Last name.
    - `phone` string, nullable: Phone.
    - `phone_normalized` string, nullable: Phone normalized.
    - `email` string, nullable: Email.
    - `campaign_lead_id` integer, nullable: Campaign lead ID.
    - `campaign_id` integer, nullable: Campaign ID.
    - `campaign_name` string, nullable: Campaign name.
    - `status_id` integer, nullable: Campaign lead status ID.
    - `status_name` string, nullable: Campaign lead status name.
    - `assigned_username` string, nullable: Assigned user name.
    - `calls_count` integer, nullable: Calls count to campaign lead.
    - `call_after` string, nullable: Call after (freeze) time.
    - `campaign_updated_at` string, nullable: Campaign lead updated at.
    - `dnc` unknown
    - `calls` unknown[], nullable: Total calls to lead.
      - unknown
  - `total_leads` integer, nullable: Total number of leads in the response.

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/commpeak/apis/commpeak-dialer-api.md) - [All operations](https://skmtc.dev/commpeak/apis/commpeak-dialer-api/llms.txt) - [OpenAPI document](https://skmtc.dev/commpeak/apis/commpeak-dialer-api/revisions/18c5edc07544?raw)
