POST

Add Lead to Campaign

Add a lead to your campaign for automated research, scoring, and outreach.

Endpoint

POST /api/campaigns/:campaignId/leads

Replace :campaignId with your campaign ID. You can find your campaign ID in your campaign dashboard.

Quick Example

curl -X POST https://magnetite.ai/api/campaigns/YOUR_CAMPAIGN_ID/leads \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "companyName": "Acme Corp",
    "contactName": "John Smith",
    "email": "john@acme.com"
  }'

Request Fields

Required Fields

FieldTypeDescription
companyNamestringCompany name
contactNamestringContact's full name
emailstringContact's email address

Optional Basic Fields

FieldTypeDescription
domainstringCompany domain (auto-extracted from email if not provided)
titlestringContact's job title
phonestringContact's phone number
linkedInUrlstringContact's LinkedIn profile URL
companyLinkedInUrlstringCompany's LinkedIn page URL
notesstringInternal notes about the lead (available to research agent)

Advanced Enrichment Fields

Pass pre-enriched data to skip automatic enrichment and improve scoring accuracy.

FieldTypeDescription
companyobjectCompany enrichment data (industry, size, technologies, signals)
contactobjectContact enrichment data (bio, seniority, department, location)
researchDataobjectFreeform JSON for email personalization
extraContextobjectFreeform JSON for extra context passed to research agent
customDataobjectAny additional custom data (stored with lead)

Company Enrichment Schema

{
  "company": {
    "description": "Enterprise software company...",
    "website": "https://acme.com",
    "linkedinUrl": "https://linkedin.com/company/acme",
    "industry": "Software",
    "subIndustry": "Enterprise SaaS",
    "employeeCount": 250,
    "employeeRange": "201-500",
    "revenue": 50000000,
    "revenueRange": "$10M-$50M",
    "foundedYear": 2015,
    "fundingStage": "Series B",
    "headquarters": "San Francisco, CA",
    "country": "United States",
    "technologies": ["Salesforce", "HubSpot", "AWS"],
    "signals": {
      "recentFunding": { "amount": 50000000, "date": "2024-06", "round": "Series B" },
      "hiringSignals": { "isHiring": true, "openRoles": 15 },
      "growthIndicators": { "employeeGrowth": 0.35, "revenueGrowth": 0.50 }
    }
  }
}

Contact Enrichment Schema

{
  "contact": {
    "bio": "20+ years in enterprise sales...",
    "photoUrl": "https://example.com/photo.jpg",
    "seniority": "VP",
    "department": "Sales",
    "city": "San Francisco",
    "state": "California",
    "country": "United States",
    "timezone": "America/Los_Angeles"
  }
}

Response

{
  "success": true,
  "prospectId": "abc123...",
  "status": "queued",
  "message": "Lead added to campaign and queued for outreach"
}

The lead will be automatically scored against your campaign's ICP criteria and added to the outreach queue. Use webhooks to receive notifications when meetings are booked.

Full Example

curl -X POST https://magnetite.ai/api/campaigns/YOUR_CAMPAIGN_ID/leads \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "companyName": "Acme Corp",
    "domain": "acme.com",
    "contactName": "John Smith",
    "email": "john@acme.com",
    "title": "VP of Sales",
    "linkedInUrl": "https://linkedin.com/in/johnsmith",
    "companyLinkedInUrl": "https://linkedin.com/company/acme",
    "notes": "Met at SaaStr conference",
    "company": {
      "industry": "Software",
      "employeeCount": 250,
      "fundingStage": "Series B"
    },
    "contact": {
      "seniority": "VP",
      "department": "Sales"
    },
    "extraContext": {
      "referralSource": "Jane Doe introduced us",
      "painPoints": ["Manual outreach", "Low response rates"]
    }
  }'

Error Responses

400
Bad Request

Missing required fields or invalid data format

401
Unauthorized

Invalid or missing API key

403
Forbidden

Campaign doesn't belong to your organization

404
Not Found

Campaign not found

Integrations

Prefer a no-code solution? Use our integrations: