{
    "additionalProperties": false,
    "description": "Schema for storage recovery jobs, such as Snowplow BigQuery Repeater",
    "properties": {
        "failure": {
            "description": "A reason why payload could not be inserted",
            "properties": {
                "error": {
                    "oneOf": [
                        {
                            "description": "Payload couldn't be parsed as an event (ParsingError)",
                            "properties": {
                                "location": {
                                    "items": {
                                        "type": "string"
                                    },
                                    "type": "array"
                                },
                                "message": {
                                    "description": "Human-readable error",
                                    "type": "string"
                                }
                            },
                            "required": [
                                "message",
                                "location"
                            ],
                            "type": "object"
                        },
                        {
                            "description": "Payload couldn't be inserted because of a service failure (RuntimeError)",
                            "properties": {
                                "location": {
                                    "type": [
                                        "string",
                                        "null"
                                    ]
                                },
                                "message": {
                                    "description": "Human-readable error",
                                    "type": "string"
                                },
                                "reason": {
                                    "type": [
                                        "string",
                                        "null"
                                    ]
                                }
                            },
                            "required": [
                                "message",
                                "location",
                                "reason"
                            ],
                            "type": "object"
                        }
                    ]
                }
            },
            "required": [
                "error"
            ]
        },
        "payload": {
            "description": "Data blob which was not inserted into a warehouse",
            "type": "string"
        },
        "processor": {
            "additionalProperties": false,
            "description": "Information about the piece of software responsible for the creation of enrichment failures",
            "properties": {
                "artifact": {
                    "description": "Artifact responsible for the creation of enrichment failures",
                    "maxLength": 512,
                    "type": "string"
                },
                "version": {
                    "description": "Version of the artifact responsible for the creation of enrichment failures",
                    "maxLength": 32,
                    "pattern": "^(\\d+\\.\\d+\\.\\d+.*)$",
                    "type": "string"
                }
            },
            "required": [
                "artifact",
                "version"
            ],
            "type": "object"
        }
    },
    "required": [
        "payload",
        "failure",
        "processor"
    ],
    "self": {
        "format": "jsonschema",
        "name": "loader_recovery_error",
        "vendor": "com.snowplowanalytics.snowplow.badrows",
        "version": "1-0-0"
    },
    "type": "object"
}