AB Tasty · JSON Structure

Decision Api Campaign Structure

Campaign schema from AB Tasty Decision API

Type: object Properties: 3
AggregationExperimentationFeature FlagsPersonalizationA/B Testing

Campaign is a JSON Structure definition published by AB Tasty, describing 3 properties. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.

Properties

id variationGroupId variation

Meta-schema: https://json-structure.org/meta/core/v0/#

JSON Structure

Raw ↑
{
  "$schema": "https://json-structure.org/meta/core/v0/#",
  "$id": "https://raw.githubusercontent.com/api-evangelist/ab-tasty/refs/heads/main/json-structure/decision-api-campaign-structure.json",
  "name": "Campaign",
  "description": "Campaign schema from AB Tasty Decision API",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Campaign ID",
      "example": "campaign_abc"
    },
    "variationGroupId": {
      "type": "string",
      "description": "Variation group ID (corresponds to a scenario in Flagship)",
      "example": "vg_123"
    },
    "variation": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "Variation ID",
          "example": "var_456"
        },
        "modifications": {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "enum": [
                "NULL",
                "JSON",
                "TEXT",
                "IMAGE",
                "HTML",
                "FLAG",
                "REDIRECT"
              ],
              "description": "The modification type"
            },
            "value": {
              "oneOf": [
                {
                  "type": "object"
                },
                {
                  "type": "string"
                }
              ],
              "description": "The value of the modification (structure depends on type)",
              "example": {
                "button_color": "blue",
                "feature_enabled": true
              }
            }
          }
        }
      }
    }
  }
}