KINETIC
KINETIC APIProtocol · API reference
MD-Version 2026-06-11 Request access

Getting started

First call in five minutes

1. Get a sandbox key

Keys are issued per organization, scoped per operation family. Sandbox keys are prefixed md_test_ and run the full protocol surface against synthetic data on sandbox.api.microndelta.com. Production keys (md_live_) are issued after onboarding review. Request access → Your sandbox key arrives with your organization provisioning.

2. Create a matter

Every judgment lives on a matter (the case container that carries authority, economics, and the audit chain).

curl -X POST https://sandbox.api.microndelta.com/v1/matters \
  -H "Authorization: Bearer md_test_xxxxxxxxxxxxxxxx" \
  -H "MD-Version: 2026-06-11" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Atlas v. Halcyon",
    "mode": "enforcement",
    "lead_counsel": "Calloway & Marsh LLP"
  }'
import requests

resp = requests.post(
    "https://sandbox.api.microndelta.com/v1/matters",
    headers={
        "Authorization": "Bearer md_test_xxxxxxxxxxxxxxxx",
        "MD-Version": "2026-06-11",
    },
    json={
        "name": "Atlas v. Halcyon",
        "mode": "enforcement",
        "lead_counsel": "Calloway & Marsh LLP",
    },
)
matter = resp.json()
print(matter["id"])  # mtr_...
const resp = await fetch("https://sandbox.api.microndelta.com/v1/matters", {
  method: "POST",
  headers: {
    "Authorization": "Bearer md_test_xxxxxxxxxxxxxxxx",
    "MD-Version": "2026-06-11",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    name: "Atlas v. Halcyon",
    mode: "enforcement",
    lead_counsel: "Calloway & Marsh LLP",
  }),
});
const matter = await resp.json();
console.log(matter.id); // mtr_...

The response returns a matter_id (mtr_…). Use it in the next step.

3. Intake the judgment

curl -X POST https://sandbox.api.microndelta.com/v1/judgments/intake \
  -H "Authorization: Bearer md_test_xxxxxxxxxxxxxxxx" \
  -H "MD-Version: 2026-06-11" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: 4f8a-bd31" \
  -d '{
    "matter_id": "mtr_xxxxxxxx",
    "court": "SDNY",
    "case_number": "1:26-cv-04412",
    "jurisdiction": "US-NY",
    "creditor": "Atlas Recovery Fund LP",
    "debtor": "Halcyon Digital Holdings Ltd",
    "amount": { "amount": 12400000, "currency": "USD" },
    "date_entered": "2026-05-28"
  }'
import requests

resp = requests.post(
    "https://sandbox.api.microndelta.com/v1/judgments/intake",
    headers={
        "Authorization": "Bearer md_test_xxxxxxxxxxxxxxxx",
        "MD-Version": "2026-06-11",
        "Idempotency-Key": "4f8a-bd31",
    },
    json={
        "matter_id": "mtr_xxxxxxxx",
        "court": "SDNY",
        "case_number": "1:26-cv-04412",
        "jurisdiction": "US-NY",
        "creditor": "Atlas Recovery Fund LP",
        "debtor": "Halcyon Digital Holdings Ltd",
        "amount": {"amount": 12400000, "currency": "USD"},
        "date_entered": "2026-05-28",
    },
)
print(resp.json())
const resp = await fetch("https://sandbox.api.microndelta.com/v1/judgments/intake", {
  method: "POST",
  headers: {
    "Authorization": "Bearer md_test_xxxxxxxxxxxxxxxx",
    "MD-Version": "2026-06-11",
    "Idempotency-Key": "4f8a-bd31",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    matter_id: "mtr_xxxxxxxx",
    court: "SDNY",
    case_number: "1:26-cv-04412",
    jurisdiction: "US-NY",
    creditor: "Atlas Recovery Fund LP",
    debtor: "Halcyon Digital Holdings Ltd",
    amount: { amount: 12400000, currency: "USD" },
    date_entered: "2026-05-28",
  }),
});
console.log(await resp.json());

4. Validate readiness

POST /v1/judgments/{judgment_id}/validate runs validation and returns ready true/false with every failing gate named. A pass emits judgment.validated to your webhook endpoint.

5. Walk the Spine

From there the case moves station to station: matters, graph, attribution, enforcement, gates, actions, ledger, reports, audit. Every response carries an audit_ref. The proof chain comes built in. See the Spine →

Tools

Prefer a client? Import the full protocol as a collection: Download the Postman collection ↓ (108 operations, 20 folders). Set {{api_key}} to your sandbox key and {{base_url}} defaults to the sandbox host. Or try calls in the browser with the live API explorer →.