Skip to main content
There are three ways to build with OpenFunnel:
  • Drive the full product headlessly through the Product APIs.
  • Compose your own in-house GTM workflows with Agent Primitives.
  • Query your workspace and run primitives within your favorite AI tools through the OpenFunnel MCP.
If you are an agent, start from llms.txt for a full index, and read Authentication before calling any endpoint.

Product APIs

The entire product, headless.

Agent Primitives

Composable building blocks for agents.

OpenFunnel MCP

Workspace data and primitives within your favorite AI tools.
Every API request authenticates with an X-API-Key header. The same key works across everything — Product APIs, Agent Primitives, and the OpenFunnel MCP — so you only provision one. Agents (and humans) can self-serve a key in two calls, no dashboard required:
1

Request a code

POST /api/v1/agent/sign-up with your email sends a 6-digit verification code. New users get an account; existing users use this to recover a lost key.
curl -X POST https://api.openfunnel.dev/api/v1/agent/sign-up \
  -H "Content-Type: application/json" \
  -d '{"email": "founder@example.com"}'
2

Verify and get your key

POST /api/v1/agent/verify with the code returns your api_key.
curl -X POST https://api.openfunnel.dev/api/v1/agent/verify \
  -H "Content-Type: application/json" \
  -d '{"email": "founder@example.com", "otp_code": "123456"}'
{
  "email": "founder@example.com",
  "api_key": "of_1234567890abcdef...",
  "is_new_user": true
}
3

Authenticate every request

Send the key as X-API-Key on all subsequent calls. Store it securely, it is only returned once (sign up again with the same email to recover it).
curl https://api.openfunnel.dev/api/v1/signal/get-signal-list \
  -H "X-API-Key: of_1234567890abcdef..." \
  -H "Content-Type: application/json"

Full auth reference

Headers, error codes, rate limits, and the agent-friendly auth.md. Every API page links back here.