How it works
1
Upload the recipient CSV
Call Upload recipients with your CSV as multipart form data. You get back an asset id.
2
Store it as an audience
Call Create or replace an audience with that asset id. Connectly reads the file, canonicalizes every recipient, and stores the list under an audience id.
3
Send a campaign to it
Call Send to an audience with the audience id and a published campaign id. Send now, or pass
scheduledAt to dispatch later.4
Poll the send
Call Get sendout status to see whether the recipients passed the campaign’s checks. Delivery itself is reported by webhooks.
The CSV
One row per recipient, with a header row.Replacing an audience
Creating and replacing are the same call: passaudienceId to overwrite that audience’s recipients, or omit it to have one minted. Replacing is how an audience changes, so repeating the same request is harmless.
Sends already created from an audience are unaffected by a later replace. Each send keeps its own copy of the recipients as they stood when it was created.
Limits
An audience send creates and verifies a sendout, which costs far more than an inline send — hence the lower limit.
Endpoints
Upload recipients
POST /v1/businesses/{businessId}/upload/audience_csv — stage a CSV and get an asset id.Manage audiences
Create, replace, read, and delete a stored recipient list.
Send to an audience
POST /v1/businesses/{businessId}/send/audience_campaigns — send now or on a schedule.Send Campaigns
The inline alternative, for a small number of recipients per request.
