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