API
| Route | What it does |
|---|---|
GET /approval-keystone/samples | Demo scenarios, engine version, key id |
POST /approval-keystone/request | {"scenario_id"} → request + one ballot per approver (demo only returns all ballots) |
GET /approval-keystone/requests/{id}, /slack | Status, votes, receipt; the Slack message |
POST /approval-keystone/vote | {"ballot","vote":"APPROVE"|"DENY"} |
POST /approval-keystone/slack/{workspace}/interactions | Slack buttons (signature checked) |
GET /approval-keystone/ledger/latest, /ledger/verify/{id}, /bundle | The signed ledger |
POST /broker-keystone/mint with approval | Turn the approval into one credential |
FIRME AI CORPORATION · CAIN-42 is a Byzantine trust fabric. Numbers marked "our own check" were run by us, not by an independent party. Nothing on these pages is a certification.