---
title: "Import Outbound Batch"
method: POST
path: "/api/sales/import-outbound-batch"
tags: ["Sales"]
---

# Import Outbound Batch

`POST /api/sales/import-outbound-batch`

## Request

- Base URL: `https://api.ruzora.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.ruzora.com/api/sales/import-outbound-batch`
- Auth: HTTP bearer

Unified outbound-lead import endpoint — ADR-002.

Mirrors /import-vibe-prospecting but is the canonical entry point for ALL
outbound signal sources (Bombora, TheirStack, PhantomBuster Sales Nav,
referrals, manual). The `signal_source` field in the request body is the
source of truth for attribution; `source` is kept for backward compat.

Recommended payload shape:
    {
      "leads": [...],
      "source": "TheirStack",                  # human-readable
      "signal_source": "theirstack",           # enum for attribution
      "activation_channel": "multi_channel",   # how we'll reach them
      "signal_metadata": {                     # source-specific payload
        "open_roles": [...],
        "posted_dates": [...],
        "tech_stack": [...]
      },
      "auto_assign": true
    }

## Request body

- VibeProspectingImportRequest
  - `leads` VibeProspectingLead[], required
    - `first_name` string, required
    - `last_name` string, required
    - `email` string, required
    - `company` string, nullable
    - `role` string, nullable
    - `hiring_need` string, nullable
    - `seats_needed` integer, nullable
    - `timeline` string, nullable
    - `phone` string, nullable
    - `linkedin_url` string, nullable
    - `explorium_business_id` string, nullable
    - `explorium_prospect_id` string, nullable
    - `company_domain` string, nullable
    - `company_size_range` string, nullable
    - `company_revenue_range` string, nullable
    - `tech_stack` string, nullable
    - `intent_score` integer, nullable
    - `intent_topics` string, nullable
    - `funding_stage` string, nullable
    - `funding_amount` string, nullable
    - `workforce_trend` string, nullable
    - `signal_source` string, nullable
    - `activation_channel` string, nullable
    - `signal_metadata` object, nullable
    - `email_source` string, nullable
    - `email_verification_status` string, nullable
  - `source` string
  - `auto_assign` boolean
  - `signal_source` string, nullable
  - `activation_channel` string, nullable
  - `signal_metadata` object, nullable

## Response `200`

Successful Response

- VibeProspectingImportResult
  - `total` integer, required
  - `created` integer, required
  - `skipped_duplicates` integer, required
  - `updated_enrichment` integer, required
  - `skipped_existing_clients` integer, required
  - `errors` integer, required
  - `created_ids` string[], required
  - `updated_ids` string[], required
  - `skipped_emails` string[], required
  - `existing_client_domains` string[], required
  - `auto_send_enabled` boolean
  - `pending_activation_ids` string[]

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/ruzora/apis/ruzora-candidate-crm-api.md) · [All operations](https://skmtc.dev/ruzora/apis/ruzora-candidate-crm-api/llms.txt) · [OpenAPI document](https://skmtc.dev/ruzora/apis/ruzora-candidate-crm-api/revisions/f9b8223f3ac4?raw)
