Pythe

The REST gateway and API keys

For server-side code, Lovable, n8n and Zapier: call 11 tools with a scoped, expiring, revocable API key. Keys are shown once, stored as hashes, and rate-limited.

Updated 2026-10-13

The gateway is at https://pythe.app/api/cofounder. It also speaks MCP JSON-RPC to clients that send an API key, but the recommended route for MCP clients is OAuth at /mcp.

Make a key

  1. Open Deploy. Choose your client, then the REST API method. The page has a Create a least-privilege key step.
  2. Name it and choose scopes. Start with Read context. Add write scopes only when the workflow needs them.
  3. Choose an expiry. From 1 to 365 days, or never. The default is 90 days.
  4. Copy the key. It looks like pk_live_… and is shown once. Only a hash and a short prefix are stored.

Scopes

ScopeLabel in the appAllows
read_contextSee roadmap and company contextget_founder_context, get_next_task
author_contentDraft posts, emails, and build promptsdraft_build_prompt, draft_agent_instructions, write_linkedin_post, draft_email
run_actionsResearch and send approved emailsrun_research, recommend_integrations, get_connection_guide; and sending with draft_email
manage_tasksSave results into the Pythe Librarysave_document, edit_roadmap

Call a tool

Read the company
curl --fail-with-body -X POST "https://pythe.app/api/cofounder" \
  -H "Authorization: Bearer YOUR_PYTHE_KEY" \
  -H "Content-Type: application/json" \
  -d '{"tool":"get_founder_context","input":{}}'
List the tools your key can use
curl --fail-with-body -X POST "https://pythe.app/api/cofounder" \
  -H "Authorization: Bearer YOUR_PYTHE_KEY" \
  -H "Content-Type: application/json" \
  -d '{"action":"list_tools"}'

A successful call returns { "ok": true, "result": { "text": "…", "data": … } }. A failure returns { "ok": false, "error": "…" } with HTTP 400. Another action, diagnostics, reports the server, version, credential type, whether the workspace and context are ready, the product name, scopes and tool count.

The 11 REST tools

ToolScopeWhat it doesMain inputs
get_founder_contextread_contextLive company context: product, stage, current milestone, positioning, target customer, top tasks, and the milestone ids edit_roadmap takes. Call it first.none
get_next_taskread_contextThe most important next tasks from the live roadmap, with the what, why and impact.limit (default 3, max 6)
run_researchrun_actionsLive web research with a cited briefing.query (required)
draft_build_promptauthor_contentA paste-ready build prompt grounded in the company, for Lovable, Cursor, v0, Bolt or generic.goal, target_tool, use_next_task
draft_agent_instructionsauthor_contentA structured instruction block that primes any downstream model for a goal.goal, target_model
write_linkedin_postauthor_contentA finished LinkedIn post in the founder’s voice.topic, angle, tone
draft_emailauthor_contentAn email draft in the founder’s voice. Can send it if the key also has run_actions.intent, to, points, send
save_documentmanage_tasksSaves a document, plan, prompt or briefing to the Library.title, content, kind
edit_roadmapmanage_tasksEdits the live plan: status, fields, steps, milestones and graduation criteria, applied in order.explanation, operations[], roadmap_id
recommend_integrationsrun_actionsWhich third-party apps to connect for a job, ranked for your stage, with a connection route.goal, use_next_task, platform
get_connection_guiderun_actionsExact steps for linking an app into a platform.app, platform

Limits and credits

  • Rate limit: 60 calls per minute per key. Over it, the response is HTTP 429 with Retry-After: 60.
  • Credits: every tool call is metered against the founder’s plan like in-app use. Listing tools, initialising and ping are free so an out-of-credits founder can still attach the connector and see why. Out of credits, a REST call returns the 402 and an MCP call gets a JSON-RPC error that reaches the founder in chat.
  • Workspace: a key can be tied to one workspace, and access is re-checked on every request.

Manage keys

On the Deploy page, under Keys, you can rotate a key (the new value is shown once and the old one stops working), change its name or scopes, revoke it, run diagnostics, and see its recent activity: tool, transport (MCP, REST or diagnostic), status and error code. Every call is recorded.

Related

·