naftiko: 1.0.0-alpha2 info: label: StreamYard API — Recordings description: 'StreamYard API — Recordings. 3 operations. Lead operation: List Recordings. Self-contained Naftiko capability covering one Streamyard business surface.' tags: - Streamyard - Recordings created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: STREAMYARD_API_KEY: STREAMYARD_API_KEY capability: consumes: - type: http namespace: streamyard-recordings baseUri: https://api.streamyard.com description: StreamYard API — Recordings business capability. Self-contained, no shared references. resources: - name: recordings path: /recordings operations: - name: listrecordings method: GET description: List Recordings outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: page in: query type: integer description: Page number for pagination - name: perPage in: query type: integer description: Number of recordings per page (max 100) - name: recordings-recordingId path: /recordings/{recordingId} operations: - name: getrecording method: GET description: Get Recording outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: recordingId in: path type: string description: The identifier of the recording required: true - name: deleterecording method: DELETE description: Delete Recording outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: recordingId in: path type: string description: The identifier of the recording required: true authentication: type: bearer token: '{{env.STREAMYARD_API_KEY}}' exposes: - type: rest namespace: streamyard-recordings-rest port: 8080 description: REST adapter for StreamYard API — Recordings. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/recordings name: recordings description: REST surface for recordings. operations: - method: GET name: listrecordings description: List Recordings call: streamyard-recordings.listrecordings with: page: rest.page perPage: rest.perPage outputParameters: - type: object mapping: $. - path: /v1/recordings/{recordingid} name: recordings-recordingid description: REST surface for recordings-recordingId. operations: - method: GET name: getrecording description: Get Recording call: streamyard-recordings.getrecording with: recordingId: rest.recordingId outputParameters: - type: object mapping: $. - method: DELETE name: deleterecording description: Delete Recording call: streamyard-recordings.deleterecording with: recordingId: rest.recordingId outputParameters: - type: object mapping: $. - type: mcp namespace: streamyard-recordings-mcp port: 9090 transport: http description: MCP adapter for StreamYard API — Recordings. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-recordings description: List Recordings hints: readOnly: true destructive: false idempotent: true call: streamyard-recordings.listrecordings with: page: tools.page perPage: tools.perPage outputParameters: - type: object mapping: $. - name: get-recording description: Get Recording hints: readOnly: true destructive: false idempotent: true call: streamyard-recordings.getrecording with: recordingId: tools.recordingId outputParameters: - type: object mapping: $. - name: delete-recording description: Delete Recording hints: readOnly: false destructive: true idempotent: true call: streamyard-recordings.deleterecording with: recordingId: tools.recordingId outputParameters: - type: object mapping: $.