Contrato inicial para consumir informacion publica normalizada por CR Inteligente. La version actual requiere API key vinculada a una organizacion y a un usuario registrado.
Versionado
Los endpoints publicos empiezan en `/api/v1`. Los cambios incompatibles deben publicarse en una version nueva para no romper consumidores existentes. Los cambios aditivos pueden entrar en v1 y los cambios deprecados deben anunciarse con al menos 90 dias. El contrato esta disponible en `/api/openapi.json`.
Fuentes
Cada registro mantiene `officialUrl` y metadatos de fuente para que el consumidor pueda regresar al documento oficial.
Futuro comercial
Cada llave `cri_...` pertenece a una organizacion con usuario dueño, plan y cuota para preparar contratos comerciales.
Endpoints v1
Respuestas JSON estables para consultar publicaciones, cambios, fuentes y categorias.
GET
/api/openapi.json
Contrato OpenAPI 3.1 para integraciones, clientes tecnicos y documentacion externa.
Los limites actuales aceptan `limit` de 1 a 100 y `offset` desde 0. Cuando una pagina viene llena, `pagination.nextOffset` indica la siguiente pagina disponible. Los endpoints v1 requieren `Authorization: Bearer cri_...`; el consumo queda asociado a una organizacion con usuario dueño cuando la llave existe y esta activa, y la respuesta incluye `quota` con uso mensual. Las publicaciones pueden incluir un objeto `procurement` con institucion, montos, moneda, estado y fecha de cierre cuando la fuente lo permite. Con `API_ENFORCE_QUOTAS=true`, una llave valida que excede su cuota mensual recibe `429`.
Sin llave valida, `/api/v1` responde `401`. Con llave valida, el consumo queda asociado a una organizacion para cuotas, reportes y contratos comerciales.
Paginacion
?limit=25&offset=50
Las listas versionadas usan `limit`, `offset`, `count`, `pagination.total` y `pagination.nextOffset` cuando aplica.
Feeds RSS
`/api/v1/feeds` lista canales globales, por seccion, por categoria y por fuente. El feed global acepta `section`, `category`, `source` y `q`; el feed de cambios acepta `category`, `source` y `q`.
Agrupadores
Categorias, instituciones, fuentes y proveedores incluyen `links` hacia portal, feeds o filtros relacionados. Cuando aplica, `publicationCount` y `alertCount` reflejan datos visibles, aunque el detalle devuelva solo una muestra reciente.