List leads
Leads from Lead Catcher with status, campaign, recipient and who they are assigned to.
GET https://cotlet.dev/api/v1/mailshake/leads
read
Lists leads, 100 to a page. A lead is a recipient who replied, or who matched the capture rules of the campaign. status is open, won, lost or ignored. Open leads need handling. assigned_to is the teammate who owns the lead, by default the person the campaign is assigned to. Use lead_id in update_lead_status, assign_lead, reply_to_lead and move_leads_to_campaign.
Parameters
| Name | Type | Description |
|---|---|---|
| campaign_id integer | integer | Only leads from this campaign. |
| status enum | enum | open, won, lost or ignored. Default: all. |
| assigned_to_email string | string | Only leads assigned to this teammate. |
| search string | string | Only leads matching this name or email address. |
| per_page integer | integer | 1 to 100. Default: 100. |
| next_token string | string | Next page token from the previous call. |
Request
curl https://cotlet.dev/api/v1/mailshake/leads \
-H "Authorization: Bearer $COTLET_API_KEY" result = client.call("mailshake", "list_leads") const result = await cotlet.call('mailshake', 'list_leads'); cotlet call mailshake list_leads Example response
{
"results": [
{
"lead_id": 5530,
"status": "open",
"created": "2026-10-21T14:12:00.000Z",
"campaign": {
"id": 4821,
"title": "Agency outreach Q4"
},
"recipient": {
"id": 771204,
"email_address": "dana@brightpath.example",
"full_name": "Dana Whitfield"
},
"assigned_to": "lucy@northwind.example"
},
{
"lead_id": 5531,
"status": "open",
"created": "2026-10-21T16:40:00.000Z",
"campaign": {
"id": 4821,
"title": "Agency outreach Q4"
},
"recipient": {
"id": 771205,
"email_address": "omar@lumenlabs.example",
"full_name": "Omar Haddad"
},
"assigned_to": "lucy@northwind.example"
}
],
"next_token": null
}