ONTOGOBOntología Gubernamental de Colombia · MVP con datos reales

API pública

Todo lo que muestra este sitio se obtiene de la misma API que puede usar cualquier entidad, periodista o ciudadano. Especificación OpenAPI 3.1: /api/v1/openapi.json. Lectura bajo políticas de seguridad por filas; la escritura sólo existe para el rol sistema desde las funciones de ingesta.

Ejemplos (copie y ejecute)

# Panorama con procedencia
curl -s "https://rpehvytoidnzggcopkdw.supabase.co/rest/v1/rpc/panorama" -H "apikey: sb_publishable_MSO4f36lkx4t0PV_HPEXOg_yP6ic5Y5" -H "Content-Type: application/json" -d '{}'

# Serie de embalses (30 días)
curl -s "https://rpehvytoidnzggcopkdw.supabase.co/rest/v1/rpc/serie" -H "apikey: sb_publishable_MSO4f36lkx4t0PV_HPEXOg_yP6ic5Y5" -H "Content-Type: application/json" \
  -d '{"p_variable":"xm.PorcVoluUtilDiar","p_sujeto":"SIN","p_limite":30}'

# Contratos de mayor valor (vista con filtros PostgREST)
curl -s "https://rpehvytoidnzggcopkdw.supabase.co/rest/v1/nodos?clase=eq.Contrato&order=props->valor.desc&limit=5&select=etiqueta,props" -H "apikey: sb_publishable_MSO4f36lkx4t0PV_HPEXOg_yP6ic5Y5"

# Trazabilidad de una entidad (NIT sin dígito de verificación)
curl -s "https://rpehvytoidnzggcopkdw.supabase.co/rest/v1/rpc/trazabilidad_entidad" -H "apikey: sb_publishable_MSO4f36lkx4t0PV_HPEXOg_yP6ic5Y5" -H "Content-Type: application/json" -d '{"p_nit":"899999055"}'

# Verificar un asiento del registro (sin apikey: función pública)
curl -s "https://rpehvytoidnzggcopkdw.supabase.co/functions/v1/verificar?seq=27"

# Verificar un ancla y contrastarla con el testigo en GitHub
curl -s "https://rpehvytoidnzggcopkdw.supabase.co/functions/v1/verificar?ancla=1"
La clave apikey es la clave publishable del proyecto: es pública por diseño y no otorga privilegios; los datos clasificados requieren además un JWT de sesión con rol analista o auditor (Authorization: Bearer …).

Rutas

MétodoRutaDescripciónGrupo
POST/panoramaIndicadores del panorama con su procedencia (captura, hash, asiento)Funciones (RPC)
POST/estado_sistemaConteos y estado del sistema (nodos, aristas, asientos, anclas, fuentes, hallazgos)Funciones (RPC)
POST/serieSerie temporal de una variableFunciones (RPC)
POST/ultimas_observacionesÚltimas observaciones de una variableFunciones (RPC)
POST/verificar_cadenaRecorre la cadena de asientos y recalcula cada enlaceFunciones (RPC)
POST/vecindadVecindad de un nodo del grafo hasta N saltosFunciones (RPC)
POST/trazabilidad_entidadEntidad estatal → contratos → proveedores → hallazgos → presupuestoFunciones (RPC)
POST/programacionTareas programadas (pg_cron) y su última ejecuciónFunciones (RPC)
POST/atlasAtlas por escalas: hijos con agregados, actores por capa (público, control, conocimiento, privado: sociedades, consorcios y uniones temporales; personas naturales sólo agregadas), flujos de dinero, contratos ubicados en el municipio de la unidad contratante, hallazgos y ambiente del marcoFunciones (RPC)
POST/grafo_consolidadoDos capas del grafo para el orbe: clases con conteos reales y muestra determinista de instancias con sus aristasFunciones (RPC)
GET/territoriosDepartamentos y municipios DIVIPOLA con centroide (base del mapa teselado)Vistas (PostgREST, RLS)
GET/nodosNodos del grafo (filtros PostgREST: `clase=eq.Contrato`, `etiqueta=ilike.*TRANSPORTE*`)Vistas (PostgREST, RLS)
GET/aristasRelaciones del grafoVistas (PostgREST, RLS)
GET/observacionesObservaciones con procedenciaVistas (PostgREST, RLS)
GET/capturasCapturas de fuentes: URL, hash SHA-256, estado, asientoVistas (PostgREST, RLS)
GET/hallazgosHallazgos de reglas de riesgo con evidenciaVistas (PostgREST, RLS)
GET/asientosRegistro criptográfico: asientos firmadosVistas (PostgREST, RLS)
GET/anclasAnclas Merkle selladas y su publicaciónVistas (PostgREST, RLS)
GET/asiento_anclasPruebas de inclusión de cada asiento en su anclaVistas (PostgREST, RLS)
GET/llaveroLlaves públicas (ML-DSA-65, Ed25519, SLH-DSA, ML-KEM)Vistas (PostgREST, RLS)
GET/fuentesCatálogo de fuentes oficiales con estado de conexiónVistas (PostgREST, RLS)
GET/clasesClases de la ontologíaVistas (PostgREST, RLS)
GET/propiedades_objetoRelaciones de la ontologíaVistas (PostgREST, RLS)
GET/propiedades_datoPropiedades de datoVistas (PostgREST, RLS)
GET/indicadoresCatálogo de indicadoresVistas (PostgREST, RLS)
GET/reglasReglas de banderas rojasVistas (PostgREST, RLS)
GET/normasMarco normativoVistas (PostgREST, RLS)
GET/politicasPolíticas de acceso (ODRL)Vistas (PostgREST, RLS)
GET/vocabulariosVocabularios reutilizadosVistas (PostgREST, RLS)
GET/modulosMódulos de la ontologíaVistas (PostgREST, RLS)
GET/entidades_observadasEntidades con seguimiento de contrataciónVistas (PostgREST, RLS)
GET/verificarVerificación pública del registro (sin apikey)Funciones de borde

Límites y compromiso

Tier gratuito de Supabase: cuota compartida de peticiones y 500 MB de base; suficiente para el MVP, con ruta de escalado sin cambios de código (véase arquitectura). Formatos: JSON (PostgREST), CSV con Accept: text/csv, y la ontología en OWL/Turtle, SHACL y JSON-LD en /ontologia.