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

Reference

Webhooks

32 events, one envelope, HMAC-SHA256 signed (MD-Signature). Acknowledge with any 2xx within 10 seconds; deliveries retry with exponential backoff for 72 hours.

{
  "id": "evt_01JX4M...",
  "type": "judgment.validated",
  "created": "2026-06-11T17:42:09Z",
  "livemode": false,
  "data": { "judgment_id": "jdg_8kQ2", "status": "ready", "audit_ref": "aud_77fQ..." }
}

Subscribe

Register an endpoint with POST /v1/webhook_endpoints. Each endpoint gets its own signing secret (returned once, on create) and an enabled_events filter — omit it (or pass ["*"]) to receive everything.

curl -X POST https://sandbox.api.microndelta.com/v1/webhook_endpoints \
  -H "Authorization: Bearer md_test_xxxxxxxxxxxxxxxx" \
  -H "MD-Version: 2026-06-11" \
  -H "Content-Type: application/json" \
  -d '{ "url": "https://example.com/md/webhooks",
        "enabled_events": ["judgment.created", "packet.created"] }'

Event catalog

EventFires when
●  judgment.validatedA judgment passed validation.
●  matter.authority.grantedAn authority model was granted on a matter.
●  debtor.graph.updatedThe adversary graph changed: node or edge added, merged, or rescored.
●  campaign.action.assignedA claw campaign assigned an action to an operator queue.
●  alert.movement.detectedMonitoring detected asset movement on a watched target.
●  attribution.claim.scoredAn attribution claim received a confidence score.
●  packet.exchange_freeze.exportedAn exchange-freeze packet was exported for service.
●  sanctions.screen.hitA sanctions screen returned a hit; the gate is now active.
●  ledger.recovery_event.recordedA recovery event was recorded to the ledger.
●  waterfall.calculatedA distribution waterfall was calculated.
●  matter.createdA matter was opened.
●  matter.closedA matter was closed (paid, settled, exhausted, stayed, or administrative).
●  matter.authority.revokedAn authority grant was revoked or expired.
●  judgment.createdA judgment record was created from intake. Renamed from judgment.intaken; the old name is accepted as an enabled_events alias under 2026-06-11 and will be removed in the next date version.
●  judgment.validation_failedA judgment failed readiness; failing gates are named in the payload.
●  judgment.deadline.approachingA judgment deadline enters its warning window.
●  claimant.addedA claimant was added to a matter.
●  claimant.verifiedA claimant completed verification.
●  debtor.addedA debtor entity was added to the adversary graph.
●  relationship.assertedA relationship edge was asserted between graph entities.
●  attribution.claim.createdAn attribution claim was created (pre-scoring).
●  attribution.network.updatedNetwork attribution recomputed cluster membership.
●  crypto.trace.completedA crypto trace run completed.
●  crypto.exposure.updatedExchange exposure for a traced wallet changed.
●  campaign.createdA claw campaign was created.
●  campaign.completedA claw campaign reached a terminal state.
●  packet.createdAn enforcement packet was assembled.
●  packet.turnover.exportedA turnover packet was exported for service.
●  remediation.case.openedAn issuer remediation case was opened.
●  remediation.case.resolvedAn issuer remediation case was resolved.
●  sanctions.screen.clearedA prior sanctions hit was reviewed and cleared; the gate lifts.
●  report.generatedA requested report finished generating.

Event names are stable and safe to build against. New events ship additively with a changelog entry; renames keep the old name as an alias for one date version.