naftiko: 1.0.0-alpha2 info: label: "TVmaze Premium User API \u2014 Followed People" description: "TVmaze Premium User API \u2014 followed people. 4 operations. Lead operation: List the Followed People. Self-contained\ \ Naftiko capability covering one TVmaze business surface." tags: - TVmaze - Premium User API - Followed People 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-people baseUri: https://api.tvmaze.com/v1 description: "TVmaze Premium User API \u2014 Followed People business capability. Self-contained, no shared references." resources: - name: user-follows-people path: /user/follows/people operations: - name: getUserFollowsPeople method: GET description: List the Followed People inputParameters: - name: embed in: query type: string required: false description: Embed full person info outputRawFormat: json outputParameters: - name: result type: object value: $. - name: user-follows-people-person-id path: /user/follows/people/{person_id} operations: - name: deleteUserFollowsPeoplePersonId method: DELETE description: Unfollow a Person inputParameters: - name: person_id in: path type: integer required: true description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. - name: getUserFollowsPeoplePersonId method: GET description: Check if a Person is Followed inputParameters: - name: person_id in: path type: integer required: true description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. - name: putUserFollowsPeoplePersonId method: PUT description: Follow a Person inputParameters: - name: person_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-people-rest port: 8080 description: "REST adapter for TVmaze Premium User API \u2014 Followed People. One Spectral-compliant resource per consumed\ \ operation, prefixed with /v1." resources: - path: /v1/user/follows/people name: user-follows-people description: REST surface for /user/follows/people. operations: - method: GET name: getUserFollowsPeople description: List the Followed People call: premium-followed-people.getUserFollowsPeople with: embed: rest.embed outputParameters: - type: object mapping: $. - path: /v1/user/follows/people/{person_id} name: user-follows-people-person-id description: REST surface for /user/follows/people/{person_id}. operations: - method: DELETE name: deleteUserFollowsPeoplePersonId description: Unfollow a Person call: premium-followed-people.deleteUserFollowsPeoplePersonId with: person_id: rest.person_id outputParameters: - type: object mapping: $. - path: /v1/user/follows/people/{person_id} name: user-follows-people-person-id description: REST surface for /user/follows/people/{person_id}. operations: - method: GET name: getUserFollowsPeoplePersonId description: Check if a Person is Followed call: premium-followed-people.getUserFollowsPeoplePersonId with: person_id: rest.person_id outputParameters: - type: object mapping: $. - path: /v1/user/follows/people/{person_id} name: user-follows-people-person-id description: REST surface for /user/follows/people/{person_id}. operations: - method: PUT name: putUserFollowsPeoplePersonId description: Follow a Person call: premium-followed-people.putUserFollowsPeoplePersonId with: person_id: rest.person_id outputParameters: - type: object mapping: $. - type: mcp namespace: premium-followed-people-mcp port: 9090 transport: http description: "MCP adapter for TVmaze Premium User API \u2014 Followed People. One tool per consumed operation, routed\ \ inline through this capability's consumes block." tools: - name: list-followed-people description: List the Followed People hints: readOnly: true destructive: false idempotent: true call: premium-followed-people.getUserFollowsPeople with: embed: tools.embed outputParameters: - type: object mapping: $. - name: unfollow-person description: Unfollow a Person hints: readOnly: false destructive: true idempotent: true call: premium-followed-people.deleteUserFollowsPeoplePersonId with: person_id: tools.person_id outputParameters: - type: object mapping: $. - name: check-if-person-is-followed description: Check if a Person is Followed hints: readOnly: true destructive: false idempotent: true call: premium-followed-people.getUserFollowsPeoplePersonId with: person_id: tools.person_id outputParameters: - type: object mapping: $. - name: follow-person description: Follow a Person hints: readOnly: false destructive: false idempotent: true call: premium-followed-people.putUserFollowsPeoplePersonId with: person_id: tools.person_id outputParameters: - type: object mapping: $.