naftiko: 1.0.0-alpha2 info: label: "TVmaze Premium User API \u2014 Auth" description: "TVmaze Premium User API \u2014 auth. 3 operations. Lead operation: Poll Whether an Authentication Request\ \ Was Confirmed. Self-contained Naftiko capability covering one TVmaze business surface." tags: - TVmaze - Premium User API - Auth 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-auth baseUri: https://api.tvmaze.com/v1 description: "TVmaze Premium User API \u2014 Auth business capability. Self-contained, no shared references." resources: - name: auth-poll path: /auth/poll operations: - name: postAuthPoll method: POST description: Poll Whether an Authentication Request Was Confirmed inputParameters: - name: body in: body type: object required: true description: Request body payload. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: auth-start path: /auth/start operations: - name: postAuthStart method: POST description: Start an Authentication Request inputParameters: - name: body in: body type: object required: true description: Request body payload. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: auth-validate path: /auth/validate operations: - name: getAuthValidate method: GET description: Validate Your Authentication Credentials inputParameters: [] 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-auth-rest port: 8080 description: "REST adapter for TVmaze Premium User API \u2014 Auth. One Spectral-compliant resource per consumed operation,\ \ prefixed with /v1." resources: - path: /v1/auth/poll name: auth-poll description: REST surface for /auth/poll. operations: - method: POST name: postAuthPoll description: Poll Whether an Authentication Request Was Confirmed call: premium-auth.postAuthPoll with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/auth/start name: auth-start description: REST surface for /auth/start. operations: - method: POST name: postAuthStart description: Start an Authentication Request call: premium-auth.postAuthStart with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/auth/validate name: auth-validate description: REST surface for /auth/validate. operations: - method: GET name: getAuthValidate description: Validate Your Authentication Credentials call: premium-auth.getAuthValidate outputParameters: - type: object mapping: $. - type: mcp namespace: premium-auth-mcp port: 9090 transport: http description: "MCP adapter for TVmaze Premium User API \u2014 Auth. One tool per consumed operation, routed inline through\ \ this capability's consumes block." tools: - name: poll-whether-authentication-request-was description: Poll Whether an Authentication Request Was Confirmed hints: readOnly: true destructive: false idempotent: false call: premium-auth.postAuthPoll with: body: tools.body outputParameters: - type: object mapping: $. - name: start-authentication-request description: Start an Authentication Request hints: readOnly: false destructive: false idempotent: false call: premium-auth.postAuthStart with: body: tools.body outputParameters: - type: object mapping: $. - name: validate-your-authentication-credentials description: Validate Your Authentication Credentials hints: readOnly: true destructive: false idempotent: true call: premium-auth.getAuthValidate outputParameters: - type: object mapping: $.