{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/boletinclaro-es/json-schema/boletinclaro-es-empresa-schema.json",
  "title": "Empresa",
  "description": "El perfil de dinero público de una empresa: identidad, totales y agregados.\n\nTodavía **no** incluye el detalle línea a línea de cada subvención y cada contrato, los datos mercantiles del BORME. Incluye el desglose agregado CORDIS y TED transfronterizo. El total nacional permite comparar BDNS+PLACSP; la búsqueda y el snapshot pueden tener distinta antigüedad. materializado_en y consultado_en son tiempos de caché, no fechas de actualización en origen.",
  "x-generated": "2026-11-02",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/boletinclaro-es-openapi.json#/components/schemas/Empresa",
  "properties": {
    "alcance_agregados": {
      "description": "Fuente de organismos, sectores y reparto anual.",
      "enum": [
        "BDNS"
      ],
      "type": "string"
    },
    "alcance_total": {
      "enum": [
        "BDNS,PLACSP,CORDIS,TED_TRANSFRONTERIZO"
      ],
      "type": "string"
    },
    "contratos": {
      "$ref": "#/$defs/BloqueImportes"
    },
    "contratos_ue_transfronterizos": {
      "$ref": "#/$defs/BloqueImportes"
    },
    "datos_parciales": {
      "description": "Alguna fuente no pudo consultarse; los totales pueden estar incompletos.",
      "type": "boolean"
    },
    "dinero_publico_nacional_total": {
      "description": "Suma de subvenciones BDNS y contratos PLACSP del snapshot.",
      "type": "number"
    },
    "dinero_publico_total": {
      "format": "double",
      "type": "number"
    },
    "ficha": {
      "format": "uri",
      "type": "string"
    },
    "importes_por_anio": {
      "description": "Reparto de subvenciones BDNS por año; no incluye contratos ni fondos europeos.",
      "items": {
        "$ref": "#/$defs/AgregadoAnio"
      },
      "type": "array"
    },
    "materializado_en": {
      "description": "Instante de ensamblado del snapshot; puede conservarse hasta siete días. No es fecha de actualización de las fuentes.",
      "format": "date-time",
      "type": "string"
    },
    "nif": {
      "type": "string"
    },
    "nombre": {
      "type": "string"
    },
    "organismos_principales": {
      "description": "Organismos BDNS de los que más subvenciones ha recibido.",
      "items": {
        "$ref": "#/$defs/AgregadoOrganismo"
      },
      "type": "array"
    },
    "proyectos_europeos": {
      "$ref": "#/$defs/BloqueImportes"
    },
    "sectores_principales": {
      "description": "Sectores BDNS en los que más subvenciones ha recibido.",
      "items": {
        "$ref": "#/$defs/AgregadoSector"
      },
      "type": "array"
    },
    "snapshot_caducado": {
      "description": "Se sirve una copia fuera de su ventana de frescura ante un fallo del servicio de datos.",
      "type": "boolean"
    },
    "subvenciones": {
      "$ref": "#/$defs/BloqueImportes"
    }
  },
  "required": [
    "nif",
    "nombre",
    "dinero_publico_total",
    "subvenciones",
    "contratos",
    "dinero_publico_nacional_total",
    "alcance_total",
    "alcance_agregados",
    "proyectos_europeos",
    "contratos_ue_transfronterizos",
    "snapshot_caducado",
    "datos_parciales"
  ],
  "type": "object",
  "$defs": {
    "AgregadoAnio": {
      "properties": {
        "anio": {
          "format": "int64",
          "type": "integer"
        },
        "importe": {
          "format": "double",
          "type": "number"
        },
        "numero": {
          "format": "int64",
          "type": "integer"
        }
      },
      "required": [
        "anio",
        "numero",
        "importe"
      ],
      "type": "object"
    },
    "AgregadoOrganismo": {
      "properties": {
        "importe": {
          "format": "double",
          "type": "number"
        },
        "numero": {
          "format": "int64",
          "type": "integer"
        },
        "organismo": {
          "type": "string"
        }
      },
      "required": [
        "organismo",
        "numero",
        "importe"
      ],
      "type": "object"
    },
    "AgregadoSector": {
      "properties": {
        "codigo": {
          "type": "string"
        },
        "descripcion": {
          "type": "string"
        },
        "importe": {
          "format": "double",
          "type": "number"
        }
      },
      "required": [
        "importe"
      ],
      "type": "object"
    },
    "BloqueImportes": {
      "description": "Recuento, dinero y rango de fechas de un canal de financiación.",
      "properties": {
        "importe": {
          "format": "double",
          "type": "number"
        },
        "numero": {
          "format": "int64",
          "type": "integer"
        },
        "primera": {
          "format": "date",
          "type": "string"
        },
        "ultima": {
          "format": "date",
          "type": "string"
        }
      },
      "required": [
        "numero",
        "importe"
      ],
      "type": "object"
    }
  }
}