Skip to content

Developers

Connect the AI you already build

Add governance, observability and operational control to your AI systems without rebuilding them. One integration, whatever framework you chose.

The whole integration

const d = await opsai.actions.evaluate({
  agent: 'refund-resolver',
  action: 'issue.refund',
  subject: 'ORD-40122',
});

if (d.outcome === 'authorized') {
  await razorpay.refunds.create(, d.grant);
}

One call before you act, and you honour the answer. Nothing else about your AI system changes.

What the integration looks like

One call before the action. Nothing inside your control flow.

OpsAI does not wrap your framework, sit in your graph, or proxy your inference. It answers one question at the boundary where your AI system calls out to something that can change state, and it records the answer either way.

The sample estate runs 11 AI systems across 8 different frameworks and 11 connected systems. Nothing in OpsAI branches on which framework built what — the framework is recorded because it is worth knowing, not because behaviour varies by it.

That is the practical claim of this section. If you have already built the thing, you do not rebuild it. If you are about to, choose whatever you were going to choose.

Any framework, unchanged
Governance attaches where your AI system calls out, not inside it. There is no SDK for your framework because there does not need to be one.
Policies as code, owned elsewhere
A policy compiles to a rule evaluated with no model call in the path. The team carrying the risk writes it; you do not hard-code it.
Credentials you never handle
Your code receives a grant scoped to one authorized action. No endpoint returns a stored credential, at any scope.
A trace per attempt
Six stages, the rule version in force, and the checks that ran — for refusals as well as successes.
Evidence you can verify
Sealed, digest-chained records. Walk the chain yourself rather than taking a claim about integrity on trust.
Webhooks for what you cannot see
Holds, expiries and escalations arrive as signed events, so a decision nobody made is visible in your own systems.

This section

Orientation here. The manual in the documentation.

These pages cover the shape of an integration and the decisions behind it. When you want every endpoint, every field and every error, the documentation is the place that has them — and each page below says which docs page it hands off to.

What you get back

A decision, the rule that produced it, and a reference to the record.

Everything a review would ask for is in the response. Which AI system, acting on what, judged against which version of which rule, with a pointer to the sealed evidence.

Evaluate
curl -X POST https://api.opsai.dev/v1/actions/evaluate \
  -H "Authorization: Bearer $OPSAI_API_KEY" \
  -d '{
    "agent": "refund-resolver",
    "action": "issue.refund",
    "subject": "ORD-40122",
    "amount": { "currency": "INR", "value": 18400 }
  }'
Response
{
  "id": "ACT-7512",
  "decision": "authorized",
  "bound": "refund.ceiling",
  "evidence": "EV-7512",
  "latency_ms": 11
}

Decision latency

11ms

no model call in the path

Lines of your code

2

evaluate, then honour the answer

Framework changes

0

governance is at the boundary

IllustrativeThe canonical action from the OpsAI sample estate. How the trace is built.

Where to start

An API key and one call you already know the answer to.

Pick an action your AI system takes today, evaluate it, and read the trace. Nothing is deployed and nothing changes until you honour the response.