naftiko: 1.0.0-alpha2 info: label: Plausible Sites API — Goals description: 'Plausible Sites API — Goals. 3 operations. Lead operation: List goals. Self-contained Naftiko capability covering one Plausible business surface.' tags: - Plausible - Goals created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: PLAUSIBLE_API_KEY: PLAUSIBLE_API_KEY capability: consumes: - type: http namespace: sites-goals baseUri: https://plausible.io description: Plausible Sites API — Goals business capability. Self-contained, no shared references. resources: - name: api-v1-sites-goals path: /api/v1/sites/goals operations: - name: listgoals method: GET description: List goals outputRawFormat: json outputParameters: - name: result type: object value: $. - name: upsertgoal method: PUT description: Create or find a goal outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-v1-sites-goals-goal_id path: /api/v1/sites/goals/{goal_id} operations: - name: deletegoal method: DELETE description: Delete goal outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: bearer token: '{{env.PLAUSIBLE_API_KEY}}' exposes: - type: rest namespace: sites-goals-rest port: 8080 description: REST adapter for Plausible Sites API — Goals. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/api/v1/sites/goals name: api-v1-sites-goals description: REST surface for api-v1-sites-goals. operations: - method: GET name: listgoals description: List goals call: sites-goals.listgoals outputParameters: - type: object mapping: $. - method: PUT name: upsertgoal description: Create or find a goal call: sites-goals.upsertgoal with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v1/sites/goals/{goal-id} name: api-v1-sites-goals-goal-id description: REST surface for api-v1-sites-goals-goal_id. operations: - method: DELETE name: deletegoal description: Delete goal call: sites-goals.deletegoal outputParameters: - type: object mapping: $. - type: mcp namespace: sites-goals-mcp port: 9090 transport: http description: MCP adapter for Plausible Sites API — Goals. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-goals description: List goals hints: readOnly: true destructive: false idempotent: true call: sites-goals.listgoals outputParameters: - type: object mapping: $. - name: create-find-goal description: Create or find a goal hints: readOnly: false destructive: false idempotent: true call: sites-goals.upsertgoal with: body: tools.body outputParameters: - type: object mapping: $. - name: delete-goal description: Delete goal hints: readOnly: false destructive: true idempotent: true call: sites-goals.deletegoal outputParameters: - type: object mapping: $.