---
title: "Search client CRM leads"
method: POST
path: "/crm/leads/search"
---

# Search client CRM leads

`POST /crm/leads/search`

## Request

- Base URL: `https://api.bamf.ai/v1`
- URL: `https://api.bamf.ai/v1/crm/leads/search`
- Auth: HTTP bearer

Requires a BAMF user JWT; BAMF API keys are rejected. agent_sessions:read public admission and downstream client.crm.read workspace capability are required. Client ownership is resolved by the server. Read-only: no provider calls or sends. Search limit 1–100, offset 0–10,000, search up to 160 characters; campaign_scope new/in_campaign/all; connection_scope first_degree/pending_invite/not_connected/all; optional campaign_id UUID and accepted_no_reply/saudi_only/strong_icp_only booleans.

## Request body

- object
  - `workspace_id` string, uuid, required
  - `params` object
    - `limit` integer
    - `offset` integer
    - `search` string
    - `campaign_scope` 'new' | 'in_campaign' | 'all'
    - `connection_scope` 'first_degree' | 'pending_invite' | 'not_connected' | 'all'
    - `campaign_id` string, uuid
    - `accepted_no_reply` boolean
    - `saudi_only` boolean
    - `strong_icp_only` boolean

## Response `200`

data contains normalized CRM version/action/workspace/result; outer workspace_id/read_only:true/provider_mutation:false. No idempotency key needed.

## Other responses

- `400`: Invalid workspace/filter or extra field
- `401`: Missing/invalid authentication
- `403`: API key or workspace/capability denied
- `502`: Native CRM read unavailable or invalid response

---

[API](https://skmtc.dev/bamf/apis/bamf-developer-platform-api.md) · [All operations](https://skmtc.dev/bamf/apis/bamf-developer-platform-api/llms.txt) · [OpenAPI document](https://skmtc.dev/bamf/apis/bamf-developer-platform-api/revisions/2337a0710c2e?raw)
