{
  "openapi": "3.1.0",
  "info": {
    "title": "preciodolarhoy.cl Public Data API",
    "version": "1.0.0",
    "description": "API pública y abierta de datos financieros y macroeconómicos para Chile: cotizaciones oficiales de Dólar Observado, UF, UTM, Observatorio del Cobre (LME/Cochilco) y Radar de Coyuntura Económica.",
    "contact": {
      "name": "Equipo de Datos · preciodolarhoy.cl",
      "url": "https://preciodolarhoy.cl/"
    },
    "license": {
      "name": "Creative Commons Attribution 4.0 International (CC BY 4.0)",
      "url": "https://creativecommons.org/licenses/by/4.0/"
    }
  },
  "servers": [
    {
      "url": "https://preciodolarhoy.cl",
      "description": "Servidor de Producción (Cloudflare Edge Cache)"
    }
  ],
  "paths": {
    "/api/hoy.json": {
      "get": {
        "summary": "Indicadores Oficiales del Día",
        "description": "Retorna los valores vigentes del Dólar Observado (Banco Central de Chile), UF, UTM, Euro, Cobre y otros indicadores macroeconómicos clave.",
        "responses": {
          "200": {
            "description": "Objeto JSON con los indicadores vigentes y sus fechas de vigencia.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HoyResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/radar.json": {
      "get": {
        "summary": "Radar de Noticias & Coyuntura Global",
        "description": "Retorna la síntesis diaria de noticias de mercados financieros globales, inteligencia artificial, divisas y commodities.",
        "responses": {
          "200": {
            "description": "Lista estructurada de noticias y claves del día.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RadarResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/activos.json": {
      "get": {
        "summary": "Cotización de Activos de Mercado",
        "description": "Retorna las cotizaciones en USD y CLP para Cobre, Oro, Plata, Bitcoin y Ethereum.",
        "responses": {
          "200": {
            "description": "Cotizaciones actualizadas de activos financieros.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/aduanero.json": {
      "get": {
        "summary": "Dólar Aduanero Mensual",
        "description": "Retorna el valor oficial del dólar aduanero fijado mensualmente por el Servicio Nacional de Aduanas.",
        "responses": {
          "200": {
            "description": "Valor y período de vigencia del dólar aduanero.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/v1/cobre/hoy.json": {
      "get": {
        "summary": "Observatorio del Cobre Hoy",
        "description": "Retorna la cotización oficial de la libra de cobre en LME/Cochilco en USD y su conversión a pesos chilenos según el Dólar Observado.",
        "responses": {
          "200": {
            "description": "Métricas spot y variación diaria del cobre.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/v1/cobre/serie.json": {
      "get": {
        "summary": "Serie Histórica Cobre vs Dólar",
        "description": "Retorna la serie temporal diaria de precios de la libra de cobre y tipo de cambio dólar observado.",
        "responses": {
          "200": {
            "description": "Array histórico con fechas, precio del cobre y dólar observado.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/v1/cobre/modelo.json": {
      "get": {
        "summary": "Parámetros del Modelo Econométrico",
        "description": "Retorna los coeficientes de elasticidad beta, correlación mensual, bondad de ajuste R² y errores walk-forward (MAE/RMSE).",
        "responses": {
          "200": {
            "description": "Métricas estadísticas y validación contra modelo Random Walk.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "Indicador": {
        "type": "object",
        "properties": {
          "codigo": { "type": "string" },
          "nombre": { "type": "string" },
          "unidad_medida": { "type": "string" },
          "fecha": { "type": "string", "format": "date-time" },
          "valor": { "type": "number" },
          "vigente_para": { "type": "string" }
        },
        "required": ["codigo", "nombre", "unidad_medida", "valor"]
      },
      "HoyResponse": {
        "type": "object",
        "properties": {
          "version": { "type": "string" },
          "autor": { "type": "string" },
          "fecha": { "type": "string", "format": "date-time" },
          "vigente_para": { "type": "string" },
          "dolar": { "$ref": "#/components/schemas/Indicador" },
          "uf": { "$ref": "#/components/schemas/Indicador" },
          "utm": { "$ref": "#/components/schemas/Indicador" }
        },
        "required": ["dolar", "uf", "utm"]
      },
      "RadarResponse": {
        "type": "object",
        "properties": {
          "fecha": { "type": "string" },
          "hero_title": { "type": "string" },
          "hero_summary": { "type": "string" },
          "noticias": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "kicker": { "type": "string" },
                "titulo": { "type": "string" },
                "resumen": { "type": "string" },
                "fuente": { "type": "string" }
              }
            }
          }
        }
      }
    }
  }
}
