Yext Reviews API

The Reviews API from Yext — 14 operation(s) for reviews.

OpenAPI Specification

yext-reviews-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Yext Admin Account Settings Reviews API
  version: '2.0'
servers:
- url: https://api.yextapis.com/v2
security:
- api_key: []
- api-key: []
tags:
- name: Reviews
paths:
  /accounts/{accountId}/reviews:
    parameters:
    - $ref: '#/components/parameters/accountId'
    get:
      operationId: listReviews
      summary: 'Reviews: List'
      tags:
      - Reviews
      description: 'Retrieve all Reviews matching the given criteria.


        **NOTE:** Not all publishers'' reviews will be included in the response. For more details, please contact your Account Manager.

        '
      parameters:
      - $ref: '#/components/parameters/accountId'
      - $ref: '#/components/parameters/v'
      - name: limit
        in: query
        schema:
          type: integer
          default: 10
          maximum: 100
        description: Number of results to return.
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          default: 0
          maximum: 9900
        description: '

          Number of results to skip. Used to page through results.

          Cannot be used together with **`pageToken`**.


          If the **`v`** parameter is before `20211115`, the maximum offset is not enforced.

          However, users are still encouraged to migrate to **`pageToken`** for queries requiring

          large offsets, as these may result in errors.

          '
      - name: entityIds
        in: query
        schema:
          type: array
          items:
            type: string
        description: 'When provided, only reviews for the requested entities will be returned.


          Before 12/13/21, the parameter name was  **`locationIds`**. Specifying either

          **`locationsIds`** or **`entityIds`** as the parameter name will have the same result.


          By default, reviews will be returned for all entities subscribed to Review Monitoring.


          **Example:** entity123,entity456,entity789

          '
        style: simple
      - name: apiIdentifiers
        in: query
        schema:
          type: array
          items:
            type: string
        description: 'When provided, only reviews for the requested API identifiers will be returned.

          '
        style: simple
      - name: folderId
        in: query
        schema:
          type: string
        description: When provided, only reviews for locations in the given folder and its subfolders will be included in the results.
      - name: countries
        in: query
        schema:
          type: array
          items:
            type: string
        description: When present, only reviews for locations in the given countries will be returned. Countries are denoted by ISO 3166 2-letter country codes.
      - name: locationLabels
        in: query
        schema:
          type: array
          items:
            type: string
        description: When present, only reviews for locations with the provided labels will be returned.
      - $ref: '#/components/parameters/listingsPublisherIds'
      - name: reviewContent
        in: query
        schema:
          type: string
        description: When specified, only reviews that include the provided content will be returned.
      - name: minRating
        in: query
        schema:
          type: number
          format: double
        description: When specified, only reviews with the provided minimum rating or higher will be returned.
      - name: maxRating
        in: query
        schema:
          type: number
          format: double
        description: When specified, only reviews with the provided maximum rating or lower will be returned.
      - name: minPublisherDate
        in: query
        schema:
          type: string
          format: date
        description: '(`YYYY-MM-DD` format) When specified, only reviews with a publisher date on or after the given date will be returned.


          If the **`v`** parameter is before `20170617`: returns reviews with a publisher date on or after the given date in **EST**


          If the **`v`** parameter is `20170617` or later: returns reviews with a publisher date on or after the given date in **UTC**

          '
      - name: maxPublisherDate
        in: query
        schema:
          type: string
          format: date
        description: '(`YYYY-MM-DD` format) When specified, only reviews with a publisher date on or before the given date will be returned.


          If the **`v`** parameter is before `20170617`: returns reviews with a publisher date on or before the given date in **EST**


          If the **`v`** parameter is `20170617` or later: returns reviews with a publisher date on or before the given date in **UTC**

          '
      - name: minLastYextUpdateDate
        in: query
        schema:
          type: string
          format: date
        description: '(`YYYY-MM-DD` format) When specified, only reviews with a last Yext update date on or after the given date will be returned.


          If the **`v`** parameter is before `20170617`: returns revies with a last Yext update date on or after the given date in **EST**


          If the **`v`** parameter is `20170617` or later: returns revies with a last Yext update date on or after the given date in **UTC**

          '
      - name: maxLastYextUpdateDate
        in: query
        schema:
          type: string
          format: date
        description: '(`YYYY-MM-DD` format) When specified, only reviews with a last Yext update date on or before the given date will be returned.


          If the **`v`** parameter is before `20170617`: returns reviews with a last Yext update date on or before the given date in **EST**


          If the **`v`** parameter is `20170617` or later: returns reviews with a last Yext update date on or before the given date in **UTC**

          '
      - name: awaitingResponse
        in: query
        schema:
          type: string
          enum:
          - REVIEW
          - COMMENT
          - REVIEW_OR_COMMENT
        description: 'When specified, only reviews that are awaiting an owner reply on the given objects will be returned.


          For example, when `awaitingResponse=COMMENT`, reviews will only be returned if they have at least one comment that has not been responded to by the owner.

          '
      - name: minNonOwnerComments
        in: query
        schema:
          type: integer
        description: When specified, only reviews that have at least the provided number of non-owner comments will be returned.
      - name: reviewerName
        in: query
        schema:
          type: string
        description: When specified, only reviews whose authorName contains the provided string will be returned.
      - name: status
        in: query
        schema:
          type: string
          enum:
          - LIVE
          - QUARANTINED
          - REMOVED
        description: 'When specified, only reviews with the given **`status`** values will be returned.


          The **`status`** parameter will only be respected with the inclusion of a **`v`** parameter of `20170830` or later.

          '
      - name: pageToken
        in: query
        schema:
          type: string
        description: 'If a response to a previous request contained the **`nextPageToken`** field, pass that field''s value as the **`pageToken`** parameter to retrieve the next page of data.


          The **`pageToken`** parameter will only be respected with the inclusion of a **`v`** parameter of `20170901` or later.

          '
      - name: reviewLanguage
        in: query
        schema:
          type: string
        description: 'When provided, only reviews in the given languages will be included in the results.


          Languages must be specified by their ISO 639-1 codes. If specifying multiple languages, enter the language codes as a comma-separated list.


          **Example:** ''en,fr,zh''

          '
      - name: labelIds
        in: query
        schema:
          type: array
          items:
            type: string
        description: When present, only reviews with the provided review label IDs will be returned.
      - name: reviewType
        in: query
        schema:
          type: string
          enum:
          - Rating
          - Recommendation
        description: 'When specified, only reviews that are of the given **`reviewType`** will be returned. Only applicable to Facebook reviews.


          The **`reviewType`** parameter will only be respected with the inclusion of a **`v`** parameter of `20181002` or later.

          '
      - name: recommendation
        in: query
        schema:
          type: string
          enum:
          - Recommended
          - Not Recommended
        description: 'When specified, only reviews with the given **`recommendation`** value will be returned. Only applicable to Facebook reviews.


          The **`recommendation`** parameter will only be respected with the inclusion of a **`v`** parameter of `20181002` or later.

          '
      - name: flagStatus
        in: query
        schema:
          type: string
          enum:
          - FLAGGED
          - NOT_FLAGGED
        description: 'When specified, only reviews with the given **`flagStatus`** value will be returned.


          **`flagStatus`** indicates whether the review has been flagged for inappropriate or

          irrelevant content. For review publishing, Yext recommends filtering to reviews with

          `flagStatus = NOT_FLAGGED`, as flagged reviews are being examined for inappropriate or

          irrelevant content. Note that only First Party and External First Party reviews can be

          flagged.

          '
      - name: isYextResponseEligible
        in: query
        schema:
          type: boolean
        description: 'When specified, used to filter reviews based on whether they are eligible for response

          through Yext (based on their publisher and, for first party reviews, anonymization status).

          If set to `true`, only such reviews will be included in the response, and if set to `false`

          such reviews will be excluded in the response. Default (unset) means reviews will be

          included regardless of their eligibility for response through Yext.

          Note that this parameter does NOT filter reviews based on whether they already have a

          response; to do that use the **`awaitingResponse`** parameter.

          '
      responses:
        '200':
          $ref: '#/components/responses/ReviewsResponse'
        default:
          $ref: '#/components/responses/ErrorResponse'
    post:
      operationId: createReview
      tags:
      - Reviews
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateReview'
      parameters:
      - $ref: '#/components/parameters/accountId'
      - $ref: '#/components/parameters/v'
      summary: 'Reviews: Create'
      description: 'Create a new External First Party Review.

        '
      responses:
        '201':
          $ref: '#/components/responses/IdResponse'
        default:
          $ref: '#/components/responses/ErrorResponse'
  /accounts/{accountId}/reviews/{reviewId}:
    parameters:
    - $ref: '#/components/parameters/accountId'
    - $ref: '#/components/parameters/reviewId'
    get:
      operationId: getReview
      summary: 'Review: Get'
      parameters:
      - $ref: '#/components/parameters/accountId'
      - $ref: '#/components/parameters/v'
      - $ref: '#/components/parameters/reviewId'
      tags:
      - Reviews
      description: Retrieve a specific Review.
      responses:
        '200':
          $ref: '#/components/responses/ReviewResponse'
        default:
          $ref: '#/components/responses/ErrorResponse'
    put:
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateReview'
      parameters:
      - $ref: '#/components/parameters/accountId'
      - $ref: '#/components/parameters/v'
      - $ref: '#/components/parameters/reviewId'
      operationId: updateReview
      tags:
      - Reviews
      summary: 'Review: Update'
      description: 'Updates an External First Party Review or a First Party Review.

        <br><br>

        **NOTE:** Despite using the `PUT` method, Reviews: Update only updates supplied fields. Omitted fields are not modified.

        <br><br>

        '
      responses:
        '200':
          $ref: '#/components/responses/IdResponse'
        default:
          $ref: '#/components/responses/ErrorResponse'
  /accounts/{accountId}/reviews/{reviewId}/comments:
    parameters:
    - $ref: '#/components/parameters/accountId'
    - $ref: '#/components/parameters/reviewId'
    post:
      operationId: createComment
      summary: 'Comment: Create'
      tags:
      - Reviews
      description: "Creates a new Comment on a Review.\n\n**NOTE:** When the **Compliant Review Response** setting is enabled for your account and you are providing an `attestation`, you must include your Yext user ID in the **`Yext-User-Id`** header. The comment will be processed asynchronously for compliance review, and a **202 Accepted** response will be returned.\n<br><br>\n ## Required fields\n* **`content`**\n<br><br>\n ## Optional fields\n* **`parentId`**\n* **`visibility`**\n* **`date`**\n* **`suppressReviewerContact`**\n* **`attestation`** (only required when Compliant Review Response is enabled)\n<br><br>\n ## Response Behavior\n* When `attestation` is provided (Compliant Review Response enabled): Returns **202 Accepted** - comment will be published after compliance review\n* When `attestation` is not provided (Compliant Review Response disabled): Returns **201 Created** with comment ID, or **202 Accepted** if asynchronous processing is needed\n<br><br>\n"
      requestBody:
        $ref: '#/components/requestBodies/commentRequest'
      parameters:
      - $ref: '#/components/parameters/accountId'
      - $ref: '#/components/parameters/v'
      - $ref: '#/components/parameters/reviewId'
      responses:
        '201':
          $ref: '#/components/responses/CreateReviewCommentResponse'
        '202':
          $ref: '#/components/responses/ReviewCommentTimeoutResponse'
        default:
          $ref: '#/components/responses/ErrorResponse'
  /accounts/{accountId}/reviews/{reviewId}/generateComment:
    parameters:
    - $ref: '#/components/parameters/accountId'
    - $ref: '#/components/parameters/reviewId'
    post:
      operationId: generateComment
      summary: 'Comment: Generate'
      tags:
      - Reviews
      description: 'Gets a content generated response for a particular review

        '
      parameters:
      - $ref: '#/components/parameters/accountId'
      - $ref: '#/components/parameters/v'
      - $ref: '#/components/parameters/reviewId'
      responses:
        '200':
          $ref: '#/components/responses/GenerateReviewCommentResponse'
        default:
          $ref: '#/components/responses/ErrorResponse'
  /accounts/{accountId}/reviews/{reviewId}/comments/{commentId}:
    parameters:
    - $ref: '#/components/parameters/accountId'
    - $ref: '#/components/parameters/reviewId'
    - $ref: '#/components/parameters/commentId'
    put:
      operationId: updateComment
      summary: 'Comment: Update'
      tags:
      - Reviews
      description: "Updates a Comment on a Review.\n<br><br>\n ## Optional fields\n* **`content`**\n* **`visibility`**\n<br><br>\n"
      requestBody:
        $ref: '#/components/requestBodies/commentUpdateRequest'
      parameters:
      - $ref: '#/components/parameters/accountId'
      - $ref: '#/components/parameters/v'
      - $ref: '#/components/parameters/reviewId'
      - $ref: '#/components/parameters/commentId'
      responses:
        '200':
          $ref: '#/components/responses/EmptyResponse'
        '202':
          $ref: '#/components/responses/ReviewCommentTimeoutResponse'
        default:
          $ref: '#/components/responses/ErrorResponse'
    delete:
      operationId: deleteComment
      summary: 'Comment: Delete'
      tags:
      - Reviews
      description: 'Deletes a Comment on a Review.

        <br><br>

        '
      parameters:
      - $ref: '#/components/parameters/accountId'
      - $ref: '#/components/parameters/v'
      - $ref: '#/components/parameters/reviewId'
      - $ref: '#/components/parameters/commentId'
      responses:
        '200':
          $ref: '#/components/responses/EmptyResponse'
        '202':
          $ref: '#/components/responses/ReviewCommentTimeoutResponse'
        default:
          $ref: '#/components/responses/ErrorResponse'
  /accounts/{accountId}/reviewinvites:
    parameters:
    - $ref: '#/components/parameters/accountId'
    get:
      operationId: listReviewInvitations
      summary: 'Review Invitations: List'
      tags:
      - Reviews
      description: Retrieves all review invitations for an account
      parameters:
      - $ref: '#/components/parameters/accountId'
      - $ref: '#/components/parameters/v'
      - name: limit
        in: query
        schema:
          type: integer
          default: 10
          maximum: 100
        description: Number of results to return
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          default: 0
          maximum: 9900
        description: '

          Number of results to skip. Used to page through results.

          Cannot be used together with **`pageToken`**.


          If the **`v`** parameter is before `20240626`, the maximum offset is not enforced.

          However, users are still encouraged to migrate to **`pageToken`** for queries requiring

          large offsets, as these may result in errors.

          '
      - name: pageToken
        in: query
        schema:
          type: string
        description: 'If a response to a previous request contained the **`nextPageToken`** field, pass that

          field''s value as the **`pageToken`** parameter to retrieve the next page of data.


          The **`pageToken`** parameter will only be respected with the inclusion of a **`v`**

          parameter of `20240626` or later.

          '
      - name: locationIds
        in: query
        schema:
          type: array
          items:
            type: string
        description: 'When provided, only invitations for the requested locations will be returned.


          **Example:** loc123,loc456,loc789

          '
        style: simple
      - name: folderIds
        in: query
        schema:
          type: array
          items:
            type: string
        description: 'When provided, only invitations for locations in the given folders and their subfolders

          will be included in the results.

          '
      - name: locationLabels
        in: query
        schema:
          type: array
          items:
            type: string
        description: 'When present, only invitations for locations with the provided labels will be returned.

          '
      - name: templateIds
        in: query
        schema:
          type: array
          items:
            type: string
        description: When provided, only invitations using the provided templateIds will be returned.
      - name: status
        in: query
        schema:
          type: string
          enum:
          - ACCEPTED
          - REJECTED
          - PENDING
        description: When provided, only invitations of the chosen status will be returned.
      - name: type
        in: query
        schema:
          type: string
          enum:
          - EMAIL
          - SMS
        description: When provided, only invitations of the selected type will be returned.
      responses:
        '200':
          $ref: '#/components/responses/ReviewInvitationsResponse'
        default:
          $ref: '#/components/responses/ErrorResponse'
    post:
      operationId: createReviewInvites
      tags:
      - Reviews
      summary: 'Review Invitations: Create'
      description: "Sends review invitations to one or more consumers.\n<br><br>\n ## Optional fields\n* **`templateId`**\n* **`transactionId`**\n<br><br>\n"
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/CreateReviewInvitationRequest'
      parameters:
      - $ref: '#/components/parameters/accountId'
      - $ref: '#/components/parameters/v'
      responses:
        '201':
          $ref: '#/components/responses/CreateReviewInvitationsResponse'
        default:
          $ref: '#/components/responses/ErrorResponse'
  /accounts/{accountId}/reviewinvites/{invitationUid}:
    parameters:
    - $ref: '#/components/parameters/accountId'
    - $ref: '#/components/parameters/invitationId'
    - $ref: '#/components/parameters/v'
    get:
      operationId: getReviewInvitation
      summary: 'Review Invitation: Get'
      tags:
      - Reviews
      description: Retrieve a specific review invitation.
      responses:
        '200':
          $ref: '#/components/responses/ReviewInvitationResponse'
        default:
          $ref: '#/components/responses/ErrorResponse'
    put:
      requestBody:
        $ref: '#/components/requestBodies/updateReviewInvitationRequest'
      parameters:
      - $ref: '#/components/parameters/accountId'
      - $ref: '#/components/parameters/v'
      - $ref: '#/components/parameters/invitationId'
      operationId: updateReviewInvitation
      summary: 'Review Invitation: Update'
      tags:
      - Reviews
      description: 'Supports updating an existing review invitation. This endpoint will not create a new review

        invitation or trigger a new SMS/Email to be sent, it will only update the data and/or metadata

        for an existing review invitation. Any optional parameters which are excluded from the request

        will simply be ignored.

        '
      responses:
        '200':
          $ref: '#/components/responses/UpdateReviewInvitationResponse'
        default:
          $ref: '#/components/responses/ErrorResponse'
    delete:
      operationId: deleteInvitation
      summary: 'Review Invitation: Delete'
      tags:
      - Reviews
      description: Delete a specific review invitation.
      responses:
        '200':
          $ref: '#/components/responses/EmptyResponse'
        default:
          $ref: '#/components/responses/ErrorResponse'
  /accounts/{accountId}/reviews/{reviewId}/labels:
    parameters:
    - $ref: '#/components/parameters/accountId'
    - $ref: '#/components/parameters/reviewId'
    put:
      operationId: updateReviewLabels
      summary: 'Review Labels: Update'
      tags:
      - Reviews
      description: Assigns the specified review labels to the specified review, replacing existing labels on the review.
      requestBody:
        $ref: '#/components/requestBodies/updateReviewLabelsRequest'
      parameters:
      - $ref: '#/components/parameters/accountId'
      - $ref: '#/components/parameters/v'
      - $ref: '#/components/parameters/reviewId'
      responses:
        '200':
          $ref: '#/components/responses/UpdateReviewLabelsResponse'
        default:
          $ref: '#/components/responses/ErrorResponse'
  /accounts/{accountId}/reviews/settings/generation:
    parameters:
    - $ref: '#/components/parameters/accountId'
    - $ref: '#/components/parameters/v'
    get:
      operationId: getReviewGenerationSettings
      tags:
      - Reviews
      summary: 'Review Generation Settings: Get'
      description: Returns all current generation settings for a specified account.
      responses:
        '200':
          $ref: '#/components/responses/ReviewGenerationSettingsResponse'
        default:
          $ref: '#/components/responses/ErrorResponse'
    post:
      operationId: updateReviewGenerationSettings
      tags:
      - Reviews
      summary: 'Review Generation Settings: Update'
      description: 'Updates any generation settings specified in a specified account.

        Call may include any/all settings available to the account.

        Settings not included will remain unchanged.

        '
      requestBody:
        $ref: '#/components/requestBodies/reviewGenerationSettingsRequest'
      parameters:
      - $ref: '#/components/parameters/accountId'
      - $ref: '#/components/parameters/v'
      responses:
        '200':
          $ref: '#/components/responses/UpdateReviewGenerationSettingsResponse'
        default:
          $ref: '#/components/responses/ErrorResponse'
  /accounts/{accountId}/workflowRules:
    parameters:
    - $ref: '#/components/parameters/accountId'
    get:
      operationId: listReviewWorkflowRules
      summary: 'Review Workflow Rules: List'
      tags:
      - Reviews
      parameters:
      - $ref: '#/components/parameters/accountId'
      - $ref: '#/components/parameters/v'
      - name: pageSize
        in: query
        schema:
          type: integer
          default: 25
          maximum: 25
        description: The maximum number of workflow rules to return. Defaults to 25.
      - name: pageToken
        in: query
        schema:
          type: string
        description: 'If a response to a previous request contained the **`nextPageToken`** field, pass that

          field''s value as the **`pageToken`** parameter to retrieve the next page of data.

          '
      - name: filter
        in: query
        schema:
          type: string
        description: 'CEL expression used to filter workflow rules. Filters can only be applied to

          **`assignee`**, **`type`**, and **`enabled`**.

          '
      description: 'Retrieve the Review Workflow Rules configured for the account.

        '
      responses:
        '200':
          $ref: '#/components/responses/workflowRulesResponse'
        default:
          $ref: '#/components/responses/ErrorResponse'
    post:
      operationId: createReviewWorkflowRule
      summary: 'Review Workflow Rules: Create'
      tags:
      - Reviews
      parameters:
      - $ref: '#/components/parameters/accountId'
      - $ref: '#/components/parameters/v'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateWorkflowRule'
      description: 'Creates a Review Workflow Rule.

        '
      responses:
        '200':
          $ref: '#/components/responses/workflowRuleResponse'
        default:
          $ref: '#/components/responses/ErrorResponse'
  /accounts/{accountId}/workflowRules/{workflowRuleId}:
    parameters:
    - $ref: '#/components/parameters/accountId'
    - $ref: '#/components/parameters/workflowRuleId'
    - $ref: '#/components/parameters/v'
    get:
      operationId: getReviewWorkflowRule
      summary: 'Review Workflow Rules: Get'
      tags:
      - Reviews
      description: Retrieve a specific Review Workflow Rule.
      responses:
        '200':
          $ref: '#/components/responses/workflowRuleResponse'
        default:
          $ref: '#/components/responses/ErrorResponse'
    patch:
      operationId: updateReviewWorkflowRule
      summary: 'Review Workflow Rules: Update'
      tags:
      - Reviews
      parameters:
      - $ref: '#/components/parameters/accountId'
      - $ref: '#/components/parameters/v'
      - $ref: '#/components/parameters/workflowRuleId'
      - name: updateMask
        in: query
        required: true
        schema:
          type: string
        description: 'Comma-separated list of fields to update on the workflow rule.


          Supported values:

          `assignee`, `assignee_user_group`, `display_name`, `enabled`,

          `domain_configuration`, `rule_type`, `due_date`


          Example: `display_name,enabled`

          '
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateWorkflowRule'
      description: 'Updates a single Review Workflow Rule.


        **NOTE:** Review Workflow Rules: Update only updates supplied fields. Omitted fields are not modified.

        '
      responses:
        '200':
          $ref: '#/components/responses/workflowRuleResponse'
        default:
          $ref: '#/components/responses/ErrorResponse'
    delete:
      operationId: deleteReviewWorkflowRule
      summary: 'Review Workflow Rules: Delete'
      tags:
      - Reviews
      description: Deletes a Review Workflow Rule.
      responses:
        '200':
          $ref: '#/components/responses/EmptyResponse'
        default:
          $ref: '#/components/responses/ErrorResponse'
  /listings/reviews:
    parameters:
    - $ref: '#/components/parameters/listingId'
    - $ref: '#/components/parameters/num'
    - $ref: '#/components/parameters/before'
    get:
      operationId: getReviewList
      tags:
      - Reviews
      summary: Review List
      description: "Yext uses REVIEWS to retrieve review data for business owners. You should provide access to all organic reviews displayed on your properties (i.e., no third-party reviews).\n\n## **Requirements**\nWhen Yext customers sign in to their Listings dashboard, Yext shows them all their reviews from across the Yext Knowledge Network. In order to support this, we have the following requirements for any publisher that supports customer reviews on their listings.\n\n* Publisher must provide access to all review data.\n* Publisher’s system must notify Yext when new reviews are added, updated, or deleted from Yext-powered listings.\n* Publisher must provide a direct link to each individual review.\n* If the publisher allows users to respond to reviews, the publisher must allow Yext to do so (on behalf of the business owner).\n* If the publisher allows users to flag reviews as abuse, the publisher must allow Yext to do so (on behalf of the business owner).  \n"
      responses:
        '200':
          $ref: '#/components/responses/GetReviewsSuccess'
        '400':
          $ref: '#/components/responses/ErrorResponseNew'
        '404':
          $ref: '#/components/responses/404NotFoundResponse'
        '500':
          $ref: '#/components/responses/ServerError'
  /listings/reviews/{reviewId}:
    parameters:
    - $ref: '#/components/parameters/reviewId'
    get:
      operationId: getReview
      tags:
      - Reviews
      summary: Get Review
      description: 'Get the review object for a specific review ID.

        '
      responses:
        '200':
          $ref: '#/components/responses/GetSingleReviewSuccess'
        '400':
          $ref: '#/components/responses/ErrorResponseNew'
        '404':
          $ref: '#/components/responses/404NotFoundResponse'
        '500':
          $ref: '#/components/responses/ServerError'
    post:
      operationId: reviewRespond
      tags:
      - Reviews
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PartnerReviewResponse'
      summary: Create Comment
      description: "Yext uses RESPOND to allow business owners to interact with reviews left by consumers.\nThe endpoint supports review response by a business owner and the capability to flag reviews for inappropriate content. You should support any capabilities you already have on your site.\n\n# **Requirements**\n  Yext's customers would like to be able to manage all their reviews from one platform. To that end, they should be able to use the Yext platform to take advantage of the review-management features you have on your site.\n## Specifically:\n* Publishers who support review response from business owners must provide that capability via this endpoint.\n* Publishers who support flagging reviews for inappropriate content must provide that capability via this endpoint.\n"
      responses:
        '200':
          $ref: '#/components/responses/NewCommentSuccess'
        '400':
          $ref: '#/components/responses/ErrorResponseNew'
        '404':
          $ref: '#/components/responses/404NotFoundResponse'
        '500':
          $ref: '#/components/responses/ServerError'
  /listings/reviews/{reviewId}/comment/{commentId}:
    parameters:
    - $ref: '#/components/parameters/reviewId'
    - $ref: '#/components/parameters/commentId_2'
    put:
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/s

# --- truncated at 32 KB (96 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/yext/refs/heads/main/openapi/yext-reviews-api-openapi.yml