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

Enforcement

Claw

Claw campaigns: focus, expand, pressure, actions, boards.

POST/v1/claw/campaignsCreate Claw campaign
GET/v1/claw/campaignsList Claw campaigns
GET/v1/claw/campaigns/{campaign_id}Get Claw campaign
PATCH/v1/claw/campaigns/{campaign_id}Update Claw campaign
POST/v1/claw/campaigns/{campaign_id}/focusFocus Claw
POST/v1/claw/campaigns/{campaign_id}/expandExpand Claw
POST/v1/claw/campaigns/{campaign_id}/pressureSet pressure level
POST/v1/claw/campaigns/{campaign_id}/actionsCreate Claw action
GET/v1/claw/campaigns/{campaign_id}/boardGet Claw board
POST/v1/claw/campaigns

Create Claw campaign

Creates a lawful enforcement campaign around a judgment, target set, exchange/issuer opportunities, sanctions gates, and economics.

scope · claw:writeidempotent · Idempotency-Keygate · authority_requiredgate · sanctions_gate
§ Body parameters
FieldType
matter_idstring
judgment_idstring
modestring
target_setobject
Authority gate

This operation refuses to run without a granted authority model on the parent matter. A missing grant returns 403 authority_required. It never soft-passes.

# sandbox: full surface, no production data
curl -X POST https://sandbox.api.microndelta.com/v1/claw/campaigns \
  -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": "string",
  "judgment_id": "string",
  "mode": "string",
  "target_set": {}
}'
import requests

resp = requests.post(
    "https://sandbox.api.microndelta.com/v1/claw/campaigns",
    headers={
        "Authorization": "Bearer md_test_xxxxxxxxxxxxxxxx",
        "MD-Version": "2026-06-11",
        "Idempotency-Key": "4f8a-bd31",
    },
    json={
        "matter_id": "string",
        "judgment_id": "string",
        "mode": "string",
        "target_set": {}
    },
)
print(resp.json())
const resp = await fetch("https://sandbox.api.microndelta.com/v1/claw/campaigns", {
  method: "POST",
  headers: {
    "Authorization": "Bearer md_test_xxxxxxxxxxxxxxxx",
    "MD-Version": "2026-06-11",
    "Content-Type": "application/json",
    "Idempotency-Key": "4f8a-bd31",
  },
  body: JSON.stringify({
    "matter_id": "string",
    "judgment_id": "string",
    "mode": "string",
    "target_set": {}
  }),
});
console.log(await resp.json());
● 200MD-Request-Id: req_01J…
201 Response
{
  "campaign_id": "string",
  "matter_id": "string",
  "judgment_id": "string",
  "mode": "measured",
  "pressure_level": 123,
  "target_set": {},
  "operator_state": {
    "focus_score": 123.45,
    "expand_queue": 123,
    "next_claw_action": "string"
  },
  "gates": [
    {
      "gate": "...",
      "status": "...",
      "reasons": "...",
      "required_actions": "..."
    }
  ]
}
GET/v1/claw/campaigns

List Claw campaigns

Lists Claw campaigns accessible to caller.

scope · claw:read
# sandbox: full surface, no production data
curl https://sandbox.api.microndelta.com/v1/claw/campaigns \
  -H "Authorization: Bearer md_test_xxxxxxxxxxxxxxxx" \
  -H "MD-Version: 2026-06-11"
import requests

resp = requests.get(
    "https://sandbox.api.microndelta.com/v1/claw/campaigns",
    headers={
        "Authorization": "Bearer md_test_xxxxxxxxxxxxxxxx",
        "MD-Version": "2026-06-11",
    },
)
print(resp.json())
const resp = await fetch("https://sandbox.api.microndelta.com/v1/claw/campaigns", {
  method: "GET",
  headers: {
    "Authorization": "Bearer md_test_xxxxxxxxxxxxxxxx",
    "MD-Version": "2026-06-11",
  },
});
console.log(await resp.json());
● 200MD-Request-Id: req_01J…
200 Response
{
  "object": "list",
  "data": [
    {
      "campaign_id": "...",
      "matter_id": "...",
      "judgment_id": "...",
      "mode": "...",
      "pressure_level": "...",
      "target_set": "...",
      "operator_state": "...",
      "gates": "..."
    }
  ],
  "has_more": false
}
GET/v1/claw/campaigns/{campaign_id}

