Skip to content

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

  1. 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.
  2. 02MCP serverThe same decisions for AI clients like Claude Code and Cursor, with tools request_permission, check_action, report_result and list_agents. Setup →
  3. 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.
  4. 04WebhooksSubscribe an HTTPS endpoint to action and approval events. Deliveries are signed, retried with backoff, and listed with their responses in the dashboard.
  5. 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.
  6. 06ErrorsEvery response carries an x-request-id. Errors are JSON with a code and a sentence that says what to do next.