naftiko: 1.0.0-alpha2 info: label: Oura Activity API — Workouts and Sessions description: 'Oura Activity API — Workouts and Sessions. 2 operations. Lead operation: Multiple Workout Documents. Self-contained Naftiko capability covering one Oura business surface.' tags: - Oura - Activity - Workouts - Sessions created: '2026-05-25' modified: '2026-05-25' binds: - namespace: env keys: OURA_ACCESS_TOKEN: OURA_ACCESS_TOKEN capability: consumes: - type: http namespace: activity baseUri: https://api.ouraring.com description: Oura Activity API — Workouts and Sessions business capability. Self-contained, no shared references. resources: - name: v2-usercollection-workout path: /v2/usercollection/workout operations: - name: multiple-workout-documents-v2-usercollection-workout-get method: GET description: Multiple Workout Documents outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: start_date in: query type: string description: 'start_date (query)' required: false - name: end_date in: query type: string description: 'end_date (query)' required: false - name: next_token in: query type: string description: 'next_token (query)' required: false - name: fields in: query type: string description: 'Comma-separated list of fields to include in the response, in addition to the always returned fields. Defaults to all fields if not provided.' required: false - name: v2-usercollection-session path: /v2/usercollection/session operations: - name: multiple-session-documents-v2-usercollection-session-get method: GET description: Multiple Session Documents outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: start_date in: query type: string description: 'start_date (query)' required: false - name: end_date in: query type: string description: 'end_date (query)' required: false - name: next_token in: query type: string description: 'next_token (query)' required: false - name: fields in: query type: string description: 'Comma-separated list of fields to include in the response, in addition to the always returned fields. Defaults to all fields if not provided.' required: false authentication: type: bearer value: '{{env.OURA_ACCESS_TOKEN}}' placement: header exposes: - type: rest namespace: activity-rest port: 8080 description: REST adapter for Oura Activity API — Workouts and Sessions. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/v2/usercollection/workout name: v2-usercollection-workout description: REST surface for v2-usercollection-workout. operations: - method: GET name: multiple-workout-documents-v2-usercollection-workout-get description: Multiple Workout Documents call: activity.multiple-workout-documents-v2-usercollection-workout-get with: start_date: rest.start_date end_date: rest.end_date next_token: rest.next_token fields: rest.fields outputParameters: - type: object mapping: $. - path: /v1/v2/usercollection/session name: v2-usercollection-session description: REST surface for v2-usercollection-session. operations: - method: GET name: multiple-session-documents-v2-usercollection-session-get description: Multiple Session Documents call: activity.multiple-session-documents-v2-usercollection-session-get with: start_date: rest.start_date end_date: rest.end_date next_token: rest.next_token fields: rest.fields outputParameters: - type: object mapping: $. - type: mcp namespace: activity-mcp port: 9090 transport: http description: MCP adapter for Oura Activity API — Workouts and Sessions. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: oura-multiple-workout-documents description: Multiple Workout Documents hints: readOnly: true destructive: false idempotent: true call: activity.multiple-workout-documents-v2-usercollection-workout-get with: start_date: tools.start_date end_date: tools.end_date next_token: tools.next_token fields: tools.fields outputParameters: - type: object mapping: $. - name: oura-multiple-session-documents description: Multiple Session Documents hints: readOnly: true destructive: false idempotent: true call: activity.multiple-session-documents-v2-usercollection-session-get with: start_date: tools.start_date end_date: tools.end_date next_token: tools.next_token fields: tools.fields outputParameters: - type: object mapping: $.