response.schema.json 2.25 KB
Newer Older
canterburym's avatar
canterburym committed
{
  "$id": "http://etsi.org/temp/705",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "ETSI TS 103 705 Response",
  "description": "Overall Response structure, representing the results of a lawful disclosure query (see clause 5)",
  "type:": "object",
  "properties": {
    "recordSetDescription": {
      "$ref": "#/$defs/recordSetDescription"
    },
    "recordSet": {
      "$ref": "#/$defs/recordSet"
    }
  },
  "required": [
    "recordSetDescription",
    "recordSet"
  ],
  "$defs": {
    "recordSetDescription": {
      "type": "object",
      "title": "RecordSetDescription",
      "description" : "Provides metadata about the records being delivered (see clause 5.2)",
      "properties": {
        "typesUsed": {
          
        }
      },
      "required": [
        "typesUsed"
      ]
    },
    "typesUsed": {
      "type": "object",
      "title": "TypesUsed",
      "description" : "Mapping between type identifiers (see clause 5.3.3) and JSON schema identifiers. Described in clause 5.2.2.",
      "patternProperties": {
        "": {
          "$ref": "#/$defs/schemaReference"
        }
      }
    },
    "schemaReference": {
      "type": "string"
    },
    "recordSet": {
      "type": "array",
      "title": "RecordSet",
      "description" : "RecordSet type (see clause 5.3.1). Contains a set of Records.",
      "items": {
        "$ref": "#$defs/record"
      }
    },
    "record": {
      "type": "object",
      "title": "Record",
      "description" : "Record type (see clause 5.3.1). It is expected that each CSP schema will provide a concrete set of extended Record types that may be used here, each of which shall have a schema referenced using the typesUsed field in the recordDescription",
      "properties": {
        "id": {
          "title" : "id",
          "description" : "Unique identifier for the Record within the RecordSet (see clause 5.3.2).",
          "type": "string"
        },
        "type": {
          "title" : "type",
          "description" : "Identifier the type of the record (see clause 5.3.3). The value must match one given in the typesUsed field, which in turn must refer to a schema available to the receiver",
          "type": "string"
        }
      },
      "required": ["id", "type"]
    }
  }
}