Add OCA security whitepaper JSON schemas
authorJérôme Benoit <jerome.benoit@sap.com>
Sun, 8 Jan 2023 11:48:58 +0000 (12:48 +0100)
committerJérôme Benoit <jerome.benoit@sap.com>
Sun, 8 Jan 2023 11:48:58 +0000 (12:48 +0100)
Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
22 files changed:
src/assets/json-schemas/ocpp/1.6/CertificateSigned.json [new file with mode: 0644]
src/assets/json-schemas/ocpp/1.6/CertificateSignedResponse.json [new file with mode: 0644]
src/assets/json-schemas/ocpp/1.6/DeleteCertificate.json [new file with mode: 0644]
src/assets/json-schemas/ocpp/1.6/DeleteCertificateResponse.json [new file with mode: 0644]
src/assets/json-schemas/ocpp/1.6/ExtendedTriggerMessage.json [new file with mode: 0644]
src/assets/json-schemas/ocpp/1.6/ExtendedTriggerMessageResponse.json [new file with mode: 0644]
src/assets/json-schemas/ocpp/1.6/GetInstalledCertificateIds.json [new file with mode: 0644]
src/assets/json-schemas/ocpp/1.6/GetInstalledCertificateIdsResponse.json [new file with mode: 0644]
src/assets/json-schemas/ocpp/1.6/GetLog.json [new file with mode: 0644]
src/assets/json-schemas/ocpp/1.6/GetLogResponse.json [new file with mode: 0644]
src/assets/json-schemas/ocpp/1.6/InstallCertificate.json [new file with mode: 0644]
src/assets/json-schemas/ocpp/1.6/InstallCertificateResponse.json [new file with mode: 0644]
src/assets/json-schemas/ocpp/1.6/LogStatusNotification.json [new file with mode: 0644]
src/assets/json-schemas/ocpp/1.6/LogStatusNotificationResponse.json [new file with mode: 0644]
src/assets/json-schemas/ocpp/1.6/SecurityEventNotification.json [new file with mode: 0644]
src/assets/json-schemas/ocpp/1.6/SecurityEventNotificationResponse.json [new file with mode: 0644]
src/assets/json-schemas/ocpp/1.6/SignCertificate.json [new file with mode: 0644]
src/assets/json-schemas/ocpp/1.6/SignCertificateResponse.json [new file with mode: 0644]
src/assets/json-schemas/ocpp/1.6/SignedFirmwareStatusNotification.json [new file with mode: 0644]
src/assets/json-schemas/ocpp/1.6/SignedFirmwareStatusNotificationResponse.json [new file with mode: 0644]
src/assets/json-schemas/ocpp/1.6/SignedUpdateFirmware.json [new file with mode: 0644]
src/assets/json-schemas/ocpp/1.6/SignedUpdateFirmwareResponse.json [new file with mode: 0644]

