Overview
Config Bundles are versioned JSON payloads that contain all the configuration the SDK needs to render onboarding flows, paywalls, feature flags, remote config, and in-app messages. The SDK downloads the bundle at launch and caches it locally, polling for updates periodically.Endpoints
Download Latest Bundle
x-api-key header)
Returns the full config bundle including all content. Use this when the SDK needs the complete configuration.
Response:
Check Bundle Version
x-api-key header)
Lightweight version check that returns metadata without the full content payload. Use this for polling.
Response:
This endpoint returns only metadata (no
content field), making it ideal for frequent polling without unnecessary bandwidth usage.Force Regenerate Bundle
Authorization: Bearer header)
Forces the server to regenerate the config bundle. Returns the newly generated bundle. Use this after making configuration changes that you want to push immediately.
Response: Same shape as the Download endpoint.
Bundle Version History
Authorization: Bearer header)
Returns a paginated list of previous bundle versions.
Query parameters:
| Parameter | Type | Default | Description |
|---|---|---|---|
limit | number | 20 | Number of versions to return (max 100) |
offset | number | 0 | Pagination offset |
SDK Bootstrap
x-api-key header)
Returns the minimal information the SDK needs to initialize.
Response:
Bundle Content Schema
Thecontent field of the config bundle contains all published configurations organized by type:
Content Types
| Key | Description |
|---|---|
onboarding_flows | Step-by-step onboarding sequences with UI configuration |
paywalls | Paywall layouts, plans, and CTA configuration |
remote_config | Key-value remote configuration pairs |
feature_flags | Boolean feature flag definitions with targeting rules |
in_app_messages | Triggered in-app messages with audience targeting |
SDK Polling Pattern
The recommended SDK integration pattern minimizes bandwidth while keeping configuration fresh:- iOS (Swift)
- Android (Kotlin)
- Flutter
- React Native
Auto-Generation
The config bundle is automatically regenerated when any of the following actions occur in the dashboard:- An onboarding flow is published or unpublished
- A paywall is published or updated
- An in-app message is published or updated
- Remote config or feature flags are modified
Manual regeneration via
POST /config-bundle/generate is available but rarely needed. The platform handles regeneration automatically on publish.CI/CD Integration
For zero-latency first launch, download the config bundle at build time and embed it as a fallback:Your config bundle integration is working correctly when the SDK logs
ConfigBundle loaded (version: N) during initialization and you see your published onboarding flows or paywalls rendering on device.