Ask — Consulta IA
POST /api/v1/ask
Responde preguntas en lenguaje natural sobre normativa de construcción española. Devuelve la respuesta generada junto con las fuentes — fragmentos de artículos específicos — utilizadas para construirla.
Autenticación
Section titled “Autenticación”Requiere API key en el header Authorization:
Authorization: Bearer sk-normatia-...Request
Section titled “Request”| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
query | string | ✅ | Pregunta en lenguaje natural (max 2000 chars) |
geo_id | string | — | ID geográfico para respuestas localizadas (ej: ES-28079) |
codes | array | — | Filtro de códigos normativos específicos |
messages | array | — | Historial de conversación (máx. 10 mensajes) |
Ejemplo
Section titled “Ejemplo”{ "query": "¿Cuál es el límite de transmitancia para ventanas en zona climática D3?", "geo_id": "ES-28079", "codes": [ { "slug": "cte-db-he", "version": "2022" } ]}Response
Section titled “Response”| Campo | Tipo | Descripción |
|---|---|---|
answer | string | Respuesta generada |
sources | array | Fragmentos normativos utilizados como contexto |
geo_context | object | Contexto geográfico (solo si se proporcionó geo_id) |
tokens_used | integer | Estimación de tokens consumidos |
Fuentes (sources[])
Section titled “Fuentes (sources[])”| Campo | Descripción |
|---|---|
index | Número de referencia (base 1) |
code_slug | Identificador del código normativo |
version | Versión del código |
document_title | Título del documento |
section_title | Título de la sección |
url | Enlace al artículo original |
similarity_score | Relevancia semántica (0–1) |
Ejemplo de respuesta
Section titled “Ejemplo de respuesta”{ "answer": "Para ventanas en zona climática D3, el CTE DB-HE 1 (2022) establece un límite de transmitancia de 1,4 W/m²K según la Tabla 3.1.1.b.", "sources": [ { "index": 1, "code_slug": "cte-db-he", "version": "2022", "document_title": "CTE DB-HE Ahorro de Energía", "section_title": "3.1.1 Transmitancia térmica", "similarity_score": 0.94 } ], "geo_context": { "geo_id": "ES-28079", "name": "Madrid", "climate_zone": "D3" }, "tokens_used": 1840}Historial de conversación
Section titled “Historial de conversación”El campo messages permite mantener contexto entre llamadas sucesivas.
Incluye los turnos previos de la conversación (máx. 10):
{ "query": "¿Y para cubiertas planas?", "geo_id": "ES-28079", "messages": [ { "role": "user", "content": "¿Cuál es el límite de transmitancia para ventanas en D3?" }, { "role": "assistant", "content": "El límite para ventanas en zona D3 es 1,4 W/m²K..." } ]}Las llamadas a /api/v1/ask consumen cuota mensual según el plan.
Consulta los límites en Autenticación.