{
    "additionalProperties": false,
    "definitions": {
        "stringArray": {
            "items": {
                "type": "string"
            },
            "type": "array"
        }
    },
    "description": "Schema for a campaign attribution enrichment",
    "properties": {
        "enabled": {
            "type": "boolean"
        },
        "name": {
            "type": "string"
        },
        "parameters": {
            "additionalProperties": false,
            "properties": {
                "fields": {
                    "additionalProperties": false,
                    "properties": {
                        "mktCampaign": {
                            "$ref": "#/definitions/stringArray"
                        },
                        "mktClickId": {
                            "additionalProperties": {
                                "type": "string"
                            },
                            "type": "object"
                        },
                        "mktContent": {
                            "$ref": "#/definitions/stringArray"
                        },
                        "mktMedium": {
                            "$ref": "#/definitions/stringArray"
                        },
                        "mktSource": {
                            "$ref": "#/definitions/stringArray"
                        },
                        "mktTerm": {
                            "$ref": "#/definitions/stringArray"
                        }
                    },
                    "required": [
                        "mktMedium",
                        "mktSource",
                        "mktTerm",
                        "mktContent",
                        "mktCampaign"
                    ],
                    "type": "object"
                },
                "mapping": {
                    "enum": [
                        "static",
                        "script"
                    ],
                    "type": [
                        "string",
                        "null"
                    ]
                }
            },
            "required": [
                "fields"
            ],
            "type": "object"
        },
        "vendor": {
            "type": "string"
        }
    },
    "required": [
        "name",
        "vendor",
        "enabled",
        "parameters"
    ],
    "self": {
        "format": "jsonschema",
        "name": "campaign_attribution",
        "vendor": "com.snowplowanalytics.snowplow",
        "version": "1-0-1"
    },
    "type": "object"
}