{
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "$id": "https://blockchains.github.io/blockchainlab-api/v1/schemas/glossary.schema.json",
 "title": "glossary",
 "description": "Plain-language blockchain glossary from blockchainlab.com (concepts, protocol profiles, failure classes, stack layers).",
 "x-schema-version": "1.1.0",
 "type": "object",
 "required": [
  "dataset",
  "generated_at",
  "source",
  "source_url",
  "data"
 ],
 "properties": {
  "dataset": {
   "type": [
    "null",
    "string"
   ]
  },
  "api_version": {
   "type": [
    "null",
    "string"
   ]
  },
  "schema_version": {
   "type": [
    "null",
    "string"
   ]
  },
  "schema_url": {
   "type": [
    "string",
    "integer",
    "null"
   ]
  },
  "description": {
   "type": [
    "null",
    "string"
   ]
  },
  "generated_at": {
   "type": [
    "string",
    "integer",
    "null"
   ]
  },
  "source": {
   "type": [
    "null",
    "string"
   ]
  },
  "source_url": {
   "type": [
    "null",
    "string"
   ]
  },
  "built_by": {
   "type": [
    "null",
    "string"
   ]
  },
  "licence_note": {
   "type": [
    "null",
    "string"
   ]
  },
  "count": {
   "type": [
    "string",
    "integer",
    "null"
   ]
  },
  "data": {
   "type": "array",
   "items": {
    "type": "object",
    "properties": {
     "kind": {
      "type": [
       "null",
       "string"
      ]
     },
     "slug": {
      "type": [
       "null",
       "string"
      ]
     },
     "term": {
      "type": [
       "null",
       "string"
      ]
     },
     "definition": {
      "type": [
       "null",
       "string"
      ]
     },
     "detail": {
      "type": [
       "null",
       "string"
      ]
     },
     "url": {
      "type": [
       "null",
       "string"
      ]
     }
    },
    "required": [
     "definition",
     "detail",
     "kind",
     "slug",
     "term",
     "url"
    ]
   }
  }
 }
}