v1

latestOpenAPI 3.1.02026-07-2617125852.3 KB
Lead

List leads

This endpoint is a POST endpoint, instead of GET - a deviation from the REST APIs standards we’re following because of the complex arguments it accepts, which would be too hard to express through query parameters. Results are ordered by each lead's id field in ascending order (or by contact when distinct_contacts is true) so clients can paginate chronologically by reusing the cursor returned in next_starting_after. Leads created on or after October 15, 2025 respect this chronological ordering; older records may appear out of sequence when sorted by ID.

Requires one of the following scopes: leads:read, leads:all, all:read, all:all

post/api/v2/leads/list

Request body

searchstring

A search string to search the leads against - can be First Name, Last Name, or Email

filterstring

Filter criteria for leads. For custom lead labels, use the interest_status field.

campaignstring uuid

Campaign ID to filter leads

list_idstring uuid

List ID to filter leads

in_campaignboolean

Whether the lead is in a campaign

in_listboolean

Whether the lead is in a list

idsstring[]

Array of lead IDs to include

excluded_idsstring[]

Array of lead IDs to exclude

contactsstring[]

Array of emails the leads needs to have

limitinteger

The number of items to return

starting_afterstring

Forward pagination cursor. When distinct_contacts is false, provide the id value from the last lead of the previous page; when true, provide the lead's email.

organization_user_idsstring[]

Array of organization user IDs to filter leads

smart_view_idstring uuid

Smart view ID to filter leads

is_website_visitorboolean

Whether the lead is a website visitor

distinct_contactsboolean

Whether to return distinct contacts

enrichment_status1 | -1 | 11 | -2

Enrichment status to filter leads

esg_code'0' | '1' | '2' | '3' | '4' | 'all' | 'none'

ESG code to filter leads

Example request

{
  "search": "John Doe",
  "filter": "FILTER_VAL_CONTACTED",
  "campaign": "019f94cd-a3b5-733e-bbba-363737342005",
  "list_id": "019f94cd-a3b5-733e-bbba-363888774b70",
  "in_campaign": true,
  "in_list": true,
  "ids": [
    "019f94cd-a3b5-733e-bbba-3639492c49f6"
  ],
  "queries": [
    {
      "actionType": "email-open",
      "values": {
        "occurrence-days": 1
      }
    }
  ],
  "excluded_ids": [
    "019f94cd-a3b5-733e-bbba-363af3cd9bcb"
  ],
  "contacts": [
    "test@test.com"
  ],
  "limit": 10,
  "starting_after": "019f94cd-aeeb-7066-96cc-488b90008d71",
  "organization_user_ids": [
    "019f94cd-aeeb-7066-96cc-488c29111c5f"
  ],
  "smart_view_id": "019f94cd-aeeb-7066-96cc-488d7435edee",
  "is_website_visitor": true,
  "distinct_contacts": true,
  "enrichment_status": 1,
  "esg_code": "1"
}

Response

The list of Lead

next_starting_afterstring

The filter for getting the next items after this one, this could either be a UUID, a timestamp, on an email depending on the specific API

Example response

{
  "items": [
    {
      "id": "019f94cd-6edd-7cd1-afe8-5c58ef37073c",
      "timestamp_created": "2026-07-24T15:45:19.071Z",
      "timestamp_updated": "2026-07-24T15:45:19.071Z",
      "organization": "019f94cd-6edf-7803-a9b0-d73025a65cb0",
      "campaign": "019f94cd-6edf-7803-a9b0-d731bdc16746",
      "status": 1,
      "email": "example@example.com",
      "personalization": "Hello, how are you?",
      "website": "https://example.com",
      "last_name": "Doe",
      "first_name": "John",
      "company_name": "Example Inc.",
      "job_title": "Head of Growth",
      "phone": "+1234567890",
      "company_domain": "example.com",
      "status_summary": {
        "lastStep": {
          "from": "campaign",
          "stepID": "019f94cd-6ee0-7427-b15d-08d62c997ce2",
          "timestamp_executed": "2026-07-24T15:45:19.072Z"
        },
        "domain_complete": true
      },
      "payload": {
        "firstName": "John",
        "lastName": "Doe",
        "companyName": "Acme Corp",
        "jobTitle": "Head of Growth",
        "website": "https://example.com",
        "phone": "+1234567890",
        "personalization": "Hi {{first_name}}, I noticed you work at {{company_name}}..."
      },
      "status_summary_subseq": {
        "from": "campaign",
        "stepID": "019f94cd-6ee0-7427-b15d-08d7353c3777",
        "timestampExecuted": "2026-07-24T15:45:19.072Z"
      },
      "last_step_from": "campaign",
      "last_step_id": "019f94cd-6ee0-7427-b15d-08d8b8b1b662",
      "last_step_timestamp_executed": "2026-07-24T15:45:19.072Z",
      "email_opened_step": 1,
      "email_opened_variant": 1,
      "email_replied_step": 1,
      "email_replied_variant": 1,
      "email_clicked_step": 1,
      "email_clicked_variant": 1,
      "lt_interest_status": 1,
      "subsequence_id": "019f94cd-6ee0-7427-b15d-08d97605892f",
      "verification_status": 1,
      "pl_value_lead": "High",
      "timestamp_added_subsequence": "2026-07-24T15:45:19.072Z",
      "timestamp_last_contact": "2026-07-24T15:45:19.072Z",
      "timestamp_last_open": "2026-07-24T15:45:19.072Z",
      "timestamp_last_reply": "2026-07-24T15:45:19.072Z",
      "timestamp_last_interest_change": "2026-07-24T15:45:19.072Z",
      "timestamp_last_click": "2026-07-24T15:45:19.072Z",
      "enrichment_status": 1,
      "list_id": "019f94cd-6ee0-7427-b15d-08da398d9a91",
      "last_contacted_from": "email",
      "uploaded_by_user": "019f94cd-6ee0-7427-b15d-08dbecc8841d",
      "upload_method": "manual",
      "assigned_to": "019f94cd-6ee0-7427-b15d-08dc06ad35e5",
      "is_website_visitor": true,
      "timestamp_last_touch": "2026-07-24T15:45:19.072Z",
      "esp_code": 1,
      "esg_code": 1
    }
  ],
  "next_starting_after": "019f94cd-aeeb-7066-96cc-488ec08b3964"
}