{ "title": "MessageGroup", "description": "Configuration object for groups of Messaging System messages", "type": "object", "version": "1.0.0", "properties": { "id": { "type": "string", "description": "A unique identifier for the message that should not conflict with any other previous message." }, "enabled": { "type": "boolean", "description": "Enables or disables all messages associated with this group." }, "userPreferences": { "type": "array", "description": "Collection of preferences that control if the group is enabled.", "items": { "type": "string", "description": "Preference name" } }, "frequency": { "type": "object", "description": "An object containing frequency cap information for a message.", "properties": { "lifetime": { "type": "integer", "description": "The maximum lifetime impressions for a message.", "minimum": 1, "maximum": 100 }, "custom": { "type": "array", "description": "An array of custom frequency cap definitions.", "items": { "description": "A frequency cap definition containing time and max impression information", "type": "object", "properties": { "period": { "type": "integer", "description": "Period of time in milliseconds (e.g. 86400000 for one day)" }, "cap": { "type": "integer", "description": "The maximum impressions for the message within the defined period.", "minimum": 1, "maximum": 100 } }, "required": ["period", "cap"] } } } }, "type": { "type": "string", "description": "Local auto-generated group or remote group configuration from RS.", "enum": ["remote-settings", "local", "default"] } }, "required": ["id", "enabled", "type"], "additionalProperties": true }