{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://dataexchangeplatform.io/data/directory-v1.schema.json",
  "title": "Open data directory entry, version 1",
  "type": "object",
  "required": [
    "id",
    "name",
    "publisher",
    "url",
    "coverage",
    "region",
    "scope",
    "theme",
    "domains",
    "entity",
    "api",
    "licence",
    "licence_group",
    "link_status"
  ],
  "additionalProperties": false,
  "properties": {
    "id": {
      "type": "string",
      "pattern": "^DEP-[0-9]{4}$",
      "description": "Stable identifier (dct:identifier)"
    },
    "name": {
      "type": "string",
      "description": "dct:title"
    },
    "publisher": {
      "type": "string",
      "description": "dct:publisher"
    },
    "url": {
      "type": "string",
      "format": "uri",
      "description": "dcat:landingPage"
    },
    "description": {
      "type": "string",
      "description": "dct:description, one line"
    },
    "coverage": {
      "type": "string",
      "description": "Country or region covered (dct:spatial)"
    },
    "region": {
      "enum": [
        "global",
        "europe",
        "netherlands",
        "europe-national",
        "africa",
        "north-america",
        "latin-america",
        "asia-pacific",
        "mena"
      ],
      "description": "Region group of the coverage"
    },
    "scope": {
      "enum": [
        "global",
        "regional",
        "national",
        "local"
      ],
      "description": "Geographic scope"
    },
    "theme": {
      "enum": [
        "Public services",
        "Acquisitions & company data",
        "Heat",
        "Supply chains & shocks",
        "Water",
        "Migration",
        "Citizen participation",
        "Insolvency & bankruptcy",
        "Community & aspirations",
        "Africa investment",
        "Climate & environment",
        "Demographics",
        "Economy",
        "Foresight & futures"
      ],
      "description": "One primary theme (dcat:theme)"
    },
    "theme_id": {
      "type": "string",
      "description": "Theme as a URL-safe id"
    },
    "domains": {
      "type": "array",
      "items": {
        "enum": [
          "heat",
          "water",
          "supply-chains",
          "human-ai",
          "civic",
          "migration",
          "capital",
          "aspirations",
          "context"
        ]
      },
      "description": "Platform domains the theme feeds; 'context' marks cross-cutting climate, demographic, economic and foresight data"
    },
    "entity": {
      "enum": [
        "actors",
        "aspirations",
        "assets",
        "dependencies"
      ],
      "description": "Data layer entity the source mainly informs"
    },
    "formats": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "dct:format, as stated by the publisher"
    },
    "format_families": {
      "type": "array",
      "items": {
        "enum": [
          "tabular",
          "json-xml",
          "geo",
          "grid",
          "stats",
          "linked",
          "pdf",
          "web",
          "various"
        ]
      }
    },
    "api": {
      "type": "boolean",
      "description": "The publisher offers an API"
    },
    "registration": {
      "type": "boolean",
      "description": "Some access needs registration, a key or payment"
    },
    "licence": {
      "type": "string",
      "description": "Licence as stated by the publisher at portal level (dct:license)"
    },
    "licence_group": {
      "enum": [
        "cc-by",
        "public-domain",
        "national-ogl",
        "odbl",
        "copernicus-nasa",
        "non-commercial",
        "custom",
        "varies",
        "not-stated"
      ]
    },
    "update_frequency": {
      "type": "string",
      "description": "dct:accrualPeriodicity, as stated by the publisher"
    },
    "update_group": {
      "enum": [
        "daily",
        "monthly",
        "yearly",
        "rare",
        "varies",
        "stopped",
        "not-stated"
      ]
    },
    "network_sites": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Network sites this source serves; 'all' for cross-cutting sources"
    },
    "curated_id": {
      "type": [
        "string",
        "null"
      ],
      "description": "id of the same source in catalogue-v1.json, if listed there"
    },
    "link_status": {
      "enum": [
        "ok",
        "blocks-automated-checks",
        "recheck"
      ],
      "description": "Result of the automated link check"
    },
    "link_checked": {
      "type": "string",
      "format": "date"
    },
    "link_note": {
      "type": "string",
      "description": "HTTP result of the link check"
    }
  }
}
