2026-04-24 12:56:40 -07:00
<!DOCTYPE html>
< html lang = "en" >
< head >
< meta charset = "utf-8" / >
< meta name = "viewport" content = "width=device-width, initial-scale=1" / >
< title > HYBX OMNL — status< / title >
< style >
body { font-family: system-ui, sans-serif; margin: 1.5rem; max-width: 56rem; }
h1 { font-size: 1.25rem; }
pre { background: #111; color: #eee; padding: 1rem; overflow: auto; border-radius: 6px; font-size: 12px; }
.err { color: #f66; }
a { color: #6cf; }
< / style >
< / head >
< body >
< h1 > OMNL API snapshot< / h1 >
2026-06-02 06:08:28 -07:00
< p > < a href = "/omnl/compliance" > < strong > → OMNL Compliance Console< / strong > < / a > (posture, pending actions, Safe tx download)< / p >
2026-04-24 12:56:40 -07:00
< p > Reads < code > /api/v1/omnl/ipsas/registry< / code > and < code > /api/v1/omnl/ipsas/fineract-compare< / code > (503 if Fineract env missing; 401 if < code > OMNL_API_KEY< / code > is set and no < code > access_token< / code > in this page URL).< / p >
< p > < a href = "/api/v1/omnl/openapi.json" > OpenAPI 3 JSON< / a > · < a href = "/api/v1/omnl/catalog" > OMNL API catalog< / a > · < a href = "/api/v1/omnl/integration-status" > integration status< / a > · < a href = "/api/v1/omnl/ipsas/registry" > registry JSON< / a > · < a href = "/api/v1/omnl/ipsas/matrix" > matrix JSON< / a > · < a href = "/api/v1/omnl/ipsas/fineract-health" > Fineract health< / a > < / p >
< h2 > IPSAS registry< / h2 >
< pre id = "reg" > Loading…< / pre >
< h2 > Fineract compare< / h2 >
< pre id = "fin" > Loading…< / pre >
< script >
(function () {
const params = new URLSearchParams(window.location.search);
const accessToken = params.get('access_token') || '';
const apiHeaders = accessToken ? { Authorization: 'Bearer ' + accessToken } : {};
async function load() {
try {
const r = await fetch('/api/v1/omnl/ipsas/registry');
document.getElementById('reg').textContent = JSON.stringify(await r.json(), null, 2);
} catch (e) {
document.getElementById('reg').innerHTML = '< span class = "err" > ' + e + '< / span > ';
}
try {
const f = await fetch('/api/v1/omnl/ipsas/fineract-compare', { headers: apiHeaders });
const t = await f.text();
document.getElementById('fin').textContent = t;
} catch (e) {
document.getElementById('fin').innerHTML = '< span class = "err" > ' + e + '< / span > ';
}
}
load();
})();
< / script >
< / body >
< / html >