{"openapi":"3.1.0","info":{"title":"PostHog Content Library (BYOK) API","version":"0.1.0","description":"PostHog Content Library (BYOK) lets an AI assistant read your own PostHog Content Library data through the PostHog Content Library API with a key you supply (personal API key (with dashboard_template:read, notebook:read, session_recording_playlist:read and endpoint:read scopes)). Read-only: 7 tools (list_dashboard_templates, get_dashboard_template, list_notebooks, list_recording_playlists,...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-posthog-library.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-posthog-library/docs"},"termsOfService":"https://connectorbay.com/byok-posthog-library/terms"},"servers":[{"url":"https://byok-posthog-library.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-posthog-library/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/list_dashboard_templates":{"post":{"operationId":"list_dashboard_templates","summary":"List dashboard templates (official, organization or project) with name, description, tags, scope and featured flag. Tile","description":"List dashboard templates (official, organization or project) with name, description, tags, scope and featured flag. Tile definitions are left out. Use for \"Which dashboard templates can I use in PostHog\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"region":{"description":"PostHog Cloud region of your account: us (us.posthog.com) or eu (eu.posthog.com).","enum":["us","eu"],"title":"Region","type":"string"},"project_id":{"description":"PostHog project id (a number, from the PostHog connector list_projects).","maxLength":200,"title":"Project Id","type":"string"},"scope":{"anyOf":[{"enum":["global","team","organization","feature_flag"],"type":"string"},{"type":"null"}],"default":null,"description":"Template scope: global (official), team (this project), organization or feature_flag.","title":"Scope"},"search":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Full-text search over template name, tags and description.","title":"Search"},"is_featured":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True to list only featured templates, false for the others.","title":"Is Featured"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many results to return per page (1 to 100).","title":"Limit"},"offset":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many results to skip, for paging.","title":"Offset"}},"required":["region","project_id"],"title":"list_dashboard_templatesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_dashboard_template":{"post":{"operationId":"get_dashboard_template","summary":"Get one dashboard template with its name, description, tags, scope, tiles and filters. Use for \"What tiles does PostHog ","description":"Get one dashboard template with its name, description, tags, scope, tiles and filters. Use for \"What tiles does PostHog dashboard template 0197b1 contain\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"region":{"description":"PostHog Cloud region of your account: us (us.posthog.com) or eu (eu.posthog.com).","enum":["us","eu"],"title":"Region","type":"string"},"project_id":{"description":"PostHog project id (a number, from the PostHog connector list_projects).","maxLength":200,"title":"Project Id","type":"string"},"template_id":{"description":"Dashboard template id (a UUID string) from list_dashboard_templates.","maxLength":64,"title":"Template Id","type":"string"}},"required":["region","project_id","template_id"],"title":"get_dashboard_templateArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_notebooks":{"post":{"operationId":"list_notebooks","summary":"List the notebooks of a project with title, short id and created and modified times; notebook content and authors are le","description":"List the notebooks of a project with title, short id and created and modified times; notebook content and authors are left out. Use for \"Which notebooks exist in my PostHog project\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"region":{"description":"PostHog Cloud region of your account: us (us.posthog.com) or eu (eu.posthog.com).","enum":["us","eu"],"title":"Region","type":"string"},"project_id":{"description":"PostHog project id (a number, from the PostHog connector list_projects).","maxLength":200,"title":"Project Id","type":"string"},"date_from":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only notebooks created after this date and time (ISO 8601).","title":"Date From"},"date_to":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only notebooks created before this date and time (ISO 8601).","title":"Date To"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many results to return per page (1 to 100).","title":"Limit"},"offset":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many results to skip, for paging.","title":"Offset"}},"required":["region","project_id"],"title":"list_notebooksArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_recording_playlists":{"post":{"operationId":"list_recording_playlists","summary":"List session recording playlists (saved filters or collections) with name, description, pinned flag and dates. No record","description":"List session recording playlists (saved filters or collections) with name, description, pinned flag and dates. No recordings or viewer data are returned. Use for \"Which session recording playlists are saved in PostHog\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"region":{"description":"PostHog Cloud region of your account: us (us.posthog.com) or eu (eu.posthog.com).","enum":["us","eu"],"title":"Region","type":"string"},"project_id":{"description":"PostHog project id (a number, from the PostHog connector list_projects).","maxLength":200,"title":"Project Id","type":"string"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many results to return per page (1 to 100).","title":"Limit"},"offset":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many results to skip, for paging.","title":"Offset"}},"required":["region","project_id"],"title":"list_recording_playlistsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_saved_endpoints":{"post":{"operationId":"list_saved_endpoints","summary":"List the saved query endpoints (named, versioned queries exposed as API paths) with description, active flag, freshness,","description":"List the saved query endpoints (named, versioned queries exposed as API paths) with description, active flag, freshness, materialization and last run time. The query itself is left out. Use for \"Which saved query endpoints does my PostHog project have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"region":{"description":"PostHog Cloud region of your account: us (us.posthog.com) or eu (eu.posthog.com).","enum":["us","eu"],"title":"Region","type":"string"},"project_id":{"description":"PostHog project id (a number, from the PostHog connector list_projects).","maxLength":200,"title":"Project Id","type":"string"},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True for active endpoints only, false for inactive ones.","title":"Is Active"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many results to return per page (1 to 100).","title":"Limit"},"offset":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many results to skip, for paging.","title":"Offset"}},"required":["region","project_id"],"title":"list_saved_endpointsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_saved_endpoint":{"post":{"operationId":"get_saved_endpoint","summary":"Get one saved query endpoint with its description, active flag, freshness, version count, materialization state and the ","description":"Get one saved query endpoint with its description, active flag, freshness, version count, materialization state and the query definition. Use for \"Show the PostHog saved endpoint weekly_signups\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"region":{"description":"PostHog Cloud region of your account: us (us.posthog.com) or eu (eu.posthog.com).","enum":["us","eu"],"title":"Region","type":"string"},"project_id":{"description":"PostHog project id (a number, from the PostHog connector list_projects).","maxLength":200,"title":"Project Id","type":"string"},"endpoint_name":{"description":"Name of the saved endpoint (from list_saved_endpoints), for example 'weekly_signups'.","maxLength":200,"title":"Endpoint Name","type":"string"}},"required":["region","project_id","endpoint_name"],"title":"get_saved_endpointArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_endpoint_versions":{"post":{"operationId":"list_endpoint_versions","summary":"List the versions of a saved query endpoint with version number, active flag and creation and update times. Use for \"How","description":"List the versions of a saved query endpoint with version number, active flag and creation and update times. Use for \"How many versions does the PostHog endpoint weekly_signups have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"region":{"description":"PostHog Cloud region of your account: us (us.posthog.com) or eu (eu.posthog.com).","enum":["us","eu"],"title":"Region","type":"string"},"project_id":{"description":"PostHog project id (a number, from the PostHog connector list_projects).","maxLength":200,"title":"Project Id","type":"string"},"endpoint_name":{"description":"Name of the saved endpoint (from list_saved_endpoints), for example 'weekly_signups'.","maxLength":200,"title":"Endpoint Name","type":"string"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many results to return per page (1 to 100).","title":"Limit"},"offset":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"How many results to skip, for paging.","title":"Offset"}},"required":["region","project_id","endpoint_name"],"title":"list_endpoint_versionsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}