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

# Get a Google review

> Returns the review only when its site belongs to the organization encoded in the tenant API key or to an organization whose super organization is that tenant. Missing, malformed, and cross-tenant identifiers all return 404.



## OpenAPI

````yaml /api-reference/openapi.json get /api/v1/reviews/{reviewId}
openapi: 3.1.0
info:
  title: Nautilus Public API
  version: 1.0.0
  description: >-
    The canonical /api/v1 data endpoints are tenant-scoped and use a Clerk
    tenant API key as a Bearer token. The key's organizationId is the sole
    tenant scope; caller-supplied organization IDs are not accepted. Detail
    reads return 404 for both missing and cross-tenant records. Canonical
    collections use the standard envelope and endpoint-bound cursor pagination.
    Timestamps are UTC ISO 8601 values and monetary amounts ending in Cents are
    integer cents. Responses use narrow serializers that exclude credentials and
    internal provider or workflow data. GET /api/v1/openapi.json and the
    headless form submission endpoint do not require an API key. Headless
    submissions use a published form ID and its configured form password, grant
    submission access only, and return the separate receipt/error shapes
    documented on that operation. Use headless submissions for published forms
    supported by headless intake. Copy the endpoint and saved field IDs from
    Share > Use your own form; hosted-only form requirements remain unchanged.
servers:
  - url: https://app.nautilus.co
security:
  - tenantApiKey: []
tags:
  - name: Contract
  - name: Cancellations
  - name: Sites
  - name: Products
  - name: Checkout links
  - name: Purchases
  - name: Contact lists
  - name: Contacts
  - name: Marketing
  - name: Forms
  - name: Vouchers
  - name: Links
  - name: Automations
  - name: Surveys
  - name: Cases
  - name: Reviews
  - name: POS
    description: >-
      Point-of-sale data for the organization that owns the API key. The POS is
      resolved server-side from that organization; requests never name or select
      a provider.
  - name: Analytics
  - name: Messaging
  - name: Legacy
    description: Deprecated noncanonical endpoints retained for compatibility.
paths:
  /api/v1/reviews/{reviewId}:
    get:
      tags:
        - Reviews
      summary: Get a Google review
      description: >-
        Returns the review only when its site belongs to the organization
        encoded in the tenant API key or to an organization whose super
        organization is that tenant. Missing, malformed, and cross-tenant
        identifiers all return 404.
      operationId: getReview
      parameters:
        - name: reviewId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Tenant-scoped resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GoogleReview'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
components:
  schemas:
    GoogleReview:
      type: object
      additionalProperties: false
      properties:
        reviewId:
          type: string
          format: uuid
        googleReviewId:
          type: string
        googleLocationId:
          type: string
        organizationId:
          type: string
        site:
          type: object
          additionalProperties: false
          properties:
            siteId:
              type: string
            name:
              type: string
          required:
            - siteId
            - name
        rating:
          type: integer
          minimum: 1
          maximum: 5
        comment:
          anyOf:
            - type: string
            - type: 'null'
        reviewer:
          type: object
          additionalProperties: false
          properties:
            name:
              anyOf:
                - type: string
                - type: 'null'
            anonymous:
              type: boolean
            photoUrl:
              anyOf:
                - type: string
                - type: 'null'
          required:
            - name
            - anonymous
            - photoUrl
        createdAt:
          type: string
          format: date-time
          description: UTC ISO 8601 timestamp.
        updatedAt:
          type: string
          format: date-time
          description: UTC ISO 8601 timestamp.
        reply:
          anyOf:
            - type: object
              additionalProperties: false
              properties:
                comment:
                  type: string
                updatedAt:
                  anyOf:
                    - type: string
                      format: date-time
                      description: UTC ISO 8601 timestamp.
                    - type: 'null'
              required:
                - comment
                - updatedAt
            - type: 'null'
      required:
        - reviewId
        - googleReviewId
        - googleLocationId
        - organizationId
        - site
        - rating
        - comment
        - reviewer
        - createdAt
        - updatedAt
        - reply
      description: >-
        Google Business Profile review mapped to a Nautilus site. reviewId is
        the stable Nautilus identifier; googleReviewId is Google's.
        organizationId is the organization that owns the mapped site. Raw
        provider payloads, AI reply drafts, and dispute analyses are never
        exposed.
    Error:
      type: object
      additionalProperties: false
      properties:
        error:
          type: string
      required:
        - error
  responses:
    BadRequest:
      description: >-
        Malformed parameters, unsupported provider, or unavailable resource for
        this organization.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: Missing, invalid, legacy, or non-tenant Bearer credential.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: >-
        The resource does not exist, is unavailable, or belongs to another
        organization.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    InternalServerError:
      description: Internal server error. No internal exception data is exposed.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    tenantApiKey:
      type: http
      scheme: bearer
      bearerFormat: Clerk tenant API key
      description: >-
        Clerk tenant API key. The organizationId encoded by the key is the exact
        and only tenant scope.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.