1{
2    "$id": "cper-json-header",
3    "$schema": "https://json-schema.org/draft/2020-12/schema",
4    "description": "Common Platform Record Header as defined in UEFI Appendix N section 2.1",
5    "type": "object",
6    "required": [
7        "revision",
8        "sectionCount",
9        "severity",
10        "validationBits",
11        "recordLength",
12        "creatorID",
13        "notificationType",
14        "recordID",
15        "flags",
16        "persistenceInfo"
17    ],
18    "additionalProperties": false,
19    "properties": {
20        "revision": {
21            "type": "object",
22            "description": "This is a 2-byte field representing a major and minor version number for the error record definition in BCD format. ",
23            "required": ["major", "minor"],
24            "properties": {
25                "major": {
26                    "type": "integer",
27                    "minimum": 0
28                },
29                "minor": {
30                    "type": "integer",
31                    "minimum": 0
32                }
33            }
34        },
35        "sectionCount": {
36            "type": "integer",
37            "description": "his field indicates the number of valid sections associated with the record, corresponding to each of the following section descriptors.",
38            "minimum": 0
39        },
40        "severity": {
41            "type": "object",
42            "description": "Indicates the severity of the error condition. The severity of the error record corresponds to the most severe error section.",
43            "required": ["name", "code"],
44            "properties": {
45                "name": {
46                    "type": "string"
47                },
48                "code": {
49                    "type": "integer",
50                    "minimum": 0
51                }
52            }
53        },
54        "validationBits": {
55            "type": "object",
56            "description": "This field indicates the validity of other header feilds.",
57            "required": [
58                "platformIDValid",
59                "timestampValid",
60                "partitionIDValid"
61            ],
62            "properties": {
63                "platformIDValid": {
64                    "type": "boolean"
65                },
66                "timestampValid": {
67                    "type": "boolean"
68                },
69                "partitionIDValid": {
70                    "type": "boolean"
71                }
72            }
73        },
74        "recordLength": {
75            "type": "integer",
76            "description": "Indicates the size of the actual error record, including the size of the record header, all section descriptors, and section bodies.",
77            "minimum": 0
78        },
79        "timestamp": {
80            "type": "string",
81            "description": "The timestamp correlates to the time when the error information was collected by the system software and may not necessarily represent the time of the error event."
82        },
83        "timestampIsPrecise": {
84            "type": "boolean",
85            "description": "Timestamp is precise if this bit is set and correlates to the time of the error event."
86        },
87        "platformID": {
88            "type": "string",
89            "description": "This field uniquely identifies the platform with a GUID. The platform’s SMBIOS UUID should be used to populate this field."
90        },
91        "partitionID": {
92            "type": "string",
93            "description": "If the platform has multiple software partitions, system software may associate a GUID with the partition on which the error occurred."
94        },
95        "creatorID": {
96            "type": "string",
97            "description": "This field contains a GUID indicating the creator of the error record. This value may be overwritten by subsequent owners of the record."
98        },
99        "notificationType": {
100            "type": "object",
101            "description": "This field holds a pre-assigned GUID value indicating the record association with an error event notification type.",
102            "required": ["guid", "type"],
103            "properties": {
104                "guid": {
105                    "type": "string",
106                    "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{16}$"
107                },
108                "type": {
109                    "type": "string"
110                }
111            }
112        },
113        "recordID": {
114            "type": "integer",
115            "description": "This value, when combined with the Creator ID, uniquely identifies the error record across other error records on a given system."
116        },
117        "flags": {
118            "type": "object",
119            "description": "Flags field contains information that describes the error record.",
120            "$ref": "./common/cper-json-nvp.json"
121        },
122        "persistenceInfo": {
123            "type": "integer",
124            "description": "This field is produced and consumed by the creator of the error record identified in the Creator ID field. The format of this field is defined by the creator"
125        }
126    }
127}
128