naftiko: 1.0.0-alpha2 info: label: PostHog API — signals description: 'PostHog API — signals. 11 operations. Lead operation: signals. Self-contained Naftiko capability covering one Posthog business surface.' tags: - Posthog - signals created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: POSTHOG_API_KEY: POSTHOG_API_KEY capability: consumes: - type: http namespace: posthog-signals baseUri: '' description: PostHog API — signals business capability. Self-contained, no shared references. resources: - name: api-projects-project_id-signals-processing path: /api/projects/{project_id}/signals/processing/ operations: - name: signalsprocessinglist method: GET description: Return current processing state including pause status. 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: api-projects-project_id-signals-processing-pause path: /api/projects/{project_id}/signals/processing/pause/ operations: - name: signalsprocessingpauseupdate method: PUT description: View and control signal processing pipeline state for a team. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: signalsprocessingpausedestroy method: DELETE description: View and control signal processing pipeline state for a team. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-projects-project_id-signals-reports path: /api/projects/{project_id}/signals/reports/ operations: - name: signalsreportslist 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: ordering in: query type: string description: 'Comma-separated ordering clauses. Each clause is a field name optionally prefixed with ''-'' for descending. Allowed fields: status, is_suggested_reviewer, signal' - name: search in: query type: string description: Case-insensitive substring match against report title and summary. - name: source_product in: query type: string description: Comma-separated list of source products to include. Reports are kept if at least one of their contributing signals comes from one of these products (e.g. error_ - name: status in: query type: string description: 'Comma-separated list of statuses to include. Valid values: potential, candidate, in_progress, pending_input, ready, failed, suppressed. Defaults to all statuses' - name: suggested_reviewers in: query type: string description: Comma-separated list of PostHog user UUIDs. Reports are kept if their suggested reviewers include any of the given users. - name: api-projects-project_id-signals-reports-id path: /api/projects/{project_id}/signals/reports/{id}/ operations: - name: signalsreportsretrieve method: GET description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: A UUID string identifying this signal report. required: true - name: api-projects-project_id-signals-source_configs path: /api/projects/{project_id}/signals/source_configs/ operations: - name: signalssourceconfigslist 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: signalssourceconfigscreate 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-signals-source_configs-id path: /api/projects/{project_id}/signals/source_configs/{id}/ operations: - name: signalssourceconfigsretrieve method: GET description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: A UUID string identifying this signal source config. required: true - name: signalssourceconfigsupdate method: PUT description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: A UUID string identifying this signal source config. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: signalssourceconfigspartialupdate method: PATCH description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: A UUID string identifying this signal source config. required: true - name: body in: body type: object description: Request body (JSON). required: false - name: signalssourceconfigsdestroy method: DELETE description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: A UUID string identifying this signal source config. required: true authentication: type: bearer token: '{{env.POSTHOG_API_KEY}}' exposes: - type: rest namespace: posthog-signals-rest port: 8080 description: REST adapter for PostHog API — signals. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/api/projects/{project-id}/signals/processing name: api-projects-project-id-signals-processing description: REST surface for api-projects-project_id-signals-processing. operations: - method: GET name: signalsprocessinglist description: Return current processing state including pause status. call: posthog-signals.signalsprocessinglist with: limit: rest.limit offset: rest.offset outputParameters: - type: object mapping: $. - path: /v1/api/projects/{project-id}/signals/processing/pause name: api-projects-project-id-signals-processing-pause description: REST surface for api-projects-project_id-signals-processing-pause. operations: - method: PUT name: signalsprocessingpauseupdate description: View and control signal processing pipeline state for a team. call: posthog-signals.signalsprocessingpauseupdate with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: signalsprocessingpausedestroy description: View and control signal processing pipeline state for a team. call: posthog-signals.signalsprocessingpausedestroy outputParameters: - type: object mapping: $. - path: /v1/api/projects/{project-id}/signals/reports name: api-projects-project-id-signals-reports description: REST surface for api-projects-project_id-signals-reports. operations: - method: GET name: signalsreportslist description: signalsreportslist call: posthog-signals.signalsreportslist with: limit: rest.limit offset: rest.offset ordering: rest.ordering search: rest.search source_product: rest.source_product status: rest.status suggested_reviewers: rest.suggested_reviewers outputParameters: - type: object mapping: $. - path: /v1/api/projects/{project-id}/signals/reports/{id} name: api-projects-project-id-signals-reports-id description: REST surface for api-projects-project_id-signals-reports-id. operations: - method: GET name: signalsreportsretrieve description: signalsreportsretrieve call: posthog-signals.signalsreportsretrieve with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/api/projects/{project-id}/signals/source-configs name: api-projects-project-id-signals-source-configs description: REST surface for api-projects-project_id-signals-source_configs. operations: - method: GET name: signalssourceconfigslist description: signalssourceconfigslist call: posthog-signals.signalssourceconfigslist with: limit: rest.limit offset: rest.offset outputParameters: - type: object mapping: $. - method: POST name: signalssourceconfigscreate description: signalssourceconfigscreate call: posthog-signals.signalssourceconfigscreate with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/projects/{project-id}/signals/source-configs/{id} name: api-projects-project-id-signals-source-configs-id description: REST surface for api-projects-project_id-signals-source_configs-id. operations: - method: GET name: signalssourceconfigsretrieve description: signalssourceconfigsretrieve call: posthog-signals.signalssourceconfigsretrieve with: id: rest.id outputParameters: - type: object mapping: $. - method: PUT name: signalssourceconfigsupdate description: signalssourceconfigsupdate call: posthog-signals.signalssourceconfigsupdate with: id: rest.id body: rest.body outputParameters: - type: object mapping: $. - method: PATCH name: signalssourceconfigspartialupdate description: signalssourceconfigspartialupdate call: posthog-signals.signalssourceconfigspartialupdate with: id: rest.id body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: signalssourceconfigsdestroy description: signalssourceconfigsdestroy call: posthog-signals.signalssourceconfigsdestroy with: id: rest.id outputParameters: - type: object mapping: $. - type: mcp namespace: posthog-signals-mcp port: 9090 transport: http description: MCP adapter for PostHog API — signals. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: return-current-processing-state-including description: Return current processing state including pause status. hints: readOnly: true destructive: false idempotent: true call: posthog-signals.signalsprocessinglist with: limit: tools.limit offset: tools.offset outputParameters: - type: object mapping: $. - name: view-and-control-signal-processing description: View and control signal processing pipeline state for a team. hints: readOnly: false destructive: false idempotent: true call: posthog-signals.signalsprocessingpauseupdate with: body: tools.body outputParameters: - type: object mapping: $. - name: view-and-control-signal-processing-2 description: View and control signal processing pipeline state for a team. hints: readOnly: false destructive: true idempotent: true call: posthog-signals.signalsprocessingpausedestroy outputParameters: - type: object mapping: $. - name: signalsreportslist description: signalsreportslist hints: readOnly: true destructive: false idempotent: true call: posthog-signals.signalsreportslist with: limit: tools.limit offset: tools.offset ordering: tools.ordering search: tools.search source_product: tools.source_product status: tools.status suggested_reviewers: tools.suggested_reviewers outputParameters: - type: object mapping: $. - name: signalsreportsretrieve description: signalsreportsretrieve hints: readOnly: true destructive: false idempotent: true call: posthog-signals.signalsreportsretrieve with: id: tools.id outputParameters: - type: object mapping: $. - name: signalssourceconfigslist description: signalssourceconfigslist hints: readOnly: true destructive: false idempotent: true call: posthog-signals.signalssourceconfigslist with: limit: tools.limit offset: tools.offset outputParameters: - type: object mapping: $. - name: signalssourceconfigscreate description: signalssourceconfigscreate hints: readOnly: false destructive: false idempotent: false call: posthog-signals.signalssourceconfigscreate with: body: tools.body outputParameters: - type: object mapping: $. - name: signalssourceconfigsretrieve description: signalssourceconfigsretrieve hints: readOnly: true destructive: false idempotent: true call: posthog-signals.signalssourceconfigsretrieve with: id: tools.id outputParameters: - type: object mapping: $. - name: signalssourceconfigsupdate description: signalssourceconfigsupdate hints: readOnly: false destructive: false idempotent: true call: posthog-signals.signalssourceconfigsupdate with: id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: signalssourceconfigspartialupdate description: signalssourceconfigspartialupdate hints: readOnly: false destructive: false idempotent: true call: posthog-signals.signalssourceconfigspartialupdate with: id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: signalssourceconfigsdestroy description: signalssourceconfigsdestroy hints: readOnly: false destructive: true idempotent: true call: posthog-signals.signalssourceconfigsdestroy with: id: tools.id outputParameters: - type: object mapping: $.