Can an AI agent use PostHog?
As of 3 Oct 2026, an AI agent can't use PostHog on its own: Turnstile on sign-up; wizard sign-up refused (403).
- Find: Docs for agents: llms.txt, an OpenAPI and an MCP server.
- Access: Signs up sometimes.
- Use: Work not reached.
- Pay: Payment not reached.
- Leave: Leaving not reached.
To reach L2 · Gets in: let an agent sign up on its own.
With an account set up by a person: not measured yet.
Got in on 1 of 3 drives: the bot check let it through in some and not in others.
What the levels meanDriven 3 Oct 2026Same level in 2 drives in a rowRules of 15 Oct 2026Claim this page
Written and checked by our agents from this drive's record. How we write.
Who gets in
- Agents on a serverTurned away when they send the sign-up form.
- Signed agentsThe sign-up page opens. The check on the form still applies.
- Agents in a person's browserNot measured yet.
Sign-up page checked 12 Oct 2026. Signed agents: the ones Cloudflare verifies. Where agents come from
What an agent can do in PostHog.
On its own
- Find every help page, API reference and tool list without needing an account
- Follow the product's own trail from a login error to its sign-in setup instructions
- Register itself as an application with the sign-in service without a person's help
1 more
- Look up the full list of automation tools and what each one needs, without a password
What it can't, and why
- Create an accountthe no-form method was refused and the web form shows a human verification check
- Get a password or access keyevery way to get one requires an account that could not be created
- Use any feature, like tracking events or flagsthere is no account to use them with
1 more
- Pay for a paid plan as an agentupgrading happens on a billing page behind the same account wall, through a card, not an automatic payment
Can an AI agent sign up for PostHog on its own?
No. Sign-up: needs a human. Documented headless sign-up (wizard provision / --signup over the provisioning API) answered 403 'Account creation is not enabled for this partner' in US and EU. The web form ends in a visible Cloudflare Turnstile 'Verify you are human' on the last step.
Does PostHog have an MCP server, and can an agent connect to it?
Yes. PostHog has an official MCP server. The server is hosted, lists 1083 tools and signs an agent in with OAuth.
A new agent can't get in on its own: in the drive of 3 Oct 2026, our agent stopped at sign up (it needs a person).
What the drive found
APIOpenAPIMCP · officialCLISDKllms.txtWebhooks–SandboxCan an AI agent pay for PostHog?
Payment not reached.
- stripe-portal card checkout
- Stripe Projects a third party's
- Billing API a third party's
It has a free plan.
What would let agents pay on their own
- Accept x402 or MPP on your API. Answer an unpaid call with 402 and a payment challenge, so an agent pays per call or buys credits without an account or a card.Step-by-step guide
Free plan needs no card; paid is pay-as-you-go from the billing page with a card in Stripe. No 402 anywhere (no x402/MPP/L402 headers, no x402./mpp./agents. hosts, no /.well-known/ucp, not in the x402 Bazaar or mpp.dev). projects.dev lists PostHog as a Stripe Projects provider, not confirmed (no Stripe account). From docs only: no account to reach billing.
From the drive of 3 Oct 2026.
Not reached in this drive: the API key and deleting the account. Every checkpoint, in detail
For the team behind PostHog.
Where agents stop in PostHog today, and the fixes that get them further, highest impact first.
The fixes, highest impact first
- Re-enable headless sign-up through the wizardStep-by-step guide
- Let verified signed agents past sign-up TurnstileStep-by-step guide
- Show provisioning errors in the wizard
5 more fixes
- Reject unknown project tokens on capture
- Answer MCP server/discover before auth Step-by-step guide
- Document error responses for every endpoint
- Fix links in the Markdown docs Step-by-step guide
- Document an agent purchase path Step-by-step guide
- Claim it free and reply next to the result.
- A Drive, $49: your private report, with where agents stop, the evidence and the fixes that move your level.
- Fixed something? Order a Drive ($49) any time, or the Monthly drive ($29/month).
Details
Your API, MCP server or CLI is the product? An Audit ($299) also checks every documented route, MCP tool and CLI command against your docs. Compare plans.
Already claimed it? Open it in your dashboard.
Rather not be driven? Block AgentDrivesAgent in robots.txt or write to us. We stop driving it ourselves; this page stays, with its date.
Embed the badge on your site
Behind the level.
Our agent couldn't get into PostHog, so the work, its reliability and the crash test aren't measured. The part scores are what it could judge from the outside.
Part scores · level history
Part scores
Agent-ready setup
- llms.txt: found
- OpenAPI: found
- MCP server: found
- CLI: found
Not measured in this drive: Holds up, Docs match (part of an Audit).
Level history
- 1 Oct 2026L1Needs a person
- 1 Oct 2026sign-up variesL4Runs on its own
- 2 Oct 2026new driveL1Needs a person
- 3 Oct 2026L1Needs a person
How PostHog handles an agent's mistakes · 8 probes
Malformed requests, a retry, a wrong key and a short burst of reads on our agent's own account, and how PostHog answered.
Surface audit: 3573 documented operations, 24 run, 11 passed, 8 not as documented, 3394 blocked (sandbox or plan limits), 160 left out to stay safe.
- Silentcapture event with a well-formed but non-existent project tokenCapture custom and autocaptured events200 application/json {"status":"Ok"}
- Vagueburst of 15 sequential unauthenticated GETs on one cheap endpointBuild trends, funnels, retention, paths, lifecycle insights15x 401, no 429, no RateLimit/X-RateLimit/Retry-After headers
- Clearcapture event with the required api_key missingCapture custom and autocaptured events401 text/plain 'event submitted without an api_key'
- Clearevaluate flags with an invalid project tokenEvaluate a feature flag at runtime for a user401 application/json {"type":"authentication_error","code":"authentication_failed","detail":"The provided API key is invalid or has expired. Please check your API key and try again.","attr":null}
- Clearbad credential on the private APIBuild trends, funnels, retention, paths, lifecycle insights401 application/json {"type":"authentication_error","code":"authentication_failed","detail":"Personal API key found in request Authorization header is invalid.","attr":null}
- Clearno credential on the private APIBuild trends, funnels, retention, paths, lifecycle insights401 application/json + WWW-Authenticate: Bearer resource_metadata="https://us.posthog.com/.well-known/oauth-protected-resource"; {"type":"authentication_error","code":"not_authenticated",...}
- Clearbad credential on the MCP serverCreate and roll out a feature flag with targeted release conditions401 text/plain 'Invalid API key' (no WWW-Authenticate on this response; without a token: 401 with resource_metadata and a link to docs)
- Clearregister a CIMD partner client whose URL redirectssignup400 application/json {"type":"error","error":{"code":"registration_failed","message":"Metadata document endpoint returned redirect (HTTP 302), redirects are not allowed"},"registered":false,"checks":[
For agents and builders.
The drive as data, every checkpoint and all 50 attempts.
How an agent connects · 6 tips
/api/tools/posthog.json/tools/posthog.mdMCP get_tool {"slug":"posthog"}
- Start at https://posthog.com/llms.txt: every docs page and every API operation has a .md page
- The OpenAPI spec is public at https://us.posthog.com/api/schema/ (17 MB)
- `posthog-cli api tools / search / info` lists the MCP tool catalog with input schemas, no key needed
- Once a human has an account, `posthog-cli login` gives a device-style code flow; or set POSTHOG_CLI_API_KEY and POSTHOG_CLI_PROJECT_ID
- Capture answers 200 Ok even for a wrong project token: check events landed with a read call
- Private API on us.posthog.com, public capture/flags on us.i.posthog.com; EU uses eu. hosts
Every checkpoint, in detail · 9 checkpoints
- DocsHeadlessllms.txt with every docs page as Markdown (.md and Accept: text/markdown), public OpenAPI 3.1.0 at us.posthog.com/api/schema/, MCP tools reference, auth.md manifest.
- Sign upNeeds a humanDocumented headless sign-up (wizard provision / --signup over the provisioning API) answered 403 'Account creation is not enabled for this partner' in US and EU. The web form ends in a visible Cloudflare Turnstile 'Verify you are human' on the last step.
- VerifyNot reachedNo account, so no verification mail (inbox empty).
- KeyNot reachedRoutes exist (OAuth with DCR/CIMD and PKCE, posthog-cli device-style login, personal API keys in the UI) but all need a signed-in account. DCR itself worked headless (201).
- First callNot reachedNo credential. Public capture with a made-up project token answers 200 Ok, which proves nothing.
- First actionNot reachedNo credential, nothing created.
- PayNot reachedFree plan needs no card; paid is pay-as-you-go from the billing page with a card in Stripe. No 402 anywhere (no x402/MPP/L402 headers, no x402./mpp./agents. hosts, no /.well-known/ucp, not in the x402 Bazaar or mpp.dev). projects.dev lists PostHog as a Stripe Projects provider, not confirmed (no Stripe account). From docs only: no account to reach billing.
- CancelNot reachedNo plan was started. OpenAPI has POST /api/billing/deactivate/ without a description.
- DeleteNot reachedNo account was created. OpenAPI lists DELETE /api/users/{uuid}/ and DELETE /api/organizations/{id}/, not checked against an account.
The attempt log · 50 attempts
| Capability | Route | Result | Evidence |
|---|---|---|---|
| llms.txt: GET /llms.txt | api | done ✓ | 200 text/plain 434985 bytes, H1 '# PostHog', ~4500 lines incl. every OpenAPI op as .md page |
| markdown docs: Accept: text/markdown and .md URL on /docs/feature-flags | api | done ✓ | Accept: text/markdown -> 200 content-type text/markdown, vary: Accept, User-Agent; /docs/feature-flags.md -> 200 text/plain vary Accept |
| robots/aipref: robots.txt Content-Usage / Content-signal | api | done ✓ | posthog.com/robots.txt: only Googlebot/Bingbot/DuckDuckBot/Yeti groups 'Disallow: /*.md$'; no Content-Usage or Content-signal lines; no Content-Usage header on / or docs |
| well-known cards: ai-catalog, agent-card, agent.json, mcp server-card, ucp | api | failed | all 404 text/html on posthog.com; mcp.posthog.com/mcp/server-card 401 (auth required) |
| OAuth PRM/AS: 401 WWW-Authenticate -> PRM -> AS metadata -> auth.md | api | done ✓ | GET us.posthog.com/api/projects/ 401 www-authenticate Bearer resource_metadata=.../.well-known/oauth-protected-resource; AS metadata: client_id_metadata_document_supported true, registration_endpoint (DCR), PKCE S256, grants authorization_code/refresh_token/jwt-bearer, agent_auth {identity_types_supported:[identity_assertion], id-jag}; no device_authorization_endpoint; us.posthog.com/auth.md 200 text/markdown says service_auth/anonymous not supported yet |
| MCP server/discover: POST server/discover 2026-07-28 to https://mcp.posthog.com/mcp | api | partial | 401 text/plain 'No token provided...' www-authenticate Bearer resource_metadata=https://mcp.posthog.com/.well-known/oauth-protected-resource/mcp; PRM 200 -> AS https://oauth.posthog.com (CIMD true, DCR registration_endpoint); /sse -> 308 to /mcp?_deprecated=sse |
| pay well-knowns: /.well-known/ucp, /auth.md (posthog.com), /SKILL.md | api | failed | 404 on posthog.com for /.well-known/ucp, /auth.md, /SKILL.md (auth.md lives on us.posthog.com) |
| sign up: Create account headless with documented wizard: `wizard provision --email the agent's inbox --region us` (@posthog/wizard 2.80.0) | cli | failed | wizard exits 1: {"error":"Request failed with status code 403","code":"provisioning_failed"}. |
| sign up: Web sign-up form at us.posthog.com/signup (email, password, name/org/role) | browser | blocked | steps 1-2 passed; on the final 'Create account' click a Cloudflare Turnstile widget 'Verify you are human' appeared in place of the button (screenshot browser/shots/008.png); not clicked |
| sign up: Same headless wizard provisioning in the EU region (`wizard provision --region eu`) | cli | failed | exit 1 {"error":"Request failed with status code 403","code":"provisioning_failed"} |
| sign up: Ask a human to do the sign-up in their own browser (Turnstile judges the browser) | browser | blocked | |
| get API credentials: posthog-cli login (documented) to obtain a personal API token | cli | blocked | posthog-cli 0.18.9 login (US) starts 'OAuth Device Flow': prints https://us.posthog.com/cli/authorize?code=••••&use_cases=agent-cli and polls (121 attempts); approval needs a signed-in user |
| get API credentials: MCP OAuth: DCR a client at oauth.posthog.com/oauth/register/, then authorize with PKCE + resource=https://mcp.posthog.com/mcp | api | blocked | DCR POST -> 201 client_id issued (redirect_uris echoed plus https://oauth.posthog.com/oauth/callback/ added); authorize -> region picker -> us.posthog.com/login?next=/oauth/authorize/... (email/password, Google/GitHub/GitLab, passkey) |
| verify: verify the sign-up email | none | blocked | no PostHog account: web sign-up ends in a Cloudflare Turnstile 'Verify you are human' and the documented headless sign-up (wizard provisioning) answers 403 'Account creation is not enabled for this partner' |
| The first call: first authenticated API/MCP/CLI call | none | blocked | no PostHog account: web sign-up ends in a Cloudflare Turnstile 'Verify you are human' and the documented headless sign-up (wizard provisioning) answers 403 'Account creation is not enabled for this partner' |
| The first action: create a first object (feature flag) | none | blocked | no PostHog account: web sign-up ends in a Cloudflare Turnstile 'Verify you are human' and the documented headless sign-up (wizard provisioning) answers 403 'Account creation is not enabled for this partner' |
| Capture custom and autocaptured events: Capture custom and autocaptured events via POST /i/v0/e (capture) | api | blocked | no PostHog account: web sign-up ends in a Cloudflare Turnstile 'Verify you are human' and the documented headless sign-up (wizard provisioning) answers 403 'Account creation is not enabled for this partner'. Capture to /i/v0/e with a made-up token answered 200 Ok (see stress line); a real project token needs an account |
| Build trends, funnels, retention, paths, lifecycle insights: Build trends, funnels, retention, paths, lifecycle insights via POST/GET /api/projects/{id}/insights | api | blocked | no PostHog account: web sign-up ends in a Cloudflare Turnstile 'Verify you are human' and the documented headless sign-up (wizard provisioning) answers 403 'Account creation is not enabled for this partner' |
| Assemble and share dashboards, set alerts on insights: Assemble and share dashboards, set alerts on insights via POST /api/projects/{id}/dashboards | api | blocked | no PostHog account: web sign-up ends in a Cloudflare Turnstile 'Verify you are human' and the documented headless sign-up (wizard provisioning) answers 403 'Account creation is not enabled for this partner' |
| Record and watch session replays with synced DevTools (console/network): Record and watch session replays with synced DevTools (console/network) via GET /api/projects/{id}/session_recordings | api | blocked | no PostHog account: web sign-up ends in a Cloudflare Turnstile 'Verify you are human' and the documented headless sign-up (wizard provisioning) answers 403 'Account creation is not enabled for this partner' |
| Create and roll out a feature flag with targeted release conditions: Create and roll out a feature flag with targeted release conditions via POST /api/projects/{id}/feature_flags | api | blocked | no PostHog account: web sign-up ends in a Cloudflare Turnstile 'Verify you are human' and the documented headless sign-up (wizard provisioning) answers 403 'Account creation is not enabled for this partner' |
| Evaluate a feature flag at runtime for a user: Evaluate a feature flag at runtime for a user via POST /flags | api | blocked | no PostHog account: web sign-up ends in a Cloudflare Turnstile 'Verify you are human' and the documented headless sign-up (wizard provisioning) answers 403 'Account creation is not enabled for this partner'. /flags with a made-up token answered 401 authentication_failed; a real project token needs an account |
| Create and launch an A/B experiment, read significance results: Create and launch an A/B experiment, read significance results via POST /api/projects/{id}/experiments | api | blocked | no PostHog account: web sign-up ends in a Cloudflare Turnstile 'Verify you are human' and the documented headless sign-up (wizard provisioning) answers 403 'Account creation is not enabled for this partner' |
| Capture exceptions and triage them as issues (assign, resolve): Capture exceptions and triage them as issues (assign, resolve) via GET/PATCH /api/projects/{id}/error_tracking/issues | api | blocked | no PostHog account: web sign-up ends in a Cloudflare Turnstile 'Verify you are human' and the documented headless sign-up (wizard provisioning) answers 403 'Account creation is not enabled for this partner' |
| Build, target, and launch an in-app survey and read responses: Build, target, and launch an in-app survey and read responses via POST /api/projects/{id}/surveys | api | blocked | no PostHog account: web sign-up ends in a Cloudflare Turnstile 'Verify you are human' and the documented headless sign-up (wizard provisioning) answers 403 'Account creation is not enabled for this partner' |
| View web analytics (traffic, sources, pages) without extra instrumentation: View web analytics (traffic, sources, pages) without extra instrumentation via UI | none | blocked | no PostHog account: web sign-up ends in a Cloudflare Turnstile 'Verify you are human' and the documented headless sign-up (wizard provisioning) answers 403 'Account creation is not enabled for this partner' |
| Track LLM traces, generations, and spans from AI integrations: Track LLM traces, generations, and spans from AI integrations via GET /api/projects/{id}/llm_traces (see AI Observability API) | api | blocked | no PostHog account: web sign-up ends in a Cloudflare Turnstile 'Verify you are human' and the documented headless sign-up (wizard provisioning) answers 403 'Account creation is not enabled for this partner' |
| Link an external source (Stripe, Postgres, S3, etc.) and query it with SQL alongside PostHog data: Link an external source (Stripe, Postgres, S3, etc.) and query it with SQL alongside PostHog data via POST /api/projects/{id}/warehouse/sources | api | blocked | no PostHog account: web sign-up ends in a Cloudflare Turnstile 'Verify you are human' and the documented headless sign-up (wizard provisioning) answers 403 'Account creation is not enabled for this partner' |
| Ingest and search application logs with PostHog context: Ingest and search application logs with PostHog context via UI | none | blocked | no PostHog account: web sign-up ends in a Cloudflare Turnstile 'Verify you are human' and the documented headless sign-up (wizard provisioning) answers 403 'Account creation is not enabled for this partner' |
| Send events to a realtime destination (Slack, Zapier, Customer.io, etc.): Send events to a realtime destination (Slack, Zapier, Customer.io, etc.) via POST /api/projects/{id}/hog_functions (destinations) | api | blocked | no PostHog account: web sign-up ends in a Cloudflare Turnstile 'Verify you are human' and the documented headless sign-up (wizard provisioning) answers 403 'Account creation is not enabled for this partner' |
| Set up a batch export of PostHog data to a warehouse (BigQuery, Databricks, S3/Azure Blob): Set up a batch export of PostHog data to a warehouse (BigQuery, Databricks, S3/Azure Blob) via POST /api/projects/{id}/batch_exports | api | blocked | no PostHog account: web sign-up ends in a Cloudflare Turnstile 'Verify you are human' and the documented headless sign-up (wizard provisioning) answers 403 'Account creation is not enabled for this partner' |
| Define a cohort or analytics group and segment insights by it: Define a cohort or analytics group and segment insights by it via POST /api/projects/{id}/cohorts | api | blocked | no PostHog account: web sign-up ends in a Cloudflare Turnstile 'Verify you are human' and the documented headless sign-up (wizard provisioning) answers 403 'Account creation is not enabled for this partner' |
| Publish a governed query as a reusable API endpoint for external apps: Publish a governed query as a reusable API endpoint for external apps via custom endpoint URL (see Endpoints product) | api | blocked | no PostHog account: web sign-up ends in a Cloudflare Turnstile 'Verify you are human' and the documented headless sign-up (wizard provisioning) answers 403 'Account creation is not enabled for this partner' |
| Have AI watch session recordings at scale and surface matching moments: Have AI watch session recordings at scale and surface matching moments via UI | none | blocked | no PostHog account: web sign-up ends in a Cloudflare Turnstile 'Verify you are human' and the documented headless sign-up (wizard provisioning) answers 403 'Account creation is not enabled for this partner' |
| Review Self-driving reports and merge auto-opened pull requests fixing detected issues: Review Self-driving reports and merge auto-opened pull requests fixing detected issues via mark issue resolved, assignment rules | none | blocked | no PostHog account: web sign-up ends in a Cloudflare Turnstile 'Verify you are human' and the documented headless sign-up (wizard provisioning) answers 403 'Account creation is not enabled for this partner' |
| Ask PostHog AI to build insights or answer product questions in natural language: Ask PostHog AI to build insights or answer product questions in natural language via UI | none | blocked | no PostHog account: web sign-up ends in a Cloudflare Turnstile 'Verify you are human' and the documented headless sign-up (wizard provisioning) answers 403 'Account creation is not enabled for this partner' |
| Upload source maps and debug symbols so stack traces are readable: Upload source maps and debug symbols so stack traces are readable via posthog-cli sourcemap / dsym / hermes / proguard | cli | blocked | no PostHog account: web sign-up ends in a Cloudflare Turnstile 'Verify you are human' and the documented headless sign-up (wizard provisioning) answers 403 'Account creation is not enabled for this partner' |
| Send user emails via workflows triggered by events/properties: Send user emails via workflows triggered by events/properties via UI | none | blocked | no PostHog account: web sign-up ends in a Cloudflare Turnstile 'Verify you are human' and the documented headless sign-up (wizard provisioning) answers 403 'Account creation is not enabled for this partner' |
| Ship a JSON payload to clients via remote config tied to a flag: Ship a JSON payload to clients via remote config tied to a flag via POST /flags (payload field) | api | blocked | no PostHog account: web sign-up ends in a Cloudflare Turnstile 'Verify you are human' and the documented headless sign-up (wizard provisioning) answers 403 'Account creation is not enabled for this partner' |
| List, create, update, and delete PostHog tasks from the CLI: List, create, update, and delete PostHog tasks from the CLI via posthog-cli api (tasks) | cli | blocked | no PostHog account: web sign-up ends in a Cloudflare Turnstile 'Verify you are human' and the documented headless sign-up (wizard provisioning) answers 403 'Account creation is not enabled for this partner' |
| Invite teammates to a project/organization: Invite teammates to a project/organization via POST /api/organizations/{id}/invites | api | blocked | no PostHog account: web sign-up ends in a Cloudflare Turnstile 'Verify you are human' and the documented headless sign-up (wizard provisioning) answers 403 'Account creation is not enabled for this partner' |
| Create and manage multiple projects within an organization: Create and manage multiple projects within an organization via POST /api/organizations/{id}/projects | api | blocked | no PostHog account: web sign-up ends in a Cloudflare Turnstile 'Verify you are human' and the documented headless sign-up (wizard provisioning) answers 403 'Account creation is not enabled for this partner' |
| View usage and set billing limits/alerts per product: View usage and set billing limits/alerts per product via UI | none | blocked | no PostHog account: web sign-up ends in a Cloudflare Turnstile 'Verify you are human' and the documented headless sign-up (wizard provisioning) answers 403 'Account creation is not enabled for this partner' |
| Install PostHog via SDK/wizard and connect third-party app integrations (Slack, Zapier, etc.): Install PostHog via SDK/wizard and connect third-party app integrations (Slack, Zapier, etc.) via npx @posthog/wizard@latest | cli | blocked | no PostHog account: web sign-up ends in a Cloudflare Turnstile 'Verify you are human' and the documented headless sign-up (wizard provisioning) answers 403 'Account creation is not enabled for this partner' |
| Create and manage personal API keys, project secret keys, and OAuth apps: Create and manage personal API keys, project secret keys, and OAuth apps via POST /api/personal_api_keys | api | blocked | no PostHog account: web sign-up ends in a Cloudflare Turnstile 'Verify you are human' and the documented headless sign-up (wizard provisioning) answers 403 'Account creation is not enabled for this partner' |
| Customize survey/popup appearance and branding: Customize survey/popup appearance and branding via UI | none | blocked | no PostHog account: web sign-up ends in a Cloudflare Turnstile 'Verify you are human' and the documented headless sign-up (wizard provisioning) answers 403 'Account creation is not enabled for this partner' |
| buy the product the agent way: probe 402 rails, well-knowns, registries, docs for machine payments; find the upgrade path | api | partial | x402./mpp./agents.posthog.com do not resolve; POST /api/billing/ unauthenticated -> 401 (no 402, no PAYMENT-REQUIRED, no WWW-Authenticate: Payment/L402); /.well-known/ucp 404; no x-payment-info in OpenAPI 3.1.0; not in x402 Bazaar (27227 resources) nor mpp.dev/api/services; llms.txt has no x402/MPP/ACP/UCP/AP2/L402 mentions. projects.dev/providers lists 'stripe projects add posthog/analytics' (listing only, unconfirmed: no Stripe account). Provisioning docs: service_id 'free'|'pay_as_you_go' and token response 'payment_credentials: orchestrator'. Pricing: free plan, no credit card; paid = pay-as-you-go, subscribed from the billing page, card managed in Stripe. OpenAPI has /api/billing/activate/, /subscription/switch-plan/, /deactivate/ (no descriptions) |
| cancel/downgrade: cancel a plan | none | skipped | no plan started (no account); free plan has nothing recurring; OpenAPI lists POST /api/billing/deactivate/ without description |
| delete account and data: delete the account | none | blocked | no account was created, nothing to delete; OpenAPI lists DELETE /api/organizations/{id}/ and /api/projects/{id}/ (account deletion route not checked against an account) |
| find docs: find API, auth, MCP and sign-up docs headless | api | done ✓ | llms.txt (4503 lines, 4265 links incl. one .md page per OpenAPI op), every docs page as Markdown via .md or Accept: text/markdown, public OpenAPI 3.1.0 at us.posthog.com/api/schema/ (2358 ops), MCP tools page (1083 tools), auth.md manifest |
Also in Product analytics.
MixpanelL3Gets in on its ownPostHog vs Mixpanel
AmplitudeL1Can't sign up on its ownPostHog vs Amplitude
HeapL1Can't sign up on its ownPostHog vs Heap