Communication sends and deliveries
Cadence records outbound messages at two levels:
- Send - one logical communication to a household for a domain event (for example, an enrolment confirmation or a session cancellation for that family).
- Delivery - one row per outbound attempt (email, SMS, or push to a specific member or device).
Users are not exposed to the dual-level concept. The dual level system is for developers and API consumers who need to correlate deliveries or build cross-channel behaviour.
Certain paths without a resolved family may have send: null on the delivery payload. Clients should:
- Always render the flat delivery list.
- Optionally group or enrich the UI when
sendis non-null (for example, collapse email and SMS attempts that share a send to one row).
Family boundary
Section titled “Family boundary”A send never spans multiple households. When one originating event affects many families (for example, cancelling a class session), the API emits one send per family, each with its own UUID.
Deliveries created in the same dispatch share the same send.id. Different channels, recipients, and rendered bodies are still separate delivery rows.
Related
Section titled “Related”- OpenAPI reference - delivery list endpoints under Communication