naftiko: 1.0.0-alpha2 info: label: 7digital / MassiveMusic Streaming Platform API — Streaming description: '7digital / MassiveMusic Streaming Platform API — Streaming. 9 operations. Lead operation: 7digital Stream Preview Clip. Self-contained Naftiko capability covering one 7digital / MassiveMusic business surface.' tags: - 7digital / MassiveMusic - Music - Streaming created: '2026-05-28' modified: '2026-05-28' binds: - namespace: env keys: SEVENDIGITAL_CONSUMER_KEY: SEVENDIGITAL_CONSUMER_KEY SEVENDIGITAL_CONSUMER_SECRET: SEVENDIGITAL_CONSUMER_SECRET capability: consumes: - type: http namespace: streaming-platform-streaming baseUri: https://api.7digital.com description: 7digital / MassiveMusic Streaming Platform API — Streaming business capability. Self-contained, no shared references. authentication: type: apikey key: oauth_consumer_key value: '{{env.SEVENDIGITAL_CONSUMER_KEY}}' placement: query resources: - name: streaming-preview-trackid path: /streaming/preview/{trackId} operations: - name: streamPreviewClip method: GET description: 7digital Stream Preview Clip inputParameters: - name: trackId in: path type: string required: true description: 7digital track id. - name: format in: query type: string required: false description: Audio format for the stream. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: streaming-catalogue-trackid-hls path: /streaming/catalogue/{trackId}/hls operations: - name: streamCatalogueTrackHls method: GET description: 7digital Stream Catalogue Track Hls inputParameters: - name: trackId in: path type: string required: true description: 7digital track id. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: streaming-catalogue-trackid-progressive path: /streaming/catalogue/{trackId}/progressive operations: - name: streamCatalogueTrackProgressive method: GET description: 7digital Stream Catalogue Track Progressive inputParameters: - name: trackId in: path type: string required: true description: 7digital track id. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: streaming-locker-trackid-hls path: /streaming/locker/{trackId}/hls operations: - name: streamLockerTrackHls method: GET description: 7digital Stream Locker Track Hls inputParameters: - name: trackId in: path type: string required: true description: 7digital track id. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: streaming-locker-trackid-progressive path: /streaming/locker/{trackId}/progressive operations: - name: streamLockerTrackProgressive method: GET description: 7digital Stream Locker Track Progressive inputParameters: - name: trackId in: path type: string required: true description: 7digital track id. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: streaming-subscription-trackid-hls path: /streaming/subscription/{trackId}/hls operations: - name: streamSubscriptionTrackHls method: GET description: 7digital Stream Subscription Track Hls inputParameters: - name: trackId in: path type: string required: true description: 7digital track id. - name: clientId in: query type: string required: false description: Identifier of the device requesting playback (used for concurrency control). outputRawFormat: json outputParameters: - name: result type: object value: $. - name: streaming-subscription-trackid-progressive path: /streaming/subscription/{trackId}/progressive operations: - name: streamSubscriptionTrackProgressive method: GET description: 7digital Stream Subscription Track Progressive inputParameters: - name: trackId in: path type: string required: true description: 7digital track id. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: streaming-subscription-trackid-offline-hls path: /streaming/subscription/{trackId}/offline/hls operations: - name: streamSubscriptionTrackOfflineHls method: GET description: 7digital Stream Subscription Track Offline Hls inputParameters: - name: trackId in: path type: string required: true description: 7digital track id. outputRawFormat: json outputParameters: - name: result type: object value: $. - name: streaming-subscription-trackid-offline-progressive path: /streaming/subscription/{trackId}/offline/progressive operations: - name: streamSubscriptionTrackOfflineProgressive method: GET description: 7digital Stream Subscription Track Offline Progressive inputParameters: - name: trackId in: path type: string required: true description: 7digital track id. outputRawFormat: json outputParameters: - name: result type: object value: $. exposes: - type: rest namespace: streaming-platform-streaming-rest port: 8080 description: REST adapter for 7digital / MassiveMusic Streaming Platform API — Streaming. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/streaming/preview/{track-id} name: streaming-preview-track-id description: REST surface for streaming-preview-track-id. operations: - method: GET name: streamPreviewClip description: 7digital Stream Preview Clip call: streaming-platform-streaming.streamPreviewClip with: trackId: rest.trackId format: rest.format outputParameters: - type: object mapping: $. - path: /v1/streaming/catalogue/{track-id}/hls name: streaming-catalogue-track-id-hls description: REST surface for streaming-catalogue-track-id-hls. operations: - method: GET name: streamCatalogueTrackHls description: 7digital Stream Catalogue Track Hls call: streaming-platform-streaming.streamCatalogueTrackHls with: trackId: rest.trackId outputParameters: - type: object mapping: $. - path: /v1/streaming/catalogue/{track-id}/progressive name: streaming-catalogue-track-id-progressive description: REST surface for streaming-catalogue-track-id-progressive. operations: - method: GET name: streamCatalogueTrackProgressive description: 7digital Stream Catalogue Track Progressive call: streaming-platform-streaming.streamCatalogueTrackProgressive with: trackId: rest.trackId outputParameters: - type: object mapping: $. - path: /v1/streaming/locker/{track-id}/hls name: streaming-locker-track-id-hls description: REST surface for streaming-locker-track-id-hls. operations: - method: GET name: streamLockerTrackHls description: 7digital Stream Locker Track Hls call: streaming-platform-streaming.streamLockerTrackHls with: trackId: rest.trackId outputParameters: - type: object mapping: $. - path: /v1/streaming/locker/{track-id}/progressive name: streaming-locker-track-id-progressive description: REST surface for streaming-locker-track-id-progressive. operations: - method: GET name: streamLockerTrackProgressive description: 7digital Stream Locker Track Progressive call: streaming-platform-streaming.streamLockerTrackProgressive with: trackId: rest.trackId outputParameters: - type: object mapping: $. - path: /v1/streaming/subscription/{track-id}/hls name: streaming-subscription-track-id-hls description: REST surface for streaming-subscription-track-id-hls. operations: - method: GET name: streamSubscriptionTrackHls description: 7digital Stream Subscription Track Hls call: streaming-platform-streaming.streamSubscriptionTrackHls with: trackId: rest.trackId clientId: rest.clientId outputParameters: - type: object mapping: $. - path: /v1/streaming/subscription/{track-id}/progressive name: streaming-subscription-track-id-progressive description: REST surface for streaming-subscription-track-id-progressive. operations: - method: GET name: streamSubscriptionTrackProgressive description: 7digital Stream Subscription Track Progressive call: streaming-platform-streaming.streamSubscriptionTrackProgressive with: trackId: rest.trackId outputParameters: - type: object mapping: $. - path: /v1/streaming/subscription/{track-id}/offline/hls name: streaming-subscription-track-id-offline-hls description: REST surface for streaming-subscription-track-id-offline-hls. operations: - method: GET name: streamSubscriptionTrackOfflineHls description: 7digital Stream Subscription Track Offline Hls call: streaming-platform-streaming.streamSubscriptionTrackOfflineHls with: trackId: rest.trackId outputParameters: - type: object mapping: $. - path: /v1/streaming/subscription/{track-id}/offline/progressive name: streaming-subscription-track-id-offline-progressive description: REST surface for streaming-subscription-track-id-offline-progressive. operations: - method: GET name: streamSubscriptionTrackOfflineProgressive description: 7digital Stream Subscription Track Offline Progressive call: streaming-platform-streaming.streamSubscriptionTrackOfflineProgressive with: trackId: rest.trackId outputParameters: - type: object mapping: $. - type: mcp namespace: streaming-platform-streaming-mcp port: 9090 transport: http description: MCP adapter for 7digital / MassiveMusic Streaming Platform API — Streaming. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: stream-preview-clip description: 7digital Stream Preview Clip hints: readOnly: true destructive: false idempotent: true call: streaming-platform-streaming.streamPreviewClip with: trackId: tools.trackId format: tools.format outputParameters: - type: object mapping: $. - name: stream-catalogue-track-hls description: 7digital Stream Catalogue Track Hls hints: readOnly: true destructive: false idempotent: true call: streaming-platform-streaming.streamCatalogueTrackHls with: trackId: tools.trackId outputParameters: - type: object mapping: $. - name: stream-catalogue-track-progressive description: 7digital Stream Catalogue Track Progressive hints: readOnly: true destructive: false idempotent: true call: streaming-platform-streaming.streamCatalogueTrackProgressive with: trackId: tools.trackId outputParameters: - type: object mapping: $. - name: stream-locker-track-hls description: 7digital Stream Locker Track Hls hints: readOnly: true destructive: false idempotent: true call: streaming-platform-streaming.streamLockerTrackHls with: trackId: tools.trackId outputParameters: - type: object mapping: $. - name: stream-locker-track-progressive description: 7digital Stream Locker Track Progressive hints: readOnly: true destructive: false idempotent: true call: streaming-platform-streaming.streamLockerTrackProgressive with: trackId: tools.trackId outputParameters: - type: object mapping: $. - name: stream-subscription-track-hls description: 7digital Stream Subscription Track Hls hints: readOnly: true destructive: false idempotent: true call: streaming-platform-streaming.streamSubscriptionTrackHls with: trackId: tools.trackId clientId: tools.clientId outputParameters: - type: object mapping: $. - name: stream-subscription-track-progressive description: 7digital Stream Subscription Track Progressive hints: readOnly: true destructive: false idempotent: true call: streaming-platform-streaming.streamSubscriptionTrackProgressive with: trackId: tools.trackId outputParameters: - type: object mapping: $. - name: stream-subscription-track-offline-hls description: 7digital Stream Subscription Track Offline Hls hints: readOnly: true destructive: false idempotent: true call: streaming-platform-streaming.streamSubscriptionTrackOfflineHls with: trackId: tools.trackId outputParameters: - type: object mapping: $. - name: stream-subscription-track-offline-progressive description: 7digital Stream Subscription Track Offline Progressive hints: readOnly: true destructive: false idempotent: true call: streaming-platform-streaming.streamSubscriptionTrackOfflineProgressive with: trackId: tools.trackId outputParameters: - type: object mapping: $.