naftiko: 1.0.0-alpha2 info: label: Oura Daily Summaries API — Daily Scores description: 'Oura Daily Summaries API — Daily Scores. 8 operations. Lead operation: Multiple Daily Activity Documents. Self-contained Naftiko capability covering one Oura business surface.' tags: - Oura - Daily - Scores - Health created: '2026-05-25' modified: '2026-05-25' binds: - namespace: env keys: OURA_ACCESS_TOKEN: OURA_ACCESS_TOKEN capability: consumes: - type: http namespace: daily-summaries baseUri: https://api.ouraring.com description: Oura Daily Summaries API — Daily Scores business capability. Self-contained, no shared references. resources: - name: v2-usercollection-daily-activity path: /v2/usercollection/daily_activity operations: - name: multiple-daily-activity-documents-v2-usercollection-daily-activity-get method: GET description: Multiple Daily Activity 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-daily-sleep path: /v2/usercollection/daily_sleep operations: - name: multiple-daily-sleep-documents-v2-usercollection-daily-sleep-get method: GET description: Multiple Daily Sleep 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-daily-readiness path: /v2/usercollection/daily_readiness operations: - name: multiple-daily-readiness-documents-v2-usercollection-daily-readiness-get method: GET description: Multiple Daily Readiness 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-daily-resilience path: /v2/usercollection/daily_resilience operations: - name: multiple-daily-resilience-documents-v2-usercollection-daily-resilience-get method: GET description: Multiple Daily Resilience 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: 'N/A. This route does not support field selection yet, all fields will be returned.' required: false - name: v2-usercollection-daily-stress path: /v2/usercollection/daily_stress operations: - name: multiple-daily-stress-documents-v2-usercollection-daily-stress-get method: GET description: Multiple Daily Stress 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-daily-spo2 path: /v2/usercollection/daily_spo2 operations: - name: multiple-daily-spo2-documents-v2-usercollection-daily-spo2-get method: GET description: Multiple Daily Spo2 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-daily-cardiovascular-age path: /v2/usercollection/daily_cardiovascular_age operations: - name: multiple-daily-cardiovascular-age-documents-v2-usercollection-daily-cardiovascular-age-get method: GET description: Multiple Daily Cardiovascular Age 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-vo2-max path: /v2/usercollection/vO2_max operations: - name: multiple-vo2-max-documents-v2-usercollection-vo2-max-get method: GET description: Multiple Vo2 Max 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: daily-summaries-rest port: 8080 description: REST adapter for Oura Daily Summaries API — Daily Scores. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/v2/usercollection/daily-activity name: v2-usercollection-daily-activity description: REST surface for v2-usercollection-daily-activity. operations: - method: GET name: multiple-daily-activity-documents-v2-usercollection-daily-activity-get description: Multiple Daily Activity Documents call: daily-summaries.multiple-daily-activity-documents-v2-usercollection-daily-activity-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/daily-sleep name: v2-usercollection-daily-sleep description: REST surface for v2-usercollection-daily-sleep. operations: - method: GET name: multiple-daily-sleep-documents-v2-usercollection-daily-sleep-get description: Multiple Daily Sleep Documents call: daily-summaries.multiple-daily-sleep-documents-v2-usercollection-daily-sleep-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/daily-readiness name: v2-usercollection-daily-readiness description: REST surface for v2-usercollection-daily-readiness. operations: - method: GET name: multiple-daily-readiness-documents-v2-usercollection-daily-readiness-get description: Multiple Daily Readiness Documents call: daily-summaries.multiple-daily-readiness-documents-v2-usercollection-daily-readiness-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/daily-resilience name: v2-usercollection-daily-resilience description: REST surface for v2-usercollection-daily-resilience. operations: - method: GET name: multiple-daily-resilience-documents-v2-usercollection-daily-resilience-get description: Multiple Daily Resilience Documents call: daily-summaries.multiple-daily-resilience-documents-v2-usercollection-daily-resilience-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/daily-stress name: v2-usercollection-daily-stress description: REST surface for v2-usercollection-daily-stress. operations: - method: GET name: multiple-daily-stress-documents-v2-usercollection-daily-stress-get description: Multiple Daily Stress Documents call: daily-summaries.multiple-daily-stress-documents-v2-usercollection-daily-stress-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/daily-spo2 name: v2-usercollection-daily-spo2 description: REST surface for v2-usercollection-daily-spo2. operations: - method: GET name: multiple-daily-spo2-documents-v2-usercollection-daily-spo2-get description: Multiple Daily Spo2 Documents call: daily-summaries.multiple-daily-spo2-documents-v2-usercollection-daily-spo2-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/daily-cardiovascular-age name: v2-usercollection-daily-cardiovascular-age description: REST surface for v2-usercollection-daily-cardiovascular-age. operations: - method: GET name: multiple-daily-cardiovascular-age-documents-v2-usercollection-daily-cardiovascular-age-get description: Multiple Daily Cardiovascular Age Documents call: daily-summaries.multiple-daily-cardiovascular-age-documents-v2-usercollection-daily-cardiovascular-age-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/vO2-max name: v2-usercollection-vo2-max description: REST surface for v2-usercollection-vo2-max. operations: - method: GET name: multiple-vo2-max-documents-v2-usercollection-vo2-max-get description: Multiple Vo2 Max Documents call: daily-summaries.multiple-vo2-max-documents-v2-usercollection-vo2-max-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: daily-summaries-mcp port: 9090 transport: http description: MCP adapter for Oura Daily Summaries API — Daily Scores. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: oura-multiple-daily-activity-documents description: Multiple Daily Activity Documents hints: readOnly: true destructive: false idempotent: true call: daily-summaries.multiple-daily-activity-documents-v2-usercollection-daily-activity-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-daily-sleep-documents description: Multiple Daily Sleep Documents hints: readOnly: true destructive: false idempotent: true call: daily-summaries.multiple-daily-sleep-documents-v2-usercollection-daily-sleep-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-daily-readiness-documents description: Multiple Daily Readiness Documents hints: readOnly: true destructive: false idempotent: true call: daily-summaries.multiple-daily-readiness-documents-v2-usercollection-daily-readiness-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-daily-resilience-documents description: Multiple Daily Resilience Documents hints: readOnly: true destructive: false idempotent: true call: daily-summaries.multiple-daily-resilience-documents-v2-usercollection-daily-resilience-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-daily-stress-documents description: Multiple Daily Stress Documents hints: readOnly: true destructive: false idempotent: true call: daily-summaries.multiple-daily-stress-documents-v2-usercollection-daily-stress-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-daily-spo2-documents description: Multiple Daily Spo2 Documents hints: readOnly: true destructive: false idempotent: true call: daily-summaries.multiple-daily-spo2-documents-v2-usercollection-daily-spo2-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-daily-cardiovascular-age-documents description: Multiple Daily Cardiovascular Age Documents hints: readOnly: true destructive: false idempotent: true call: daily-summaries.multiple-daily-cardiovascular-age-documents-v2-usercollection-daily-cardiovascular-age-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-vo2-max-documents description: Multiple Vo2 Max Documents hints: readOnly: true destructive: false idempotent: true call: daily-summaries.multiple-vo2-max-documents-v2-usercollection-vo2-max-get with: start_date: tools.start_date end_date: tools.end_date next_token: tools.next_token fields: tools.fields outputParameters: - type: object mapping: $.