naftiko: 1.0.0-alpha2 info: label: PostHog API — user_interviews description: 'PostHog API — user_interviews. 12 operations. Lead operation: user_interviews. Self-contained Naftiko capability covering one Posthog business surface.' tags: - Posthog - user_interviews created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: POSTHOG_API_KEY: POSTHOG_API_KEY capability: consumes: - type: http namespace: posthog-user-interviews baseUri: '' description: PostHog API — user_interviews business capability. Self-contained, no shared references. resources: - name: api-environments-project_id-user_interviews path: /api/environments/{project_id}/user_interviews/ operations: - name: userinterviewslist 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: userinterviewslist 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: userinterviewscreate 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: userinterviewscreate 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-user_interviews-id path: /api/environments/{project_id}/user_interviews/{id}/ operations: - name: userinterviewsretrieve method: GET description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: A UUID string identifying this user interview. required: true - name: userinterviewsretrieve method: GET description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: A UUID string identifying this user interview. required: true - name: userinterviewsupdate method: PUT description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: A UUID string identifying this user interview. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: userinterviewsupdate method: PUT description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: A UUID string identifying this user interview. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: userinterviewspartialupdate method: PATCH description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: A UUID string identifying this user interview. required: true - name: body in: body type: object description: Request body (JSON). required: false - name: userinterviewspartialupdate method: PATCH description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: A UUID string identifying this user interview. required: true - name: body in: body type: object description: Request body (JSON). required: false - name: userinterviewsdestroy method: DELETE description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: A UUID string identifying this user interview. required: true - name: userinterviewsdestroy method: DELETE description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: A UUID string identifying this user interview. required: true authentication: type: bearer token: '{{env.POSTHOG_API_KEY}}' exposes: - type: rest namespace: posthog-user-interviews-rest port: 8080 description: REST adapter for PostHog API — user_interviews. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/api/environments/{project-id}/user-interviews name: api-environments-project-id-user-interviews description: REST surface for api-environments-project_id-user_interviews. operations: - method: GET name: userinterviewslist description: userinterviewslist call: posthog-user-interviews.userinterviewslist with: limit: rest.limit offset: rest.offset outputParameters: - type: object mapping: $. - method: GET name: userinterviewslist description: userinterviewslist call: posthog-user-interviews.userinterviewslist with: limit: rest.limit offset: rest.offset outputParameters: - type: object mapping: $. - method: POST name: userinterviewscreate description: userinterviewscreate call: posthog-user-interviews.userinterviewscreate with: body: rest.body outputParameters: - type: object mapping: $. - method: POST name: userinterviewscreate description: userinterviewscreate call: posthog-user-interviews.userinterviewscreate with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/environments/{project-id}/user-interviews/{id} name: api-environments-project-id-user-interviews-id description: REST surface for api-environments-project_id-user_interviews-id. operations: - method: GET name: userinterviewsretrieve description: userinterviewsretrieve call: posthog-user-interviews.userinterviewsretrieve with: id: rest.id outputParameters: - type: object mapping: $. - method: GET name: userinterviewsretrieve description: userinterviewsretrieve call: posthog-user-interviews.userinterviewsretrieve with: id: rest.id outputParameters: - type: object mapping: $. - method: PUT name: userinterviewsupdate description: userinterviewsupdate call: posthog-user-interviews.userinterviewsupdate with: id: rest.id body: rest.body outputParameters: - type: object mapping: $. - method: PUT name: userinterviewsupdate description: userinterviewsupdate call: posthog-user-interviews.userinterviewsupdate with: id: rest.id body: rest.body outputParameters: - type: object mapping: $. - method: PATCH name: userinterviewspartialupdate description: userinterviewspartialupdate call: posthog-user-interviews.userinterviewspartialupdate with: id: rest.id body: rest.body outputParameters: - type: object mapping: $. - method: PATCH name: userinterviewspartialupdate description: userinterviewspartialupdate call: posthog-user-interviews.userinterviewspartialupdate with: id: rest.id body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: userinterviewsdestroy description: userinterviewsdestroy call: posthog-user-interviews.userinterviewsdestroy with: id: rest.id outputParameters: - type: object mapping: $. - method: DELETE name: userinterviewsdestroy description: userinterviewsdestroy call: posthog-user-interviews.userinterviewsdestroy with: id: rest.id outputParameters: - type: object mapping: $. - type: mcp namespace: posthog-user-interviews-mcp port: 9090 transport: http description: MCP adapter for PostHog API — user_interviews. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: userinterviewslist description: userinterviewslist hints: readOnly: true destructive: false idempotent: true call: posthog-user-interviews.userinterviewslist with: limit: tools.limit offset: tools.offset outputParameters: - type: object mapping: $. - name: userinterviewslist-2 description: userinterviewslist hints: readOnly: true destructive: false idempotent: true call: posthog-user-interviews.userinterviewslist with: limit: tools.limit offset: tools.offset outputParameters: - type: object mapping: $. - name: userinterviewscreate description: userinterviewscreate hints: readOnly: false destructive: false idempotent: false call: posthog-user-interviews.userinterviewscreate with: body: tools.body outputParameters: - type: object mapping: $. - name: userinterviewscreate-2 description: userinterviewscreate hints: readOnly: false destructive: false idempotent: false call: posthog-user-interviews.userinterviewscreate with: body: tools.body outputParameters: - type: object mapping: $. - name: userinterviewsretrieve description: userinterviewsretrieve hints: readOnly: true destructive: false idempotent: true call: posthog-user-interviews.userinterviewsretrieve with: id: tools.id outputParameters: - type: object mapping: $. - name: userinterviewsretrieve-2 description: userinterviewsretrieve hints: readOnly: true destructive: false idempotent: true call: posthog-user-interviews.userinterviewsretrieve with: id: tools.id outputParameters: - type: object mapping: $. - name: userinterviewsupdate description: userinterviewsupdate hints: readOnly: false destructive: false idempotent: true call: posthog-user-interviews.userinterviewsupdate with: id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: userinterviewsupdate-2 description: userinterviewsupdate hints: readOnly: false destructive: false idempotent: true call: posthog-user-interviews.userinterviewsupdate with: id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: userinterviewspartialupdate description: userinterviewspartialupdate hints: readOnly: false destructive: false idempotent: true call: posthog-user-interviews.userinterviewspartialupdate with: id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: userinterviewspartialupdate-2 description: userinterviewspartialupdate hints: readOnly: false destructive: false idempotent: true call: posthog-user-interviews.userinterviewspartialupdate with: id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: userinterviewsdestroy description: userinterviewsdestroy hints: readOnly: false destructive: true idempotent: true call: posthog-user-interviews.userinterviewsdestroy with: id: tools.id outputParameters: - type: object mapping: $. - name: userinterviewsdestroy-2 description: userinterviewsdestroy hints: readOnly: false destructive: true idempotent: true call: posthog-user-interviews.userinterviewsdestroy with: id: tools.id outputParameters: - type: object mapping: $.