1{
2    "$id": "cper-json-header",
3    "$schema": "https://json-schema.org/draft/2020-12/schema",
4    "type": "object",
5    "required": ["revision", "sectionCount", "severity", "validationBits", "recordLength", "creatorID", "notificationType", "recordID", "flags", "persistenceInfo"],
6    "additionalProperties": false,
7    "properties": {
8        "revision": {
9            "type": "object",
10            "required": ["major", "minor"],
11            "properties": {
12                "major": {
13                    "type": "integer",
14                    "minimum": 0
15                },
16                "minor": {
17                    "type": "integer",
18                    "minimum": 0
19                }
20            }
21        },
22        "sectionCount": {
23            "type": "integer",
24            "minimum": 0
25        },
26        "severity": {
27            "type": "object",
28            "required": ["name", "code"],
29            "properties": {
30                "name": {
31                    "type": "string"
32                },
33                "code": {
34                    "type": "integer",
35                    "minimum": 0
36                }
37            }
38        },
39        "validationBits": {
40            "type": "object",
41            "required": ["platformIDValid", "timestampValid", "partitionIDValid"],
42            "properties": {
43                "platformIDValid": {
44                    "type": "boolean"
45                },
46                "timestampValid": {
47                    "type": "boolean"
48                },
49                "partitionIDValid": {
50                    "type": "boolean"
51                }
52            }
53        },
54        "recordLength": {
55            "type": "integer",
56            "minimum": 0
57        },
58        "timestamp": {
59            "type": "string"
60        },
61        "timestampIsPrecise": {
62            "type": "boolean"
63        },
64        "platformID": {
65            "type": "string"
66        },
67        "partitionID": {
68            "type": "string"
69        },
70        "creatorID": {
71            "type": "string"
72        },
73        "notificationType": {
74            "type": "object",
75            "required": ["guid", "type"],
76            "properties": {
77                "guid": {
78                    "type": "string",
79                    "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{16}$"
80                },
81                "type": {
82                    "type": "string"
83                }
84            }
85        },
86        "recordID": {
87            "type": "integer"
88        },
89        "flags": {
90            "type": "object",
91            "$ref": "./common/cper-json-nvp.json"
92        },
93        "persistenceInfo": {
94            "type": "integer"
95        }
96    }
97}