Official client libraries for JavaScript, TypeScript, and Python. Build AI governance into your applications in minutes.
via npm
via PyPI
import { ViennaClient } from 'vienna-os';
const vienna = new ViennaClient({
apiKey: process.env.VIENNA_API_KEY,
baseUrl: 'https://console.regulator.ai/api/v1'
});
// Register your agent
await vienna.agents.register({
id: 'my-agent-v1',
name: 'My AI Agent',
capabilities: ['read_files', 'send_emails'],
riskTier: 2
});
// Request approval for high-risk action
const proposal = await vienna.proposals.create({
agentId: 'my-agent-v1',
action: 'send_email',
target: 'customer@example.com',
payload: { subject: 'Update', body: '...' }
});
// Check if approved
if (proposal.state === 'approved') {
// Execute action with warrant
await vienna.executions.create({
proposalId: proposal.id,
warrantId: proposal.warrantId,
result: { status: 'sent' }
});
}from vienna_os import ViennaClient
import os
vienna = ViennaClient(
api_key=os.environ['VIENNA_API_KEY'],
base_url='https://console.regulator.ai/api/v1'
)
# Register your agent
vienna.agents.register(
id='my-agent-v1',
name='My AI Agent',
capabilities=['read_files', 'send_emails'],
risk_tier=2
)
# Request approval for high-risk action
proposal = vienna.proposals.create(
agent_id='my-agent-v1',
action='send_email',
target='customer@example.com',
payload={'subject': 'Update', 'body': '...'}
)
# Check if approved
if proposal.state == 'approved':
# Execute action with warrant
vienna.executions.create(
proposal_id=proposal.id,
warrant_id=proposal.warrant_id,
result={'status': 'sent'}
)Intuitive methods for agent registration, proposal creation, warrant verification, and execution tracking.
Full TypeScript definitions and Python type hints for IDE autocomplete and error checking.
Modern async patterns for non-blocking governance checks in your application.
Built-in utilities for verifying and handling Vienna OS webhook events.
Start governing your AI agents in minutes. No credit card required.