naftiko: 1.0.0-alpha2 info: label: YouTube Data API v3 — Comments description: 'YouTube Data API v3 — Comments. 5 operations. Lead operation: Youtube List Comments. Self-contained Naftiko capability covering one Youtube business surface.' tags: - Youtube - Comments created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: YOUTUBE_API_KEY: YOUTUBE_API_KEY capability: consumes: - type: http namespace: data-comments baseUri: https://www.googleapis.com/youtube/v3 description: YouTube Data API v3 — Comments business capability. Self-contained, no shared references. resources: - name: comments path: /comments operations: - name: youtubecommentslist method: GET description: Youtube List Comments outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: query type: string description: Comma-separated list of comment IDs for the resources being retrieved. - name: parentId in: query type: string description: Identifies the comment thread whose comments are being listed. Required unless the id parameter specifies comment IDs directly. - name: textFormat in: query type: string description: Specifies whether the API should return comments formatted as HTML or plain text. - name: youtubecommentsinsert method: POST description: Youtube Create a Comment outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: youtubecommentsupdate method: PUT description: Youtube Update a Comment outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: youtubecommentsdelete method: DELETE description: Youtube Delete a Comment outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: query type: string description: The ID of the comment to delete. required: true - name: comments-setModerationStatus path: /comments/setModerationStatus operations: - name: youtubecommentssetmoderationstatus method: POST description: Youtube Set Comment Moderation Status outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: query type: string description: Comma-separated list of comment IDs to set moderation status for. required: true - name: moderationStatus in: query type: string description: Identifies the new moderation status. Acceptable values are heldForReview, published, and rejected. required: true - name: banAuthor in: query type: boolean description: Set to true to ban the comment author from making future comments on the channel or video. authentication: type: bearer token: '{{env.YOUTUBE_API_KEY}}' exposes: - type: rest namespace: data-comments-rest port: 8080 description: REST adapter for YouTube Data API v3 — Comments. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/comments name: comments description: REST surface for comments. operations: - method: GET name: youtubecommentslist description: Youtube List Comments call: data-comments.youtubecommentslist with: id: rest.id parentId: rest.parentId textFormat: rest.textFormat outputParameters: - type: object mapping: $. - method: POST name: youtubecommentsinsert description: Youtube Create a Comment call: data-comments.youtubecommentsinsert with: body: rest.body outputParameters: - type: object mapping: $. - method: PUT name: youtubecommentsupdate description: Youtube Update a Comment call: data-comments.youtubecommentsupdate with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: youtubecommentsdelete description: Youtube Delete a Comment call: data-comments.youtubecommentsdelete with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/comments/setmoderationstatus name: comments-setmoderationstatus description: REST surface for comments-setModerationStatus. operations: - method: POST name: youtubecommentssetmoderationstatus description: Youtube Set Comment Moderation Status call: data-comments.youtubecommentssetmoderationstatus with: id: rest.id moderationStatus: rest.moderationStatus banAuthor: rest.banAuthor outputParameters: - type: object mapping: $. - type: mcp namespace: data-comments-mcp port: 9090 transport: http description: MCP adapter for YouTube Data API v3 — Comments. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: youtube-list-comments description: Youtube List Comments hints: readOnly: true destructive: false idempotent: true call: data-comments.youtubecommentslist with: id: tools.id parentId: tools.parentId textFormat: tools.textFormat outputParameters: - type: object mapping: $. - name: youtube-create-comment description: Youtube Create a Comment hints: readOnly: false destructive: false idempotent: false call: data-comments.youtubecommentsinsert with: body: tools.body outputParameters: - type: object mapping: $. - name: youtube-update-comment description: Youtube Update a Comment hints: readOnly: false destructive: false idempotent: true call: data-comments.youtubecommentsupdate with: body: tools.body outputParameters: - type: object mapping: $. - name: youtube-delete-comment description: Youtube Delete a Comment hints: readOnly: false destructive: true idempotent: true call: data-comments.youtubecommentsdelete with: id: tools.id outputParameters: - type: object mapping: $. - name: youtube-set-comment-moderation-status description: Youtube Set Comment Moderation Status hints: readOnly: false destructive: false idempotent: false call: data-comments.youtubecommentssetmoderationstatus with: id: tools.id moderationStatus: tools.moderationStatus banAuthor: tools.banAuthor outputParameters: - type: object mapping: $.