Skip to content

Codes

codes abstrae el catálogo de normativas. Cada code es un cuerpo normativo (CTE DB-HE, RITE, PGOU Sevilla) que agrupa una o varias versiones (documents). Internamente corresponde a las tablas collections y documents de la base de datos.

Base URL: /api/v1/codes

ValorDescripción
nationalNormativa estatal (CTE, RITE, LOE)
regionalNormativa autonómica
provincialPlanes provinciales
municipalOrdenanzas municipales
sectorialNormativa que cruza límites administrativos (Ley de Costas)
supramunicipalMancomunidades, áreas metropolitanas
europeanDirectivas UE
ValorDescripción
activeEn vigor
repealedDerogada
draftBorrador
in_progressEn tramitación

GET Buscar normativas

Búsqueda paginada de normativas por título, ámbito o etiqueta. Útil para explorar el catálogo sin conocer el slug exacto.

ParámetroTipoPor defectoDescripción
qstringBúsqueda parcial por título (insensible a mayúsculas)
normative_scopestringFiltra por ámbito
tagstringFiltra las normativas que contengan esta etiqueta
pageinteger1Número de página (base 1)
page_sizeinteger20Resultados por página. Máximo 50
CabeceraRequeridaDescripción
AuthorizationBearer sk-normatia-xxxxx
GET /api/v1/codes/search?q=accesibilidad&normative_scope=regional
Authorization: Bearer sk-normatia-xxxxx
{
"items": [
{
"slug": "decreto-293-2009",
"title": "Decreto 293/2009 — Accesibilidad en Andalucía",
"short_title": "Decreto Accesibilidad",
"normative_scope": "regional",
"tags": ["accesibilidad", "andalucia"]
}
],
"total": 3,
"page": 1,
"page_size": 20,
"total_pages": 1
}
CampoTipoDescripción
itemsarrayLista de normativas de la página
items[].slugstringIdentificador público de la normativa
items[].titlestringTítulo completo
items[].short_titlestring | nullTítulo abreviado
items[].normative_scopestringÁmbito normativo
items[].tagsstring[] | nullEtiquetas de búsqueda
totalintegerTotal de resultados
pageintegerPágina actual
page_sizeintegerResultados en esta página
total_pagesintegerTotal de páginas

GET Detalle de normativa

Devuelve el detalle completo de una normativa con su historial de versiones. Usa este endpoint para ver qué versiones están disponibles antes de hacer una consulta histórica en /verify.

ParámetroTipoDescripción
slugstringSlug de la normativa. Ej: cte-db-he
CabeceraRequeridaDescripción
AuthorizationBearer sk-normatia-xxxxx
GET /api/v1/codes/cte-db-he
Authorization: Bearer sk-normatia-xxxxx
{
"slug": "cte-db-he",
"title": "CTE DB-HE — Ahorro de Energía",
"short_title": "CTE DB-HE",
"normative_scope": "national",
"description": "Documento Básico que establece las exigencias básicas de ahorro de energía de los edificios.",
"tags": ["cte", "energia", "edificacion"],
"country_code": "es",
"documents": [
{
"version": "2022",
"title": "CTE DB-HE con modificaciones RD 450/2022",
"status": "active",
"published_date": "2022-06-27",
"effective_date": "2022-10-09",
"is_internal": true
},
{
"version": "2019",
"title": "CTE DB-HE — Revisión 2019",
"status": "repealed",
"published_date": "2019-12-27",
"effective_date": "2020-06-26",
"is_internal": true
}
]
}
CampoTipoDescripción
slugstringIdentificador público
titlestringTítulo completo
short_titlestring | nullTítulo abreviado
normative_scopestringÁmbito normativo
descriptionstring | nullDescripción larga
tagsstring[] | nullEtiquetas
country_codestringPaís al que pertenece (ISO 3166-1 alpha-2)
documentsobject[]Historial de versiones, activas primero
documents[].versionstringIdentificador de la versión. Usado en codes[].version de /verify
documents[].titlestringTítulo de la versión
documents[].statusstringactive | repealed | draft | in_progress
documents[].published_datestring | nullFecha de publicación (YYYY-MM-DD)
documents[].effective_datestring | nullFecha de entrada en vigor (YYYY-MM-DD)
documents[].is_internalbooleantrue si el contenido está alojado en Normatia y disponible para RAG
StatusCódigoCondición
404not_foundEl slug no existe

