{"openapi": "3.1.0", "info": {"title": "Datalab Ap\u00edcola", "version": "1.0.0", "description": "Lectura p\u00fablica: indicadores, valores con su linaje y sus banderas, fuentes, snapshots y cat\u00e1logo. La API no escribe."}, "paths": {"/api/v1/indicadores": {"get": {"operationId": "lab_core_api_rutas_listar_indicadores", "summary": "Listar Indicadores", "parameters": [], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PaginaIndicadores"}}}}}, "description": "Indicadores publicados, con la versi\u00f3n de ficha que hoy rige cada uno."}, "head": {"operationId": "lab_core_api_rutas_listar_indicadores", "summary": "Listar Indicadores", "parameters": [], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PaginaIndicadores"}}}}}, "description": "Indicadores publicados, con la versi\u00f3n de ficha que hoy rige cada uno."}}, "/api/v1/indicadores/{slug}": {"get": {"operationId": "lab_core_api_rutas_leer_indicador", "summary": "Leer Indicador", "parameters": [{"in": "path", "name": "slug", "schema": {"title": "Slug", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/IndicadorOut"}}}}}, "description": "Un indicador, en la misma forma en que sale en la lista: es el recurso de su IRI."}, "head": {"operationId": "lab_core_api_rutas_leer_indicador", "summary": "Leer Indicador", "parameters": [{"in": "path", "name": "slug", "schema": {"title": "Slug", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/IndicadorOut"}}}}}, "description": "Un indicador, en la misma forma en que sale en la lista: es el recurso de su IRI."}}, "/api/v1/indicadores/{slug}/valores": {"get": {"operationId": "lab_core_api_rutas_listar_valores", "summary": "Listar Valores", "parameters": [{"in": "path", "name": "slug", "schema": {"title": "Slug", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PaginaValores"}}}}}, "description": "Valores vigentes de un indicador, filtrables por territorio, periodo y dimensi\u00f3n."}, "head": {"operationId": "lab_core_api_rutas_listar_valores", "summary": "Listar Valores", "parameters": [{"in": "path", "name": "slug", "schema": {"title": "Slug", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PaginaValores"}}}}}, "description": "Valores vigentes de un indicador, filtrables por territorio, periodo y dimensi\u00f3n."}}, "/api/v1/fuentes": {"get": {"operationId": "lab_core_api_rutas_listar_fuentes", "summary": "Listar Fuentes", "parameters": [], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PaginaFuentes"}}}}}, "description": "Fichas de fuente registradas, en lo que tienen de p\u00fablico."}, "head": {"operationId": "lab_core_api_rutas_listar_fuentes", "summary": "Listar Fuentes", "parameters": [], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PaginaFuentes"}}}}}, "description": "Fichas de fuente registradas, en lo que tienen de p\u00fablico."}}, "/api/v1/snapshots/{sha256}": {"get": {"operationId": "lab_core_api_rutas_leer_snapshot", "summary": "Leer Snapshot", "parameters": [{"in": "path", "name": "sha256", "schema": {"title": "Sha256", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/SnapshotOut"}, {"$ref": "#/components/schemas/SnapshotResumidoOut"}], "title": "Response"}}}}}, "description": "Identidad de una captura por su sha256. El archivo no viaja por la API.\n\nLa respuesta llega en una de las dos formas que el esquema declara. Ninguna trae el\ncontenido y ninguna trae la ruta del almac\u00e9n."}, "head": {"operationId": "lab_core_api_rutas_leer_snapshot", "summary": "Leer Snapshot", "parameters": [{"in": "path", "name": "sha256", "schema": {"title": "Sha256", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/SnapshotOut"}, {"$ref": "#/components/schemas/SnapshotResumidoOut"}], "title": "Response"}}}}}, "description": "Identidad de una captura por su sha256. El archivo no viaja por la API.\n\nLa respuesta llega en una de las dos formas que el esquema declara. Ninguna trae el\ncontenido y ninguna trae la ruta del almac\u00e9n."}}, "/api/v1/snapshots/{sha256}/archivo": {"get": {"operationId": "lab_core_api_rutas_descargar_captura", "summary": "Descargar Captura", "parameters": [{"in": "path", "name": "sha256", "schema": {"title": "Sha256", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK"}}, "description": "El archivo tal como se captur\u00f3, cuando se redistribuye (`selectors.se_redistribuye`).\n\nEs la descarga que el pie de cada cifra ofrece para llegar desde la cifra hasta el documento\ndel organismo (TASK-3.21). Los bytes se vuelven a medir antes de entregarse y llegan con su\nlicencia en la cabecera `Link`, como las piezas publicadas."}, "head": {"operationId": "lab_core_api_rutas_descargar_captura", "summary": "Descargar Captura", "parameters": [{"in": "path", "name": "sha256", "schema": {"title": "Sha256", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK"}}, "description": "El archivo tal como se captur\u00f3, cuando se redistribuye (`selectors.se_redistribuye`).\n\nEs la descarga que el pie de cada cifra ofrece para llegar desde la cifra hasta el documento\ndel organismo (TASK-3.21). Los bytes se vuelven a medir antes de entregarse y llegan con su\nlicencia en la cabecera `Link`, como las piezas publicadas."}}, "/api/v1/publicaciones": {"get": {"operationId": "lab_core_api_rutas_listar_publicaciones", "summary": "Listar Publicaciones", "parameters": [], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PaginaPublicaciones"}}}}}, "description": "Publicaciones que el laboratorio sostiene, con su licencia calculada y su sha256.\n\nSalen las publicadas y nada m\u00e1s. Un borrador y una publicaci\u00f3n materializada sin aprobar\nson estados internos: el paquete puede existir en disco y la firma del comit\u00e9 todav\u00eda no,\nque es exactamente la distinci\u00f3n que el AC-1.9 pide sostener."}, "head": {"operationId": "lab_core_api_rutas_listar_publicaciones", "summary": "Listar Publicaciones", "parameters": [], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PaginaPublicaciones"}}}}}, "description": "Publicaciones que el laboratorio sostiene, con su licencia calculada y su sha256.\n\nSalen las publicadas y nada m\u00e1s. Un borrador y una publicaci\u00f3n materializada sin aprobar\nson estados internos: el paquete puede existir en disco y la firma del comit\u00e9 todav\u00eda no,\nque es exactamente la distinci\u00f3n que el AC-1.9 pide sostener."}}, "/api/v1/publicaciones/{uuid_publicacion}/archivos/{nombre}": {"get": {"operationId": "lab_core_api_rutas_descargar_archivo", "summary": "Descargar Archivo", "parameters": [{"in": "path", "name": "uuid_publicacion", "schema": {"format": "uuid", "title": "Uuid Publicacion", "type": "string"}, "required": true}, {"in": "path", "name": "nombre", "schema": {"title": "Nombre", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK"}}, "description": "Una pieza de un paquete publicado, vuelta a medir antes de entregarse.\n\nEs un GET y no abre ninguna puerta: la API sigue siendo de solo lectura por sus dos capas.\nLo que agrega es la \u00fanica salida por la que los bytes del paquete llegan a alguien, y por\neso es donde tiene que volver a comprobarse que siguen siendo los que se publicaron.\n\nEl identificador se declara como `UUID` por la misma raz\u00f3n que en la puerta de la l\u00e1pida:\ncon el texto crudo la conversi\u00f3n quedaba en el ORM, donde el fallo no es una ausencia sino\nuna excepci\u00f3n sin due\u00f1o, y un valor que no es un UUID sal\u00eda como 500 (SANE-159)."}, "head": {"operationId": "lab_core_api_rutas_descargar_archivo", "summary": "Descargar Archivo", "parameters": [{"in": "path", "name": "uuid_publicacion", "schema": {"format": "uuid", "title": "Uuid Publicacion", "type": "string"}, "required": true}, {"in": "path", "name": "nombre", "schema": {"title": "Nombre", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK"}}, "description": "Una pieza de un paquete publicado, vuelta a medir antes de entregarse.\n\nEs un GET y no abre ninguna puerta: la API sigue siendo de solo lectura por sus dos capas.\nLo que agrega es la \u00fanica salida por la que los bytes del paquete llegan a alguien, y por\neso es donde tiene que volver a comprobarse que siguen siendo los que se publicaron.\n\nEl identificador se declara como `UUID` por la misma raz\u00f3n que en la puerta de la l\u00e1pida:\ncon el texto crudo la conversi\u00f3n quedaba en el ORM, donde el fallo no es una ausencia sino\nuna excepci\u00f3n sin due\u00f1o, y un valor que no es un UUID sal\u00eda como 500 (SANE-159)."}}, "/api/v1/publicaciones/{uuid_publicacion}/retirada": {"get": {"operationId": "lab_core_api_rutas_leer_lapida", "summary": "Leer Lapida", "parameters": [{"in": "path", "name": "uuid_publicacion", "schema": {"format": "uuid", "title": "Uuid Publicacion", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK"}}, "description": "La l\u00e1pida de una publicaci\u00f3n retirada: qu\u00e9 estuvo publicado y con qu\u00e9 hash (SANE-105).\n\nEl retiro deja dos mitades y hasta ahora solo una ten\u00eda puerta. La errata dice por qu\u00e9 y la\nlee cualquiera; la l\u00e1pida dice qu\u00e9, o sea la versi\u00f3n y el sha256 de lo que estuvo en la\ncalle, y solo la ve\u00eda quien tuviera acceso al disco. Quien guard\u00f3 una copia ayer necesita\nesa mitad para saber cu\u00e1l guard\u00f3.\n\nLo que se lee es el archivo que el retiro escribi\u00f3 y no la fila, para que no haya dos\nafirmaciones separables sobre el mismo acto. Lo que se entrega es el subconjunto que\n`lapida_publica` nombra: leer de una sola fuente y elegir qu\u00e9 de ella sale son dos\ndecisiones distintas y esta puerta naci\u00f3 con una sola de las dos (SANE-157).\n\nEl identificador se declara como `UUID` y no como texto, as\u00ed que la forma de la entrada se\ncomprueba antes de tocar la base. Con el texto crudo, un valor que no es un UUID reventaba\nen el filtro y sal\u00eda como error del laboratorio (SANE-158)."}, "head": {"operationId": "lab_core_api_rutas_leer_lapida", "summary": "Leer Lapida", "parameters": [{"in": "path", "name": "uuid_publicacion", "schema": {"format": "uuid", "title": "Uuid Publicacion", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK"}}, "description": "La l\u00e1pida de una publicaci\u00f3n retirada: qu\u00e9 estuvo publicado y con qu\u00e9 hash (SANE-105).\n\nEl retiro deja dos mitades y hasta ahora solo una ten\u00eda puerta. La errata dice por qu\u00e9 y la\nlee cualquiera; la l\u00e1pida dice qu\u00e9, o sea la versi\u00f3n y el sha256 de lo que estuvo en la\ncalle, y solo la ve\u00eda quien tuviera acceso al disco. Quien guard\u00f3 una copia ayer necesita\nesa mitad para saber cu\u00e1l guard\u00f3.\n\nLo que se lee es el archivo que el retiro escribi\u00f3 y no la fila, para que no haya dos\nafirmaciones separables sobre el mismo acto. Lo que se entrega es el subconjunto que\n`lapida_publica` nombra: leer de una sola fuente y elegir qu\u00e9 de ella sale son dos\ndecisiones distintas y esta puerta naci\u00f3 con una sola de las dos (SANE-157).\n\nEl identificador se declara como `UUID` y no como texto, as\u00ed que la forma de la entrada se\ncomprueba antes de tocar la base. Con el texto crudo, un valor que no es un UUID reventaba\nen el filtro y sal\u00eda como error del laboratorio (SANE-158)."}}, "/api/v1/ediciones": {"get": {"operationId": "lab_core_api_rutas_listar_ediciones", "summary": "Listar Ediciones", "parameters": [], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PaginaEdiciones"}}}}}, "description": "Ediciones publicadas de todas las series, con el sha256 de cada pieza y d\u00f3nde bajarla."}, "head": {"operationId": "lab_core_api_rutas_listar_ediciones", "summary": "Listar Ediciones", "parameters": [], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PaginaEdiciones"}}}}}, "description": "Ediciones publicadas de todas las series, con el sha256 de cada pieza y d\u00f3nde bajarla."}}, "/api/v1/ediciones/{uuid_edicion}": {"get": {"operationId": "lab_core_api_rutas_leer_edicion", "summary": "Leer Edicion", "parameters": [{"in": "path", "name": "uuid_edicion", "schema": {"format": "uuid", "title": "Uuid Edicion", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/EdicionOut"}}}}}, "description": "Una edici\u00f3n publicada, que es adonde lleva su IRI: su canal la identifica con ella."}, "head": {"operationId": "lab_core_api_rutas_leer_edicion", "summary": "Leer Edicion", "parameters": [{"in": "path", "name": "uuid_edicion", "schema": {"format": "uuid", "title": "Uuid Edicion", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/EdicionOut"}}}}}, "description": "Una edici\u00f3n publicada, que es adonde lleva su IRI: su canal la identifica con ella."}}, "/api/v1/ediciones/{uuid_edicion}/artefactos/{idioma}/{formato}": {"get": {"operationId": "lab_core_api_rutas_descargar_artefacto", "summary": "Descargar Artefacto", "parameters": [{"in": "path", "name": "uuid_edicion", "schema": {"format": "uuid", "title": "Uuid Edicion", "type": "string"}, "required": true}, {"in": "path", "name": "idioma", "schema": {"title": "Idioma", "type": "string"}, "required": true}, {"in": "path", "name": "formato", "schema": {"title": "Formato", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK"}}, "description": "Una pieza de una edici\u00f3n publicada, vuelta a medir antes de entregarse.\n\nLlega con la licencia calculada de la edici\u00f3n en la cabecera `Link`, igual que la pieza de\nun paquete, porque quien baja el PDF suelto no ve la lista que la declara."}, "head": {"operationId": "lab_core_api_rutas_descargar_artefacto", "summary": "Descargar Artefacto", "parameters": [{"in": "path", "name": "uuid_edicion", "schema": {"format": "uuid", "title": "Uuid Edicion", "type": "string"}, "required": true}, {"in": "path", "name": "idioma", "schema": {"title": "Idioma", "type": "string"}, "required": true}, {"in": "path", "name": "formato", "schema": {"title": "Formato", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK"}}, "description": "Una pieza de una edici\u00f3n publicada, vuelta a medir antes de entregarse.\n\nLlega con la licencia calculada de la edici\u00f3n en la cabecera `Link`, igual que la pieza de\nun paquete, porque quien baja el PDF suelto no ve la lista que la declara."}}, "/api/v1/canal/ediciones.atom": {"get": {"operationId": "lab_core_api_rutas_leer_canal_de_ediciones", "summary": "Leer Canal De Ediciones", "parameters": [{"in": "query", "name": "idioma", "schema": {"default": "es", "title": "Idioma", "type": "string"}, "required": false}], "responses": {"200": {"description": "OK"}}, "description": "Las ediciones publicadas de todas las series como canal Atom, en el idioma que se pida."}, "head": {"operationId": "lab_core_api_rutas_leer_canal_de_ediciones", "summary": "Leer Canal De Ediciones", "parameters": [{"in": "query", "name": "idioma", "schema": {"default": "es", "title": "Idioma", "type": "string"}, "required": false}], "responses": {"200": {"description": "OK"}}, "description": "Las ediciones publicadas de todas las series como canal Atom, en el idioma que se pida."}}, "/api/v1/indicadores/{slug}/canal.atom": {"get": {"operationId": "lab_core_api_rutas_leer_canal_del_indicador", "summary": "Leer Canal Del Indicador", "parameters": [{"in": "path", "name": "slug", "schema": {"title": "Slug", "type": "string"}, "required": true}, {"in": "query", "name": "idioma", "schema": {"default": "es", "title": "Idioma", "type": "string"}, "required": false}], "responses": {"200": {"description": "OK"}}, "description": "Las cifras vigentes de un indicador como canal Atom, con la misma supresi\u00f3n que la API.\n\nEl orden es total y lo decide la base: la corrida m\u00e1s reciente primero, y dentro de ella el\nperiodo m\u00e1s reciente. Una corrida sobre un snapshot nuevo reescribe todas las celdas de la\nserie con la misma ejecuci\u00f3n, as\u00ed que sin el periodo el tope cortar\u00eda entre celdas empatadas\ny el periodo que el canal existe para anunciar podr\u00eda quedar fuera. El territorio, las\ndimensiones y el identificador deciden lo que todav\u00eda empata, para que dos pedidos iguales\nentreguen el mismo documento."}, "head": {"operationId": "lab_core_api_rutas_leer_canal_del_indicador", "summary": "Leer Canal Del Indicador", "parameters": [{"in": "path", "name": "slug", "schema": {"title": "Slug", "type": "string"}, "required": true}, {"in": "query", "name": "idioma", "schema": {"default": "es", "title": "Idioma", "type": "string"}, "required": false}], "responses": {"200": {"description": "OK"}}, "description": "Las cifras vigentes de un indicador como canal Atom, con la misma supresi\u00f3n que la API.\n\nEl orden es total y lo decide la base: la corrida m\u00e1s reciente primero, y dentro de ella el\nperiodo m\u00e1s reciente. Una corrida sobre un snapshot nuevo reescribe todas las celdas de la\nserie con la misma ejecuci\u00f3n, as\u00ed que sin el periodo el tope cortar\u00eda entre celdas empatadas\ny el periodo que el canal existe para anunciar podr\u00eda quedar fuera. El territorio, las\ndimensiones y el identificador deciden lo que todav\u00eda empata, para que dos pedidos iguales\nentreguen el mismo documento."}}, "/api/v1/version": {"get": {"operationId": "lab_core_api_rutas_leer_version", "summary": "Leer Version", "parameters": [], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/VersionOut"}}}}}, "description": "La versi\u00f3n del sitio de lo que esta API sirve, y cu\u00e1ndo qued\u00f3 desplegada.\n\nEs la del commit que corre y no la \u00faltima registrada: despu\u00e9s de una reversi\u00f3n corre un\ncommit anterior, y su versi\u00f3n es la que vale. El portal la publica al pie de cada p\u00e1gina."}, "head": {"operationId": "lab_core_api_rutas_leer_version", "summary": "Leer Version", "parameters": [], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/VersionOut"}}}}}, "description": "La versi\u00f3n del sitio de lo que esta API sirve, y cu\u00e1ndo qued\u00f3 desplegada.\n\nEs la del commit que corre y no la \u00faltima registrada: despu\u00e9s de una reversi\u00f3n corre un\ncommit anterior, y su versi\u00f3n es la que vale. El portal la publica al pie de cada p\u00e1gina."}}, "/api/v1/alertas": {"get": {"operationId": "lab_core_api_rutas_listar_alertas", "summary": "Listar Alertas", "parameters": [], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PaginaAlertas"}}}}}, "description": "Las fichas de regla de las alertas cuya serie se publica.\n\nSon pocas y las declara la instancia, as\u00ed que caben en una p\u00e1gina: el cursor no tiene nada\nque partir, y `siguiente` viaja vac\u00edo para que la forma sea la de toda lista de la API."}, "head": {"operationId": "lab_core_api_rutas_listar_alertas", "summary": "Listar Alertas", "parameters": [], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PaginaAlertas"}}}}}, "description": "Las fichas de regla de las alertas cuya serie se publica.\n\nSon pocas y las declara la instancia, as\u00ed que caben en una p\u00e1gina: el cursor no tiene nada\nque partir, y `siguiente` viaja vac\u00edo para que la forma sea la de toda lista de la API."}}, "/api/v1/alertas/{slug}": {"get": {"operationId": "lab_core_api_rutas_leer_alerta", "summary": "Leer Alerta", "parameters": [{"in": "path", "name": "slug", "schema": {"title": "Slug", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AlertaOut"}}}}}, "description": "La ficha de una alerta con lo que dice hoy: sus avisos y si su fuente sigue respondiendo."}, "head": {"operationId": "lab_core_api_rutas_leer_alerta", "summary": "Leer Alerta", "parameters": [{"in": "path", "name": "slug", "schema": {"title": "Slug", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AlertaOut"}}}}}, "description": "La ficha de una alerta con lo que dice hoy: sus avisos y si su fuente sigue respondiendo."}}, "/api/v1/alertas/{slug}/canal.atom": {"get": {"operationId": "lab_core_api_rutas_leer_canal_de_alerta", "summary": "Leer Canal De Alerta", "parameters": [{"in": "path", "name": "slug", "schema": {"title": "Slug", "type": "string"}, "required": true}, {"in": "query", "name": "idioma", "schema": {"default": "es", "title": "Idioma", "type": "string"}, "required": false}], "responses": {"200": {"description": "OK"}}, "description": "Los avisos de una alerta como canal Atom, con el aviso de que su fuente no responde."}, "head": {"operationId": "lab_core_api_rutas_leer_canal_de_alerta", "summary": "Leer Canal De Alerta", "parameters": [{"in": "path", "name": "slug", "schema": {"title": "Slug", "type": "string"}, "required": true}, {"in": "query", "name": "idioma", "schema": {"default": "es", "title": "Idioma", "type": "string"}, "required": false}], "responses": {"200": {"description": "OK"}}, "description": "Los avisos de una alerta como canal Atom, con el aviso de que su fuente no responde."}}, "/api/v1/errata": {"get": {"operationId": "lab_core_api_rutas_listar_errata", "summary": "Listar Errata", "parameters": [], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PaginaErrata"}}}}}, "description": "Errata registrada sobre publicaciones anteriores; p\u00fablica por definici\u00f3n."}, "head": {"operationId": "lab_core_api_rutas_listar_errata", "summary": "Listar Errata", "parameters": [], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/PaginaErrata"}}}}}, "description": "Errata registrada sobre publicaciones anteriores; p\u00fablica por definici\u00f3n."}}, "/api/v1/fichas/{uuid_ficha}": {"get": {"operationId": "lab_core_api_rutas_leer_ficha", "summary": "Leer Ficha", "parameters": [{"in": "path", "name": "uuid_ficha", "schema": {"format": "uuid", "title": "Uuid Ficha", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/FichaCompletaOut"}}}}}, "description": "La ficha de un indicador con su m\u00e9todo, sus limitaciones y su historial de versiones."}, "head": {"operationId": "lab_core_api_rutas_leer_ficha", "summary": "Leer Ficha", "parameters": [{"in": "path", "name": "uuid_ficha", "schema": {"format": "uuid", "title": "Uuid Ficha", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/FichaCompletaOut"}}}}}, "description": "La ficha de un indicador con su m\u00e9todo, sus limitaciones y su historial de versiones."}}, "/api/v1/linaje/{valor_id}": {"get": {"operationId": "lab_core_api_rutas_leer_linaje", "summary": "Leer Linaje", "parameters": [{"in": "path", "name": "valor_id", "schema": {"format": "uuid", "title": "Valor Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK"}}, "description": "Linaje de una cifra en PROV-JSON: de qu\u00e9 ficha, qu\u00e9 dataset y qu\u00e9 snapshot sali\u00f3."}, "head": {"operationId": "lab_core_api_rutas_leer_linaje", "summary": "Leer Linaje", "parameters": [{"in": "path", "name": "valor_id", "schema": {"format": "uuid", "title": "Valor Id", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK"}}, "description": "Linaje de una cifra en PROV-JSON: de qu\u00e9 ficha, qu\u00e9 dataset y qu\u00e9 snapshot sali\u00f3."}}, "/api/v1/datasets/{identificador}": {"get": {"operationId": "lab_core_api_rutas_leer_dataset", "summary": "Leer Dataset", "parameters": [{"in": "path", "name": "identificador", "schema": {"title": "Identificador", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DatasetOut"}}}}}, "description": "El dataset que el linaje de una cifra publicada nombra: es el recurso de su IRI."}, "head": {"operationId": "lab_core_api_rutas_leer_dataset", "summary": "Leer Dataset", "parameters": [{"in": "path", "name": "identificador", "schema": {"title": "Identificador", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DatasetOut"}}}}}, "description": "El dataset que el linaje de una cifra publicada nombra: es el recurso de su IRI."}}, "/api/v1/ejecuciones/{uuid_ejecucion}": {"get": {"operationId": "lab_core_api_rutas_leer_ejecucion", "summary": "Leer Ejecucion", "parameters": [{"in": "path", "name": "uuid_ejecucion", "schema": {"format": "uuid", "title": "Uuid Ejecucion", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/EjecucionOut"}}}}}, "description": "La corrida que produjo una cifra publicada: es el recurso de la IRI de su actividad."}, "head": {"operationId": "lab_core_api_rutas_leer_ejecucion", "summary": "Leer Ejecucion", "parameters": [{"in": "path", "name": "uuid_ejecucion", "schema": {"format": "uuid", "title": "Uuid Ejecucion", "type": "string"}, "required": true}], "responses": {"200": {"description": "OK", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/EjecucionOut"}}}}}, "description": "La corrida que produjo una cifra publicada: es el recurso de la IRI de su actividad."}}, "/api/v1/catalogo.jsonld": {"get": {"operationId": "lab_core_api_rutas_leer_catalogo", "summary": "Leer Catalogo", "parameters": [], "responses": {"200": {"description": "OK"}}, "description": "Cat\u00e1logo del laboratorio en DCAT, serializado como JSON-LD."}, "head": {"operationId": "lab_core_api_rutas_leer_catalogo", "summary": "Leer Catalogo", "parameters": [], "responses": {"200": {"description": "OK"}}, "description": "Cat\u00e1logo del laboratorio en DCAT, serializado como JSON-LD."}}, "/api/v1/catalogo.ttl": {"get": {"operationId": "lab_core_api_rutas_leer_catalogo_turtle", "summary": "Leer Catalogo Turtle", "parameters": [], "responses": {"200": {"description": "OK"}}, "description": "El mismo cat\u00e1logo en Turtle, que es el formato en que se lee un grafo RDF a ojo.\n\nNo es otro cat\u00e1logo ni una vista reducida: es el mismo grafo en otra sintaxis, y un test lo\ncomprueba comparando los dos grafos y no los dos textos."}, "head": {"operationId": "lab_core_api_rutas_leer_catalogo_turtle", "summary": "Leer Catalogo Turtle", "parameters": [], "responses": {"200": {"description": "OK"}}, "description": "El mismo cat\u00e1logo en Turtle, que es el formato en que se lee un grafo RDF a ojo.\n\nNo es otro cat\u00e1logo ni una vista reducida: es el mismo grafo en otra sintaxis, y un test lo\ncomprueba comparando los dos grafos y no los dos textos."}}}, "components": {"schemas": {"FichaOut": {"description": "Versi\u00f3n de la ficha con que se calcul\u00f3 una cifra.", "properties": {"uuid": {"title": "Uuid", "type": "string"}, "version": {"title": "Version", "type": "string"}, "vigente_desde": {"format": "date", "title": "Vigente Desde", "type": "string"}, "precision_publicacion": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Precision Publicacion"}}, "required": ["uuid", "version", "vigente_desde", "precision_publicacion"], "title": "FichaOut", "type": "object"}, "IndicadorOut": {"description": "Definici\u00f3n estable de una serie, con la versi\u00f3n de ficha que hoy rige.\n\n`licencia_de_publicacion` es la licencia calculada de la \u00faltima publicaci\u00f3n viva del dataset\nal que el indicador pertenece, y va en nulo mientras no haya ninguna. Es el tercer lugar que\nel AC-1.8b pide para la licencia de salida.", "properties": {"identificador": {"title": "Identificador", "type": "string"}, "uuid": {"title": "Uuid", "type": "string"}, "nombre": {"title": "Nombre", "type": "string"}, "nombre_en": {"title": "Nombre En", "type": "string"}, "definicion": {"title": "Definicion", "type": "string"}, "definicion_en": {"title": "Definicion En", "type": "string"}, "unidad_de_medida": {"title": "Unidad De Medida", "type": "string"}, "unidad_de_medida_en": {"title": "Unidad De Medida En", "type": "string"}, "tipo_periodo": {"title": "Tipo Periodo", "type": "string"}, "derivado": {"title": "Derivado", "type": "boolean"}, "dimensiones": {"items": {"type": "string"}, "title": "Dimensiones", "type": "array"}, "licencia_de_publicacion": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Licencia De Publicacion"}, "ficha_vigente": {"anyOf": [{"$ref": "#/components/schemas/FichaOut"}, {"type": "null"}]}}, "required": ["identificador", "uuid", "nombre", "nombre_en", "definicion", "definicion_en", "unidad_de_medida", "unidad_de_medida_en", "tipo_periodo", "derivado", "dimensiones", "licencia_de_publicacion", "ficha_vigente"], "title": "IndicadorOut", "type": "object"}, "PaginaIndicadores": {"properties": {"items": {"items": {"$ref": "#/components/schemas/IndicadorOut"}, "title": "Items", "type": "array"}, "siguiente": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Siguiente"}}, "required": ["items", "siguiente"], "title": "PaginaIndicadores", "type": "object"}, "PaginaValores": {"description": "Una p\u00e1gina de cifras, con la licencia bajo la que salieron, igual que su indicador.\n\nQuien consume solo esta puerta recibe los t\u00e9rminos de uso junto con las cifras. Va en nulo\nmientras el dataset no tenga ninguna publicaci\u00f3n viva, por la misma raz\u00f3n que en el indicador.", "properties": {"items": {"items": {"$ref": "#/components/schemas/ValorOut"}, "title": "Items", "type": "array"}, "siguiente": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Siguiente"}, "licencia_de_publicacion": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Licencia De Publicacion"}}, "required": ["items", "siguiente", "licencia_de_publicacion"], "title": "PaginaValores", "type": "object"}, "TerritorioOut": {"description": "Unidad territorial de una celda, por su c\u00f3digo y nivel.", "properties": {"pais": {"title": "Pais", "type": "string"}, "nivel": {"title": "Nivel", "type": "string"}, "codigo": {"title": "Codigo", "type": "string"}, "nombre": {"title": "Nombre", "type": "string"}}, "required": ["pais", "nivel", "codigo", "nombre"], "title": "TerritorioOut", "type": "object"}, "ValorOut": {"description": "Una celda publicada, con sus banderas y el enlace a su linaje.", "properties": {"id": {"title": "Id", "type": "string"}, "indicador": {"title": "Indicador", "type": "string"}, "ficha": {"$ref": "#/components/schemas/FichaOut"}, "periodo": {"title": "Periodo", "type": "string"}, "tipo_periodo": {"title": "Tipo Periodo", "type": "string"}, "periodo_inicio": {"format": "date", "title": "Periodo Inicio", "type": "string"}, "periodo_fin": {"format": "date", "title": "Periodo Fin", "type": "string"}, "territorio": {"anyOf": [{"$ref": "#/components/schemas/TerritorioOut"}, {"type": "null"}]}, "dimensiones": {"additionalProperties": {"type": "string"}, "title": "Dimensiones", "type": "object"}, "cifra": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Cifra"}, "obs_status": {"title": "Obs Status", "type": "string"}, "conf_status": {"title": "Conf Status", "type": "string"}, "suprimido": {"title": "Suprimido", "type": "boolean"}, "ejecucion": {"title": "Ejecucion", "type": "string"}, "snapshot": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Snapshot"}, "linaje": {"title": "Linaje", "type": "string"}}, "required": ["id", "indicador", "ficha", "periodo", "tipo_periodo", "periodo_inicio", "periodo_fin", "territorio", "dimensiones", "cifra", "obs_status", "conf_status", "suprimido", "ejecucion", "snapshot", "linaje"], "title": "ValorOut", "type": "object"}, "FuenteOut": {"description": "Ficha de fuente en lo que tiene de p\u00fablico.", "properties": {"id": {"title": "Id", "type": "string"}, "uuid": {"title": "Uuid", "type": "string"}, "nombre": {"title": "Nombre", "type": "string"}, "organismo": {"title": "Organismo", "type": "string"}, "tipo": {"title": "Tipo", "type": "string"}, "via_captura": {"title": "Via Captura", "type": "string"}, "estado": {"title": "Estado", "type": "string"}, "licencia": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Licencia"}, "licencia_url_terminos": {"title": "Licencia Url Terminos", "type": "string"}, "sitio_web": {"title": "Sitio Web", "type": "string"}, "url_descarga": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Url Descarga"}}, "required": ["id", "uuid", "nombre", "organismo", "tipo", "via_captura", "estado", "licencia", "licencia_url_terminos", "sitio_web", "url_descarga"], "title": "FuenteOut", "type": "object"}, "PaginaFuentes": {"properties": {"items": {"items": {"$ref": "#/components/schemas/FuenteOut"}, "title": "Items", "type": "array"}, "siguiente": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Siguiente"}}, "required": ["items", "siguiente"], "title": "PaginaFuentes", "type": "object"}, "SnapshotOut": {"description": "Custodia de una captura. El archivo no viaja por aqu\u00ed: solo su identidad.", "properties": {"sha256": {"title": "Sha256", "type": "string"}, "fuente": {"title": "Fuente", "type": "string"}, "capturado_en": {"title": "Capturado En", "type": "string"}, "bytes": {"title": "Bytes", "type": "integer"}, "mime": {"title": "Mime", "type": "string"}, "estado": {"title": "Estado", "type": "string"}, "clasificacion": {"title": "Clasificacion", "type": "string"}, "via_captura": {"title": "Via Captura", "type": "string"}, "url_captura": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Url Captura"}, "descarga": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Descarga"}}, "required": ["sha256", "fuente", "capturado_en", "bytes", "mime", "estado", "clasificacion", "via_captura", "url_captura", "descarga"], "title": "SnapshotOut", "type": "object"}, "SnapshotResumidoOut": {"description": "Identidad de una captura en su forma reducida.", "properties": {"sha256": {"title": "Sha256", "type": "string"}, "fuente": {"title": "Fuente", "type": "string"}, "capturado_en": {"title": "Capturado En", "type": "string"}, "bytes": {"title": "Bytes", "type": "integer"}}, "required": ["sha256", "fuente", "capturado_en", "bytes"], "title": "SnapshotResumidoOut", "type": "object"}, "PaginaPublicaciones": {"properties": {"items": {"items": {"$ref": "#/components/schemas/PublicacionOut"}, "title": "Items", "type": "array"}, "siguiente": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Siguiente"}}, "required": ["items", "siguiente"], "title": "PaginaPublicaciones", "type": "object"}, "PublicacionOut": {"description": "Una publicaci\u00f3n versionada con su licencia calculada y el sha256 de su paquete.\n\nFuera quedan la ruta del paquete, qui\u00e9n la cre\u00f3 y qui\u00e9n la aprob\u00f3. La firma del comit\u00e9 es\nun control interno, y qui\u00e9n firm\u00f3 qu\u00e9 es informaci\u00f3n sobre las personas del laboratorio.\n\n`licencia` va en nulo cuando el paquete de la publicaci\u00f3n no corrobora la que declara la\nfila. Es ausencia de corroboraci\u00f3n y no ausencia de licencia, y se dice as\u00ed en vez de\nrellenarse con la fila, que es el lado que puede haberse movido.", "properties": {"uuid": {"title": "Uuid", "type": "string"}, "titulo": {"title": "Titulo", "type": "string"}, "titulo_en": {"title": "Titulo En", "type": "string"}, "version": {"title": "Version", "type": "string"}, "licencia": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Licencia"}, "granularidad": {"title": "Granularidad", "type": "string"}, "dataset": {"title": "Dataset", "type": "string"}, "sha256": {"title": "Sha256", "type": "string"}, "publicada_en": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Publicada En"}}, "required": ["uuid", "titulo", "titulo_en", "version", "licencia", "granularidad", "dataset", "sha256", "publicada_en"], "title": "PublicacionOut", "type": "object"}, "ArtefactoOut": {"description": "Una pieza de una edici\u00f3n: un idioma, un formato, el sha256 de sus bytes y d\u00f3nde bajarla.", "properties": {"idioma": {"title": "Idioma", "type": "string"}, "formato": {"title": "Formato", "type": "string"}, "sha256": {"title": "Sha256", "type": "string"}, "bytes": {"title": "Bytes", "type": "integer"}, "url": {"title": "Url", "type": "string"}}, "required": ["idioma", "formato", "sha256", "bytes", "url"], "title": "ArtefactoOut", "type": "object"}, "EdicionOut": {"description": "Una edici\u00f3n publicada de una serie, sin la ruta en disco ni las personas que la firmaron.", "properties": {"uuid": {"title": "Uuid", "type": "string"}, "serie": {"title": "Serie", "type": "string"}, "titulo": {"title": "Titulo", "type": "string"}, "titulo_en": {"title": "Titulo En", "type": "string"}, "periodo": {"title": "Periodo", "type": "string"}, "tipo_periodo": {"title": "Tipo Periodo", "type": "string"}, "version": {"title": "Version", "type": "string"}, "licencia": {"title": "Licencia", "type": "string"}, "identificador_persistente": {"title": "Identificador Persistente", "type": "string"}, "publicada_en": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Publicada En"}, "artefactos": {"items": {"$ref": "#/components/schemas/ArtefactoOut"}, "title": "Artefactos", "type": "array"}}, "required": ["uuid", "serie", "titulo", "titulo_en", "periodo", "tipo_periodo", "version", "licencia", "identificador_persistente", "publicada_en", "artefactos"], "title": "EdicionOut", "type": "object"}, "PaginaEdiciones": {"properties": {"items": {"items": {"$ref": "#/components/schemas/EdicionOut"}, "title": "Items", "type": "array"}, "siguiente": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Siguiente"}}, "required": ["items", "siguiente"], "title": "PaginaEdiciones", "type": "object"}, "VersionOut": {"description": "La versi\u00f3n del sitio que la API sirve y cu\u00e1ndo qued\u00f3 desplegada (TASK-4.22).", "properties": {"version": {"title": "Version", "type": "string"}, "mayor": {"title": "Mayor", "type": "integer"}, "menor": {"title": "Menor", "type": "integer"}, "commit": {"title": "Commit", "type": "string"}, "actualizado_en": {"format": "date-time", "title": "Actualizado En", "type": "string"}}, "required": ["version", "mayor", "menor", "commit", "actualizado_en"], "title": "VersionOut", "type": "object"}, "CambioDeLaReglaOut": {"properties": {"version": {"title": "Version", "type": "string"}, "fecha": {"format": "date", "title": "Fecha", "type": "string"}, "cambio": {"title": "Cambio", "type": "string"}, "cambio_en": {"title": "Cambio En", "type": "string"}}, "required": ["version", "fecha", "cambio", "cambio_en"], "title": "CambioDeLaReglaOut", "type": "object"}, "FuenteDeLaAlertaOut": {"properties": {"id": {"title": "Id", "type": "string"}, "nombre": {"title": "Nombre", "type": "string"}}, "required": ["id", "nombre"], "title": "FuenteDeLaAlertaOut", "type": "object"}, "MetodoDeAnomaliaOut": {"description": "El m\u00e9todo de anomal\u00eda de la regla: c\u00f3mo se mide, y con qu\u00e9 ventanas.", "properties": {"descripcion": {"title": "Descripcion", "type": "string"}, "descripcion_en": {"title": "Descripcion En", "type": "string"}, "anios_de_estacionalidad": {"title": "Anios De Estacionalidad", "type": "integer"}, "meses_de_escala": {"title": "Meses De Escala", "type": "integer"}}, "required": ["descripcion", "descripcion_en", "anios_de_estacionalidad", "meses_de_escala"], "title": "MetodoDeAnomaliaOut", "type": "object"}, "PaginaAlertas": {"properties": {"items": {"items": {"$ref": "#/components/schemas/ReglaDeAlertaOut"}, "title": "Items", "type": "array"}, "siguiente": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Siguiente"}}, "required": ["items", "siguiente"], "title": "PaginaAlertas", "type": "object"}, "ReglaDeAlertaOut": {"description": "La ficha de regla de una alerta, con lo que el AC-3.3 pide que declare.", "properties": {"slug": {"title": "Slug", "type": "string"}, "version": {"title": "Version", "type": "string"}, "nombre": {"title": "Nombre", "type": "string"}, "nombre_en": {"title": "Nombre En", "type": "string"}, "proposito": {"title": "Proposito", "type": "string"}, "proposito_en": {"title": "Proposito En", "type": "string"}, "indicador": {"title": "Indicador", "type": "string"}, "dimensiones": {"additionalProperties": {"type": "string"}, "title": "Dimensiones", "type": "object"}, "fuentes": {"items": {"$ref": "#/components/schemas/FuenteDeLaAlertaOut"}, "title": "Fuentes", "type": "array"}, "nivel": {"title": "Nivel", "type": "string"}, "tipo_periodo": {"title": "Tipo Periodo", "type": "string"}, "horizonte": {"title": "Horizonte", "type": "integer"}, "disparo": {"title": "Disparo", "type": "string"}, "disparo_descripcion": {"title": "Disparo Descripcion", "type": "string"}, "disparo_descripcion_en": {"title": "Disparo Descripcion En", "type": "string"}, "umbral": {"title": "Umbral", "type": "string"}, "unidad_del_umbral": {"title": "Unidad Del Umbral", "type": "string"}, "unidad_del_umbral_en": {"title": "Unidad Del Umbral En", "type": "string"}, "razon_del_umbral": {"title": "Razon Del Umbral", "type": "string"}, "razon_del_umbral_en": {"title": "Razon Del Umbral En", "type": "string"}, "repeticion": {"title": "Repeticion", "type": "string"}, "repeticion_descripcion": {"title": "Repeticion Descripcion", "type": "string"}, "repeticion_descripcion_en": {"title": "Repeticion Descripcion En", "type": "string"}, "periodos_de_silencio": {"title": "Periodos De Silencio", "type": "integer"}, "dias_sin_datos": {"title": "Dias Sin Datos", "type": "integer"}, "limitaciones": {"title": "Limitaciones", "type": "string"}, "limitaciones_en": {"title": "Limitaciones En", "type": "string"}, "historial": {"items": {"$ref": "#/components/schemas/CambioDeLaReglaOut"}, "title": "Historial", "type": "array"}, "metodo": {"anyOf": [{"$ref": "#/components/schemas/MetodoDeAnomaliaOut"}, {"type": "null"}]}, "canal": {"title": "Canal", "type": "string"}}, "required": ["slug", "version", "nombre", "nombre_en", "proposito", "proposito_en", "indicador", "dimensiones", "fuentes", "nivel", "tipo_periodo", "horizonte", "disparo", "disparo_descripcion", "disparo_descripcion_en", "umbral", "unidad_del_umbral", "unidad_del_umbral_en", "razon_del_umbral", "razon_del_umbral_en", "repeticion", "repeticion_descripcion", "repeticion_descripcion_en", "periodos_de_silencio", "dias_sin_datos", "limitaciones", "limitaciones_en", "historial", "metodo", "canal"], "title": "ReglaDeAlertaOut", "type": "object"}, "AlertaOut": {"description": "La ficha de la regla con lo que dice hoy.", "properties": {"slug": {"title": "Slug", "type": "string"}, "version": {"title": "Version", "type": "string"}, "nombre": {"title": "Nombre", "type": "string"}, "nombre_en": {"title": "Nombre En", "type": "string"}, "proposito": {"title": "Proposito", "type": "string"}, "proposito_en": {"title": "Proposito En", "type": "string"}, "indicador": {"title": "Indicador", "type": "string"}, "dimensiones": {"additionalProperties": {"type": "string"}, "title": "Dimensiones", "type": "object"}, "fuentes": {"items": {"$ref": "#/components/schemas/FuenteDeLaAlertaOut"}, "title": "Fuentes", "type": "array"}, "nivel": {"title": "Nivel", "type": "string"}, "tipo_periodo": {"title": "Tipo Periodo", "type": "string"}, "horizonte": {"title": "Horizonte", "type": "integer"}, "disparo": {"title": "Disparo", "type": "string"}, "disparo_descripcion": {"title": "Disparo Descripcion", "type": "string"}, "disparo_descripcion_en": {"title": "Disparo Descripcion En", "type": "string"}, "umbral": {"title": "Umbral", "type": "string"}, "unidad_del_umbral": {"title": "Unidad Del Umbral", "type": "string"}, "unidad_del_umbral_en": {"title": "Unidad Del Umbral En", "type": "string"}, "razon_del_umbral": {"title": "Razon Del Umbral", "type": "string"}, "razon_del_umbral_en": {"title": "Razon Del Umbral En", "type": "string"}, "repeticion": {"title": "Repeticion", "type": "string"}, "repeticion_descripcion": {"title": "Repeticion Descripcion", "type": "string"}, "repeticion_descripcion_en": {"title": "Repeticion Descripcion En", "type": "string"}, "periodos_de_silencio": {"title": "Periodos De Silencio", "type": "integer"}, "dias_sin_datos": {"title": "Dias Sin Datos", "type": "integer"}, "limitaciones": {"title": "Limitaciones", "type": "string"}, "limitaciones_en": {"title": "Limitaciones En", "type": "string"}, "historial": {"items": {"$ref": "#/components/schemas/CambioDeLaReglaOut"}, "title": "Historial", "type": "array"}, "metodo": {"anyOf": [{"$ref": "#/components/schemas/MetodoDeAnomaliaOut"}, {"type": "null"}]}, "canal": {"title": "Canal", "type": "string"}, "ultima_lectura_de_la_fuente": {"anyOf": [{"format": "date-time", "type": "string"}, {"type": "null"}], "title": "Ultima Lectura De La Fuente"}, "sin_datos": {"title": "Sin Datos", "type": "boolean"}, "evalua_el_ultimo_periodo": {"title": "Evalua El Ultimo Periodo", "type": "boolean"}, "avisos": {"items": {"$ref": "#/components/schemas/AvisoOut"}, "title": "Avisos", "type": "array"}, "licencia_de_publicacion": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Licencia De Publicacion"}}, "required": ["slug", "version", "nombre", "nombre_en", "proposito", "proposito_en", "indicador", "dimensiones", "fuentes", "nivel", "tipo_periodo", "horizonte", "disparo", "disparo_descripcion", "disparo_descripcion_en", "umbral", "unidad_del_umbral", "unidad_del_umbral_en", "razon_del_umbral", "razon_del_umbral_en", "repeticion", "repeticion_descripcion", "repeticion_descripcion_en", "periodos_de_silencio", "dias_sin_datos", "limitaciones", "limitaciones_en", "historial", "metodo", "canal", "ultima_lectura_de_la_fuente", "sin_datos", "evalua_el_ultimo_periodo", "avisos", "licencia_de_publicacion"], "title": "AlertaOut", "type": "object"}, "AvisoOut": {"description": "Un aviso con las cifras p\u00fablicas que lo sostienen; nunca la de una celda suprimida.", "properties": {"periodo": {"title": "Periodo", "type": "string"}, "territorio": {"$ref": "#/components/schemas/TerritorioOut"}, "cifra": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Cifra"}, "periodo_anterior": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Periodo Anterior"}, "cifra_anterior": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Cifra Anterior"}, "variacion": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Variacion"}, "desviaciones": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Desviaciones"}, "valor": {"title": "Valor", "type": "string"}, "linaje": {"title": "Linaje", "type": "string"}}, "required": ["periodo", "territorio", "cifra", "periodo_anterior", "cifra_anterior", "variacion", "desviaciones", "valor", "linaje"], "title": "AvisoOut", "type": "object"}, "ErrataOut": {"description": "Correcci\u00f3n registrada sobre algo ya publicado, con su texto en los dos idiomas.\n\nLo corregido es un paquete de datos o una edici\u00f3n, nunca los dos: la fila declara uno y el\notro sale en nulo, as\u00ed que quien lee sabe qu\u00e9 clase de cosa se corrigi\u00f3 sin deducirlo.", "properties": {"uuid": {"title": "Uuid", "type": "string"}, "publicacion": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Publicacion"}, "edicion": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Edicion"}, "causa": {"title": "Causa", "type": "string"}, "version_afectada": {"title": "Version Afectada", "type": "string"}, "version_que_corrige": {"title": "Version Que Corrige", "type": "string"}, "texto_publico": {"title": "Texto Publico", "type": "string"}, "texto_publico_en": {"title": "Texto Publico En", "type": "string"}, "registrada_en": {"title": "Registrada En", "type": "string"}}, "required": ["uuid", "publicacion", "edicion", "causa", "version_afectada", "version_que_corrige", "texto_publico", "texto_publico_en", "registrada_en"], "title": "ErrataOut", "type": "object"}, "PaginaErrata": {"properties": {"items": {"items": {"$ref": "#/components/schemas/ErrataOut"}, "title": "Items", "type": "array"}, "siguiente": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Siguiente"}}, "required": ["items", "siguiente"], "title": "PaginaErrata", "type": "object"}, "FichaCompletaOut": {"description": "La ficha de un indicador con su m\u00e9todo y su historial, que es lo que se pide por su uuid.\n\nEs la superficie larga y `FichaOut` la corta. La corta viaja pegada a cada celda y por eso\nlleva tres claves; esta se pide una vez y trae lo que hace falta para saber con qu\u00e9 se\ncalcul\u00f3 la cifra que uno cita (SANE-304).", "properties": {"uuid": {"title": "Uuid", "type": "string"}, "indicador": {"title": "Indicador", "type": "string"}, "version": {"title": "Version", "type": "string"}, "vigente_desde": {"anyOf": [{"format": "date", "type": "string"}, {"type": "null"}], "title": "Vigente Desde"}, "vigente_hasta": {"anyOf": [{"format": "date", "type": "string"}, {"type": "null"}], "title": "Vigente Hasta"}, "fecha_creacion": {"format": "date", "title": "Fecha Creacion", "type": "string"}, "fecha_revision": {"format": "date", "title": "Fecha Revision", "type": "string"}, "tipo_valor": {"title": "Tipo Valor", "type": "string"}, "formula": {"title": "Formula", "type": "string"}, "formula_en": {"title": "Formula En", "type": "string"}, "metodo_estimacion": {"title": "Metodo Estimacion", "type": "string"}, "metodo_estimacion_en": {"title": "Metodo Estimacion En", "type": "string"}, "regla_propagacion": {"title": "Regla Propagacion", "type": "string"}, "regla_propagacion_en": {"title": "Regla Propagacion En", "type": "string"}, "quiebres_serie": {"items": {}, "title": "Quiebres Serie", "type": "array"}, "historial": {"items": {}, "title": "Historial", "type": "array"}, "fuentes": {"items": {}, "title": "Fuentes", "type": "array"}, "periodo_referencia": {"title": "Periodo Referencia", "type": "string"}, "periodo_referencia_en": {"title": "Periodo Referencia En", "type": "string"}, "frecuencia": {"title": "Frecuencia", "type": "string"}, "frecuencia_en": {"title": "Frecuencia En", "type": "string"}, "cobertura_geografica": {"title": "Cobertura Geografica", "type": "string"}, "cobertura_geografica_en": {"title": "Cobertura Geografica En", "type": "string"}, "serie_inicio": {"title": "Serie Inicio", "type": "string"}, "serie_inicio_en": {"title": "Serie Inicio En", "type": "string"}, "desagregaciones": {"items": {}, "title": "Desagregaciones", "type": "array"}, "confidencialidad": {"title": "Confidencialidad", "type": "string"}, "confidencialidad_en": {"title": "Confidencialidad En", "type": "string"}, "limitaciones": {"title": "Limitaciones", "type": "string"}, "limitaciones_en": {"title": "Limitaciones En", "type": "string"}, "politica_revision": {"title": "Politica Revision", "type": "string"}, "politica_revision_en": {"title": "Politica Revision En", "type": "string"}, "licencia": {"title": "Licencia", "type": "string"}, "precision_publicacion": {"anyOf": [{"type": "integer"}, {"type": "null"}], "title": "Precision Publicacion"}}, "required": ["uuid", "indicador", "version", "vigente_desde", "vigente_hasta", "fecha_creacion", "fecha_revision", "tipo_valor", "formula", "formula_en", "metodo_estimacion", "metodo_estimacion_en", "regla_propagacion", "regla_propagacion_en", "quiebres_serie", "historial", "fuentes", "periodo_referencia", "periodo_referencia_en", "frecuencia", "frecuencia_en", "cobertura_geografica", "cobertura_geografica_en", "serie_inicio", "serie_inicio_en", "desagregaciones", "confidencialidad", "confidencialidad_en", "limitaciones", "limitaciones_en", "politica_revision", "politica_revision_en", "licencia", "precision_publicacion"], "title": "FichaCompletaOut", "type": "object"}, "DatasetOut": {"description": "El dataset que una IRI del linaje nombra, sin su esquema interno ni su cruce.", "properties": {"identificador": {"title": "Identificador", "type": "string"}, "uuid": {"title": "Uuid", "type": "string"}, "nombre": {"title": "Nombre", "type": "string"}, "nombre_en": {"title": "Nombre En", "type": "string"}, "fuente": {"title": "Fuente", "type": "string"}, "periodicidad": {"title": "Periodicidad", "type": "string"}}, "required": ["identificador", "uuid", "nombre", "nombre_en", "fuente", "periodicidad"], "title": "DatasetOut", "type": "object"}, "EjecucionOut": {"description": "La corrida que una IRI del linaje nombra, sin su mensaje de cierre.", "properties": {"uuid": {"title": "Uuid", "type": "string"}, "comando": {"title": "Comando", "type": "string"}, "pipeline": {"title": "Pipeline", "type": "string"}, "periodo": {"title": "Periodo", "type": "string"}, "inicio": {"title": "Inicio", "type": "string"}, "fin": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Fin"}, "resultado": {"title": "Resultado", "type": "string"}}, "required": ["uuid", "comando", "pipeline", "periodo", "inicio", "fin", "resultado"], "title": "EjecucionOut", "type": "object"}}}, "servers": []}