Docs

Integrations

Drop Iqrar into any AI agent codebase — TypeScript, Python, hosted platforms, OpenTelemetry, MCP. Same wire format, same dashboard, every framework.

Iqrar's wire format is plain HTTP/JSON, so any agent runtime that can make a network request can register and stream telemetry. We ship first-class SDKs and adapters for the platforms that cover ~95% of agents in production today.

Pick your runtime

TypeScript / JavaScript — @iqrar/agent

Three-line drop-in. Framework-specific entrypoints exist for the most common stacks.

PlatformEntrypointPage
OpenAI SDK / Assistants@iqrar/agent/openai
Anthropic SDK@iqrar/agent/anthropic
Vercel AI SDK@iqrar/agent/vercel-ai
Mastra@iqrar/agent/mastra
LangChain.js / LangGraph.js@iqrar/agent/langchain
OpenClaw / NemoClawIqrar(...).wrap(claw) + llms.txt self-onboard
Anything elseIqrar(...).wrap(target)

Python — iqrar-agent

Mirrors the TS surface signature-for-signature. Same wire format, same dashboard.

PlatformAdapterPage
CrewAIiqrar.adapters.crewai.attach
LangChain / LangGraph (Python)IqrarCallbackHandler
OpenAI Agents SDK (Python)IqrarRunHooks
AutoGen v0.4IqrarMiddleware
Pydantic AI / LlamaIndex / Smolagentsdirect Iqrar(...).wrap()covered below

Hosted / managed agent platforms

When you don't run the agent yourself, hook into the platform's event stream and forward to Iqrar's /telemetry endpoint.

PlatformBridgeStatus
AWS Bedrock AgentsEventBridge → Lambda → /telemetry
Azure AI Agent ServiceDiagnostic Settings → Event Hub → Function
Vertex AI Agent BuilderPub/Sub → Cloud Function
OpenAI Assistants (hosted)Run/Step polling or webhook

Universal escape hatches

SurfaceWhat we shipPage
OpenTelemetry (gen_ai.* semconv)@iqrar/otel-exporter
Model Context Protocol (MCP)Iqrar MCP server
Direct HTTPthe wire format itself

What every integration does

Regardless of platform, the integration shape is the same:

  1. Register the agent once at startup with org, jurisdiction, capabilities, and a stable agent_id.
  2. Fetch + cache the regulator-published ruleset for your jurisdiction; the SDK self-classifies your risk tier from your declared capabilities.
  3. Emit telemetry on each invocation, tool call, and decision. Below Tier 3 the SDK summarises payloads automatically.
  4. Sync verbosity from the regulator-issued runtime directives every 30 seconds (or on demand) without redeploying.
  5. Disclose AI use to consumers via the canonical disclose() string when your tier requires it (Article 50 / §11).

The framework adapters above just wire those five steps into whatever lifecycle hooks your platform exposes — step_callback for CrewAI, BaseCallbackHandler for LangChain, RunHooks for the OpenAI Agents SDK, the v0.4 event bus for AutoGen, and so on. Your call sites stay unchanged.

Authentication

The integrations above all accept the optional apiKey config field (read automatically from IQRAR_API_KEY on most stacks). It's required once your org has been — until then, the API treats your org as observability-only and accepts unauthenticated traffic. The SDK forwards the key as Authorization: Bearer iqr_… on every call.

const iqrar = Iqrar({
  org: "acme",
  jurisdiction: "AE",
  apiKey: process.env.IQRAR_API_KEY,
});

If a request to a claimed org arrives without a matching key, the worker responds 401; with a key that belongs to a different org, 403.

Don't see your platform?

The TS and Python SDKs both expose Iqrar(...).wrap(target) which transparently proxies any callable or class instance. If your platform exposes a structured event stream we should write an adapter for, open an issue — or just call the directly. Three endpoints (/register, /rules/<j>, /telemetry) cover 90% of integrations.

© 2026 Cortex Innovations (Pty) Ltd. Iqrar is a working name pending trademark clearance.Powered by Stratafy