06Platform · What runs underneath?
Everything Gasket does is reachable through a handful of HTTP endpoints and an MCP server, authenticated with one kind of key. Here is all of it.
api surface · /api/v1600 req/min per key
POST/v1/agents/:id/runsRun an agent on a messagemodel tokens
POST/v1/runs/:id/continueResume a run after approvalmodel tokens
GET/v1/runs/:idA run: status, output, steps, usagefree
POST/v1/actionsAsk for a decision on an action$0.02
GET/v1/actionsList actions, filter by status or agentfree
GET/v1/actions/:idCurrent status of one actionfree
POST/v1/actions/:id/resultReport succeeded or failedfree
GET/v1/agentsAgents this key can reachfree
GET/v1/balanceRemaining API creditfree
POST/v1/mcpMCP server for AI clients (Streamable HTTP)per request_permission
What's underneath
- 01API keysgsk_test_ and gsk_live_ keys, 40 random characters, shown once and stored as SHA-256 hashes. Revocation applies to the next request. Rotate a key without downtime by creating the new one first.
- 02MCP serverThe same decisions for AI clients like Claude Code and Cursor, with tools request_permission, check_action, report_result and list_agents. Setup →
- 03EventsEvery state change is an event: action.requested, action.authorized, action.denied, approval.requested, approval.approved, approval.rejected, approval.expired, action.succeeded, action.failed, plus agent, key and policy changes.
- 04WebhooksSubscribe an HTTPS endpoint to action and approval events. Deliveries are signed, retried with backoff, and listed with their responses in the dashboard.
- 05UsagePrepaid credit in a ledger: $0.50 on signup, model tokens at cost for runs, $0.02 per decided action, an optional monthly spend limit, and 402 when credit runs out. Nothing paid for is lost on failure.
- 06ErrorsEvery response carries an x-request-id. Errors are JSON with a code and a sentence that says what to do next.