SoftSolzSoftSolz
HomeAPI GuideAPI ReferenceWidget Tester
my leads

Add or merge up to 200 leads in one call.

Save a batch of researched companies. Prefer this over POST /leads when you have more than one. Default on_duplicate is merge, so re-researching a company refreshes it instead of duplicating it. Each row is saved independently and reported in results with created, merged, skipped or failed plus an error message for failed rows; the call still succeeds when some rows fail. Answers 402 free_plan_limit_reached when the batch would cross the free plan cap.

POSThttps://app.softsolz.uk/api/v1/services/my-leads/leads/bulk

Recent Requests

Log in to see full request history
TimeStatusUser Agent
Make a request to see history.

Headers

Authorizationstringrequired

Bearer token: `Bearer sk_live_...` (or `sk_test_...` for sandbox). A login token will not work here.

Idempotency-Keystring

Optional idempotency key for safe retries.

Body Params

leadsarray of objects

Up to 200 leads, each shaped like the POST /leads body.

on_duplicatestring

What to do when a lead with the same external_id, domain or contact email already exists: error (409 duplicate_lead with existing_id), merge (fill blanks, merge sections, union tags), skip, or create a second record.

Response

Response Body

resultsarray of objectsOne entry per row, in request order.
countsobjectTotals: { created, merged, skipped, failed }.

Request

import { SoftSolz } from '@softsolz/sdk';
const client = new SoftSolz({ apiKey: process.env.SOFTSOLZ_API_KEY });
const result = await client.myLeads.bulkUpsertLeads({});
console.log(result);

Credentials

Sent as a Bearer token. Stored only in your browser.

Response · 201

{
"data": {
"results": [],
"counts": {}
}
}