SDKs · client libraries
Two SDKs. Same shape.
TypeScript and Python clients for every Intended surface — gateway, authority API, audit chain. Apache 2.0. Use the SDK if you want types and idiomatic helpers; use the REST API if you don’t.
02 · TypeScript
bash
pnpm add @intended-inc/sdktypescript
import { createIntendedSdk } from "@intended-inc/sdk";
const sdk = createIntendedSdk({
apiKey: process.env.INTENDED_API_KEY,
tenantId: process.env.INTENDED_TENANT_ID,
baseUrl: "https://api.intended.so",
});
const decision = await sdk.authorize({
action: "sdlc.deploy.production",
actor: "ops@acme-corp.io",
});
// decision.decision is ALLOW | ESCALATE | DENY
if (decision.allowed) {
console.log(decision.token);
}03 · Python
bash
uv pip install intendedpython
from intended import IntendedSdk
sdk = IntendedSdk(
api_key=os.environ["INTENDED_API_KEY"],
tenant_id=os.environ["INTENDED_TENANT_ID"],
api_url="https://api.intended.so",
)
decision = sdk.authorize(
"sdlc.deploy.production",
actor="ops@acme-corp.io",
)
# decision.decision is ALLOW | ESCALATE | DENY
if decision.decision == "ALLOW":
print(decision.token)