Riverside · Capability

Riverside Business API — Recordings

Riverside Business API — Recordings. 5 operations. Lead operation: Get Recording. Self-contained Naftiko capability covering one Riverside business surface.

Run with Naftiko RiversideRecordings

What You Can Do

GET
Getrecording — Get Recording
/v1/api/v1/recordings/{recording-id}
DELETE
Deleterecording — Delete Recording
/v1/api/v1/recordings/{recording-id}
GET
Downloadfile — Download File
/v1/api/v1/recordings/{recording-id}/files/{file-id}/download
GET
Downloadtranscriptionfile — Download Transcription File
/v1/api/v1/recordings/{recording-id}/transcription/download
GET
Listallrecordings — List All Recordings
/v1/api/v2/recordings

MCP Tools

get-recording

Get Recording

read-only idempotent
delete-recording

Delete Recording

idempotent
download-file

Download File

read-only idempotent
download-transcription-file

Download Transcription File

read-only idempotent
list-all-recordings

List All Recordings

read-only idempotent

Capability Spec

business-recordings.yaml Raw ↑
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: $.