naftiko: 1.0.0-alpha2 info: label: "TVmaze Premium User API \u2014 Followed Webchannels" description: "TVmaze Premium User API \u2014 followed webchannels. 4 operations. Lead operation: List the Followed Webchannels.\ \ Self-contained Naftiko capability covering one TVmaze business surface." tags: - TVmaze - Premium User API - Followed Webchannels created: '2026-05-30' modified: '2026-05-30' binds: - namespace: env keys: TVMAZE_USERNAME: TVMAZE_USERNAME TVMAZE_API_KEY: TVMAZE_API_KEY capability: consumes: - type: http namespace: premium-followed-webchannels baseUri: https://api.tvmaze.com/v1 description: "TVmaze Premium User API \u2014 Followed Webchannels business capability. Self-contained, no shared references." resources: - name: user-follows-webchannels path: /user/follows/webchannels operations: - name: getUserFollowsWebchannels method: GET description: List the Followed Webchannels inputParameters: - name: embed in: query type: string required: false description: Embed full webchannel info outputRawFormat: json outputParameters: - name: result type: object value: $. - name: user-follows-webchannels-webchannel-id path: /user/follows/webchannels/{webchannel_id} operations: - name: deleteUserFollowsWebchannelsWebchannelId method: DELETE description: Unfollow a Webchannel inputParameters: - name: webchannel_id in: path type: integer required: true description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. - name: getUserFollowsWebchannelsWebchannelId method: GET description: Check if a Webchannel is Followed inputParameters: - name: webchannel_id in: path type: integer required: true description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. - name: putUserFollowsWebchannelsWebchannelId method: PUT description: Follow a Webchannel inputParameters: - name: webchannel_id in: path type: integer required: true description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: basic username: '{{env.TVMAZE_USERNAME}}' password: '{{env.TVMAZE_API_KEY}}' exposes: - type: rest namespace: premium-followed-webchannels-rest port: 8080 description: "REST adapter for TVmaze Premium User API \u2014 Followed Webchannels. One Spectral-compliant resource per\ \ consumed operation, prefixed with /v1." resources: - path: /v1/user/follows/webchannels name: user-follows-webchannels description: REST surface for /user/follows/webchannels. operations: - method: GET name: getUserFollowsWebchannels description: List the Followed Webchannels call: premium-followed-webchannels.getUserFollowsWebchannels with: embed: rest.embed outputParameters: - type: object mapping: $. - path: /v1/user/follows/webchannels/{webchannel_id} name: user-follows-webchannels-webchannel-id description: REST surface for /user/follows/webchannels/{webchannel_id}. operations: - method: DELETE name: deleteUserFollowsWebchannelsWebchannelId description: Unfollow a Webchannel call: premium-followed-webchannels.deleteUserFollowsWebchannelsWebchannelId with: webchannel_id: rest.webchannel_id outputParameters: - type: object mapping: $. - path: /v1/user/follows/webchannels/{webchannel_id} name: user-follows-webchannels-webchannel-id description: REST surface for /user/follows/webchannels/{webchannel_id}. operations: - method: GET name: getUserFollowsWebchannelsWebchannelId description: Check if a Webchannel is Followed call: premium-followed-webchannels.getUserFollowsWebchannelsWebchannelId with: webchannel_id: rest.webchannel_id outputParameters: - type: object mapping: $. - path: /v1/user/follows/webchannels/{webchannel_id} name: user-follows-webchannels-webchannel-id description: REST surface for /user/follows/webchannels/{webchannel_id}. operations: - method: PUT name: putUserFollowsWebchannelsWebchannelId description: Follow a Webchannel call: premium-followed-webchannels.putUserFollowsWebchannelsWebchannelId with: webchannel_id: rest.webchannel_id outputParameters: - type: object mapping: $. - type: mcp namespace: premium-followed-webchannels-mcp port: 9090 transport: http description: "MCP adapter for TVmaze Premium User API \u2014 Followed Webchannels. One tool per consumed operation, routed\ \ inline through this capability's consumes block." tools: - name: list-followed-webchannels description: List the Followed Webchannels hints: readOnly: true destructive: false idempotent: true call: premium-followed-webchannels.getUserFollowsWebchannels with: embed: tools.embed outputParameters: - type: object mapping: $. - name: unfollow-webchannel description: Unfollow a Webchannel hints: readOnly: false destructive: true idempotent: true call: premium-followed-webchannels.deleteUserFollowsWebchannelsWebchannelId with: webchannel_id: tools.webchannel_id outputParameters: - type: object mapping: $. - name: check-if-webchannel-is-followed description: Check if a Webchannel is Followed hints: readOnly: true destructive: false idempotent: true call: premium-followed-webchannels.getUserFollowsWebchannelsWebchannelId with: webchannel_id: tools.webchannel_id outputParameters: - type: object mapping: $. - name: follow-webchannel description: Follow a Webchannel hints: readOnly: false destructive: false idempotent: true call: premium-followed-webchannels.putUserFollowsWebchannelsWebchannelId with: webchannel_id: tools.webchannel_id outputParameters: - type: object mapping: $.