Keep your AI. GlueBolt certifies your people and gives whatever agent you already run a gate to check: is this human qualified for what it is about to do. Every check, proposal, denial and execution is a row in your account's audit ledger.
Agent-readable versions of this page: /llms.txt and /api/openapi.json (OpenAPI 3.1).
Mint a key in the console (Console → API keys), then send it on every request:
Authorization: Bearer gbk_...
A key authenticates your account. Every action names the member your agent acts for, and the gate consults that person's tier, never the key's.
curl -H "Authorization: Bearer $KEY" \
"https://gluebolt.com/api/v1/[email protected]"
Returns their tier (read_only, guarded_write or write), where it came from (earned by certification, set by an admin, or the uncertified default), and their per-curriculum pass record. Slack identities work too: ?provider=slack&external_id=U123.
curl -X POST -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \
-d '{"kind":"broadcast","actor":{"email":"[email protected]"},"payload":{"message":"Standup moved to 10am"}}' \
https://gluebolt.com/api/v1/actions
Two honest outcomes, both audit rows: status: denied (the member's tier is insufficient; teach them to certify) or status: proposed with a blast_radius. Nothing executes yet.
curl -X POST -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \
-d '{"actor":{"email":"[email protected]"}}' \
https://gluebolt.com/api/v1/actions/42/confirm
Show the proposer the blast radius, get their explicit yes, then confirm. Only the member who proposed can confirm (or /cancel). Execution delivers through each recipient's own channels and stamps the ledger. GET /api/v1/actions lists the ledger (filter with ?kind= / ?status= — kind=runner_tool&status=denied is every tool call the runner's gate refused); GET /api/v1/actions/:id fetches one row.
POST /api/mcp is an MCP server (Streamable HTTP, stateless). Tools: check_capability, request_action, confirm_action, cancel_action, get_action, list_actions, list_workspace_files, read_workspace_file, start_preview, preview_status, stop_preview.
claude mcp add gluebolt https://gluebolt.com/api/mcp \
--transport http --header "Authorization: Bearer $KEY"
Works from Claude, OpenClaw, or anything that speaks MCP. The tool descriptions teach the agent the contract: check the tier first, never execute without relaying the blast radius to the human.
Start a free trial, mint a key in the console, and your existing AI gets accountable in minutes.