{
    "additionalProperties": false,
    "description": "Schema for a form submission event",
    "properties": {
        "elements": {
            "items": {
                "additionalProperties": false,
                "properties": {
                    "name": {
                        "description": "The name of the element within the form",
                        "maxLength": 65535,
                        "minLength": 0,
                        "type": "string"
                    },
                    "nodeName": {
                        "description": "The node type of the element",
                        "enum": [
                            "INPUT",
                            "TEXTAREA",
                            "SELECT"
                        ],
                        "type": "string"
                    },
                    "type": {
                        "description": "The type of input element",
                        "enum": [
                            "button",
                            "checkbox",
                            "color",
                            "date",
                            "datetime",
                            "datetime-local",
                            "email",
                            "file",
                            "hidden",
                            "image",
                            "month",
                            "number",
                            "password",
                            "radio",
                            "range",
                            "reset",
                            "search",
                            "submit",
                            "tel",
                            "text",
                            "time",
                            "url",
                            "week"
                        ],
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "value": {
                        "description": "The value of the element when submitted",
                        "maxLength": 65535,
                        "minLength": 0,
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                },
                "required": [
                    "name",
                    "value",
                    "nodeName"
                ],
                "type": "object"
            },
            "type": "array"
        },
        "formClasses": {
            "description": "An array of the classes on the form",
            "items": {
                "description": "A class on the form",
                "maxLength": 4096,
                "minLength": 0,
                "type": "string"
            },
            "type": "array"
        },
        "formId": {
            "description": "The id of the form",
            "maxLength": 4096,
            "minLength": 0,
            "type": "string"
        }
    },
    "required": [
        "formId"
    ],
    "self": {
        "format": "jsonschema",
        "name": "submit_form",
        "vendor": "com.snowplowanalytics.snowplow",
        "version": "1-0-0"
    },
    "type": "object"
}