Concepts
Overview
The MessagePipe domain model in one page.
MessagePipe organises sends around a small, opinionated model. Read this once and the rest of the docs make sense.
The hierarchy
| Object | Purpose | Scope |
|---|---|---|
| Workspace | A tenant. Billing, members, isolation. | One company / team |
| Project | An environment inside a workspace (e.g. Production, Staging). | Many per workspace |
| API key | The credential a server uses to call the Send API. | Scoped to one project |
| Provider configuration | A connected backend (SendGrid, Twilio, FCM, …). | Workspace-wide |
| Template | A versioned, parameterised message. | Project-scoped |
| Send | One delivery attempt of a message. | The unit of work |
Channels
A channel is the transport family of the message: email, message (SMS),
push, chat (WhatsApp). Each provider declares which channels it serves;
the Send API routes the request to the best-priority active provider for the
requested channel.
How a send flows
client ── POST /v1/{channel}/send ──▶ Send API ── enqueue ──▶ send.queued
│
render, dispatch
│
Provider HTTP call
│
delivery.event
──▶ Delivery logs & analytics
──▶ Customer webhooksRead on for the individual building blocks.