naftiko: 1.0.0-alpha2 info: label: WakaTime API — Leaderboards description: 'WakaTime API — Leaderboards. 3 operations. Lead operation: List Leaders. Self-contained Naftiko capability covering one WakaTime business surface.' tags: - WakaTime - Developer Productivity - Leaderboards created: '2026-05-30' modified: '2026-05-30' binds: - namespace: env keys: WAKATIME_API_KEY: WAKATIME_API_KEY capability: consumes: - type: http namespace: wakatime-api-v1-leaderboards baseUri: https://wakatime.com/api/v1 description: WakaTime API — Leaderboards business capability. Self-contained, no shared references. authentication: type: basic username: '{{env.WAKATIME_API_KEY}}' password: '' resources: - name: leaders path: /leaders operations: - name: listLeaders method: GET description: List Leaders inputParameters: - name: language in: query type: string required: false description: Filter by programming language. - name: country_code in: query type: string required: false description: Filter by ISO country code. - name: page in: query type: integer required: false outputRawFormat: json outputParameters: - name: result type: object value: $. - name: users-current-private-leaderboards path: /users/current/private_leaderboards operations: - name: listPrivateLeaderboards method: GET description: List Private Leaderboards outputRawFormat: json outputParameters: - name: result type: object value: $. - name: users-current-private-leaderboards-id-leaders path: /users/current/private_leaderboards/{id}/leaders operations: - name: listPrivateLeaderboardLeaders method: GET description: List Private Leaderboard Leaders inputParameters: - name: id in: path type: string required: true description: Private leaderboard id. outputRawFormat: json outputParameters: - name: result type: object value: $. exposes: - type: rest namespace: wakatime-api-v1-leaderboards-rest port: 8080 description: REST adapter for WakaTime API — Leaderboards. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/leaders name: leaders description: REST surface for /leaders. operations: - method: GET name: listLeaders description: List Leaders call: wakatime-api-v1-leaderboards.listLeaders with: language: rest.language country_code: rest.country_code page: rest.page outputParameters: - type: object mapping: $. - path: /v1/users/current/private-leaderboards name: users-current-private-leaderboards description: REST surface for /users/current/private_leaderboards. operations: - method: GET name: listPrivateLeaderboards description: List Private Leaderboards call: wakatime-api-v1-leaderboards.listPrivateLeaderboards outputParameters: - type: object mapping: $. - path: /v1/users/current/private-leaderboards/{id}/leaders name: users-current-private-leaderboards-id-leaders description: REST surface for /users/current/private_leaderboards/{id}/leaders. operations: - method: GET name: listPrivateLeaderboardLeaders description: List Private Leaderboard Leaders call: wakatime-api-v1-leaderboards.listPrivateLeaderboardLeaders with: id: rest.id outputParameters: - type: object mapping: $. - type: mcp namespace: wakatime-api-v1-leaderboards-mcp port: 9090 transport: http description: MCP adapter for WakaTime API — Leaderboards. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-leaders description: List Leaders hints: destructive: false idempotent: true readOnly: true call: wakatime-api-v1-leaderboards.listLeaders with: language: tools.language country_code: tools.country_code page: tools.page outputParameters: - type: object mapping: $. - name: list-private-leaderboards description: List Private Leaderboards hints: destructive: false idempotent: true readOnly: true call: wakatime-api-v1-leaderboards.listPrivateLeaderboards outputParameters: - type: object mapping: $. - name: list-private-leaderboard-leaders description: List Private Leaderboard Leaders hints: destructive: false idempotent: true readOnly: true call: wakatime-api-v1-leaderboards.listPrivateLeaderboardLeaders with: id: tools.id outputParameters: - type: object mapping: $.