Skip to main content
API referenceEndpoints

Endpoints

This page has been cleared and is ready for updated Builder Studio documentation.

This is the reference for the HTTP routes BuilderStudio actually serves. They split into the MCP gateway, the direct programmatic API, the MCP tool-backing routes (which the gateway calls and you can also call directly), and the webhook endpoints. Every route below takes an Authorization: Bearer builder_… key unless noted otherwise.

Hosts
The MCP gateway and billing routes are served from the BuilderStudio app origin. The other routes are Convex HTTP-action routes served from your deployment's <deployment>.convex.site host. Paths are stable; the host depends on your deployment.

MCP gateway

Method & pathDescription
POST /api/mcpJSON-RPC Model Context Protocol endpoint. Carries tools/list, tools/call, and the rest of the MCP protocol.
GET /api/mcp, DELETE /api/mcpMCP streamable-HTTP session transport methods.
OPTIONS /api/mcpCORS preflight.

Accepts a builder_ key or an OAuth 2.1 bearer token. Browser-originated requests must come from an allowed BuilderStudio origin. See Builder MCP & CLI for client setup.

Direct programmatic API

Method & pathDescriptionScope
POST /api/runTrigger a workflow run on a canvas. Body: canvasId, triggerNodeId, optional inputs, sync, timeoutSeconds, callbackUrl, idempotencyKey.run:workflows
GET /api/canvasesList canvases in the key's workspace (id, name, workspaceId, updatedAt).read:canvases
GET /api/executions?executionId=…Read one execution's status snapshot.run:workflows
GET /api/verify-keyReturn the key's resolved workspaceId and scopes.workspace-scoped key

Run a workflow

POST /api/runbash
curl -X POST https://<deployment>.convex.site/api/run \  -H "Authorization: Bearer builder_..." \  -H "Content-Type: application/json" \  -d '{ "canvasId": "<id>", "triggerNodeId": "<nodeClientId>", "inputs": {}, "sync": true }' # 202 (async)  -> { "ok": true, "executionId": "exec_...", "message": "Execution triggered" }# 200 (sync)   -> terminal execution snapshot# poll status  -> GET /api/executions?executionId=exec_...

The triggerNodeId must reference a trigger-capable node on the canvas (a prompt or webhook-trigger node); other node types are rejected with 400.

