{"ok":true,"data":{"servicio":"Visores Territoriales — API v1 (Ruta Milagro - Regiones Más Competitivas)","version":"1.0.0","convenio":"NPA-045-2026 · Componente 3","descripcion":"API de datos de los cinco Visores de Apoyo, para tableros y hojas de cálculo. El acceso a los datos se hace con clave emitida por entidad, mientras la supervisión no autorice la publicación abierta.","documentacion":"https://visores.regionesmascompetitivas.co/api/v1/capabilities · docs/API.md del repositorio","contacto":"info@regionesmascompetitivas.co","auth":{"modo_datos":"con_clave","datos":"Los endpoints de datos exigen credencial mientras la supervisión no autorice la publicación abierta. Solicite una clave de acceso a la entidad que opera la plataforma; se emite por entidad, con su cuota y su registro de uso.","siempre_publico":"health y capabilities, para poder consultar el servicio y saber cómo pedir una clave sin tener una.","api_key":"Header X-API-Key: <clave> (o Authorization: Bearer <clave>).","sesion":"La sesión del panel /gestion también autoriza los recursos internos.","nota_origen":"El dato es público en origen —proviene de fuentes oficiales abiertas, citadas en cada ficha—. La credencial no restringe el dato: atribuye el consumo."},"corte_publico":{"ano_max":2025,"nota":"El acceso sin scope `interno` recibe datos hasta esta vigencia (política del convenio); las vigencias en preparación exigen sesión del panel o key con scope interno."},"scopes":{"read":"Consultar el propio uso de la key.","export":"Descargas masivas de export (streaming CSV/JSON).","interno":"Datasets marcados como internos (insumos técnicos).","manage":"Cargas programáticas de datos (fase 2)."},"formatos":["json","csv"],"limites":{"rate":{"api":"Bucket general de la API: 120 solicitudes/minuto por IP.","datos":"Bucket del gateway de datos: 180 solicitudes/minuto por IP.","carga":"Bucket de cargas: 12 solicitudes/minuto por IP.","por_clave":"Además, cada clave tiene su propio tope por minuto (`rate_per_min`, visible en /api/v1/usage) y su cuota mensual opcional. Se cuenta por clave, no por IP: una misma clave desde varias direcciones suma en el mismo cubo.","contador":"El consumo registrado cuenta las peticiones SERVIDAS; las rechazadas por credencial, alcance o límite no gastan cuota."},"panorama_per_page_max":2000,"export_limite_filas":200000,"csv_conversion_max_bytes":31457280},"endpoints":[{"metodo":"GET","ruta":"/api/v1/health","auth":"público","descripcion":"Salud del servicio y estado de la base de datos."},{"metodo":"GET","ruta":"/api/v1/capabilities","auth":"público","descripcion":"Esta autodescripción de la API."},{"metodo":"GET","ruta":"/api/v1/arquitectura","auth":"key(read) o sesión (internos: key(interno) o sesión)","descripcion":"Mapa de la plataforma y modelo de datos: capas, inventario de tablas, diccionario de columnas por conjunto y estado de la vigilancia de fuentes. Es el equivalente en datos de la página /arquitectura."},{"metodo":"GET","ruta":"/api/v1/usage","auth":"key(read) o sesión","descripcion":"Consumo y cuota de la API key."},{"metodo":"GET","ruta":"/api/v1/visores","auth":"key(read) o sesión","descripcion":"Lista de los cinco visores publicados."},{"metodo":"GET","ruta":"/api/v1/visores/{slug}","auth":"key(read) o sesión","descripcion":"Ficha de un visor con sus vigencias disponibles."},{"metodo":"GET","ruta":"/api/v1/visores/{slug}/datasets","auth":"key(read) o sesión (internos: key(interno) o sesión)","descripcion":"Datasets del visor."},{"metodo":"GET","ruta":"/api/v1/datasets/{id}","auth":"key(read) o sesión (internos: key(interno) o sesión)","descripcion":"Sirve el artefacto del dataset (json passthrough o ?formato=csv)."},{"metodo":"GET","ruta":"/api/v1/panorama/{slug}","auth":"key(read) o sesión","descripcion":"Consulta tabular del panorama con filtros (ano, dep, indicador, municipio) y paginación."},{"metodo":"GET","ruta":"/api/v1/export/panorama/{slug}.{csv|json}","auth":"key(read) o sesión","descripcion":"Descarga masiva del panorama para Power BI/Tableau/Excel."},{"metodo":"POST","ruta":"/api/v1/cargas","auth":"key(manage)","descripcion":"Carga programática (fase 2; use el panel /gestion)."}]}}