Jobs

Queue async lead import

Queues an async import job for up to 1000 leads. Furnace allows at most 3 queued or running async jobs per account at a time. Per-row lead.created / lead.updated webhooks are suppressed during processing; a single lead.bulk_import.completed event is emitted when the job completes successfully. enrolled counts every address started on this import, including an address already in this campaign. updated is how many of those had their details refreshed, including a later copy of the same email in the same request. created is a new lead row. imported is the same number as enrolled. This call does not check other campaigns.

POST/v1/campaigns/{id}/leads/bulk/async

Authorization

bearerAuth
AuthorizationBearer <token>

Use an account API key in the Authorization header: Authorization: Bearer f_....

In: header

Path Parameters

idstring

Campaign id.

Formatuuid

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

leadsarray<LeadCreate>
Items1 <= items <= 1000
curl -X POST "https://example.com/v1/campaigns/497f6eca-6276-4993-bfeb-53cbbbba6f08/leads/bulk/async" \  -H "Content-Type: application/json" \  -d '{    "leads": [      {        "email": "jane@example.com",        "first_name": "Jane",        "custom_lead_data": {          "company": "Acme Co",          "source": "Landing Page"        },        "tags": [          "Hunter"        ],        "email_verification": {          "status": "ok",          "provider": "millionverifier"        }      }    ]  }'
{  "data": {    "id": "6a8584eb-0ee5-4d7d-8eb6-db9259914e18",    "campaign_id": "1d8dc901-3d2d-4d9f-9dcc-4f8b3aa1a1fb",    "account_id": "04bc2b35-a282-4581-a53f-50435d8309f1",    "created_by_api_key_id": "a66d06b0-dfe0-420b-8c05-1e7301ad1514",    "status": "queued",    "input": {      "leads": [        {          "email": "jane@example.com"        }      ]    },    "result": {},    "errors": []  }}
{  "error": {    "type": "invalid_request_error",    "code": "invalid_flow",    "message": "Flow validation failed"  },  "details": [    {      "path": "nodes[1].data.variants[0].id",      "code": "invalid_variant_id",      "message": "Email variants must have a stable UUID id."    }  ]}
{  "error": {    "type": "authentication_error",    "code": "invalid_api_key",    "message": "A valid Furnace API key is required"  }}
{  "error": {    "type": "permission_error",    "code": "smartlead_read_only",    "message": "Smartlead campaigns are read-only via the API"  }}
{  "error": {    "type": "invalid_request_error",    "code": "campaign_not_found",    "message": "Campaign not found"  }}
{  "error": {    "type": "rate_limit_error",    "code": "rate_limit_exceeded",    "message": "Rate limit exceeded for this account"  }}
{  "error": {    "type": "api_error",    "code": "internal_error",    "message": "Internal server error"  }}