Get Claw campaign

Gets campaign configuration, pressure level, action board, gates, and metrics.

scope · claw:read
§ Path parameters
ParameterType
campaign_id
required · path
string
# sandbox: full surface, no production data
curl https://sandbox.api.microndelta.com/v1/claw/campaigns/cam_91Lk \
  -H "Authorization: Bearer md_test_xxxxxxxxxxxxxxxx" \
  -H "MD-Version: 2026-06-11"
import requests

resp = requests.get(
    "https://sandbox.api.microndelta.com/v1/claw/campaigns/cam_91Lk",
    headers={
        "Authorization": "Bearer md_test_xxxxxxxxxxxxxxxx",
        "MD-Version": "2026-06-11",
    },
)
print(resp.json())
const resp = await fetch("https://sandbox.api.microndelta.com/v1/claw/campaigns/cam_91Lk", {
  method: "GET",
  headers: {
    "Authorization": "Bearer md_test_xxxxxxxxxxxxxxxx",
    "MD-Version": "2026-06-11",
  },
});
console.log(await resp.json());
● 200MD-Request-Id: req_01J…
200 Response
{
  "campaign_id": "string",
  "matter_id": "string",
  "judgment_id": "string",
  "mode": "measured",
  "pressure_level": 123,
  "target_set": {},
  "operator_state": {
    "focus_score": 123.45,
    "expand_queue": 123,
    "next_claw_action": "string"
  },
  "gates": [
    {
      "gate": "...",
      "status": "...",
      "reasons": "...",
      "required_actions": "..."
    }
  ]
}
PATCH/v1/claw/campaigns/{campaign_id}

Update Claw campaign

Updates campaign mode, target set, operator state, and review flags.

scope · claw:writeidempotent · Idempotency-Keygate · authority_requiredgate · sanctions_gate
§ Path parameters
ParameterType
campaign_id
required · path
string
§ Body parameters
FieldType
modestring
target_setobject
pressure_levelinteger
Authority gate

This operation refuses to run without a granted authority model on the parent matter. A missing grant returns 403 authority_required. It never soft-passes.

# sandbox: full surface, no production data
curl -X PATCH https://sandbox.api.microndelta.com/v1/claw/campaigns/cam_91Lk \
  -H "Authorization: Bearer md_test_xxxxxxxxxxxxxxxx" \
  -H "MD-Version: 2026-06-11" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: 4f8a-bd31" \
  -d '{
  "mode": "string",
  "target_set": {},
  "pressure_level": 123
}'
import requests

resp = requests.patch(
    "https://sandbox.api.microndelta.com/v1/claw/campaigns/cam_91Lk",
    headers={
        "Authorization": "Bearer md_test_xxxxxxxxxxxxxxxx",
        "MD-Version": "2026-06-11",
        "Idempotency-Key": "4f8a-bd31",
    },
    json={
        "mode": "string",
        "target_set": {},
        "pressure_level": 123
    },
)
print(resp.json())
const resp = await fetch("https://sandbox.api.microndelta.com/v1/claw/campaigns/cam_91Lk", {
  method: "PATCH",
  headers: {
    "Authorization": "Bearer md_test_xxxxxxxxxxxxxxxx",
    "MD-Version": "2026-06-11",
    "Content-Type": "application/json",
    "Idempotency-Key": "4f8a-bd31",
  },
  body: JSON.stringify({
    "mode": "string",
    "target_set": {},
    "pressure_level": 123
  }),
});
console.log(await resp.json());
● 200MD-Request-Id: req_01J…
200 Response
{
  "campaign_id": "string",
  "matter_id": "string",
  "judgment_id": "string",
  "mode": "measured",
  "pressure_level": 123,
  "target_set": {},
  "operator_state": {
    "focus_score": 123.45,
    "expand_queue": 123,
    "next_claw_action": "string"
  },
  "gates": [
    {
      "gate": "...",
      "status": "...",
      "reasons": "...",
      "required_actions": "..."
    }
  ]
}
POST/v1/claw/campaigns/{campaign_id}/focus