GET Versiones vigentes de una normativa

Devuelve todos los documentos en estado active de una normativa, incluyendo su índice de secciones. Devuelve array vacío si no hay versiones activas.

ParámetroTipoDescripción
slugstringSlug de la normativa. Ej: cte-db-he
CabeceraRequeridaDescripción
AuthorizationBearer sk-normatia-xxxxx
GET /api/v1/codes/cte-db-he/latest
Authorization: Bearer sk-normatia-xxxxx

Devuelve un array de objetos CodeVersionDetailResponse (mismo esquema que el endpoint de versión concreta, ver más abajo).

[
{
"slug": "cte-db-he",
"version": "2022",
"title": "CTE DB-HE con modificaciones RD 450/2022",
"status": "active",
"published_date": "2022-06-27",
"effective_date": "2022-10-09",
"is_internal": true,
"sections": [
{ "slug": "introduccion", "title": "Introducción", "order": 10 },
{ "slug": "he1", "title": "HE 1 — Limitación de la demanda energética", "order": 20 }
]
}
]

GET Detalle de versión de normativa

Devuelve el detalle completo de una versión específica, incluyendo su índice de secciones. Útil para conocer el contenido exacto de una versión antes de una consulta histórica o para navegar su estructura.

ParámetroTipoDescripción
slugstringSlug de la normativa. Ej: cte-db-he
versionstringVersión (slug del documento). Ej: 2022
CabeceraRequeridaDescripción
AuthorizationBearer sk-normatia-xxxxx
GET /api/v1/codes/cte-db-he/2022
Authorization: Bearer sk-normatia-xxxxx
{
"slug": "cte-db-he",
"version": "2022",
"title": "CTE DB-HE con modificaciones RD 450/2022",
"status": "active",
"published_date": "2022-06-27",
"effective_date": "2022-10-09",
"description": "Revisión completa del documento básico de ahorro de energía.",
"author": "Ministerio de Transportes, Movilidad y Agenda Urbana",
"source_url": "https://www.boe.es/eli/es/rd/2022/06/14/450",
"is_internal": true,
"sections": [
{ "slug": "introduccion", "title": "Introducción", "order": 10 },
{ "slug": "he1", "title": "HE 1 — Limitación de la demanda energética", "order": 20 },
{ "slug": "he2", "title": "HE 2 — Rendimiento de las instalaciones térmicas", "order": 30 },
{ "slug": "he3", "title": "HE 3 — Eficiencia energética de las instalaciones", "order": 40 },
{ "slug": "anejo-a", "title": "Anejo A — Terminología", "order": 50 }
]
}
CampoTipoDescripción
slugstringSlug de la normativa padre
versionstringSlug de esta versión
titlestringTítulo de esta versión concreta
statusstringactive | repealed | draft | in_progress
published_datestring | nullFecha de publicación (YYYY-MM-DD)
effective_datestring | nullFecha de entrada en vigor (YYYY-MM-DD)
descriptionstring | nullDescripción de esta versión
authorstring | nullOrganismo emisor
source_urlstring | nullURL de la fuente oficial
is_internalbooleantrue si el contenido está alojado en Normatia y disponible para RAG
sectionsobject[]Índice de secciones ordenado
sections[].slugstringSlug de la sección (usado como ancla en la web)
sections[].titlestringTítulo de la sección
sections[].orderintegerOrden de presentación
StatusCódigoCondición
404not_foundEl slug o la versión no existen