naftiko: 1.0.0-alpha2 info: label: Riverside Business API — Recordings description: 'Riverside Business API — Recordings. 5 operations. Lead operation: Get Recording. Self-contained Naftiko capability covering one Riverside business surface.' tags: - Riverside - Recordings created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: RIVERSIDE_API_KEY: RIVERSIDE_API_KEY capability: consumes: - type: http namespace: business-recordings baseUri: https://platform.riverside.fm description: Riverside Business API — Recordings business capability. Self-contained, no shared references. resources: - name: api-v1-recordings-recording_id path: /api/v1/recordings/{recording_id} operations: - name: getrecording method: GET description: Get Recording outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: recording_id in: path type: string description: The recording ID (obtainable via "Copy Recording ID" in the recording menu) required: true - name: deleterecording method: DELETE description: Delete Recording outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: recording_id in: path type: string description: The recording ID to delete required: true - name: api-v1-recordings-recording_id-files-file_id-download path: /api/v1/recordings/{recording_id}/files/{file_id}/download operations: - name: downloadfile method: GET description: Download File outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: recording_id in: path type: string description: The recording ID required: true - name: file_id in: path type: string description: The file ID to download required: true - name: api-v1-recordings-recording_id-transcription-download path: /api/v1/recordings/{recording_id}/transcription/download operations: - name: downloadtranscriptionfile method: GET description: Download Transcription File outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: recording_id in: path type: string description: The recording ID required: true - name: format in: query type: string description: Transcription file format - name: api-v2-recordings path: /api/v2/recordings operations: - name: listallrecordings method: GET description: List All Recordings outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: studioId in: query type: string description: Filter recordings by studio ID - name: projectId in: query type: string description: Filter recordings by project ID - name: start_date in: query type: string description: Filter recordings created on or after this date (YYYY-MM-DD) - name: end_date in: query type: string description: Filter recordings created on or before this date (YYYY-MM-DD) - name: page in: query type: integer description: Page number for pagination (defaults to 0) authentication: type: bearer token: '{{env.RIVERSIDE_API_KEY}}' exposes: - type: rest namespace: business-recordings-rest port: 8080 description: REST adapter for Riverside Business API — Recordings. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/api/v1/recordings/{recording-id} name: api-v1-recordings-recording-id description: REST surface for api-v1-recordings-recording_id. operations: - method: GET name: getrecording description: Get Recording call: business-recordings.getrecording with: recording_id: rest.recording_id outputParameters: - type: object mapping: $. - method: DELETE name: deleterecording description: Delete Recording call: business-recordings.deleterecording with: recording_id: rest.recording_id outputParameters: - type: object mapping: $. - path: /v1/api/v1/recordings/{recording-id}/files/{file-id}/download name: api-v1-recordings-recording-id-files-file-id-download description: REST surface for api-v1-recordings-recording_id-files-file_id-download. operations: - method: GET name: downloadfile description: Download File call: business-recordings.downloadfile with: recording_id: rest.recording_id file_id: rest.file_id outputParameters: - type: object mapping: $. - path: /v1/api/v1/recordings/{recording-id}/transcription/download name: api-v1-recordings-recording-id-transcription-download description: REST surface for api-v1-recordings-recording_id-transcription-download. operations: - method: GET name: downloadtranscriptionfile description: Download Transcription File call: business-recordings.downloadtranscriptionfile with: recording_id: rest.recording_id format: rest.format outputParameters: - type: object mapping: $. - path: /v1/api/v2/recordings name: api-v2-recordings description: REST surface for api-v2-recordings. operations: - method: GET name: listallrecordings description: List All Recordings call: business-recordings.listallrecordings with: studioId: rest.studioId projectId: rest.projectId start_date: rest.start_date end_date: rest.end_date page: rest.page outputParameters: - type: object mapping: $. - type: mcp namespace: business-recordings-mcp port: 9090 transport: http description: MCP adapter for Riverside Business API — Recordings. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: get-recording description: Get Recording hints: readOnly: true destructive: false idempotent: true call: business-recordings.getrecording with: recording_id: tools.recording_id outputParameters: - type: object mapping: $. - name: delete-recording description: Delete Recording hints: readOnly: false destructive: true idempotent: true call: business-recordings.deleterecording with: recording_id: tools.recording_id outputParameters: - type: object mapping: $. - name: download-file description: Download File hints: readOnly: true destructive: false idempotent: true call: business-recordings.downloadfile with: recording_id: tools.recording_id file_id: tools.file_id outputParameters: - type: object mapping: $. - name: download-transcription-file description: Download Transcription File hints: readOnly: true destructive: false idempotent: true call: business-recordings.downloadtranscriptionfile with: recording_id: tools.recording_id format: tools.format outputParameters: - type: object mapping: $. - name: list-all-recordings description: List All Recordings hints: readOnly: true destructive: false idempotent: true call: business-recordings.listallrecordings with: studioId: tools.studioId projectId: tools.projectId start_date: tools.start_date end_date: tools.end_date page: tools.page outputParameters: - type: object mapping: $.