import { Zirvox } from "@zirvox/sdk";
const z = new Zirvox({ apiKey: process.env.ZIRVOX_API_KEY });
const decision = await
z.decisions.create({
title: "Q3 Budget Reallocation",
policy: "finance-approval-v2",
context: "Reallocate $1.2M from marketing to
engineering",
inputs: ["finance:budget_current", "hr:headcount_forecast"],
idempotencyKey: "budget-realloc-2026-07-15",
});
console.log(decision.id, decision.gate);
// dec_fin_789xyz | review:await_cfo_approval
from zirvox import Zirvox
import os
z = Zirvox(api_key=os.getenv("ZIRVOX_API_KEY"))
decision = z.decisions.create(
title="Q3 Budget Reallocation",
policy="finance-approval-v2",
context="Reallocate $1.2M from marketing to
engineering",
inputs=["finance:budget_current", "hr:headcount_forecast"],
idempotency_key="budget-realloc-2026-07-15",
)
print(decision.id, decision.gate)
# dec_fin_789xyz | review:await_cfo_approval
POST https://api.zirvox.com/v1/decisions
Authorization: Bearer $ZIRVOX_API_KEY
Content-Type: application/json
Idempotency-Key: budget-realloc-2026-07-15
{
"title": "Q3 Budget
Reallocation",
"policy": "finance-approval-v2",
"context": "Reallocate
$1.2M from marketing to engineering",
"inputs": ["finance:budget_current", "hr:headcount_forecast"]
}
// 200 OK
{
"id": "dec_fin_789xyz",
"status": "created",
"gate": "review",
"nextAction": "await_cfo_approval",
"auditTrail": "zirvox:trace/abc123"
}