Examples use fictional data. Every company, person, address and count in them is invented, and their domains use the reserved .example TLD.
Autopilot
Leads
A lead is one person inside one campaign, carrying the research the agents wrote about them and their position in the ladder.
GET
/v1/leadsList leads
Filter by campaign, status or free text across name, company and email.
API key or sessionFree
Query parameters
| Field | Type | Description |
|---|---|---|
| campaign_id | string | Restrict to one campaign. |
| status | string | new, researching, queued, contacted, opened, replied, interested, meeting_booked, won, not_interested, bounced, unsubscribed or skipped. |
| q | string | Free-text match on name, company and email. |
| limit | number | Rows to return. Default 25, maximum 100. |
| offset | number | Rows to skip. |
curl "https://beamro.com/api/v1/leads?campaign_id=cmp_1t7k4v9m2q0b6x3n8w&status=interested&limit=25" \
-H "x-api-key: $SALVO_API_KEY"200 response
{
"rows": [
{
"id": "led_9f21c7ab4d0e",
"org_id": "org_7t2m9v",
"campaign_id": "cmp_1t7k4v9m2q0b6x3n8w",
"person_id": "per_2k7n4v9x1m6q0b3t8c",
"company_id": "cmp_3h8q1w6x0m4v9k2t7b",
"full_name": "Priya Whitcombe",
"title": "Founder & Creative Director",
"email": "priya.whitcombe@harlowmeadow.example",
"email_status": "valid",
"company_name": "Harlow Meadow Events",
"company_domain": "harlowmeadow.example",
"country": "US",
"linkedin_url": "https://www.linkedin.example/in/priya-whitcombe-4c",
"fit_score": 88,
"status": "replied",
"research": {
"hooks": [
"Posted three November barn weddings in the last month",
"Hiring a second install crew"
],
"summary": "Small studio scaling install capacity for the autumn season; buys stems by the case.",
"signals": [
"hiring",
"seasonal_peak"
]
},
"last_contacted_at": "2026-08-27T13:02:10.000Z",
"replied_at": "2026-08-28T08:41:55.000Z",
"created_at": "2026-08-19T10:00:00.000Z"
}
],
"total": 34,
"limit": 25,
"offset": 0
}GET
/v1/leads/{lead_id}Retrieve a lead
The lead plus every message sent to and received from them, oldest first.
API key or sessionFree
Path parameters
| Field | Type | Description |
|---|---|---|
| lead_idreq | string | Lead identifier. |
curl "https://beamro.com/api/v1/leads/led_9f21c7ab4d0e" \
-H "x-api-key: $SALVO_API_KEY"200 response
{
"lead": {
"id": "led_9f21c7ab4d0e",
"org_id": "org_7t2m9v",
"campaign_id": "cmp_1t7k4v9m2q0b6x3n8w",
"person_id": "per_2k7n4v9x1m6q0b3t8c",
"company_id": "cmp_3h8q1w6x0m4v9k2t7b",
"full_name": "Priya Whitcombe",
"title": "Founder & Creative Director",
"email": "priya.whitcombe@harlowmeadow.example",
"email_status": "valid",
"company_name": "Harlow Meadow Events",
"company_domain": "harlowmeadow.example",
"country": "US",
"linkedin_url": "https://www.linkedin.example/in/priya-whitcombe-4c",
"fit_score": 88,
"status": "replied",
"research": {
"hooks": [
"Posted three November barn weddings in the last month",
"Hiring a second install crew"
],
"summary": "Small studio scaling install capacity for the autumn season; buys stems by the case.",
"signals": [
"hiring",
"seasonal_peak"
]
},
"last_contacted_at": "2026-08-27T13:02:10.000Z",
"replied_at": "2026-08-28T08:41:55.000Z",
"created_at": "2026-08-19T10:00:00.000Z"
},
"messages": [
{
"id": "msg_4x8k1v6m0q2b9t3n7w",
"org_id": "org_4k1p8w2ne6ts0ybc7j",
"thread_id": "thr_2b7n4k9x1v6m0q3t8w",
"lead_id": "led_9f21c7ab4d0e",
"campaign_id": "cmp_1t7k4v9m2q0b6x3n8w",
"direction": "outbound",
"step": 1,
"mailbox_id": "mbx_5k2v8n1q4x7m0b3t6w",
"from_email": "devon@outreach-harlowmeadow.example",
"to_email": "priya.whitcombe@harlowmeadow.example",
"subject": "autumn install windows at Harlow Meadow",
"body_text": "Priya — you have three barn weddings listed for November…",
"body_html": null,
"status": "delivered",
"provider_message_id": "01K3ZC9V6M0QX2B7",
"scheduled_at": "2026-08-27T13:00:00.000Z",
"sent_at": "2026-08-27T13:02:10.000Z",
"received_at": null,
"opened_at": "2026-08-27T15:44:03.000Z",
"clicked_at": null,
"intent": null,
"sentiment": null,
"needs_human": false,
"created_at": "2026-08-27T12:58:00.000Z"
}
]
}PATCH
/v1/leads/{lead_id}Update a lead
Correct a status by hand — marking someone won, or skipping a lead you know is wrong. Setting unsubscribed also writes a suppression.
API key or sessionFree
Path parameters
| Field | Type | Description |
|---|---|---|
| lead_idreq | string | Lead identifier. |
Body parameters
| Field | Type | Description |
|---|---|---|
| status | LeadStatus | New status for the lead. |
| string | Corrected address. Re-validated on write. | |
| fit_score | number | Override the computed 0-100 fit score. |
curl -X PATCH "https://beamro.com/api/v1/leads/led_9f21c7ab4d0e" \
-H "x-api-key: $SALVO_API_KEY" \
-H "content-type: application/json" \
-d '{
"status": "won"
}'200 response
{
"id": "led_9f21c7ab4d0e",
"org_id": "org_7t2m9v",
"campaign_id": "cmp_1t7k4v9m2q0b6x3n8w",
"person_id": "per_2k7n4v9x1m6q0b3t8c",
"company_id": "cmp_3h8q1w6x0m4v9k2t7b",
"full_name": "Priya Whitcombe",
"title": "Founder & Creative Director",
"email": "priya.whitcombe@harlowmeadow.example",
"email_status": "valid",
"company_name": "Harlow Meadow Events",
"company_domain": "harlowmeadow.example",
"country": "US",
"linkedin_url": "https://www.linkedin.example/in/priya-whitcombe-4c",
"fit_score": 88,
"status": "won",
"research": {
"hooks": [
"Posted three November barn weddings in the last month",
"Hiring a second install crew"
],
"summary": "Small studio scaling install capacity for the autumn season; buys stems by the case.",
"signals": [
"hiring",
"seasonal_peak"
]
},
"last_contacted_at": "2026-08-27T13:02:10.000Z",
"replied_at": "2026-08-28T08:41:55.000Z",
"created_at": "2026-08-19T10:00:00.000Z"
}