API ReferenceLead FinderImport people as leads
POST/v2/campaigns/lead-finder/import

Import people as leads

Reveals (or reuses cached reveals of) email + optionally mobile for the given people, then saves them to your account-wide Saved Leads — the same list Add leads to campaign pulls from. This is the "export" step for people, same idea as Save companies.

Stablescope: write API KeyLearn about API scopes →

Auto-filtered against your suppression list

Anyone globally suppressed (hard-bounced, unsubscribed, or complained) or already contacted elsewhere in your account is silently dropped from the import — see skipped.smartFiltered in the response.

Request

AuthorizationBearer YOUR_API_KEY
Content-Typeapplication/json

Parameters

FieldTypeRequiredDescription
personIdsstring[]Required1–20,000 person IDs from a Search people result.
leadsobject[]OptionalPer-person hints (firstName, lastName, company, jobTitle, wantMobile, etc.) carried over from the search result — anything not in here is lost once saved, since the reveal call itself only returns name/company/email/mobile.
labelobjectOptional{ name, color } — which Saved Leads group to file these under. Omitted defaults to "Sourced Leads".
skipSavebooleanOptionaltrue to only reveal + cache (still spends credits) without creating a Saved Leads row — for callers about to save the lead somewhere else themselves.
curl -X POST "https://api.stynar.com/v2/campaigns/lead-finder/import" \
  -H "Authorization: Bearer esk_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{"personIds":["prs_a1b2c3"],"leads":[{"personId":"prs_a1b2c3","firstName":"Jane","lastName":"Doe","company":"Acme Inc","wantMobile":false}]}'

Response

✓ 200 OK
200 response
{
  "imported": 1,
  "skipped": {
    "duplicatesInFile": [],
    "duplicatesInDB": [],
    "invalidRows": [],
    "smartFiltered": {
      "bounced": [],
      "unsubscribed": [],
      "complaint": [],
      "alreadyContacted": []
    }
  },
  "truncated": false
}

Response fields

Errors

StatusCodeMeaning
✕ 402 INSUFFICIENT_CREDITSNot enough credits to reveal the requested people.
✕ 401 UnauthorizedUNAUTHORIZEDMissing, malformed, unknown, revoked, or expired key.
✕ 403 ForbiddenAPI_ACCESS_DISABLEDAPI access is turned off for your account.
✕ 403 ForbiddenINSUFFICIENT_SCOPEThe key doesn't have the scope this endpoint requires.
✕ 404 Not FoundNOT_FOUNDUnknown route, or a resource that doesn't exist / isn't yours.
✕ 409 ConflictCONFLICTThe action can't be applied to the resource's current state.
✕ 429 Too Many RequestsRATE_LIMIT_EXCEEDEDPer-minute or per-second limit hit.
✕ 429 Too Many RequestsQUOTA_EXCEEDEDMonthly quota exhausted.
✕ 500 Internal Server ErrorINTERNAL_ERRORSomething broke on Stynar's end.
Full error reference →