<!DOCTYPE html>
<html>
<head>
<script src="https://preview.getaptly.com/api/ai/app-builder/sdk.js"></script>
</head>
<body>
<div id="app">Loading…</div>
<script>
async function init() {
// Request a token — use version: 2 for structured error handling
const { token, error } = await aptly.requestToken({ version: 2 });
if (error?.code === 'RATE_LIMITED') {
console.warn(error.message);
setTimeout(init, error.retryAfterMs);
return;
}
if (!token) {
document.getElementById('app').textContent = 'Could not connect to Aptly.';
return;
}
// aptly.config holds admin-declared variables (board IDs, thresholds, etc.)
const boardId = aptly.config.BOARD_ID;
// aptly.fetch is auth-aware — auto-retries on 401, prepends the API base URL
const res = await aptly.fetch('/board/' + boardId + '?page=0');
const { records } = await res.json();
// render your data
document.getElementById('app').textContent =
'Loaded ' + records.length + ' records for ' + aptly.org.name;
}
init();
</script>
</body>
</html>