Focus Claw

Ranks wallets, exchanges, issuers, packets, actions, and operator tasks by actionability.

scope · claw:operateidempotent · Idempotency-Keygate · authority_requiredgate · sanctions_gate
§ Path parameters
ParameterType
campaign_id
required · path
string
§ Body parameters
FieldType
criteriaarray
weightsobject
Authority gate

This operation refuses to run without a granted authority model on the parent matter. A missing grant returns 403 authority_required. It never soft-passes.

# sandbox: full surface, no production data
curl -X POST https://sandbox.api.microndelta.com/v1/claw/campaigns/cam_91Lk/focus \
  -H "Authorization: Bearer md_test_xxxxxxxxxxxxxxxx" \
  -H "MD-Version: 2026-06-11" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: 4f8a-bd31" \
  -d '{
  "criteria": [
    "string"
  ],
  "weights": {}
}'
import requests

resp = requests.post(
    "https://sandbox.api.microndelta.com/v1/claw/campaigns/cam_91Lk/focus",
    headers={
        "Authorization": "Bearer md_test_xxxxxxxxxxxxxxxx",
        "MD-Version": "2026-06-11",
        "Idempotency-Key": "4f8a-bd31",
    },
    json={
        "criteria": [
            "string"
        ],
        "weights": {}
    },
)
print(resp.json())
const resp = await fetch("https://sandbox.api.microndelta.com/v1/claw/campaigns/cam_91Lk/focus", {
  method: "POST",
  headers: {
    "Authorization": "Bearer md_test_xxxxxxxxxxxxxxxx",
    "MD-Version": "2026-06-11",
    "Content-Type": "application/json",
    "Idempotency-Key": "4f8a-bd31",
  },
  body: JSON.stringify({
    "criteria": [
      "string"
    ],
    "weights": {}
  }),
});
console.log(await resp.json());
● 200MD-Request-Id: req_01J…
200 Response
{
  "campaign_id": "string",
  "ranked_targets": [
    {
      "target_type": "string",
      "target_id": "string",
      "focus_score": 123.45,
      "reason": "string"
    }
  ]
}
POST/v1/claw/campaigns/{campaign_id}/expand

Expand Claw

Adds lawful graph expansion leads, attribution leads, legal process targets, and counterparty opportunities.

scope · claw:operateidempotent · Idempotency-Keygate · authority_requiredgate · sanctions_gate
§ Path parameters
ParameterType
campaign_id
required · path
string
§ Body parameters
FieldType
expansion_typesarray
max_leadsinteger
Authority gate

This operation refuses to run without a granted authority model on the parent matter. A missing grant returns 403 authority_required. It never soft-passes.

# sandbox: full surface, no production data
curl -X POST https://sandbox.api.microndelta.com/v1/claw/campaigns/cam_91Lk/expand \
  -H "Authorization: Bearer md_test_xxxxxxxxxxxxxxxx" \
  -H "MD-Version: 2026-06-11" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: 4f8a-bd31" \
  -d '{
  "expansion_types": [
    "string"
  ],
  "max_leads": 123
}'
import requests

