# LeadPilot — Search, Filtering & Pagination

**Document Version:** 1.0.0 (Phase 7 Lead Management Lock)  
**Status:** Implemented & Verified  

---

## 1. Search & Filter Parameters

```
+------------------+-----------------------+-------------------------------------------------------------------+
| PARAMETER        | TYPE                  | BEHAVIOR & INDEX TARGET                                           |
+------------------+-----------------------+-------------------------------------------------------------------+
| `search`         | String (1-100 chars)  | Substring matching across `first_name`, `last_name`, `company`,   |
|                  |                       | `email`, `phone`, and `inquiry_text`.                             |
| `stage_id`       | UUID                  | Filters leads by exact `pipeline_stage_id`.                       |
| `status`         | String                | Filters by operational state (`active`, `won`, `lost`, `archived`)|
| `assigned_user_id`| UUID / 'unassigned'  | Filters by specific rep or unassigned triage pool.                |
| `source_id`      | UUID                  | Filters by ingest channel.                                        |
| `sort`           | Allowlist String      | `created_at_desc`, `created_at_asc`, `score_desc`, `activity_desc`|
| `per_page`       | Integer (10 to 100)   | Server-side pagination size (Default: 25).                        |
+------------------+-----------------------+-------------------------------------------------------------------+
```
