Docs

HTTP API

The Iqrar wire format — three endpoints (register, rules, telemetry) cover 90% of integrations. Use this when no SDK or adapter exists for your stack.

The SDKs are convenience wrappers around a small JSON HTTP API. Anything that can make a network request can integrate.

Endpoints

POST /register

Register an agent. Idempotent — calling it again with the same agent_id is a no-op on the agent record but refreshes the rule_hash.

POST /register
content-type: application/json

{
  "agent_id": "support-bot-prod",
  "org": "acme",
  "jurisdiction": "EU",
  "name": "Support bot · production",
  "model": "gpt-4o",
  "tools": ["search", "fetch"],
  "capabilities": ["consumer_chatbot"]
}

Response:

{
  "ok": true,
  "rule_hash": "abc123...",
  "verbosity": "normal",
  "channels": []
}

GET /rules/<jurisdiction>

Returns the active ruleset for a jurisdiction (or a signed bundle envelope when the deployment is in signed mode). The SDK fetches this on register and on every rule_hash drift.

GET /policies/<org>

Returns the org-level policy overlay (optional — 404 is fine).

POST /telemetry

POST /telemetry
content-type: application/json

{
  "agent_id": "support-bot-prod",
  "events": [
    {
      "type": "agent.invocation.start",
      "ts": 1746478291000,
      "agent_id": "support-bot-prod",
      "rule_hash": "abc123...",
      "payload": { "name": "chat.completions.create" }
    }
  ]
}

Events are batched and durably enqueued before the response returns.

GET /agents/<agent_id>/sync

Polls for verbosity drift and rule_hash changes. The SDK calls this every 30 seconds.

{ "verbosity": "debug", "rule_hash": "def456..." }

Canonical event types

EventWhen
agent.classifiedOnce after register, when tier is computed
agent.invocation.start / .end / .errorAround any wrapped or observed call
agent.tool.start / .end / .errorTool calls
agent.stepPer-step events from CrewAI / LangChain agent actions
agent.handoffMulti-agent handoffs
decision.madeTier 3+ decisions (full payload retention)
human_review.recordedHuman review of a prior decision
agent.verbosity_changedSync loop picked up a verbosity change

See also

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