naftiko: 1.0.0-alpha2 info: label: Reddit Data API — Account description: 'Reddit Data API — Account. 8 operations. Lead operation: Get Current User Identity. Self-contained Naftiko capability covering one Reddit business surface.' tags: - Reddit - Account created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: REDDIT_API_KEY: REDDIT_API_KEY capability: consumes: - type: http namespace: data-account baseUri: https://oauth.reddit.com description: Reddit Data API — Account business capability. Self-contained, no shared references. resources: - name: api-v1-me path: /api/v1/me operations: - name: getme method: GET description: Get Current User Identity outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-v1-me-blocked path: /api/v1/me/blocked operations: - name: getmyblocked method: GET description: Get Blocked Users List outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-v1-me-friends path: /api/v1/me/friends operations: - name: getmyfriends method: GET description: Get Friends List outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-v1-me-karma path: /api/v1/me/karma operations: - name: getmykarma method: GET description: Get Karma Breakdown by Subreddit outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-v1-me-prefs path: /api/v1/me/prefs operations: - name: getmyprefs method: GET description: Get User Preferences outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updatemyprefs method: PATCH description: Update User Preferences outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-v1-me-trophies path: /api/v1/me/trophies operations: - name: getmytrophies method: GET description: Get Current User Trophies outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-v1-scopes path: /api/v1/scopes operations: - name: getscopes method: GET description: Get Available Oauth Scopes outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: bearer token: '{{env.REDDIT_API_KEY}}' exposes: - type: rest namespace: data-account-rest port: 8080 description: REST adapter for Reddit Data API — Account. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/api/v1/me name: api-v1-me description: REST surface for api-v1-me. operations: - method: GET name: getme description: Get Current User Identity call: data-account.getme outputParameters: - type: object mapping: $. - path: /v1/api/v1/me/blocked name: api-v1-me-blocked description: REST surface for api-v1-me-blocked. operations: - method: GET name: getmyblocked description: Get Blocked Users List call: data-account.getmyblocked outputParameters: - type: object mapping: $. - path: /v1/api/v1/me/friends name: api-v1-me-friends description: REST surface for api-v1-me-friends. operations: - method: GET name: getmyfriends description: Get Friends List call: data-account.getmyfriends outputParameters: - type: object mapping: $. - path: /v1/api/v1/me/karma name: api-v1-me-karma description: REST surface for api-v1-me-karma. operations: - method: GET name: getmykarma description: Get Karma Breakdown by Subreddit call: data-account.getmykarma outputParameters: - type: object mapping: $. - path: /v1/api/v1/me/prefs name: api-v1-me-prefs description: REST surface for api-v1-me-prefs. operations: - method: GET name: getmyprefs description: Get User Preferences call: data-account.getmyprefs outputParameters: - type: object mapping: $. - method: PATCH name: updatemyprefs description: Update User Preferences call: data-account.updatemyprefs with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/v1/me/trophies name: api-v1-me-trophies description: REST surface for api-v1-me-trophies. operations: - method: GET name: getmytrophies description: Get Current User Trophies call: data-account.getmytrophies outputParameters: - type: object mapping: $. - path: /v1/api/v1/scopes name: api-v1-scopes description: REST surface for api-v1-scopes. operations: - method: GET name: getscopes description: Get Available Oauth Scopes call: data-account.getscopes outputParameters: - type: object mapping: $. - type: mcp namespace: data-account-mcp port: 9090 transport: http description: MCP adapter for Reddit Data API — Account. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: get-current-user-identity description: Get Current User Identity hints: readOnly: true destructive: false idempotent: true call: data-account.getme outputParameters: - type: object mapping: $. - name: get-blocked-users-list description: Get Blocked Users List hints: readOnly: true destructive: false idempotent: true call: data-account.getmyblocked outputParameters: - type: object mapping: $. - name: get-friends-list description: Get Friends List hints: readOnly: true destructive: false idempotent: true call: data-account.getmyfriends outputParameters: - type: object mapping: $. - name: get-karma-breakdown-subreddit description: Get Karma Breakdown by Subreddit hints: readOnly: true destructive: false idempotent: true call: data-account.getmykarma outputParameters: - type: object mapping: $. - name: get-user-preferences description: Get User Preferences hints: readOnly: true destructive: false idempotent: true call: data-account.getmyprefs outputParameters: - type: object mapping: $. - name: update-user-preferences description: Update User Preferences hints: readOnly: false destructive: false idempotent: true call: data-account.updatemyprefs with: body: tools.body outputParameters: - type: object mapping: $. - name: get-current-user-trophies description: Get Current User Trophies hints: readOnly: true destructive: false idempotent: true call: data-account.getmytrophies outputParameters: - type: object mapping: $. - name: get-available-oauth-scopes description: Get Available Oauth Scopes hints: readOnly: true destructive: false idempotent: true call: data-account.getscopes outputParameters: - type: object mapping: $.