Push Leads

Push a set of leads to a configured outreach destination.

Endpoint

POST /api/v1/leads/push

Authentication

All requests require the X-Satellyte-API-Key header. See Quickstart.

Request body

FieldTypeRequiredNotes
lead_idsstring[]YesLeads to push. Must belong to this workspace.
destinationstringYesOne of webhook_url, heyreach, instantly.
webhook_urlstringConditionalRequired when destination is webhook_url.

Supported destinations

DestinationStatusNotes
webhook_urlImplementedReal POST dispatch to the URL you supply.
heyreachGuardedRequires the workspace to have HeyReach integration/list mapping configured.
instantlyGuardedRequires the workspace to have Instantly integration/campaign mapping configured.

cURL: webhook dispatch

curl -i -X POST "https://api-staging.satellyte.ai/api/v1/leads/push" \
  -H "X-Satellyte-API-Key: $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "lead_ids": ["lead_1", "lead_2"],
    "destination": "webhook_url",
    "webhook_url": "https://example.com/webhook"
  }'

Response (200): dispatched

{
  "data": {
    "status": "dispatched",
    "destination": "webhook_url",
    "lead_count": 2,
    "requested_lead_count": 2,
    "missing_lead_ids": [],
    "dispatched": true,
    "provider_status_code": 200,
    "provider_response": "{\"ok\":true}"
  }
}

Response (200): dispatch failed

{
  "data": {
    "status": "dispatch_failed",
    "destination": "webhook_url",
    "lead_count": 0,
    "requested_lead_count": 2,
    "missing_lead_ids": ["lead_1", "lead_2"],
    "dispatched": false,
    "provider_status_code": 501,
    "provider_response": "Unsupported method"
  }
}

Response fields

FieldTypeNotes
statusstringdispatched or dispatch_failed.
destinationstringEchoed destination.
lead_countnumberNumber of leads actually dispatched.
requested_lead_countnumberNumber requested in the call.
missing_lead_idsstring[]Leads that did not exist in this workspace or were not pushed.
dispatchedbooleanWhether the dispatch succeeded end-to-end.
provider_status_codenumberDestination's HTTP status (your webhook, HeyReach, or Instantly).
provider_responsestringTruncated body returned by the destination.

Unknown or missing leads are returned transparently in missing_lead_ids rather than raising errors.