GlueBolt
Machine surface

GlueBolt API

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).

Authentication

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.

GET /api/v1/capability — is this human qualified?
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.

POST /api/v1/actions — propose a governed action
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.

POST /api/v1/actions/:id/confirm — execute after human consent
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.

MCP — plug the gate into any agent runtime

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.

Get a key and wire the gate into your agent.

Start a free trial, mint a key in the console, and your existing AI gets accountable in minutes.

Start free trial