Core Concepts

Accounts

An account is an end user identified by an E.164 phone number (+228…).

StateMeaning
pendingInvited / not fully claimed
claimedUser completed the OTP claim and can use the app
blockedOpted 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:

TypeHub behavior
Text, media, link, HTMLStandalone hub messages (newest first in a list)
Flow invitationsStandalone flow cards
Support repliesInside a conversation started by the user

The Partner API POST /messages creates hub messages, not support chat threads.

Content types

content_typeDescription
textPlain text
imageImage URL or Base64
documentPDF / files
audioAudio file
videoVideo file
linkCTA card (URL, label, and title)
htmlMobile newsletter (HTML)
flowInteractive multi-step form invitation
systemPlatform 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:

  1. inapp - mobile / MorisBox Client Application
  2. whatsapp
  3. sms

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.