Automate kitty with the API and webhooks
A small HTTP API and signed event webhooks that work with Zapier, Make, n8n or your own code — with the human approval gate intact.
Last updated 2026-08-30
Authentication
The same key as MCP. Settings → Security → API keys (MCP) → Create key, then:
Authorization: Bearer kitty_sk_your_key
Header only — never a query parameter. Rate limit: 120 requests per minute per key.
The endpoints
Base URL https://kitty.build/api/v1.
| Method and path | What it does |
|---|---|
GET /me | Connection test — returns the workspace and who the key acts as |
GET /ventures | Ventures this key may act on |
GET /actions | The catalogue of engine actions |
POST /ventures/:id/actions/:key | Invoke one action (accepts an Idempotency-Key header) |
GET /ventures/:id/tasks/:taskId | Poll a task, including one waiting for approval |
GET /hooks · POST /hooks · DELETE /hooks/:id | Manage webhook subscriptions |
GET /events/sample?type=... | Sample payloads, for building against |
Start with GET /me — if that returns your workspace, the key is good.
The approval gate holds
Invoking an approval-gated action does not bypass approval. You get back needs_approval and a message telling you it is waiting for a human in the venture's approval queue, plus the task id to poll. Automation cannot make kitty publish, spend or send on its own — that is the design, not a limitation to work around.
Webhooks
Add them in Settings → Connections → Event webhooks → Add webhook. Pick the platform (Make.com, n8n, Zapier, or a custom URL), paste the URL, and choose events — selecting none means all of them.
Eight event types:
task.needs_approval · task.needs_founder · run.completed · milestone.reached · metric.synced · venture.status_changed · briefing.weekly · lead.captured
Verify the signature. Every delivery carries X-Kitty-Signature: sha256=<hex>, an HMAC-SHA256 of the raw request body using the secret shown once when you create the subscription. Compute it over the raw bytes, before any JSON parsing.
A subscription that fails 10 times in a row is disabled automatically, so a dead endpoint does not retry forever.
Firing an outbound automation costs a nominal 1 Treats. Receiving lifecycle event webhooks is free — charging you for a notification would punish you for connecting in the first place.
What is not there
Said plainly so you build against reality: there is no Zapier app, no n8n community node and no Make custom app. You connect using their generic webhook and HTTP-request blocks, which works fine and is what the event format is designed for. There is also no general read/write REST API over all venture data, and no polling endpoint for past events — webhooks are the delivery mechanism.
If a packaged integration would make the difference for you, tell us; that demand is what would build it.
Frequently asked
- Is there a Zapier app for kitty?
- No. Use Zapier's Webhooks by Zapier trigger and its custom HTTP request action — the API and event format are built for exactly that.
- Can automation approve its own actions?
- No. Approval-gated actions return needs_approval and wait for a human in the venture's approval queue.
- How do I verify a webhook is really from kitty?
- Recompute HMAC-SHA256 over the raw request body with your subscription secret and compare it to the X-Kitty-Signature header.
Related articles
- Connect kitty to Claude, Cursor or any MCP clientkitty runs a remote MCP server, so your assistant can list ventures, read board research, start an analysis and ask the advisors directly.
- Connect Stripe, GitHub, Airtable and the restWhat each connector unlocks, how credentials are stored and scoped, and the honest limits of what each one can do today.
- Collect leads, enquiries and subscribers from your siteAdd a form that files straight into your CRM, support inbox, newsletter list or your own database — no Zapier, no second inbox.
Still stuck?
Email info@foundergem.com with your account email and what you were trying to do. A human replies, usually within one business day.
Browse all articles