naftiko: 1.0.0-alpha2 info: label: PostHog API — platform_features description: 'PostHog API — platform_features. 47 operations. Lead operation: platform_features. Self-contained Naftiko capability covering one Posthog business surface.' tags: - Posthog - platform_features created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: POSTHOG_API_KEY: POSTHOG_API_KEY capability: consumes: - type: http namespace: posthog-platform-features baseUri: '' description: PostHog API — platform_features business capability. Self-contained, no shared references. resources: - name: api-environments-project_id-approval_policies path: /api/environments/{project_id}/approval_policies/ operations: - name: approvalpolicieslist method: GET description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: limit in: query type: integer description: Number of results to return per page. - name: offset in: query type: integer description: The initial index from which to return the results. - name: approvalpoliciescreate method: POST description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-environments-project_id-approval_policies-id path: /api/environments/{project_id}/approval_policies/{id}/ operations: - name: approvalpoliciesretrieve method: GET description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: A UUID string identifying this approval policy. required: true - name: approvalpoliciesupdate method: PUT description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: A UUID string identifying this approval policy. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: approvalpoliciespartialupdate method: PATCH description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: A UUID string identifying this approval policy. required: true - name: body in: body type: object description: Request body (JSON). required: false - name: approvalpoliciesdestroy method: DELETE description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: A UUID string identifying this approval policy. required: true - name: api-environments-project_id-change_requests path: /api/environments/{project_id}/change_requests/ operations: - name: changerequestslist method: GET description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: action_key in: query type: string - name: limit in: query type: integer description: Number of results to return per page. - name: offset in: query type: integer description: The initial index from which to return the results. - name: requester in: query type: number - name: resource_id in: query type: string - name: resource_type in: query type: string - name: state in: query type: array description: Multiple values may be separated by commas. - name: api-environments-project_id-change_requests-id path: /api/environments/{project_id}/change_requests/{id}/ operations: - name: changerequestsretrieve method: GET description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: A UUID string identifying this change request. required: true - name: api-environments-project_id-change_requests-id-approve path: /api/environments/{project_id}/change_requests/{id}/approve/ operations: - name: changerequestsapprovecreate method: POST description: Approve a change request. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: A UUID string identifying this change request. required: true - name: body in: body type: object description: Request body (JSON). required: false - name: api-environments-project_id-change_requests-id-cancel path: /api/environments/{project_id}/change_requests/{id}/cancel/ operations: - name: changerequestscancelcreate method: POST description: Cancel a change request. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: A UUID string identifying this change request. required: true - name: body in: body type: object description: Request body (JSON). required: false - name: api-environments-project_id-change_requests-id-reject path: /api/environments/{project_id}/change_requests/{id}/reject/ operations: - name: changerequestsrejectcreate method: POST description: Reject a change request. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: A UUID string identifying this change request. required: true - name: body in: body type: object description: Request body (JSON). required: false - name: api-organizations path: /api/organizations/ operations: - name: list method: GET description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: limit in: query type: integer description: Number of results to return per page. - name: offset in: query type: integer description: The initial index from which to return the results. - name: create method: POST description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-organizations-id path: /api/organizations/{id}/ operations: - name: retrieve method: GET description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: A UUID string identifying this organization. required: true - name: update method: PUT description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: A UUID string identifying this organization. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: partialupdate method: PATCH description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: A UUID string identifying this organization. required: true - name: body in: body type: object description: Request body (JSON). required: false - name: destroy method: DELETE description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: A UUID string identifying this organization. required: true - name: api-organizations-organization_id-members path: /api/organizations/{organization_id}/members/ operations: - name: memberslist method: GET description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: limit in: query type: integer description: Number of results to return per page. - name: offset in: query type: integer description: The initial index from which to return the results. - name: order in: query type: string description: Sort order. Defaults to `-joined_at`. - name: api-organizations-organization_id-members-user__uuid path: /api/organizations/{organization_id}/members/{user__uuid}/ operations: - name: membersupdate method: PUT description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: user__uuid in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: false - name: memberspartialupdate method: PATCH description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: user__uuid in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: false - name: membersdestroy method: DELETE description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: user__uuid in: path type: string required: true - name: api-organizations-organization_id-members-user__uuid-scoped_api_keys path: /api/organizations/{organization_id}/members/{user__uuid}/scoped_api_keys/ operations: - name: membersscopedapikeysretrieve method: GET description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: user__uuid in: path type: string required: true - name: api-organizations-organization_id-roles path: /api/organizations/{organization_id}/roles/ operations: - name: roleslist method: GET description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: limit in: query type: integer description: Number of results to return per page. - name: offset in: query type: integer description: The initial index from which to return the results. - name: rolescreate method: POST description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-organizations-organization_id-roles-id path: /api/organizations/{organization_id}/roles/{id}/ operations: - name: rolesretrieve method: GET description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: A UUID string identifying this role. required: true - name: rolesupdate method: PUT description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: A UUID string identifying this role. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: rolespartialupdate method: PATCH description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: A UUID string identifying this role. required: true - name: body in: body type: object description: Request body (JSON). required: false - name: rolesdestroy method: DELETE description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: A UUID string identifying this role. required: true - name: api-organizations-organization_id-roles-role_id-role_memberships path: /api/organizations/{organization_id}/roles/{role_id}/role_memberships/ operations: - name: rolesrolemembershipslist method: GET description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: limit in: query type: integer description: Number of results to return per page. - name: offset in: query type: integer description: The initial index from which to return the results. - name: role_id in: path type: string required: true - name: rolesrolemembershipscreate method: POST description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: role_id in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: true - name: api-organizations-organization_id-roles-role_id-role_memberships-id path: /api/organizations/{organization_id}/roles/{role_id}/role_memberships/{id}/ operations: - name: rolesrolemembershipsretrieve method: GET description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: A UUID string identifying this role membership. required: true - name: role_id in: path type: string required: true - name: rolesrolemembershipsdestroy method: DELETE description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: A UUID string identifying this role membership. required: true - name: role_id in: path type: string required: true - name: api-organizations-organization_id-welcome-current path: /api/organizations/{organization_id}/welcome/current/ operations: - name: welcomecurrentretrieve method: GET description: Aggregated payload for the invited-user welcome screen. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-projects-project_id-activity_log path: /api/projects/{project_id}/activity_log/ operations: - name: activityloglist method: GET description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: item_id in: query type: string description: Filter by the ID of the affected resource. - name: page in: query type: integer description: Page number for pagination. When provided, uses page-based pagination ordered by most recent first. - name: page_size in: query type: integer description: 'Number of results per page (default: 100, max: 1000). Only used with page-based pagination.' - name: scope in: query type: string description: Filter by a single activity scope, e.g. "FeatureFlag", "Insight", "Dashboard", "Experiment". - name: scopes in: query type: array description: Filter by multiple activity scopes, comma-separated. Values must be valid ActivityScope enum values. E.g. "FeatureFlag,Insight". - name: user in: query type: string description: Filter by user UUID who performed the action. - name: api-projects-project_id-advanced_activity_logs path: /api/projects/{project_id}/advanced_activity_logs/ operations: - name: advancedactivitylogslist method: GET description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: activities in: query type: array - name: clients in: query type: array - name: detail_filters in: query type: string - name: end_date in: query type: string - name: hogql_filter in: query type: string - name: is_system in: query type: boolean - name: item_ids in: query type: array - name: page in: query type: integer description: Page number for pagination. When provided, uses page-based pagination ordered by most recent first. - name: page_size in: query type: integer description: 'Number of results per page (default: 100, max: 1000). Only used with page-based pagination.' - name: scopes in: query type: array - name: search_text in: query type: string - name: start_date in: query type: string - name: users in: query type: array - name: was_impersonated in: query type: boolean - name: api-projects-project_id-advanced_activity_logs-available_filters path: /api/projects/{project_id}/advanced_activity_logs/available_filters/ operations: - name: advancedactivitylogsavailablefiltersretrieve method: GET description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-projects-project_id-advanced_activity_logs-export path: /api/projects/{project_id}/advanced_activity_logs/export/ operations: - name: advancedactivitylogsexportcreate method: POST description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-projects-project_id-comments path: /api/projects/{project_id}/comments/ operations: - name: commentslist method: GET description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: cursor in: query type: string description: The pagination cursor value. - name: item_id in: query type: string description: Filter by the ID of the resource being commented on. - name: scope in: query type: string description: Filter by resource type (e.g. Dashboard, FeatureFlag, Insight, Replay). - name: search in: query type: string description: Full-text search within comment content. - name: source_comment in: query type: string description: Filter replies to a specific parent comment. - name: commentscreate method: POST description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-projects-project_id-comments-count path: /api/projects/{project_id}/comments/count/ operations: - name: commentscountretrieve method: GET description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-projects-project_id-comments-id path: /api/projects/{project_id}/comments/{id}/ operations: - name: commentsretrieve method: GET description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: A UUID string identifying this comment. required: true - name: commentsupdate method: PUT description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: A UUID string identifying this comment. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: commentspartialupdate method: PATCH description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: A UUID string identifying this comment. required: true - name: body in: body type: object description: Request body (JSON). required: false - name: commentsdestroy method: DELETE description: Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: A UUID string identifying this comment. required: true - name: api-projects-project_id-comments-id-thread path: /api/projects/{project_id}/comments/{id}/thread/ operations: - name: commentsthreadretrieve method: GET description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: A UUID string identifying this comment. required: true - name: api-user_home_settings-uuid path: /api/user_home_settings/{uuid}/ operations: - name: userhomesettingsretrieve method: GET description: Get the authenticated user's pinned sidebar tabs and configured homepage for the current team. Pass `@me` as the UUID. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: uuid in: path type: string required: true - name: userhomesettingspartialupdate method: PATCH description: Update the authenticated user's pinned sidebar tabs and/or homepage for the current team. Pass `@me` as the UUID. Send `tabs` to replace the pinned tab list, `homepage` to set the home destination (any PostHog URL — dashboard, insight, sear outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: uuid in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: false authentication: type: bearer token: '{{env.POSTHOG_API_KEY}}' exposes: - type: rest namespace: posthog-platform-features-rest port: 8080 description: REST adapter for PostHog API — platform_features. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/api/environments/{project-id}/approval-policies name: api-environments-project-id-approval-policies description: REST surface for api-environments-project_id-approval_policies. operations: - method: GET name: approvalpolicieslist description: approvalpolicieslist call: posthog-platform-features.approvalpolicieslist with: limit: rest.limit offset: rest.offset outputParameters: - type: object mapping: $. - method: POST name: approvalpoliciescreate description: approvalpoliciescreate call: posthog-platform-features.approvalpoliciescreate with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/environments/{project-id}/approval-policies/{id} name: api-environments-project-id-approval-policies-id description: REST surface for api-environments-project_id-approval_policies-id. operations: - method: GET name: approvalpoliciesretrieve description: approvalpoliciesretrieve call: posthog-platform-features.approvalpoliciesretrieve with: id: rest.id outputParameters: - type: object mapping: $. - method: PUT name: approvalpoliciesupdate description: approvalpoliciesupdate call: posthog-platform-features.approvalpoliciesupdate with: id: rest.id body: rest.body outputParameters: - type: object mapping: $. - method: PATCH name: approvalpoliciespartialupdate description: approvalpoliciespartialupdate call: posthog-platform-features.approvalpoliciespartialupdate with: id: rest.id body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: approvalpoliciesdestroy description: approvalpoliciesdestroy call: posthog-platform-features.approvalpoliciesdestroy with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/api/environments/{project-id}/change-requests name: api-environments-project-id-change-requests description: REST surface for api-environments-project_id-change_requests. operations: - method: GET name: changerequestslist description: changerequestslist call: posthog-platform-features.changerequestslist with: action_key: rest.action_key limit: rest.limit offset: rest.offset requester: rest.requester resource_id: rest.resource_id resource_type: rest.resource_type state: rest.state outputParameters: - type: object mapping: $. - path: /v1/api/environments/{project-id}/change-requests/{id} name: api-environments-project-id-change-requests-id description: REST surface for api-environments-project_id-change_requests-id. operations: - method: GET name: changerequestsretrieve description: changerequestsretrieve call: posthog-platform-features.changerequestsretrieve with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/api/environments/{project-id}/change-requests/{id}/approve name: api-environments-project-id-change-requests-id-approve description: REST surface for api-environments-project_id-change_requests-id-approve. operations: - method: POST name: changerequestsapprovecreate description: Approve a change request. call: posthog-platform-features.changerequestsapprovecreate with: id: rest.id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/environments/{project-id}/change-requests/{id}/cancel name: api-environments-project-id-change-requests-id-cancel description: REST surface for api-environments-project_id-change_requests-id-cancel. operations: - method: POST name: changerequestscancelcreate description: Cancel a change request. call: posthog-platform-features.changerequestscancelcreate with: id: rest.id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/environments/{project-id}/change-requests/{id}/reject name: api-environments-project-id-change-requests-id-reject description: REST surface for api-environments-project_id-change_requests-id-reject. operations: - method: POST name: changerequestsrejectcreate description: Reject a change request. call: posthog-platform-features.changerequestsrejectcreate with: id: rest.id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/organizations name: api-organizations description: REST surface for api-organizations. operations: - method: GET name: list description: list call: posthog-platform-features.list with: limit: rest.limit offset: rest.offset outputParameters: - type: object mapping: $. - method: POST name: create description: create call: posthog-platform-features.create with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/organizations/{id} name: api-organizations-id description: REST surface for api-organizations-id. operations: - method: GET name: retrieve description: retrieve call: posthog-platform-features.retrieve with: id: rest.id outputParameters: - type: object mapping: $. - method: PUT name: update description: update call: posthog-platform-features.update with: id: rest.id body: rest.body outputParameters: - type: object mapping: $. - method: PATCH name: partialupdate description: partialupdate call: posthog-platform-features.partialupdate with: id: rest.id body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: destroy description: destroy call: posthog-platform-features.destroy with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/api/organizations/{organization-id}/members name: api-organizations-organization-id-members description: REST surface for api-organizations-organization_id-members. operations: - method: GET name: memberslist description: memberslist call: posthog-platform-features.memberslist with: limit: rest.limit offset: rest.offset order: rest.order outputParameters: - type: object mapping: $. - path: /v1/api/organizations/{organization-id}/members/{user-uuid} name: api-organizations-organization-id-members-user-uuid description: REST surface for api-organizations-organization_id-members-user__uuid. operations: - method: PUT name: membersupdate description: membersupdate call: posthog-platform-features.membersupdate with: user__uuid: rest.user__uuid body: rest.body outputParameters: - type: object mapping: $. - method: PATCH name: memberspartialupdate description: memberspartialupdate call: posthog-platform-features.memberspartialupdate with: user__uuid: rest.user__uuid body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: membersdestroy description: membersdestroy call: posthog-platform-features.membersdestroy with: user__uuid: rest.user__uuid outputParameters: - type: object mapping: $. - path: /v1/api/organizations/{organization-id}/members/{user-uuid}/scoped-api-keys name: api-organizations-organization-id-members-user-uuid-scoped-api-keys description: REST surface for api-organizations-organization_id-members-user__uuid-scoped_api_keys. operations: - method: GET name: membersscopedapikeysretrieve description: membersscopedapikeysretrieve call: posthog-platform-features.membersscopedapikeysretrieve with: user__uuid: rest.user__uuid outputParameters: - type: object mapping: $. - path: /v1/api/organizations/{organization-id}/roles name: api-organizations-organization-id-roles description: REST surface for api-organizations-organization_id-roles. operations: - method: GET name: roleslist description: roleslist call: posthog-platform-features.roleslist with: limit: rest.limit offset: rest.offset outputParameters: - type: object mapping: $. - method: POST name: rolescreate description: rolescreate call: posthog-platform-features.rolescreate with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/organizations/{organization-id}/roles/{id} name: api-organizations-organization-id-roles-id description: REST surface for api-organizations-organization_id-roles-id. operations: - method: GET name: rolesretrieve description: rolesretrieve call: posthog-platform-features.rolesretrieve with: id: rest.id outputParameters: - type: object mapping: $. - method: PUT name: rolesupdate description: rolesupdate call: posthog-platform-features.rolesupdate with: id: rest.id body: rest.body outputParameters: - type: object mapping: $. - method: PATCH name: rolespartialupdate description: rolespartialupdate call: posthog-platform-features.rolespartialupdate with: id: rest.id body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: rolesdestroy description: rolesdestroy call: posthog-platform-features.rolesdestroy with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/api/organizations/{organization-id}/roles/{role-id}/role-memberships name: api-organizations-organization-id-roles-role-id-role-memberships description: REST surface for api-organizations-organization_id-roles-role_id-role_memberships. operations: - method: GET name: rolesrolemembershipslist description: rolesrolemembershipslist call: posthog-platform-features.rolesrolemembershipslist with: limit: rest.limit offset: rest.offset role_id: rest.role_id outputParameters: - type: object mapping: $. - method: POST name: rolesrolemembershipscreate description: rolesrolemembershipscreate call: posthog-platform-features.rolesrolemembershipscreate with: role_id: rest.role_id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/organizations/{organization-id}/roles/{role-id}/role-memberships/{id} name: api-organizations-organization-id-roles-role-id-role-memberships-id description: REST surface for api-organizations-organization_id-roles-role_id-role_memberships-id. operations: - method: GET name: rolesrolemembershipsretrieve description: rolesrolemembershipsretrieve call: posthog-platform-features.rolesrolemembershipsretrieve with: id: rest.id role_id: rest.role_id outputParameters: - type: object mapping: $. - method: DELETE name: rolesrolemembershipsdestroy description: rolesrolemembershipsdestroy call: posthog-platform-features.rolesrolemembershipsdestroy with: id: rest.id role_id: rest.role_id outputParameters: - type: object mapping: $. - path: /v1/api/organizations/{organization-id}/welcome/current name: api-organizations-organization-id-welcome-current description: REST surface for api-organizations-organization_id-welcome-current. operations: - method: GET name: welcomecurrentretrieve description: Aggregated payload for the invited-user welcome screen. call: posthog-platform-features.welcomecurrentretrieve outputParameters: - type: object mapping: $. - path: /v1/api/projects/{project-id}/activity-log name: api-projects-project-id-activity-log description: REST surface for api-projects-project_id-activity_log. operations: - method: GET name: activityloglist description: activityloglist call: posthog-platform-features.activityloglist with: item_id: rest.item_id page: rest.page page_size: rest.page_size scope: rest.scope scopes: rest.scopes user: rest.user outputParameters: - type: object mapping: $. - path: /v1/api/projects/{project-id}/advanced-activity-logs name: api-projects-project-id-advanced-activity-logs description: REST surface for api-projects-project_id-advanced_activity_logs. operations: - method: GET name: advancedactivitylogslist description: advancedactivitylogslist call: posthog-platform-features.advancedactivitylogslist with: activities: rest.activities clients: rest.clients detail_filters: rest.detail_filters end_date: rest.end_date hogql_filter: rest.hogql_filter is_system: rest.is_system item_ids: rest.item_ids page: rest.page page_size: rest.page_size scopes: rest.scopes search_text: rest.search_text start_date: rest.start_date users: rest.users was_impersonated: rest.was_impersonated outputParameters: - type: object mapping: $. - path: /v1/api/projects/{project-id}/advanced-activity-logs/available-filters name: api-projects-project-id-advanced-activity-logs-available-filters description: REST surface for api-projects-project_id-advanced_activity_logs-available_filters. operations: - method: GET name: advancedactivitylogsavailablefiltersretrieve description: advancedactivitylogsavailablefiltersretrieve call: posthog-platform-features.advancedactivitylogsavailablefiltersretrieve outputParameters: - type: object mapping: $. - path: /v1/api/projects/{project-id}/advanced-activity-logs/export name: api-projects-project-id-advanced-activity-logs-export description: REST surface for api-projects-project_id-advanced_activity_logs-export. operations: - method: POST name: advancedactivitylogsexportcreate description: advancedactivitylogsexportcreate call: posthog-platform-features.advancedactivitylogsexportcreate with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/projects/{project-id}/comments name: api-projects-project-id-comments description: REST surface for api-projects-project_id-comments. operations: - method: GET name: commentslist description: commentslist call: posthog-platform-features.commentslist with: cursor: rest.cursor item_id: rest.item_id scope: rest.scope search: rest.search source_comment: rest.source_comment outputParameters: - type: object mapping: $. - method: POST name: commentscreate description: commentscreate call: posthog-platform-features.commentscreate with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/projects/{project-id}/comments/count name: api-projects-project-id-comments-count description: REST surface for api-projects-project_id-comments-count. operations: - method: GET name: commentscountretrieve description: commentscountretrieve call: posthog-platform-features.commentscountretrieve outputParameters: - type: object mapping: $. - path: /v1/api/projects/{project-id}/comments/{id} name: api-projects-project-id-comments-id description: REST surface for api-projects-project_id-comments-id. operations: - method: GET name: commentsretrieve description: commentsretrieve call: posthog-platform-features.commentsretrieve with: id: rest.id outputParameters: - type: object mapping: $. - method: PUT name: commentsupdate description: commentsupdate call: posthog-platform-features.commentsupdate with: id: rest.id body: rest.body outputParameters: - type: object mapping: $. - method: PATCH name: commentspartialupdate description: commentspartialupdate call: posthog-platform-features.commentspartialupdate with: id: rest.id body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: commentsdestroy description: Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true call: posthog-platform-features.commentsdestroy with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/api/projects/{project-id}/comments/{id}/thread name: api-projects-project-id-comments-id-thread description: REST surface for api-projects-project_id-comments-id-thread. operations: - method: GET name: commentsthreadretrieve description: commentsthreadretrieve call: posthog-platform-features.commentsthreadretrieve with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/api/user-home-settings/{uuid} name: api-user-home-settings-uuid description: REST surface for api-user_home_settings-uuid. operations: - method: GET name: userhomesettingsretrieve description: Get the authenticated user's pinned sidebar tabs and configured homepage for the current team. Pass `@me` as the UUID. call: posthog-platform-features.userhomesettingsretrieve with: uuid: rest.uuid outputParameters: - type: object mapping: $. - method: PATCH name: userhomesettingspartialupdate description: Update the authenticated user's pinned sidebar tabs and/or homepage for the current team. Pass `@me` as the UUID. Send `tabs` to replace the pinned tab list, `homepage` to set the home destination (any PostHog URL — dashboard, insight, sear call: posthog-platform-features.userhomesettingspartialupdate with: uuid: rest.uuid body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: posthog-platform-features-mcp port: 9090 transport: http description: MCP adapter for PostHog API — platform_features. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: approvalpolicieslist description: approvalpolicieslist hints: readOnly: true destructive: false idempotent: true call: posthog-platform-features.approvalpolicieslist with: limit: tools.limit offset: tools.offset outputParameters: - type: object mapping: $. - name: approvalpoliciescreate description: approvalpoliciescreate hints: readOnly: false destructive: false idempotent: false call: posthog-platform-features.approvalpoliciescreate with: body: tools.body outputParameters: - type: object mapping: $. - name: approvalpoliciesretrieve description: approvalpoliciesretrieve hints: readOnly: true destructive: false idempotent: true call: posthog-platform-features.approvalpoliciesretrieve with: id: tools.id outputParameters: - type: object mapping: $. - name: approvalpoliciesupdate description: approvalpoliciesupdate hints: readOnly: false destructive: false idempotent: true call: posthog-platform-features.approvalpoliciesupdate with: id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: approvalpoliciespartialupdate description: approvalpoliciespartialupdate hints: readOnly: false destructive: false idempotent: true call: posthog-platform-features.approvalpoliciespartialupdate with: id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: approvalpoliciesdestroy description: approvalpoliciesdestroy hints: readOnly: false destructive: true idempotent: true call: posthog-platform-features.approvalpoliciesdestroy with: id: tools.id outputParameters: - type: object mapping: $. - name: changerequestslist description: changerequestslist hints: readOnly: true destructive: false idempotent: true call: posthog-platform-features.changerequestslist with: action_key: tools.action_key limit: tools.limit offset: tools.offset requester: tools.requester resource_id: tools.resource_id resource_type: tools.resource_type state: tools.state outputParameters: - type: object mapping: $. - name: changerequestsretrieve description: changerequestsretrieve hints: readOnly: true destructive: false idempotent: true call: posthog-platform-features.changerequestsretrieve with: id: tools.id outputParameters: - type: object mapping: $. - name: approve-change-request description: Approve a change request. hints: readOnly: false destructive: false idempotent: false call: posthog-platform-features.changerequestsapprovecreate with: id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: cancel-change-request description: Cancel a change request. hints: readOnly: false destructive: false idempotent: false call: posthog-platform-features.changerequestscancelcreate with: id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: reject-change-request description: Reject a change request. hints: readOnly: false destructive: false idempotent: false call: posthog-platform-features.changerequestsrejectcreate with: id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: list description: list hints: readOnly: true destructive: false idempotent: true call: posthog-platform-features.list with: limit: tools.limit offset: tools.offset outputParameters: - type: object mapping: $. - name: create description: create hints: readOnly: false destructive: false idempotent: false call: posthog-platform-features.create with: body: tools.body outputParameters: - type: object mapping: $. - name: retrieve description: retrieve hints: readOnly: true destructive: false idempotent: true call: posthog-platform-features.retrieve with: id: tools.id outputParameters: - type: object mapping: $. - name: update description: update hints: readOnly: false destructive: false idempotent: true call: posthog-platform-features.update with: id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: partialupdate description: partialupdate hints: readOnly: false destructive: false idempotent: true call: posthog-platform-features.partialupdate with: id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: destroy description: destroy hints: readOnly: false destructive: true idempotent: true call: posthog-platform-features.destroy with: id: tools.id outputParameters: - type: object mapping: $. - name: memberslist description: memberslist hints: readOnly: true destructive: false idempotent: true call: posthog-platform-features.memberslist with: limit: tools.limit offset: tools.offset order: tools.order outputParameters: - type: object mapping: $. - name: membersupdate description: membersupdate hints: readOnly: false destructive: false idempotent: true call: posthog-platform-features.membersupdate with: user__uuid: tools.user__uuid body: tools.body outputParameters: - type: object mapping: $. - name: memberspartialupdate description: memberspartialupdate hints: readOnly: false destructive: false idempotent: true call: posthog-platform-features.memberspartialupdate with: user__uuid: tools.user__uuid body: tools.body outputParameters: - type: object mapping: $. - name: membersdestroy description: membersdestroy hints: readOnly: false destructive: true idempotent: true call: posthog-platform-features.membersdestroy with: user__uuid: tools.user__uuid outputParameters: - type: object mapping: $. - name: membersscopedapikeysretrieve description: membersscopedapikeysretrieve hints: readOnly: true destructive: false idempotent: true call: posthog-platform-features.membersscopedapikeysretrieve with: user__uuid: tools.user__uuid outputParameters: - type: object mapping: $. - name: roleslist description: roleslist hints: readOnly: true destructive: false idempotent: true call: posthog-platform-features.roleslist with: limit: tools.limit offset: tools.offset outputParameters: - type: object mapping: $. - name: rolescreate description: rolescreate hints: readOnly: false destructive: false idempotent: false call: posthog-platform-features.rolescreate with: body: tools.body outputParameters: - type: object mapping: $. - name: rolesretrieve description: rolesretrieve hints: readOnly: true destructive: false idempotent: true call: posthog-platform-features.rolesretrieve with: id: tools.id outputParameters: - type: object mapping: $. - name: rolesupdate description: rolesupdate hints: readOnly: false destructive: false idempotent: true call: posthog-platform-features.rolesupdate with: id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: rolespartialupdate description: rolespartialupdate hints: readOnly: false destructive: false idempotent: true call: posthog-platform-features.rolespartialupdate with: id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: rolesdestroy description: rolesdestroy hints: readOnly: false destructive: true idempotent: true call: posthog-platform-features.rolesdestroy with: id: tools.id outputParameters: - type: object mapping: $. - name: rolesrolemembershipslist description: rolesrolemembershipslist hints: readOnly: true destructive: false idempotent: true call: posthog-platform-features.rolesrolemembershipslist with: limit: tools.limit offset: tools.offset role_id: tools.role_id outputParameters: - type: object mapping: $. - name: rolesrolemembershipscreate description: rolesrolemembershipscreate hints: readOnly: false destructive: false idempotent: false call: posthog-platform-features.rolesrolemembershipscreate with: role_id: tools.role_id body: tools.body outputParameters: - type: object mapping: $. - name: rolesrolemembershipsretrieve description: rolesrolemembershipsretrieve hints: readOnly: true destructive: false idempotent: true call: posthog-platform-features.rolesrolemembershipsretrieve with: id: tools.id role_id: tools.role_id outputParameters: - type: object mapping: $. - name: rolesrolemembershipsdestroy description: rolesrolemembershipsdestroy hints: readOnly: false destructive: true idempotent: true call: posthog-platform-features.rolesrolemembershipsdestroy with: id: tools.id role_id: tools.role_id outputParameters: - type: object mapping: $. - name: aggregated-payload-invited-user-welcome description: Aggregated payload for the invited-user welcome screen. hints: readOnly: true destructive: false idempotent: true call: posthog-platform-features.welcomecurrentretrieve outputParameters: - type: object mapping: $. - name: activityloglist description: activityloglist hints: readOnly: true destructive: false idempotent: true call: posthog-platform-features.activityloglist with: item_id: tools.item_id page: tools.page page_size: tools.page_size scope: tools.scope scopes: tools.scopes user: tools.user outputParameters: - type: object mapping: $. - name: advancedactivitylogslist description: advancedactivitylogslist hints: readOnly: true destructive: false idempotent: true call: posthog-platform-features.advancedactivitylogslist with: activities: tools.activities clients: tools.clients detail_filters: tools.detail_filters end_date: tools.end_date hogql_filter: tools.hogql_filter is_system: tools.is_system item_ids: tools.item_ids page: tools.page page_size: tools.page_size scopes: tools.scopes search_text: tools.search_text start_date: tools.start_date users: tools.users was_impersonated: tools.was_impersonated outputParameters: - type: object mapping: $. - name: advancedactivitylogsavailablefiltersretrieve description: advancedactivitylogsavailablefiltersretrieve hints: readOnly: true destructive: false idempotent: true call: posthog-platform-features.advancedactivitylogsavailablefiltersretrieve outputParameters: - type: object mapping: $. - name: advancedactivitylogsexportcreate description: advancedactivitylogsexportcreate hints: readOnly: false destructive: false idempotent: false call: posthog-platform-features.advancedactivitylogsexportcreate with: body: tools.body outputParameters: - type: object mapping: $. - name: commentslist description: commentslist hints: readOnly: true destructive: false idempotent: true call: posthog-platform-features.commentslist with: cursor: tools.cursor item_id: tools.item_id scope: tools.scope search: tools.search source_comment: tools.source_comment outputParameters: - type: object mapping: $. - name: commentscreate description: commentscreate hints: readOnly: false destructive: false idempotent: false call: posthog-platform-features.commentscreate with: body: tools.body outputParameters: - type: object mapping: $. - name: commentscountretrieve description: commentscountretrieve hints: readOnly: true destructive: false idempotent: true call: posthog-platform-features.commentscountretrieve outputParameters: - type: object mapping: $. - name: commentsretrieve description: commentsretrieve hints: readOnly: true destructive: false idempotent: true call: posthog-platform-features.commentsretrieve with: id: tools.id outputParameters: - type: object mapping: $. - name: commentsupdate description: commentsupdate hints: readOnly: false destructive: false idempotent: true call: posthog-platform-features.commentsupdate with: id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: commentspartialupdate description: commentspartialupdate hints: readOnly: false destructive: false idempotent: true call: posthog-platform-features.commentspartialupdate with: id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: hard-delete-this-model-is description: Hard delete of this model is not allowed. Use a patch API call to set "deleted" to true hints: readOnly: false destructive: true idempotent: true call: posthog-platform-features.commentsdestroy with: id: tools.id outputParameters: - type: object mapping: $. - name: commentsthreadretrieve description: commentsthreadretrieve hints: readOnly: true destructive: false idempotent: true call: posthog-platform-features.commentsthreadretrieve with: id: tools.id outputParameters: - type: object mapping: $. - name: get-authenticated-user-s-pinned-sidebar description: Get the authenticated user's pinned sidebar tabs and configured homepage for the current team. Pass `@me` as the UUID. hints: readOnly: true destructive: false idempotent: true call: posthog-platform-features.userhomesettingsretrieve with: uuid: tools.uuid outputParameters: - type: object mapping: $. - name: update-authenticated-user-s-pinned-sidebar description: Update the authenticated user's pinned sidebar tabs and/or homepage for the current team. Pass `@me` as the UUID. Send `tabs` to replace the pinned tab list, `homepage` to set the home destination (any PostHog URL — dashboard, insight, sear hints: readOnly: false destructive: false idempotent: true call: posthog-platform-features.userhomesettingspartialupdate with: uuid: tools.uuid body: tools.body outputParameters: - type: object mapping: $.