Skip to main content

Endpoint

Sends a published campaign to an audience you stored earlier. This is the endpoint that supports scheduling.
The campaign must have been published at least once in the Connectly Flow Builder. The send is pinned to the currently published version, so editing the campaign afterwards does not change what this send delivers.

Request body

Response

The response returns as soon as the send is accepted. Checking the recipients against the campaign happens afterwards, which is why status starts as processing and the counts start at 0. Poll Get sendout status for the outcome.

Scheduling

Pass scheduledAt to dispatch later. Constraints:
  • No more than 30 minutes in the past β€” a time slightly behind now dispatches on the next sweep rather than being rejected.
  • No more than 3 years ahead.
  • Honoured to the minute; seconds are truncated.
Recipients are checked against the campaign immediately, not at the scheduled time, so a list that would be rejected fails while you are still watching rather than silently at midnight.

Unusable recipients

onInvalidEntries decides what a recipient the campaign cannot accept β€” a missing required variable, for instance β€” does to the send. When recipients are rejected, validationReportUrl on the status response links to an annotated copy of your CSV naming the offending rows.

Retrying safely

A send goes to a whole audience, so a retry after a timeout is expensive to get wrong. Mint an idempotencyKey and reuse it when retrying:
  • The same key returns the original response instead of creating a second send.
  • The same key with different parameters is rejected with 400 β€” that is a mistake, not a retry.
  • A key whose first request is still running returns 409. Retry once it finishes.
  • Keys are remembered for 24 hours, maximum 128 characters.
Without an idempotency key, a retry after a timeout sends to the entire audience twice.

Get sendout status

This endpoint reports whether the send was accepted, not whether the messages arrived. Delivery is reported by webhooks.

Errors