JavaScript
JavaScript examples using native fetch (Node.js 18+ or browser).
Prerequisites
- Node.js 18+ (native fetch) or
node-fetch OTTR_API_KEYenvironment variable
Create Approval
create-approval.js
// Create approval
const response = await fetch('https://api.ottr.run/v1/approvals', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.OTTR_API_KEY}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({
key_path: 'deploy/prod',
value: 'approved',
ttl_seconds: 600,
info: 'Deploy to production?'
})
});
const { url } = await response.json();
console.log('Approval URL:', url);Poll for Result
poll.js
// Poll for approval
while (true) {
const response = await fetch('https://api.ottr.run/v1/key/deploy/prod', {
headers: { 'Authorization': `Bearer ${process.env.OTTR_API_KEY}` }
});
const value = await response.text();
if (value === 'approved') {
console.log('Approved!');
// ... proceed with deployment
break;
}
await new Promise(r => setTimeout(r, 5000));
}