See the full parameter and response reference for
GET in-app messages, POST log event,
and GET capabilities.Prerequisites
Authenticate with the Storefront API using a Bearer access token. See Integrate with Masivo.These endpoints work with CLIENT and SERVER API keys. Use a SERVER key
when fetching messages from your backend; CLIENT keys are suitable for
embedded apps that call Masivo directly.
1. Check capabilities
2. Fetch eligible messages
pending messages that are scheduled, not expired, and under their impression cap are returned.
3. Log impression events
Message content fields
| Field | Description |
|---|---|
type | Surface type: modal, fullscreen, slideup, banner |
content.title | Headline |
content.body | Main copy |
content.image_url | Optional hero image |
content.buttons | Action buttons with action: dismiss, deeplink, url, custom |
display_rules.max_impressions | Server-enforced show limit |
display_rules.min_interval_seconds | Minimum gap between shown events |
trigger.event | When set, pass the same value as the trigger query param |
Common errors
| Status | Cause | Example details |
|---|---|---|
404 | Message not found for customer | In-app message not found |
422 | Invalid action or query params | Validation message from Zod |