Skip to content

Kauzio Lumi

API documentation

One REST call. Any decision. Hiring, pricing, partnerships, product launches, layoffs, expansion, supplier choice, personal calls. Get back a verdict, a confidence score, and a signed receipt you can verify forever. Pay per call, free to start.

Base URL

https://api.kauzio.com/public/v1

Auth

Authorization: Bearer kz_live_...

Authentication

Every request needs a bearer token. Get one from Developer > API keys. Keys are shown once at creation, so save them somewhere safe. Keys carry a permission set (for example brain:query). If your key lacks the permission for an endpoint, you get a 403.

curl https://api.kauzio.com/public/v1/brain/query \
  -H "Authorization: Bearer kz_live_..." \
  -H "Content-Type: application/json" \
  -d '{"question": "Should we kill our second-best product line?"}'

Endpoints

POST/public/v1/brain/querypermission: brain:query

Ask the Kauzio Brain a question

Any decision in plain English. Hiring, pricing, partnerships, funding, launches, personal calls. Grounded in your account's real context. Returns a plain answer.

Request body

{
  "question": "Should we move the team to a 4-day work week?"
}

200 OK response

{
  "question": "Should we move the team to a 4-day work week?",
  "answer": "Yes, but stage it. Run a 12-week pilot with engineering first. Two of your three risks (output drop, client coverage) are mitigated by async tooling you already use.",
  "data_context_loaded": true,
  "source": "kauzio_brain",
  "latency_ms": 221
}
POST/public/v1/consequence/simulatepermission: consequence:simulate

Simulate a decision before you make it

Run a what-if on any move. Pricing change, layoff, acquisition, market entry. Returns the projected outcome over a 30-day or 90-day window, plus the main drivers.

Request body

{
  "scenario": "Raise SaaS pricing 22% on new customers only",
  "horizon_days": 90
}

200 OK response

{
  "scenario": "Raise SaaS pricing 22% on new customers only",
  "projected_outcome": "+18% net revenue",
  "drivers": [
    {"name": "conversion_drop", "delta_pct": -9},
    {"name": "average_contract_value", "delta_pct": 22},
    {"name": "churn_existing", "delta_pct": 0}
  ],
  "confidence": 0.74
}
POST/public/v1/opposition/challengepermission: opposition:challenge

Get a counter-argument

Submit any decision you're about to make. A built-in AI against returns the strongest case against it, drawing on your past decisions and outcomes.

Request body

{
  "decision": "Acquire Northpoint and merge the engineering team"
}

200 OK response

{
  "decision": "Acquire Northpoint and merge the engineering team",
  "objections": [
    "Your last two integrations missed their 12-month synergy targets by 40%",
    "Northpoint's lead engineer left three weeks ago, you'd be buying a thinner team than the deal book shows",
    "Cultural overlap is 38% based on shared values benchmarks, below your stated minimum of 60%"
  ],
  "risk_score": 0.71
}
POST/public/v1/witnesspermission: brain:query

Witness an AI output from any model

Hit ChatGPT or Claude or any other model in your app. POST the question + the answer to Lumi. We timestamp it, sign it with SHA-256, and store a verifiable record. Anyone with the signature can verify the output was real, unchanged, and witnessed at that exact moment. A verifiable record of what your AI said, and exactly when.

Request body

{
  "question": "Should we offer net-30 terms to this new customer?",
  "answer": "Based on credit history and revenue stability, yes. Recommend a £40K cap.",
  "source_model": "openai/gpt-4o",
  "covenant": "We will not extend credit to accounts under 6 months old.",
  "metadata": { "customer_id": "C-9912" }
}

200 OK response

{
  "witness_id": "9f1e...4a",
  "signature": "sha256:tQ8j...",
  "witnessed_at": "2026-05-13T16:42:00Z",
  "covenant_compliant": true,
  "verify_url": "/public/v1/verify/9f1e...4a"
}
GET/public/v1/verify/{certificate_id}

Verify a signed receipt

Every decision (or witnessed AI output) creates a tamper-proof certificate signed with SHA-256. Pass the certificate ID to confirm it was issued by Kauzio and has not been altered.

200 OK response

{
  "certificate_id": "kz_a14f...",
  "valid": true,
  "issued_at": "2026-05-13T12:39:04Z",
  "decision_hash": "sha256:...",
  "signature_algorithm": "sha256"
}

Webhooks

Add a webhook in Developer > Webhooks. Kauzio POSTs JSON to your URL when a decision is signed. Every payload is signed with HMAC-SHA256 in the header X-Kauzio-Signature. Verify with the SHA256 of your raw API key as the secret.

// Node.js verification example
import crypto from 'crypto'

function verify(rawBody, signature, rawApiKey) {
  const secret = crypto.createHash('sha256').update(rawApiKey).digest()
  const expected = crypto
    .createHmac('sha256', secret)
    .update(rawBody)
    .digest('hex')
  return crypto.timingSafeEqual(
    Buffer.from(signature),
    Buffer.from(expected),
  )
}

Errors

StatusMeaningHow to fix
401Missing or invalid API keySend Authorization: Bearer kz_live_...
403Key lacks the required permissionEdit the key in the dashboard and add the permission
429Rate limit hitBack off, or raise daily and monthly limits on your plan
500Server errorRetry with backoff. Email hello@kauzio.com if it persists

Ready to ship?

Create your first API key

Stuck? Email hello@kauzio.com.