MCP tool-backing routes (/api/mcp/*)

These Convex HTTP routes implement the BuilderStudio tools. The MCP gateway calls them, and you can call them directly with a builder_ key. Each enforces a specific scope. The list below is grouped by area; all are workspace-scoped.

Canvas authoring

/api/mcp/canvas/*text
GET   /api/mcp/canvas/state            read:canvases   canvas + nodes + edgesGET   /api/mcp/canvas/assets           read:canvases   list canvas assetsGET   /api/mcp/canvas/executions       read:canvases   recent runs for a canvasGET   /api/mcp/canvas/ports/manifest   read:canvases   node port manifestPOST  /api/mcp/canvas/create           write:canvasPOST  /api/mcp/canvas/rename           write:canvasPOST  /api/mcp/canvas/archive          write:canvasPOST  /api/mcp/canvas/restore          write:canvasPOST  /api/mcp/canvas/delete           delete:canvasPOST  /api/mcp/canvas/patch            write:canvas    bulk node/edge opsPOST  /api/mcp/canvas/fit-viewport     write:canvasPOST  /api/mcp/canvas/ports/validate   read:canvasesPOST  /api/mcp/canvas/node/add         write:canvasPOST  /api/mcp/canvas/node/update      write:canvasPOST  /api/mcp/canvas/node/document-write  write:canvasPOST  /api/mcp/canvas/node/move        write:canvasPOST  /api/mcp/canvas/node/resize      write:canvasPOST  /api/mcp/canvas/node/delete      write:canvasPOST  /api/mcp/canvas/edge/add         write:canvasPOST  /api/mcp/canvas/edge/delete      delete:canvasPOST  /api/mcp/canvas/r2-upload/reserve|verify|finalize|promote-library|cancel  write:canvas (asset upload lifecycle)

Executions

/api/mcp/executions/*text
GET   /api/mcp/executions/timeline     run:workflowsGET   /api/mcp/executions/outputs      run:workflows   step outputs for a runPOST  /api/mcp/executions/cancel       run:workflowsPOST  /api/mcp/executions/replay       run:workflowsPOST  /api/mcp/executions/redrive      run:workflows

Workspace & assets

/api/mcp/workspace/*text
GET   /api/mcp/workspace/info          read:canvasesGET   /api/mcp/workspace/members       read:canvasesPOST  /api/mcp/workspace/rename        manage:integrationsPOST  /api/mcp/workspace/invite        manage:integrationsPOST  /api/mcp/workspace/invite/revoke manage:integrationsPOST  /api/mcp/workspace/remove-member manage:integrations # Workspace asset routes accept either-of two scopes:#   read  = read:assets  OR read:canvases#   write = write:assets OR write:canvas#   delete = delete:assets OR write:canvasGET   /api/mcp/workspace/assets        read (either-of)GET   /api/mcp/workspace/assets/detail read (either-of)GET   /api/mcp/workspace/assets/usages read (either-of)POST  /api/mcp/workspace/assets/upload/reserve|finalize|cancel  write (either-of)POST  /api/mcp/workspace/assets/rename|move|tags                write (either-of)POST  /api/mcp/workspace/assets/place                           write:canvasPOST  /api/mcp/workspace/assets/restore                         write (either-of)POST  /api/mcp/workspace/assets/trash|purge                     delete (either-of)

API keys, templates, integrations

key / template / integration routestext
GET   /api/mcp/api-keys/list           manage:integrationsPOST  /api/mcp/api-keys/create         manage:integrationsPOST  /api/mcp/api-keys/revoke         manage:integrations GET   /api/mcp/templates/list          read:canvasesGET   /api/mcp/templates/snapshot      read:canvasesPOST  /api/mcp/templates/use           write:canvasPOST  /api/mcp/templates/publish       write:canvasPOST  /api/mcp/templates/delete        write:canvas GET   /api/integrations/service-statusGET   /api/integrations/connections         manage:integrationsPOST  /api/integrations/connections         manage:integrations  (upsert BYO credential)POST  /api/integrations/connections/revoke  manage:integrationsGET   /api/integrations/providersGET|POST /api/integrations/policies         manage:integrations GET   /api/mcp/github/installations|repositories|repository|files/search  read:canvasesGET   /api/mcp/github/repositories/sync-target            manage:integrationsPOST  /api/mcp/github/repositories/sync                   manage:integrationsPOST  /api/mcp/github/source-links/attach                 write:canvasPOST  /api/mcp/github/exports/draft-pr/prepare|result     manage:integrationsGET   /api/mcp/google-workspace/connection                manage:integrations

Billing

billing routestext
GET   /api/mcp/credits/balance         read:billingGET   /api/mcp/credits/transactions    read:billingGET   /api/mcp/billing/summary         read:billingGET   /api/billing/focus-export        read:billing   FOCUS JSONL/CSVGET   /api/billing/focus-metadata      read:billing   FOCUS dataset metadata

See Billing & Usage Export for details.

Webhooks

Method & pathDescription
GET|POST|PUT|PATCH|DELETE /webhook/triggerInbound webhook that fires a webhook-trigger node. Authenticated by the per-trigger secret as a bearer token.
POST /api/mcp/webhooks/registerCreate or retrieve the webhook URL + secret for a webhook-trigger node (scope write:canvas).

OAuth 2.1 discovery is published at /.well-known/oauth-authorization-server and /.well-known/openid-configuration for MCP clients that authenticate via OAuth. Full webhook flow is in Webhooks.

Was this page helpful?