resp = requests.post(
    "https://sandbox.api.microndelta.com/v1/claw/campaigns/cam_91Lk/expand",
    headers={
        "Authorization": "Bearer md_test_xxxxxxxxxxxxxxxx",
        "MD-Version": "2026-06-11",
        "Idempotency-Key": "4f8a-bd31",
    },
    json={
        "expansion_types": [
            "string"
        ],
        "max_leads": 123
    },
)
print(resp.json())
const resp = await fetch("https://sandbox.api.microndelta.com/v1/claw/campaigns/cam_91Lk/expand", {
  method: "POST",
  headers: {
    "Authorization": "Bearer md_test_xxxxxxxxxxxxxxxx",
    "MD-Version": "2026-06-11",
    "Content-Type": "application/json",
    "Idempotency-Key": "4f8a-bd31",
  },
  body: JSON.stringify({
    "expansion_types": [
      "string"
    ],
    "max_leads": 123
  }),
});
console.log(await resp.json());
● 200MD-Request-Id: req_01J…
200 Response
{
  "campaign_id": "string",
  "leads": [
    {}
  ]
}
POST/v1/claw/campaigns/{campaign_id}/pressure

Set pressure level

Moves campaign across lawful pressure levels: observe, prepare, preserve, discover, freeze/block, seize/turn over, recover/distribute.

scope · claw:pressureidempotent · Idempotency-Keygate · authority_requiredgate · sanctions_gate
§ Path parameters
ParameterType
campaign_id
required · path
string
§ Body parameters
FieldType
pressure_levelinteger
reasonstring
counsel_approval_idstring
Authority gate

This operation refuses to run without a granted authority model on the parent matter. A missing grant returns 403 authority_required. It never soft-passes.

# sandbox: full surface, no production data
curl -X POST https://sandbox.api.microndelta.com/v1/claw/campaigns/cam_91Lk/pressure \
  -H "Authorization: Bearer md_test_xxxxxxxxxxxxxxxx" \
  -H "MD-Version: 2026-06-11" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: 4f8a-bd31" \
  -d '{
  "pressure_level": 123,
  "reason": "string",
  "counsel_approval_id": "string"
}'
import requests

resp = requests.post(
    "https://sandbox.api.microndelta.com/v1/claw/campaigns/cam_91Lk/pressure",
    headers={
        "Authorization": "Bearer md_test_xxxxxxxxxxxxxxxx",
        "MD-Version": "2026-06-11",
        "Idempotency-Key": "4f8a-bd31",
    },
    json={
        "pressure_level": 123,
        "reason": "string",
        "counsel_approval_id": "string"
    },
)
print(resp.json())
const resp = await fetch("https://sandbox.api.microndelta.com/v1/claw/campaigns/cam_91Lk/pressure", {
  method: "POST",
  headers: {
    "Authorization": "Bearer md_test_xxxxxxxxxxxxxxxx",
    "MD-Version": "2026-06-11",
    "Content-Type": "application/json",
    "Idempotency-Key": "4f8a-bd31",
  },
  body: JSON.stringify({
    "pressure_level": 123,
    "reason": "string",
    "counsel_approval_id": "string"
  }),
});
console.log(await resp.json());
● 200MD-Request-Id: req_01J…
200 Response
{
  "campaign_id": "string",
  "matter_id": "string",
  "judgment_id": "string",
  "mode": "measured",
  "pressure_level": 123,
  "target_set": {},
  "operator_state": {
    "focus_score": 123.45,
    "expand_queue": 123,
    "next_claw_action": "string"
  },
  "gates": [
    {
      "gate": "...",
      "status": "...",
      "reasons": "...",
      "required_actions": "..."
    }
  ]
}
POST/v1/claw/campaigns/{campaign_id}/actions

Create Claw action

Creates a campaign action: watch, packet, discovery, exchange, issuer, sanctions, legal process, ledger, or reporting task.

scope · claw:operateidempotent · Idempotency-Keygate · authority_requiredgate · sanctions_gate
§ Path parameters
ParameterType
campaign_id
required · path
string
§ Body parameters
FieldType
typestring
titlestring
owner_idstring
due_atdate-time
linked_packet_idstring
review_requiredboolean
Authority gate

This operation refuses to run without a granted authority model on the parent matter. A missing grant returns 403 authority_required. It never soft-passes.

# sandbox: full surface, no production data
curl -X POST https://sandbox.api.microndelta.com/v1/claw/campaigns/cam_91Lk/actions \
  -H "Authorization: Bearer md_test_xxxxxxxxxxxxxxxx" \
  -H "MD-Version: 2026-06-11" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: 4f8a-bd31" \
  -d '{
  "type": "string",
  "title": "string",
  "owner_id": "string",
  "due_at": "2026-06-01T12:00:00Z",
  "linked_packet_id": "string",
  "review_required": true
}'
import requests