diff --git a/src/assets/json-schemas/ocpp/1.6/CertificateSigned.json b/src/assets/json-schemas/ocpp/1.6/CertificateSigned.json
new file mode 100644 (file)
index 0000000..f4cbbbb
--- /dev/null
@@ -0,0 +1,13 @@
+{
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "$id": "urn:OCPP:Cp:1.6:2020:3:CertificateSigned.req",
+  "type": "object",
+  "properties": {
+    "certificateChain": {
+      "type": "string",
+      "maxLength": 10000
+    }
+  },
+  "additionalProperties": false,
+  "required": ["certificateChain"]
+}
diff --git a/src/assets/json-schemas/ocpp/1.6/CertificateSignedResponse.json b/src/assets/json-schemas/ocpp/1.6/CertificateSignedResponse.json
new file mode 100644 (file)
index 0000000..c58d323
--- /dev/null
@@ -0,0 +1,19 @@
+{
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "$id": "urn:OCPP:Cp:1.6:2020:3:CertificateSigned.conf",
+  "definitions": {
+    "CertificateSignedStatusEnumType": {
+      "type": "string",
+      "additionalProperties": false,
+      "enum": ["Accepted", "Rejected"]
+    }
+  },
+  "type": "object",
+  "additionalProperties": false,
+  "properties": {
+    "status": {
+      "$ref": "#/definitions/CertificateSignedStatusEnumType"
+    }
+  },
+  "required": ["status"]
+}
diff --git a/src/assets/json-schemas/ocpp/1.6/DeleteCertificate.json b/src/assets/json-schemas/ocpp/1.6/DeleteCertificate.json
new file mode 100644 (file)
index 0000000..d55782d
--- /dev/null
@@ -0,0 +1,41 @@
+{
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "$id": "urn:OCPP:Cp:1.6:2020:3:DeleteCertificate.req",
+  "definitions": {
+    "HashAlgorithmEnumType": {
+      "type": "string",
+      "additionalProperties": false,
+      "enum": ["SHA256", "SHA384", "SHA512"]
+    },
+    "CertificateHashDataType": {
+      "type": "object",
+      "additionalProperties": false,
+      "properties": {
+        "hashAlgorithm": {
+          "$ref": "#/definitions/HashAlgorithmEnumType"
+        },
+        "issuerNameHash": {
+          "type": "string",
+          "maxLength": 128
+        },
+        "issuerKeyHash": {
+          "type": "string",
+          "maxLength": 128
+        },
+        "serialNumber": {
+          "type": "string",
+          "maxLength": 40
+        }
+      },
+      "required": ["hashAlgorithm", "issuerNameHash", "issuerKeyHash", "serialNumber"]
+    }
+  },
+  "type": "object",
+  "additionalProperties": false,
+  "properties": {
+    "certificateHashData": {
+      "$ref": "#/definitions/CertificateHashDataType"
+    }
+  },
+  "required": ["certificateHashData"]
+}
diff --git a/src/assets/json-schemas/ocpp/1.6/DeleteCertificateResponse.json b/src/assets/json-schemas/ocpp/1.6/DeleteCertificateResponse.json
new file mode 100644 (file)
index 0000000..871bc31
--- /dev/null
@@ -0,0 +1,19 @@
+{
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "$id": "urn:OCPP:Cp:1.6:2020:3:DeleteCertificate.conf",
+  "definitions": {
+    "DeleteCertificateStatusEnumType": {
+      "type": "string",
+      "additionalProperties": false,
+      "enum": ["Accepted", "Failed", "NotFound"]
+    }
+  },
+  "type": "object",
+  "additionalProperties": false,
+  "properties": {
+    "status": {
+      "$ref": "#/definitions/DeleteCertificateStatusEnumType"
+    }
+  },
+  "required": ["status"]
+}
diff --git a/src/assets/json-schemas/ocpp/1.6/ExtendedTriggerMessage.json b/src/assets/json-schemas/ocpp/1.6/ExtendedTriggerMessage.json
new file mode 100644 (file)
index 0000000..68dad48
--- /dev/null
@@ -0,0 +1,30 @@
+{
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "$id": "urn:OCPP:Cp:1.6:2020:3:ExtendedTriggerMessage.req",
+  "definitions": {
+    "MessageTriggerEnumType": {
+      "type": "string",
+      "additionalProperties": false,
+      "enum": [
+        "BootNotification",
+        "LogStatusNotification",
+        "FirmwareStatusNotification",
+        "Heartbeat",
+        "MeterValues",
+        "SignChargePointCertificate",
+        "StatusNotification"
+      ]
+    }
+  },
+  "type": "object",
+  "additionalProperties": false,
+  "properties": {
+    "requestedMessage": {
+      "$ref": "#/definitions/MessageTriggerEnumType"
+    },
+    "connectorId": {
+      "type": "integer"
+    }
+  },
+  "required": ["requestedMessage"]
+}
diff --git a/src/assets/json-schemas/ocpp/1.6/ExtendedTriggerMessageResponse.json b/src/assets/json-schemas/ocpp/1.6/ExtendedTriggerMessageResponse.json
new file mode 100644 (file)
index 0000000..c88e049
--- /dev/null
@@ -0,0 +1,19 @@
+{
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "$id": "urn:OCPP:Cp:1.6:2020:3:ExtendedTriggerMessage.conf",
+  "definitions": {
+    "TriggerMessageStatusEnumType": {
+      "type": "string",
+      "additionalProperties": false,
+      "enum": ["Accepted", "Rejected", "NotImplemented"]
+    }
+  },
+  "type": "object",
+  "additionalProperties": false,
+  "properties": {
+    "status": {
+      "$ref": "#/definitions/TriggerMessageStatusEnumType"
+    }
+  },
+  "required": ["status"]
+}
diff --git a/src/assets/json-schemas/ocpp/1.6/GetInstalledCertificateIds.json b/src/assets/json-schemas/ocpp/1.6/GetInstalledCertificateIds.json
new file mode 100644 (file)
index 0000000..cf8bfda
--- /dev/null
@@ -0,0 +1,19 @@
+{
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "$id": "urn:OCPP:Cp:1.6:2020:3:GetInstalledCertificateIds.req",
+  "definitions": {
+    "CertificateUseEnumType": {
+      "type": "string",
+      "additionalProperties": false,
+      "enum": ["CentralSystemRootCertificate", "ManufacturerRootCertificate"]
+    }
+  },
+  "type": "object",
+  "additionalProperties": false,
+  "properties": {
+    "certificateType": {
+      "$ref": "#/definitions/CertificateUseEnumType"
+    }
+  },
+  "required": ["certificateType"]
+}
diff --git a/src/assets/json-schemas/ocpp/1.6/GetInstalledCertificateIdsResponse.json b/src/assets/json-schemas/ocpp/1.6/GetInstalledCertificateIdsResponse.json
new file mode 100644 (file)
index 0000000..ff3366a
--- /dev/null
@@ -0,0 +1,55 @@
+{
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "$id": "urn:OCPP:Cp:1.6:2020:3:GetInstalledCertificateIds.conf",
+  "definitions": {
+    "GetInstalledCertificateStatusEnumType": {
+      "type": "string",
+      "additionalProperties": false,
+      "enum": ["Accepted", "NotFound"]
+    },
+    "HashAlgorithmEnumType": {
+      "type": "string",
+      "additionalProperties": false,
+      "enum": ["SHA256", "SHA384", "SHA512"]
+    },
+    "CertificateHashDataType": {
+      "javaType": "CertificateHashData",
+      "type": "object",
+      "additionalProperties": false,
+      "properties": {
+        "hashAlgorithm": {
+          "$ref": "#/definitions/HashAlgorithmEnumType"
+        },
+        "issuerNameHash": {
+          "type": "string",
+          "maxLength": 128
+        },
+        "issuerKeyHash": {
+          "type": "string",
+          "maxLength": 128
+        },
+        "serialNumber": {
+          "type": "string",
+          "maxLength": 40
+        }
+      },
+      "required": ["hashAlgorithm", "issuerNameHash", "issuerKeyHash", "serialNumber"]
+    }
+  },
+  "type": "object",
+  "additionalProperties": false,
+  "properties": {
+    "certificateHashData": {
+      "type": "array",
+      "additionalItems": false,
+      "items": {
+        "$ref": "#/definitions/CertificateHashDataType"
+      },
+      "minItems": 1
+    },
+    "status": {
+      "$ref": "#/definitions/GetInstalledCertificateStatusEnumType"
+    }
+  },
+  "required": ["status"]
+}
diff --git a/src/assets/json-schemas/ocpp/1.6/GetLog.json b/src/assets/json-schemas/ocpp/1.6/GetLog.json
new file mode 100644 (file)
index 0000000..3e69fb8
--- /dev/null
@@ -0,0 +1,50 @@
+{
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "$id": "urn:OCPP:Cp:1.6:2020:3:GetLog.req",
+  "definitions": {
+    "LogEnumType": {
+      "type": "string",
+      "additionalProperties": false,
+      "enum": ["DiagnosticsLog", "SecurityLog"]
+    },
+    "LogParametersType": {
+      "type": "object",
+      "additionalProperties": false,
+      "properties": {
+        "remoteLocation": {
+          "type": "string",
+          "maxLength": 512
+        },
+        "oldestTimestamp": {
+          "type": "string",
+          "format": "date-time"
+        },
+        "latestTimestamp": {
+          "type": "string",
+          "format": "date-time"
+        }
+      },
+      "required": ["remoteLocation"]
+    }
+  },
+  "type": "object",
+  "additionalProperties": false,
+  "properties": {
+    "log": {
+      "$ref": "#/definitions/LogParametersType"
+    },
+    "logType": {
+      "$ref": "#/definitions/LogEnumType"
+    },
+    "requestId": {
+      "type": "integer"
+    },
+    "retries": {
+      "type": "integer"
+    },
+    "retryInterval": {
+      "type": "integer"
+    }
+  },
+  "required": ["logType", "requestId", "log"]
+}
diff --git a/src/assets/json-schemas/ocpp/1.6/GetLogResponse.json b/src/assets/json-schemas/ocpp/1.6/GetLogResponse.json
new file mode 100644 (file)
index 0000000..50db3d8
--- /dev/null
@@ -0,0 +1,23 @@
+{
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "$id": "urn:OCPP:Cp:1.6:2020:3:GetLog.conf",
+  "definitions": {
+    "LogStatusEnumType": {
+      "type": "string",
+      "additionalProperties": false,
+      "enum": ["Accepted", "Rejected", "AcceptedCanceled"]
+    }
+  },
+  "type": "object",
+  "additionalProperties": false,
+  "properties": {
+    "status": {
+      "$ref": "#/definitions/LogStatusEnumType"
+    },
+    "filename": {
+      "type": "string",
+      "maxLength": 255
+    }
+  },
+  "required": ["status"]
+}
diff --git a/src/assets/json-schemas/ocpp/1.6/InstallCertificate.json b/src/assets/json-schemas/ocpp/1.6/InstallCertificate.json
new file mode 100644 (file)
index 0000000..0394430
--- /dev/null
@@ -0,0 +1,23 @@
+{
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "$id": "urn:OCPP:Cp:1.6:2020:3:InstallCertificate.req",
+  "definitions": {
+    "CertificateUseEnumType": {
+      "type": "string",
+      "additionalProperties": false,
+      "enum": ["CentralSystemRootCertificate", "ManufacturerRootCertificate"]
+    }
+  },
+  "type": "object",
+  "additionalProperties": false,
+  "properties": {
+    "certificateType": {
+      "$ref": "#/definitions/CertificateUseEnumType"
+    },
+    "certificate": {
+      "type": "string",
+      "maxLength": 5500
+    }
+  },
+  "required": ["certificateType", "certificate"]
+}
diff --git a/src/assets/json-schemas/ocpp/1.6/InstallCertificateResponse.json b/src/assets/json-schemas/ocpp/1.6/InstallCertificateResponse.json
new file mode 100644 (file)
index 0000000..6a66c78
--- /dev/null
@@ -0,0 +1,19 @@
+{
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "$id": "urn:OCPP:Cp:1.6:2020:3:InstallCertificate.conf",
+  "definitions": {
+    "InstallCertificateStatusEnumType": {
+      "type": "string",
+      "additionalProperties": false,
+      "enum": ["Accepted", "Failed", "Rejected"]
+    }
+  },
+  "type": "object",
+  "additionalProperties": false,
+  "properties": {
+    "status": {
+      "$ref": "#/definitions/InstallCertificateStatusEnumType"
+    }
+  },
+  "required": ["status"]
+}
diff --git a/src/assets/json-schemas/ocpp/1.6/LogStatusNotification.json b/src/assets/json-schemas/ocpp/1.6/LogStatusNotification.json
new file mode 100644 (file)
index 0000000..d68eeae
--- /dev/null
@@ -0,0 +1,30 @@
+{
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "$id": "urn:OCPP:Cp:1.6:2020:3:LogStatusNotification.req",
+  "definitions": {
+    "UploadLogStatusEnumType": {
+      "type": "string",
+      "additionalProperties": false,
+      "enum": [
+        "BadMessage",
+        "Idle",
+        "NotSupportedOperation",
+        "PermissionDenied",
+        "Uploaded",
+        "UploadFailure",
+        "Uploading"
+      ]
+    }
+  },
+  "type": "object",
+  "additionalProperties": false,
+  "properties": {
+    "status": {
+      "$ref": "#/definitions/UploadLogStatusEnumType"
+    },
+    "requestId": {
+      "type": "integer"
+    }
+  },
+  "required": ["status"]
+}
diff --git a/src/assets/json-schemas/ocpp/1.6/LogStatusNotificationResponse.json b/src/assets/json-schemas/ocpp/1.6/LogStatusNotificationResponse.json
new file mode 100644 (file)
index 0000000..80415b8
--- /dev/null
@@ -0,0 +1,6 @@
+{
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "$id": "urn:OCPP:Cp:1.6:2020:3:LogStatusNotification.conf",
+  "type": "object",
+  "additionalProperties": false
+}
diff --git a/src/assets/json-schemas/ocpp/1.6/SecurityEventNotification.json b/src/assets/json-schemas/ocpp/1.6/SecurityEventNotification.json
new file mode 100644 (file)
index 0000000..9f3dc81
--- /dev/null
@@ -0,0 +1,21 @@
+{
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "$id": "urn:OCPP:Cp:1.6:2020:3:SecurityEventNotification.req",
+  "type": "object",
+  "additionalProperties": false,
+  "properties": {
+    "type": {
+      "type": "string",
+      "maxLength": 50
+    },
+    "timestamp": {
+      "type": "string",
+      "format": "date-time"
+    },
+    "techInfo": {
+      "type": "string",
+      "maxLength": 255
+    }
+  },
+  "required": ["type", "timestamp"]
+}
diff --git a/src/assets/json-schemas/ocpp/1.6/SecurityEventNotificationResponse.json b/src/assets/json-schemas/ocpp/1.6/SecurityEventNotificationResponse.json
new file mode 100644 (file)
index 0000000..da70c93
--- /dev/null
@@ -0,0 +1,6 @@
+{
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "$id": "urn:OCPP:Cp:1.6:2020:3:SecurityEventNotification.conf",
+  "type": "object",
+  "additionalProperties": false
+}
diff --git a/src/assets/json-schemas/ocpp/1.6/SignCertificate.json b/src/assets/json-schemas/ocpp/1.6/SignCertificate.json
new file mode 100644 (file)
index 0000000..797e8e1
--- /dev/null
@@ -0,0 +1,13 @@
+{
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "$id": "urn:OCPP:Cp:1.6:2020:3:SignCertificate.req",
+  "type": "object",
+  "additionalProperties": false,
+  "properties": {
+    "csr": {
+      "type": "string",
+      "maxLength": 5500
+    }
+  },
+  "required": ["csr"]
+}
diff --git a/src/assets/json-schemas/ocpp/1.6/SignCertificateResponse.json b/src/assets/json-schemas/ocpp/1.6/SignCertificateResponse.json
new file mode 100644 (file)
index 0000000..c82f12b
--- /dev/null
@@ -0,0 +1,19 @@
+{
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "$id": "urn:OCPP:Cp:1.6:2020:3:SignCertificate.conf",
+  "definitions": {
+    "GenericStatusEnumType": {
+      "type": "string",
+      "additionalProperties": false,
+      "enum": ["Accepted", "Rejected"]
+    }
+  },
+  "type": "object",
+  "additionalProperties": false,
+  "properties": {
+    "status": {
+      "$ref": "#/definitions/GenericStatusEnumType"
+    }
+  },
+  "required": ["status"]
+}
diff --git a/src/assets/json-schemas/ocpp/1.6/SignedFirmwareStatusNotification.json b/src/assets/json-schemas/ocpp/1.6/SignedFirmwareStatusNotification.json
new file mode 100644 (file)
index 0000000..69805b4
--- /dev/null
@@ -0,0 +1,37 @@
+{
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "$id": "urn:OCPP:Cp:1.6:2020:3:SignedFirmwareStatusNotification.req",
+  "definitions": {
+    "FirmwareStatusEnumType": {
+      "type": "string",
+      "additionalProperties": false,
+      "enum": [
+        "Downloaded",
+        "DownloadFailed",
+        "Downloading",
+        "DownloadScheduled",
+        "DownloadPaused",
+        "Idle",
+        "InstallationFailed",
+        "Installing",
+        "Installed",
+        "InstallRebooting",
+        "InstallScheduled",
+        "InstallVerificationFailed",
+        "InvalidSignature",
+        "SignatureVerified"
+      ]
+    }
+  },
+  "type": "object",
+  "additionalProperties": false,
+  "properties": {
+    "status": {
+      "$ref": "#/definitions/FirmwareStatusEnumType"
+    },
+    "requestId": {
+      "type": "integer"
+    }
+  },
+  "required": ["status"]
+}
diff --git a/src/assets/json-schemas/ocpp/1.6/SignedFirmwareStatusNotificationResponse.json b/src/assets/json-schemas/ocpp/1.6/SignedFirmwareStatusNotificationResponse.json
new file mode 100644 (file)
index 0000000..61e7c0a
--- /dev/null
@@ -0,0 +1,6 @@
+{
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "$id": "urn:OCPP:Cp:1.6:2020:3:SignedFirmwareStatusNotification.conf",
+  "type": "object",
+  "additionalProperties": false
+}
diff --git a/src/assets/json-schemas/ocpp/1.6/SignedUpdateFirmware.json b/src/assets/json-schemas/ocpp/1.6/SignedUpdateFirmware.json
new file mode 100644 (file)
index 0000000..bd67367
--- /dev/null
@@ -0,0 +1,50 @@
+{
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "$id": "urn:OCPP:Cp:1.6:2020:3:SignedUpdateFirmware.req",
+  "definitions": {
+    "FirmwareType": {
+      "type": "object",
+      "additionalProperties": false,
+      "properties": {
+        "location": {
+          "type": "string",
+          "maxLength": 512
+        },
+        "retrieveDateTime": {
+          "type": "string",
+          "format": "date-time"
+        },
+        "installDateTime": {
+          "type": "string",
+          "format": "date-time"
+        },
+        "signingCertificate": {
+          "type": "string",
+          "maxLength": 5500
+        },
+        "signature": {
+          "type": "string",
+          "maxLength": 800
+        }
+      },
+      "required": ["location", "retrieveDateTime", "signingCertificate", "signature"]
+    }
+  },
+  "type": "object",
+  "additionalProperties": false,
+  "properties": {
+    "retries": {
+      "type": "integer"
+    },
+    "retryInterval": {
+      "type": "integer"
+    },
+    "requestId": {
+      "type": "integer"
+    },
+    "firmware": {
+      "$ref": "#/definitions/FirmwareType"
+    }
+  },
+  "required": ["requestId", "firmware"]
+}
diff --git a/src/assets/json-schemas/ocpp/1.6/SignedUpdateFirmwareResponse.json b/src/assets/json-schemas/ocpp/1.6/SignedUpdateFirmwareResponse.json
new file mode 100644 (file)
index 0000000..2de4877
--- /dev/null
@@ -0,0 +1,25 @@
+{
+  "$schema": "http://json-schema.org/draft-07/schema#",
+  "$id": "urn:OCPP:Cp:1.6:2020:3:SignedUpdateFirmware.conf",
+  "definitions": {
+    "UpdateFirmwareStatusEnumType": {
+      "type": "string",
+      "additionalProperties": false,
+      "enum": [
+        "Accepted",
+        "Rejected",
+        "AcceptedCanceled",
+        "InvalidCertificate",
+        "RevokedCertificate"
+      ]
+    }
+  },
+  "type": "object",
+  "additionalProperties": false,
+  "properties": {
+    "status": {
+      "$ref": "#/definitions/UpdateFirmwareStatusEnumType"
+    }
+  },
+  "required": ["status"]
+}