KAIRONULL
EU AI Act: Article 50 transparency live 2 August 2026  ·  Annex III high-risk (Article 12, Article 9) fixed at 2 December 2027 See obligations →

Integration

Integrate in minutes. Not months.

The Umbra Trust Protocol deploys via REST API alongside your existing AI systems. No model modifications, no architectural changes. A single API call captures a cryptographically verifiable evidence record.

Live API. The endpoints and examples below reflect the actual production interface — this is what the quickstart and the Python SDK call. To request an API key, use the access request form — keys are issued by hand after review and no response time is promised.

Quick start

After each AI decision, send a single POST request with the decision context. KairoNull captures, hashes, chains, and confirms the record.

1. Capture a decision record

# POST a decision event immediately after your AI produces an output
curl -X POST https://kaironull.com/api/v1/records \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "pipeline_id": "credit-decisioning",
  "entry_type":  "flag",
  "stage_slug":  "risk-review",
  "summary":     "Application flagged for manual review: DTI ratio 0.61 exceeds threshold",
  "trust_score": 0.42,
  "model_version": "risk-model-v3.2",
  "detail": {
    "dti_ratio": 0.61,
    "product": "personal-loan"
  }
}'

entry_type must be one of pass, flag, block, escalate. trust_score is optional, 0–1.

Response: record confirmed

{
  "id":            "a1b2c3d4-...-000000000000",
  "entry_hash":    "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85",
  "prev_hash":     "GENESIS",
  "written_at":    "2026-07-13T08:47:11.342Z",
  "chain_height": 1
}

2. Verify any record (public, no key required)

curl https://kaironull.com/api/v1/verify/e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85

# Response
{
  "found": true,
  "record": { /* full ledger entry */ },
  "anchor": {
    "anchored": true,
    "anchored_at": "2026-07-13T09:00:04.101Z",
    "root_hash": "95be8bb5253668bb898da34631cc3c9e..."
  }
}

API reference

POST/api/v1/records

Capture a decision record and add it to your org's evidence chain. Auth: Bearer API key. Returns the entry hash, previous hash, and chain height.

GET/api/v1/verify/{hash}

Look up a 64-character SHA-256 hash. Without a key (or with another organisation's key) you get the public view only: that the entry exists, its entry_hash, prev_hash and written_at, and whether an anchor covers it. No content, no organisation. With the API key of the organisation that owns the entry you get the full record. An invalid or revoked key returns 401. Auditors confirm a record they already hold by recomputing its hash and checking it here.

GET/api/v1/chain/status

Current chain height, latest entry hash and timestamp, and the most recent RFC3161 anchor. No authentication required. Same data powering kaironull.com/status. healthy means the chain tip is recent. Separate scheduler, anchoring and capture objects report the anchor scheduler, timestamp anchoring and event recording independently, and service.state is idle, not degraded, when no new entries have arrived and the scheduler is healthy. A new anchor is written only when the ledger has changed.

GET/api/v1/reports

Export the full evidence bundle for your org — every sealed entry plus the latest anchor. Auth: Bearer API key. Optional from, to, limit query params.

DELETE/api/v1/keys/{id}

Revoke an API key. Auth: Bearer API key (self-revoke) or admin secret. Immediate — subsequent requests with the revoked key receive 401.

Integration options

REST API: Direct HTTP calls, any language, any platform. The fastest path to a production integration.

Webhook receiver: Configure your AI system to POST decision events directly to KairoNull. Zero SDK required.

Python SDK, pip install kaironull — live on PyPI. Wraps record(), verify(), chain_status(), export_report(), and revoke_key().

Node.js SDK, npm install @kaironull/sdk — live on npm. Zero runtime dependencies, TypeScript-native, mirrors the Python SDK's coverage exactly.

Ready to integrate?

Book an evidence briefing. We'll walk through the integration for your specific AI stack and provide credentials to start capturing evidence records.

Book an evidence briefing →