{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://observatorioia.org/api/schemas/brechas.schema.json",
  "title": "Brechas comparadas / Comparative gaps",
  "description": "Schema de la respuesta pública completa; el campo data también se publica por separado. / Full public-response schema; the data field schema is also published separately.",
  "type": "object",
  "required": [
    "version",
    "lastUpdate",
    "count",
    "source",
    "license",
    "data"
  ],
  "additionalProperties": false,
  "properties": {
    "version": {
      "type": "string",
      "minLength": 1
    },
    "lastUpdate": {
      "type": "string",
      "format": "date-time"
    },
    "count": {
      "type": "integer",
      "minimum": 0
    },
    "source": {
      "const": "https://observatorioia.org"
    },
    "license": {
      "const": "CC BY 4.0"
    },
    "data": {
      "$ref": "#/definitions/_dataset"
    }
  },
  "definitions": {
    "bilingual": {
      "type": "object",
      "required": [
        "es",
        "en"
      ],
      "additionalProperties": false,
      "properties": {
        "es": {
          "type": "string",
          "minLength": 1
        },
        "en": {
          "type": "string",
          "minLength": 1
        }
      }
    },
    "_dataset": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "id",
          "capacidad",
          "paisReferencia",
          "evidenciaReferencia",
          "estadoCR",
          "porQueImporta",
          "fuenteUrl",
          "fuenteUrlAlcance"
        ],
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^[a-z0-9-]+$"
          },
          "capacidad": {
            "$ref": "#/definitions/bilingual"
          },
          "paisReferencia": {
            "$ref": "#/definitions/bilingual"
          },
          "evidenciaReferencia": {
            "$ref": "#/definitions/bilingual"
          },
          "estadoCR": {
            "$ref": "#/definitions/bilingual"
          },
          "porQueImporta": {
            "$ref": "#/definitions/bilingual"
          },
          "fuenteUrl": {
            "type": "string",
            "format": "uri"
          },
          "fuenteUrlAlcance": {
            "const": "referencia-internacional"
          }
        }
      }
    }
  },
  "x-observatorio-data-schema": "/api/schemas/brechas-data.schema.json"
}