> ## Documentation Index
> Fetch the complete documentation index at: https://docs.worthai.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Reviews

> Retrieves 'Business Reviews' for a given business identifier from multiple sources across several review platforms.

Prior to utilizing this service, one must first obtain a businessID by creating a business via the [Add business](https://docs.worthai.com/api-reference/add-or-update-business/add-business) service. For more details on using these endpoints, please reference the [Getting Started](https://docs.worthai.com/getting-started/overview) guide.



## OpenAPI

````yaml get /facts/business/{businessId}/reviews
openapi: 3.1.0
info:
  title: Integration Service
  description: >-
    This service is responsible for all integrations and contains all
    integration information about the business.
  contact: {}
  version: '1.0'
servers:
  - url: https://api.joinworth.com/integration/api/v1
    variables: {}
  - url: http://localhost:3005/api/v1/accounting/taxStatus
    variables: {}
  - url: http://example.com
    variables: {}
  - url: http://localhost:3000/api/v1
    variables: {}
security: []
tags:
  - name: Banking
  - name: Financials
  - name: Accounting
  - name: Public Records
  - name: manual-filing
  - name: Taxation
  - name: OpenCorporates
  - name: ZoomInfo
  - name: Verification
  - name: Verification
  - name: FAQ Chatbot
  - name: Applicants
  - name: Extract Document Details
  - name: Charts / Stats
  - name: Credit Bureau (Equifax)
  - name: Insights
    description: >-
      AI Insights Assistant that can help generate an insights report.
      Additionally users can converse with a chatbot about their report.
  - name: Risk Alerts
  - name: Queue Management
  - name: Data Scrape
  - name: White Label
  - name: File Executions
  - name: Files
  - name: OCR
  - name: Customer Integration Settings
  - name: Facts
    description: >-
      Facts provide a common interface to pick the most authoritative values for
      attribues that may be sourced from different sources.


      E.g.: Which address do we surface as the primary address for a business?
      Determine that by collecting all addresses we have and returning the
      address with the highest degree of confidence.
  - name: Adverse Media
  - name: Misc
    description: ''
paths:
  /facts/business/{businessId}/reviews:
    parameters: []
    get:
      tags:
        - Facts
      summary: Reviews
      description: >-
        Retrieves 'Business Reviews' for a given business identifier from
        multiple sources across several review platforms.


        Prior to utilizing this service, one must first obtain a businessID by
        creating a business via the [Add
        business](https://docs.worthai.com/api-reference/add-or-update-business/add-business)
        service. For more details on using these endpoints, please reference the
        [Getting Started](https://docs.worthai.com/getting-started/overview)
        guide.
      operationId: Reviews
      parameters:
        - name: businessId
          in: path
          description: A universal identifier string unique to a particular business.
          required: true
          style: simple
          schema:
            type: string
            examples:
              - ac4d4ebc-8bb9-4927-8fd5-6ea677afeed2
      responses:
        '200':
          description: OK
          headers:
            Date:
              content:
                text/plain:
                  schema:
                    type: string
                    contentMediaType: text/plain
                  example: Mon, 25 Nov 2024 13:43:37 GMT
            Content-Length:
              content:
                text/plain:
                  schema:
                    type: string
                    contentMediaType: text/plain
                  example: '164'
            Connection:
              content:
                text/plain:
                  schema:
                    type: string
                    contentMediaType: text/plain
                  example: keep-alive
            Content-Security-Policy:
              content:
                text/plain:
                  schema:
                    type: string
                    contentMediaType: text/plain
                  example: >-
                    default-src 'self';base-uri 'self';font-src 'self' https:
                    data:;form-action 'self';frame-ancestors 'self';img-src
                    'self' data:;object-src 'none';script-src
                    'self';script-src-attr 'none';style-src 'self' https:
                    'unsafe-inline';upgrade-insecure-requests
            Cross-Origin-Opener-Policy:
              content:
                text/plain:
                  schema:
                    type: string
                    contentMediaType: text/plain
                  example: same-origin
            Cross-Origin-Resource-Policy:
              content:
                text/plain:
                  schema:
                    type: string
                    contentMediaType: text/plain
                  example: same-origin
            Origin-Agent-Cluster:
              content:
                text/plain:
                  schema:
                    type: string
                    contentMediaType: text/plain
                  example: '?1'
            Referrer-Policy:
              content:
                text/plain:
                  schema:
                    type: string
                    contentMediaType: text/plain
                  example: no-referrer
            Strict-Transport-Security:
              content:
                text/plain:
                  schema:
                    type: string
                    contentMediaType: text/plain
                  example: max-age=15552000; includeSubDomains
            X-Content-Type-Options:
              content:
                text/plain:
                  schema:
                    type: string
                    contentMediaType: text/plain
                  example: nosniff
            X-DNS-Prefetch-Control:
              content:
                text/plain:
                  schema:
                    type: string
                    contentMediaType: text/plain
                  example: 'off'
            X-Download-Options:
              content:
                text/plain:
                  schema:
                    type: string
                    contentMediaType: text/plain
                  example: noopen
            X-Frame-Options:
              content:
                text/plain:
                  schema:
                    type: string
                    contentMediaType: text/plain
                  example: SAMEORIGIN
            X-Permitted-Cross-Domain-Policies:
              content:
                text/plain:
                  schema:
                    type: string
                    contentMediaType: text/plain
                  example: none
            X-XSS-Protection:
              content:
                text/plain:
                  schema:
                    type: string
                    contentMediaType: text/plain
                  example: '0'
            Vary:
              content:
                text/plain:
                  schema:
                    type: string
                    contentMediaType: text/plain
                  example: Origin
            Access-Control-Allow-Credentials:
              content:
                text/plain:
                  schema:
                    type: string
                    contentMediaType: text/plain
                  example: 'true'
            ETag:
              content:
                text/plain:
                  schema:
                    type: string
                    contentMediaType: text/plain
                  example: W/"a4-m6LvGkwNlagRAlfF0tQs324bzS4"
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/Reviews'
                contentMediaType: application/json; charset=utf-8
      deprecated: false
      security:
        - bearer: []
      servers:
        - url: https://api.joinworth.com/integration/api/v1
          variables: {}
components:
  schemas:
    Reviews:
      title: Reviews
      type: object
      properties:
        status:
          type: string
          description: Indicates whether the request succeeded or failed.
          enum:
            - success
            - fail
        message:
          type: string
          description: Descriptive message about the result of the operation.
          example: Business reviews fetched successfully
        data:
          $ref: '#/components/schemas/ReviewsData'
      examples:
        - status: success
          message: Business reviews fetched successfully
          data:
            angi_review_count:
              name: angi_review_count
              value: 1000
              schema: null
              source:
                confidence: null
                platformId: 4
              override: null
              source.confidence: null
              source.platformId: 4
              alternatives: []
            angi_review_rating:
              name: angi_review_rating
              value: 4
              schema: null
              source: null
              override: null
              alternatives: []
            bbb_review_count:
              name: bbb_review_count
              value: 900
              schema: null
              source:
                confidence: null
                platformId: 4
              override: null
              source.confidence: null
              source.platformId: 4
              alternatives: []
            bbb_review_rating:
              name: bbb_review_rating
              value: 3
              schema: null
              source: null
              override: null
              alternatives: []
            count_of_answers_resolved_all_time:
              name: count_of_answers_resolved_all_time
              value: 300
              schema: null
              source: null
              override: null
              alternatives: []
            count_of_complaints_alert_words_all_time:
              name: count_of_complaints_alert_words_all_time
              value: 200
              schema: null
              source: null
              override: null
              alternatives: []
            count_of_complaints_all_time:
              name: count_of_complaints_all_time
              value: null
              schema: null
              source: null
              override: null
              alternatives: []
            count_of_other_resolved_all_time:
              name: count_of_other_resolved_all_time
              value: 250
              schema: null
              source: null
              override: null
              alternatives: []
            count_of_resolved_resolved_all_time:
              name: count_of_resolved_resolved_all_time
              value: 100
              schema: null
              source: null
              override: null
              alternatives: []
            count_of_total_reviewers_all_time:
              name: count_of_total_reviewers_all_time
              value: 1699
              schema: null
              source:
                confidence: 0
                platformId: 4
                updatedAt: '2025-10-13T16:21:11.182Z'
              override: null
              source.confidence: 0
              source.platformId: 4
              alternatives: []
            count_of_unresolved_resolved_all_time:
              name: count_of_unresolved_resolved_all_time
              value: 300
              schema: null
              source: null
              override: null
              alternatives: []
            google_review_count:
              name: google_review_count
              value: 1309
              schema: null
              source:
                confidence: 0.8
                platformId: 22
                updatedAt: '2025-10-13T16:20:19.667Z'
              override: null
              source.confidence: 0.8
              source.platformId: 22
              alternatives:
                - value: 1307
                  source: 4
            google_review_rating:
              name: google_review_rating
              value: 4.6
              schema: null
              source:
                confidence: 0.8
                platformId: 22
                updatedAt: '2025-10-13T16:20:19.667Z'
              override: null
              source.confidence: 0.8
              source.platformId: 22
              alternatives: []
            healthgrades_review_count:
              name: healthgrades_review_count
              value: 0
              schema: null
              source:
                confidence: null
                platformId: 4
              override: null
              source.confidence: null
              source.platformId: 4
              alternatives: []
            healthgrades_review_rating:
              name: healthgrades_review_rating
              value: null
              schema: null
              source: null
              override: null
              alternatives: []
            max_rating_allsources:
              name: max_rating_allsources
              value: 5
              schema: null
              source:
                confidence: 0.8
                platformId: 22
                updatedAt: '2025-10-13T16:20:19.667Z'
              override: null
              source.confidence: 0.8
              source.platformId: 22
              alternatives:
                - value: 5
                  source: 4
                  confidence: 0
                  updatedAt: '2025-10-13T16:21:11.182Z'
            median_rating_allsources:
              name: median_rating_allsources
              value: 5
              schema: null
              source:
                confidence: 0.8
                platformId: 22
                updatedAt: '2025-10-13T16:20:19.667Z'
              override: null
              source.confidence: 0.8
              source.platformId: 22
              alternatives:
                - value: 5
                  source: 4
                  confidence: 0
                  updatedAt: '2025-10-13T16:21:11.182Z'
            min_rating_allsources:
              name: min_rating_allsources
              value: 2
              schema: null
              source:
                confidence: 0.8
                platformId: 22
                updatedAt: '2025-10-13T16:20:19.667Z'
              override: null
              source.confidence: 0.8
              source.platformId: 22
              alternatives:
                - value: 1
                  source: 4
                  confidence: 0
                  updatedAt: '2025-10-13T16:21:11.182Z'
            review_count:
              name: review_count
              value: 1309
              schema: null
              source:
                confidence: 0.8
                platformId: 22
                updatedAt: '2025-10-13T16:20:19.667Z'
              override: null
              source.confidence: 0.8
              source.platformId: 22
              alternatives:
                - value: 1724
                  source: 4
                - value: 0
                  source: 19
            review_rating:
              name: review_rating
              value: 4.6
              schema: null
              source:
                confidence: 0.8
                platformId: 22
                updatedAt: '2025-10-13T16:20:19.667Z'
              override: null
              source.confidence: 0.8
              source.platformId: 22
              alternatives:
                - value: '4.39'
                  source: 4
                - value: 0
                  source: 19
            vitals_review_count:
              name: vitals_review_count
              value: 0
              schema: null
              source:
                confidence: null
                platformId: 4
              override: null
              source.confidence: null
              source.platformId: 4
              ruleApplied: null
              isNormalized: null
              alternatives: []
            vitals_review_rating:
              name: vitals_review_rating
              value: null
              schema: null
              source: null
              override: null
              alternatives: []
            webmd_review_count:
              name: webmd_review_count
              value: 0
              schema: null
              source:
                confidence: null
                platformId: 4
              override: null
              source.confidence: null
              source.platformId: 4
              ruleApplied: null
              isNormalized: null
              alternatives: []
            webmd_review_rating:
              name: webmd_review_rating
              value: null
              schema: null
              source: null
              override: null
              alternatives: []
            yelp_review_count:
              name: yelp_review_count
              value: 417
              schema: null
              source:
                confidence: null
                platformId: 4
              override: null
              source.confidence: null
              source.platformId: 4
              alternatives: []
            yelp_review_rating:
              name: yelp_review_rating
              value: 4
              schema: null
              source: null
              override: null
              alternatives: []
    ReviewsData:
      title: ReviewsData
      type: object
      properties:
        angi_review_count:
          $ref: '#/components/schemas/AngiReviewCount'
        angi_review_rating:
          $ref: '#/components/schemas/AngiReviewRating'
        bbb_review_count:
          $ref: '#/components/schemas/BBBReviewCount'
        bbb_review_rating:
          $ref: '#/components/schemas/BBBReviewRating'
        count_of_answers_resolved_all_time:
          $ref: '#/components/schemas/AnswersResolvedCount'
        count_of_complaints_alert_words_all_time:
          $ref: '#/components/schemas/ComplaintsAlertWordsCount'
        count_of_complaints_all_time:
          $ref: '#/components/schemas/ComplaintsAllTimeCount'
        count_of_other_resolved_all_time:
          $ref: '#/components/schemas/OtherResolvedCount'
        count_of_resolved_resolved_all_time:
          $ref: '#/components/schemas/ResolvedComplaintsCount'
        count_of_total_reviewers_all_time:
          $ref: '#/components/schemas/TotalReviewersCount'
        count_of_unresolved_resolved_all_time:
          $ref: '#/components/schemas/UnresolvedComplaintsCount'
        google_review_count:
          $ref: '#/components/schemas/GoogleReviewCount'
        google_review_rating:
          $ref: '#/components/schemas/GoogleReviewRating'
        healthgrades_review_count:
          $ref: '#/components/schemas/HealthgradesReviewCount'
        healthgrades_review_rating:
          $ref: '#/components/schemas/HealthgradesReviewRating'
        max_rating_allsources:
          $ref: '#/components/schemas/MaxRatingAllSources'
        median_rating_allsources:
          $ref: '#/components/schemas/MedianRatingAllSources'
        min_rating_allsources:
          $ref: '#/components/schemas/MinRatingAllSources'
        review_count:
          $ref: '#/components/schemas/ReviewCount'
        review_rating:
          $ref: '#/components/schemas/ReviewRating'
        vitals_review_count:
          $ref: '#/components/schemas/VitalsReviewCount'
        vitals_review_rating:
          $ref: '#/components/schemas/VitalsReviewRating'
        webmd_review_count:
          $ref: '#/components/schemas/WebMDReviewCount'
        webmd_review_rating:
          $ref: '#/components/schemas/WebMDReviewRating'
        yelp_review_count:
          $ref: '#/components/schemas/YelpReviewCount'
        yelp_review_rating:
          $ref: '#/components/schemas/YelpReviewRating'
    AngiReviewCount:
      title: AngiReviewCount
      type: object
      description: Number of reviews from Angi platform
      properties:
        name:
          type: string
          example: angi_review_count
        value:
          type: integer
          nullable: true
          description: Total number of reviews from Angi
        schema:
          type: 'null'
        source:
          oneOf:
            - $ref: '#/components/schemas/ReviewSource'
            - type: 'null'
        override:
          type: 'null'
        source.confidence:
          type:
            - number
            - 'null'
        source.platformId:
          type:
            - number
            - 'null'
        alternatives:
          type: array
          items:
            $ref: '#/components/schemas/ReviewAlternative'
    AngiReviewRating:
      title: AngiReviewRating
      type: object
      description: Average rating from Angi platform
      properties:
        name:
          type: string
          example: angi_review_rating
        value:
          type: number
          nullable: true
          description: Average rating from Angi reviews
        schema:
          type: 'null'
        source:
          oneOf:
            - $ref: '#/components/schemas/ReviewSource'
            - type: 'null'
        override:
          type: 'null'
        alternatives:
          type: array
          items:
            $ref: '#/components/schemas/ReviewAlternative'
    BBBReviewCount:
      title: BBBReviewCount
      type: object
      description: Number of reviews from Better Business Bureau
      properties:
        name:
          type: string
          example: bbb_review_count
        value:
          type: number
          nullable: true
          description: Total number of reviews from BBB
        schema:
          type: 'null'
        source:
          oneOf:
            - $ref: '#/components/schemas/ReviewSource'
            - type: 'null'
        override:
          type: 'null'
        source.confidence:
          type:
            - number
            - 'null'
        source.platformId:
          type:
            - number
            - 'null'
        alternatives:
          type: array
          items:
            $ref: '#/components/schemas/ReviewAlternative'
    BBBReviewRating:
      title: BBBReviewRating
      type: object
      description: Average rating from Better Business Bureau
      properties:
        name:
          type: string
          example: bbb_review_rating
        value:
          type: number
          nullable: true
          description: Average rating from BBB reviews
        schema:
          type: 'null'
        source:
          oneOf:
            - $ref: '#/components/schemas/ReviewSource'
            - type: 'null'
        override:
          type: 'null'
        alternatives:
          type: array
          items:
            $ref: '#/components/schemas/ReviewAlternative'
    AnswersResolvedCount:
      title: AnswersResolvedCount
      type: object
      description: Number of answers resolved across all time
      properties:
        name:
          type: string
          example: count_of_answers_resolved_all_time
        value:
          type: number
          nullable: true
          description: Total number of resolved answers
        schema:
          type: 'null'
        source:
          oneOf:
            - $ref: '#/components/schemas/ReviewSource'
            - type: 'null'
        override:
          type: 'null'
        alternatives:
          type: array
          items:
            $ref: '#/components/schemas/ReviewAlternative'
    ComplaintsAlertWordsCount:
      title: ComplaintsAlertWordsCount
      type: object
      description: Number of complaints containing alert words
      properties:
        name:
          type: string
          example: count_of_complaints_alert_words_all_time
        value:
          type: number
          nullable: true
          description: Number of complaints with alert words
        schema:
          type: 'null'
        source:
          oneOf:
            - $ref: '#/components/schemas/ReviewSource'
            - type: 'null'
        override:
          type: 'null'
        alternatives:
          type: array
          items:
            $ref: '#/components/schemas/ReviewAlternative'
    ComplaintsAllTimeCount:
      title: ComplaintsAllTimeCount
      type: object
      description: Total number of complaints across all time
      properties:
        name:
          type: string
          example: count_of_complaints_all_time
        value:
          type: number
          nullable: true
          description: Total number of complaints recorded
        schema:
          type: 'null'
        source:
          oneOf:
            - $ref: '#/components/schemas/ReviewSource'
            - type: 'null'
        override:
          type: 'null'
        alternatives:
          type: array
          items:
            $ref: '#/components/schemas/ReviewAlternative'
    OtherResolvedCount:
      title: OtherResolvedCount
      type: object
      description: Number of other resolved issues across all time
      properties:
        name:
          type: string
          example: count_of_other_resolved_all_time
        value:
          type: number
          nullable: true
          description: Total number of other resolved issues
        schema:
          type: 'null'
        source:
          oneOf:
            - $ref: '#/components/schemas/ReviewSource'
            - type: 'null'
        override:
          type: 'null'
        alternatives:
          type: array
          items:
            $ref: '#/components/schemas/ReviewAlternative'
    ResolvedComplaintsCount:
      title: ResolvedComplaintsCount
      type: object
      description: Number of resolved complaints across all time
      properties:
        name:
          type: string
          example: count_of_resolved_resolved_all_time
        value:
          type: number
          nullable: true
          description: Total number of resolved complaints
        schema:
          type: 'null'
        source:
          oneOf:
            - $ref: '#/components/schemas/ReviewSource'
            - type: 'null'
        override:
          type: 'null'
        alternatives:
          type: array
          items:
            $ref: '#/components/schemas/ReviewAlternative'
    TotalReviewersCount:
      title: TotalReviewersCount
      type: object
      description: Total number of reviewers across all time
      properties:
        name:
          type: string
          example: count_of_total_reviewers_all_time
        value:
          type: number
          nullable: true
          description: Total number of reviewers
        schema:
          type: 'null'
        source:
          oneOf:
            - $ref: '#/components/schemas/ReviewSource'
            - type: 'null'
        override:
          type: 'null'
        source.confidence:
          type:
            - number
            - 'null'
        source.platformId:
          type:
            - number
            - 'null'
        alternatives:
          type: array
          items:
            $ref: '#/components/schemas/ReviewAlternative'
    UnresolvedComplaintsCount:
      title: UnresolvedComplaintsCount
      type: object
      description: Number of unresolved complaints across all time
      properties:
        name:
          type: string
          example: count_of_unresolved_resolved_all_time
        value:
          type: number
          nullable: true
          description: Total number of unresolved complaints
        schema:
          type: 'null'
        source:
          oneOf:
            - $ref: '#/components/schemas/ReviewSource'
            - type: 'null'
        override:
          type: 'null'
        alternatives:
          type: array
          items:
            $ref: '#/components/schemas/ReviewAlternative'
    GoogleReviewCount:
      title: GoogleReviewCount
      type: object
      description: Number of reviews from Google Business
      properties:
        name:
          type: string
          example: google_review_count
        value:
          type: number
          nullable: true
          description: Total number of reviews from Google
        schema:
          type: 'null'
        source:
          oneOf:
            - $ref: '#/components/schemas/ReviewSource'
            - type: 'null'
        override:
          type: 'null'
        source.confidence:
          type:
            - number
            - 'null'
        source.platformId:
          type:
            - number
            - 'null'
        alternatives:
          type: array
          items:
            $ref: '#/components/schemas/ReviewAlternative'
    GoogleReviewRating:
      title: GoogleReviewRating
      type: object
      description: Average rating from Google Business
      properties:
        name:
          type: string
          example: google_review_rating
        value:
          type: number
          nullable: true
          description: Average rating from Google reviews
        schema:
          type: 'null'
        source:
          oneOf:
            - $ref: '#/components/schemas/ReviewSource'
            - type: 'null'
        override:
          type: 'null'
        source.confidence:
          type:
            - number
            - 'null'
        source.platformId:
          type:
            - number
            - 'null'
        alternatives:
          type: array
          items:
            $ref: '#/components/schemas/ReviewAlternative'
    HealthgradesReviewCount:
      title: HealthgradesReviewCount
      type: object
      description: Number of reviews from Healthgrades platform
      properties:
        name:
          type: string
          example: healthgrades_review_count
        value:
          type: number
          nullable: true
          description: Total number of reviews from Healthgrades
        schema:
          type: 'null'
        source:
          oneOf:
            - $ref: '#/components/schemas/ReviewSource'
            - type: 'null'
        override:
          type: 'null'
        source.confidence:
          type:
            - number
            - 'null'
        source.platformId:
          type:
            - number
            - 'null'
        alternatives:
          type: array
          items:
            $ref: '#/components/schemas/ReviewAlternative'
    HealthgradesReviewRating:
      title: HealthgradesReviewRating
      type: object
      description: Average rating from Healthgrades platform
      properties:
        name:
          type: string
          example: healthgrades_review_rating
        value:
          type: number
          nullable: true
          description: Average rating from Healthgrades reviews
        schema:
          type: 'null'
        source:
          oneOf:
            - $ref: '#/components/schemas/ReviewSource'
            - type: 'null'
        override:
          type: 'null'
        alternatives:
          type: array
          items:
            $ref: '#/components/schemas/ReviewAlternative'
    MaxRatingAllSources:
      title: MaxRatingAllSources
      type: object
      description: Maximum rating across all review sources
      properties:
        name:
          type: string
          example: max_rating_allsources
        value:
          type: number
          nullable: true
          description: Highest rating found across all platforms
        schema:
          type: 'null'
        source:
          oneOf:
            - $ref: '#/components/schemas/ReviewSource'
            - type: 'null'
        override:
          type: 'null'
        source.confidence:
          type:
            - number
            - 'null'
        source.platformId:
          type:
            - number
            - 'null'
        alternatives:
          type: array
          items:
            $ref: '#/components/schemas/ReviewAlternative'
    MedianRatingAllSources:
      title: MedianRatingAllSources
      type: object
      description: Median rating across all review sources
      properties:
        name:
          type: string
          example: median_rating_allsources
        value:
          type: number
          nullable: true
          description: Median rating across all platforms
        schema:
          type: 'null'
        source:
          oneOf:
            - $ref: '#/components/schemas/ReviewSource'
            - type: 'null'
        override:
          type: 'null'
        source.confidence:
          type:
            - number
            - 'null'
        source.platformId:
          type:
            - number
            - 'null'
        alternatives:
          type: array
          items:
            $ref: '#/components/schemas/ReviewAlternative'
    MinRatingAllSources:
      title: MinRatingAllSources
      type: object
      description: Minimum rating across all review sources
      properties:
        name:
          type: string
          example: min_rating_allsources
        value:
          type: number
          nullable: true
          description: Lowest rating found across all platforms
        schema:
          type: 'null'
        source:
          oneOf:
            - $ref: '#/components/schemas/ReviewSource'
            - type: 'null'
        override:
          type: 'null'
        source.confidence:
          type:
            - number
            - 'null'
        source.platformId:
          type:
            - number
            - 'null'
        alternatives:
          type: array
          items:
            $ref: '#/components/schemas/ReviewAlternative'
    ReviewCount:
      title: ReviewCount
      type: object
      description: Aggregated review count across all sources
      properties:
        name:
          type: string
          example: review_count
        value:
          type: number
          nullable: true
          description: Total number of reviews across all platforms
        schema:
          type: 'null'
        source:
          oneOf:
            - $ref: '#/components/schemas/ReviewSource'
            - type: 'null'
        override:
          type: 'null'
        source.confidence:
          type:
            - number
            - 'null'
        source.platformId:
          type:
            - number
            - 'null'
        alternatives:
          type: array
          items:
            $ref: '#/components/schemas/ReviewAlternative'
    ReviewRating:
      title: ReviewRating
      type: object
      description: Aggregated review rating across all sources
      properties:
        name:
          type: string
          example: review_rating
        value:
          type: number
          nullable: true
          description: Average rating across all platforms
        schema:
          type: 'null'
        source:
          oneOf:
            - $ref: '#/components/schemas/ReviewSource'
            - type: 'null'
        override:
          type: 'null'
        source.confidence:
          type:
            - number
            - 'null'
        source.platformId:
          type:
            - number
            - 'null'
        alternatives:
          type: array
          items:
            $ref: '#/components/schemas/ReviewAlternative'
    VitalsReviewCount:
      title: VitalsReviewCount
      type: object
      description: Number of reviews from Vitals platform
      properties:
        name:
          type: string
          example: vitals_review_count
        value:
          type: number
          nullable: true
          description: Total number of reviews from Vitals
        schema:
          type: 'null'
        source:
          oneOf:
            - $ref: '#/components/schemas/ReviewSource'
            - type: 'null'
        override:
          type: 'null'
        source.confidence:
          type:
            - number
            - 'null'
        source.platformId:
          type:
            - number
            - 'null'
        ruleApplied:
          type:
            - string
            - 'null'
        isNormalized:
          type:
            - boolean
            - 'null'
        alternatives:
          type: array
          items:
            $ref: '#/components/schemas/ReviewAlternative'
    VitalsReviewRating:
      title: VitalsReviewRating
      type: object
      description: Average rating from Vitals platform
      properties:
        name:
          type: string
          example: vitals_review_rating
        value:
          type: number
          nullable: true
          description: Average rating from Vitals reviews
        schema:
          type: 'null'
        source:
          oneOf:
            - $ref: '#/components/schemas/ReviewSource'
            - type: 'null'
        override:
          type: 'null'
        alternatives:
          type: array
          items:
            $ref: '#/components/schemas/ReviewAlternative'
    WebMDReviewCount:
      title: WebMDReviewCount
      type: object
      description: Number of reviews from WebMD platform
      properties:
        name:
          type: string
          example: webmd_review_count
        value:
          type: number
          nullable: true
          description: Total number of reviews from WebMD
        schema:
          type: 'null'
        source:
          oneOf:
            - $ref: '#/components/schemas/ReviewSource'
            - type: 'null'
        override:
          type: 'null'
        source.confidence:
          type:
            - number
            - 'null'
        source.platformId:
          type:
            - number
            - 'null'
        ruleApplied:
          type:
            - string
            - 'null'
        isNormalized:
          type:
            - boolean
            - 'null'
        alternatives:
          type: array
          items:
            $ref: '#/components/schemas/ReviewAlternative'
    WebMDReviewRating:
      title: WebMDReviewRating
      type: object
      description: Average rating from WebMD platform
      properties:
        name:
          type: string
          example: webmd_review_rating
        value:
          type: number
          nullable: true
          description: Average rating from WebMD reviews
        schema:
          type: 'null'
        source:
          oneOf:
            - $ref: '#/components/schemas/ReviewSource'
            - type: 'null'
        override:
          type: 'null'
        alternatives:
          type: array
          items:
            $ref: '#/components/schemas/ReviewAlternative'
    YelpReviewCount:
      title: YelpReviewCount
      type: object
      description: Number of reviews from Yelp platform
      properties:
        name:
          type: string
          example: yelp_review_count
        value:
          type: integer
          description: Total number of reviews from Yelp
        schema:
          type: 'null'
        source:
          oneOf:
            - $ref: '#/components/schemas/ReviewSource'
            - type: 'null'
        override:
          type: 'null'
        source.confidence:
          type:
            - number
            - 'null'
        source.platformId:
          type:
            - number
            - 'null'
        alternatives:
          type: array
          items:
            $ref: '#/components/schemas/ReviewAlternative'
    YelpReviewRating:
      title: YelpReviewRating
      type: object
      description: Average rating from Yelp platform
      properties:
        name:
          type: string
          example: yelp_review_rating
        value:
          type: number
          nullable: true
          description: Average rating from Yelp reviews
        schema:
          type: 'null'
        source:
          oneOf:
            - $ref: '#/components/schemas/ReviewSource'
            - type: 'null'
        override:
          type: 'null'
        alternatives:
          type: array
          items:
            $ref: '#/components/schemas/ReviewAlternative'
    ReviewSource:
      title: ReviewSource
      type: object
      description: Source information for review data
      properties:
        confidence:
          type:
            - number
            - 'null'
          description: Confidence level of the source
        platformId:
          type:
            - number
            - 'null'
          description: Platform ID of the source
        updatedAt:
          type: string
          format: date-time
          description: Last updated timestamp
    ReviewAlternative:
      title: ReviewAlternative
      type: object
      description: Alternative value from different source
      properties:
        value:
          oneOf:
            - type: string
            - type: number
          description: Alternative value
        source:
          type: number
          description: Source platform ID
        confidence:
          type: number
          description: Confidence level
        updatedAt:
          type: string
          format: date-time
          description: Last updated timestamp
  securitySchemes:
    bearer:
      type: http
      scheme: bearer

````