Core Concepts
Accounts
An account is an end user identified by an E.164 phone number (+228…).
| State | Meaning |
|---|---|
pending | Invited / not fully claimed |
claimed | User completed the OTP claim and can use the app |
blocked | Opted out / blocked |
Partners link accounts to their organization through M2M or provider fields. Linked users see that partner in their hub.
Partners
A partner is an organization (for example, SEED) with:
- API keys
- Templates
- Channel chain (in-app → WhatsApp → SMS)
- Optional bots and flows
- Branding (logo and name)
Messages
Partner-to-user messages can be:
| Type | Hub behavior |
|---|---|
| Text, media, link, HTML | Standalone hub messages (newest first in a list) |
| Flow invitations | Standalone flow cards |
| Support replies | Inside a conversation started by the user |
The Partner API
POST /messagescreates hub messages, not support chat threads.
Content types
content_type | Description |
|---|---|
text | Plain text |
image | Image URL or Base64 |
document | PDF / files |
audio | Audio file |
video | Video file |
link | CTA card (URL, label, and title) |
html | Mobile newsletter (HTML) |
flow | Interactive multi-step form invitation |
system | Platform system message |
Conversations
Conversations are support-style threads:
- Created when a user starts a support request
- Agents reply through Partner Hub or the Agent API
- Bot sessions can use subjects such as
Bot · …and are hidden from the user's Conversations menu
Delivery channels
Configured per partner as an ordered chain, for example:
inapp- mobile / MorisBox Client Applicationwhatsappsms
OTPs and critical messages can force a subset of channels.
For the full catalog of client surfaces, partner tools, and channel behavior, see Platforms.
Idempotency
Pass an idempotency_key when sending to prevent duplicates during retries:
{ "idempotency_key": "partner-order-98765" }
The same partner and key return the original message.