response.schema.json 2.47 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",
canterburym's avatar
canterburym committed
      "description": "Provides metadata about the records being delivered (see clause 5.2)",
canterburym's avatar
canterburym committed
      "properties": {
canterburym's avatar
canterburym committed
        "resultSetId" : { "$ref" : "#/$defs/resultSetId"},
        "version" : {"$ref" : "#/defs/version"},
        "created" : {"$ref" : "http://etsi.org/temp/280#/$defs/QualifiedMicrosecondDateTime"},
        "typesUsed": { "$ref" : "#/$defs/typesUsed"}
canterburym's avatar
canterburym committed
      },
      "required": [
        "typesUsed"
      ]
    },
    "typesUsed": {
      "type": "object",
      "title": "TypesUsed",
canterburym's avatar
canterburym committed
      "description": "Mapping between type identifiers (see clause 5.3.3) and JSON schema identifiers. Described in clause 5.2.2.",
canterburym's avatar
canterburym committed
      "patternProperties": {
        "": {
          "$ref": "#/$defs/schemaReference"
        }
      }
    },
    "schemaReference": {
      "type": "string"
    },
    "recordSet": {
      "type": "array",
      "title": "RecordSet",
canterburym's avatar
canterburym committed
      "description": "RecordSet type (see clause 5.3.1). Contains a set of Records.",
canterburym's avatar
canterburym committed
      "items": {
        "$ref": "#$defs/record"
      }
    },
    "record": {
      "type": "object",
      "title": "Record",
canterburym's avatar
canterburym committed
      "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",
canterburym's avatar
canterburym committed
      "properties": {
        "id": {
canterburym's avatar
canterburym committed
          "title": "id",
          "description": "Unique identifier for the Record within the RecordSet (see clause 5.3.2).",
canterburym's avatar
canterburym committed
          "type": "string"
        },
        "type": {
canterburym's avatar
canterburym committed
          "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",
canterburym's avatar
canterburym committed
          "type": "string"
        }
      },
canterburym's avatar
canterburym committed
      "required": [
        "id",
        "type"
      ]
canterburym's avatar
canterburym committed
    }
  }
}