Skip to content

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/leads

List leads

Filter by campaign, status or free text across name, company and email.

API key or sessionFree

Query parameters

FieldTypeDescription
campaign_idstringRestrict to one campaign.
statusstringnew, researching, queued, contacted, opened, replied, interested, meeting_booked, won, not_interested, bounced, unsubscribed or skipped.
qstringFree-text match on name, company and email.
limitnumberRows to return. Default 25, maximum 100.
offsetnumberRows 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

FieldTypeDescription
lead_idreqstringLead 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

FieldTypeDescription
lead_idreqstringLead identifier.

Body parameters

FieldTypeDescription
statusLeadStatusNew status for the lead.
emailstringCorrected address. Re-validated on write.
fit_scorenumberOverride 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"
}