Config File Structure

The Critical Moments config file is a web-hosted configuration file, with a JSON structure defining how your events, actions, conditions, and feature flags connect together.

Config File Structure

The config file has the following top level entities:

  • configVersion [string, required]: always "v1"

  • appId [string, required]: your app's bundle ID

  • actions [object, optional]: documented in the Actions Overview

  • conditions [object, optional]: documented in Named Conditions

  • triggers [object, optional]: documented in Triggers Overview

  • themes [object, optional]: documented in Themes Overview

  • notifications [object, optional]: documented in Notifications Spec

  • minAppVersion [string, optional]: the minimum app version number this config file should be used on. If an older app version fetches this file, it will be ignored and Critical Moments will not start. Example: "v1.4.2"

  • minCMVersion [string, optional]: the minimum Critical Moments SDK version number this config file should be used on. If an older SDK version fetches this file, it will be ignored and Critical Moments will not start. Example: "v0.8.1"

Here is a sample of the typical root object in a config file:

{
    "configVersion": "v1",
    "appId": "YOUR_BUNDLE_ID",
    "actions: {...},
    "conditions: {...},
    "triggers": {...},
    "notifications": {...},
    "themes": {...}
}

Last updated

Was this helpful?