resp = requests.post(
    "https://sandbox.api.microndelta.com/v1/claw/campaigns/cam_91Lk/actions",
    headers={
        "Authorization": "Bearer md_test_xxxxxxxxxxxxxxxx",
        "MD-Version": "2026-06-11",
        "Idempotency-Key": "4f8a-bd31",
    },
    json={
        "type": "string",
        "title": "string",
        "owner_id": "string",
        "due_at": "2026-06-01T12:00:00Z",
        "linked_packet_id": "string",
        "review_required": True
    },
)
print(resp.json())
const resp = await fetch("https://sandbox.api.microndelta.com/v1/claw/campaigns/cam_91Lk/actions", {
  method: "POST",
  headers: {
    "Authorization": "Bearer md_test_xxxxxxxxxxxxxxxx",
    "MD-Version": "2026-06-11",
    "Content-Type": "application/json",
    "Idempotency-Key": "4f8a-bd31",
  },
  body: JSON.stringify({
    "type": "string",
    "title": "string",
    "owner_id": "string",
    "due_at": "2026-06-01T12:00:00Z",
    "linked_packet_id": "string",
    "review_required": true
  }),
});
console.log(await resp.json());
● 200MD-Request-Id: req_01J…
201 Response
{
  "action_id": "string",
  "matter_id": "string",
  "campaign_id": "string",
  "type": "string",
  "title": "string",
  "owner_id": "string",
  "priority": "string",
  "status": "string"
}
GET/v1/claw/campaigns/{campaign_id}/board

Get Claw board

Gets operator board with focus queue, expand queue, pressure state, legal packets, alerts, and blockers.

scope · claw:read
§ Path parameters
ParameterType
campaign_id
required · path
string
# sandbox: full surface, no production data
curl https://sandbox.api.microndelta.com/v1/claw/campaigns/cam_91Lk/board \
  -H "Authorization: Bearer md_test_xxxxxxxxxxxxxxxx" \
  -H "MD-Version: 2026-06-11"
import requests

resp = requests.get(
    "https://sandbox.api.microndelta.com/v1/claw/campaigns/cam_91Lk/board",
    headers={
        "Authorization": "Bearer md_test_xxxxxxxxxxxxxxxx",
        "MD-Version": "2026-06-11",
    },
)
print(resp.json())
const resp = await fetch("https://sandbox.api.microndelta.com/v1/claw/campaigns/cam_91Lk/board", {
  method: "GET",
  headers: {
    "Authorization": "Bearer md_test_xxxxxxxxxxxxxxxx",
    "MD-Version": "2026-06-11",
  },
});
console.log(await resp.json());
● 200MD-Request-Id: req_01J…
200 Response
{
  "campaign": {
    "campaign_id": "string",
    "matter_id": "string",
    "judgment_id": "string",
    "mode": "measured",
    "pressure_level": 123,
    "target_set": {},
    "operator_state": {
      "focus_score": "...",
      "expand_queue": "...",
      "next_claw_action": "..."
    },
    "gates": [
      "..."
    ]
  },
  "focus_queue": [
    {}
  ],
  "expand_queue": [
    {}
  ],
  "packet_queue": [
    {
      "packet_id": "...",
      "matter_id": "...",
      "type": "...",
      "status": "...",
      "authorized_sender": "...",
      "review_state": "...",
      "source_refs": "...",
      "audit": "..."
    }
  ],
  "alerts": [
    {
      "alert_id": "...",
      "matter_id": "...",
      "type": "...",
      "severity": "...",
      "status": "...",
      "target": "...",
      "reason": "...",
      "created_at": "..."
    }
  ],
  "blockers": [
    {
      "gate": "...",
      "status": "...",
      "reasons": "...",
      "required_actions": "..."
    }
  ]
}