API ReferenceCampaignsAdd campaign leads
POST/v1/campaigns/:id/leads

Add campaign leads

Adds one or more leads to a campaign you own. Duplicates (by email, within the request or already in the campaign) are skipped, not errored.

Stablescope: write API KeyLearn about API scopes →

Request

AuthorizationBearer YOUR_API_KEY
Content-Typeapplication/json

Parameters

FieldTypeRequiredDescription
idstringRequiredCampaign ID.
leadsobject[]Required{ fields: { email, firstName, ... } }[] — email is required inside fields, other fields are free-form (up to 100 entries).
curl -X POST "https://api.stynar.com/v1/campaigns/cmp_abc123/leads" \
  -H "Authorization: Bearer esk_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{"leads":[{"fields":{"email":"jane@acme.com","firstName":"Jane","company":"Acme"}}]}'

Response

200 OK
200 response
{
  "added": 1,
  "skipped": {
    "duplicatesInRequest": 0,
    "duplicatesInDB": 0,
    "invalidLeads": 0
  }
}

Response fields

Errors

StatusCodeMeaning
404 Not FoundNOT_FOUNDCampaign doesn't exist or isn't yours.
401 UnauthorizedUNAUTHORIZEDMissing, malformed, unknown, revoked, or expired key.
403 ForbiddenAPI_ACCESS_DISABLEDYour account doesn't currently have API access.
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 →