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

# Update company review status

> Update the review status of discovered companies for quality control.

## Overview

This endpoint allows you to approve, reject, or request more information about discovered companies during the review
phase.

<Note>
  **Workflow Step**: This is part of Phase 3 (Company Review) of the [Market Research
  Workflow](/api-reference/guides/platform-discovery#phase-3-company-review-optional).
</Note>

## Usage

Use this endpoint to control which companies proceed to the final analysis phase:

* **Include**: Include companies that meet your criteria
* **Exclude**: Exclude companies that don't meet your criteria
* **Unreviewed**: Undo previous decisions and re-review companies

<Tip>
  **Quality Control**: This step is crucial for ensuring only relevant companies are included in your market analysis.
</Tip>

<Warning>
  **Important**: This step is optional but recommended for quality control. Once you publish the market, the review
  phase is complete.
</Warning>


## OpenAPI

````yaml patch /v2/discovery/{marketId}/companies/reviews
openapi: 3.0.0
info:
  title: Forestreet API
  version: 1.0.0
  description: API documentation for Forestreet API
servers:
  - url: https://rest.forestreet.com
    description: Forestreet API V2 server
security:
  - apiKeyAuth: []
  - bearerAuth: []
  - sessionIdQuery: []
tags: []
paths:
  /v2/discovery/{marketId}/companies/reviews:
    patch:
      tags:
        - Discovery
      summary: Update company review status
      description: Update the review status of discovered companies for quality control.
      parameters:
        - schema:
            type: string
            description: Unique identifier for the market study.
          required: true
          description: Unique identifier for the market study.
          name: marketId
          in: path
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                reviewStatus:
                  type: string
                  enum:
                    - include
                    - exclude
                    - unreviewed
                  description: Review status of the company.
                target:
                  oneOf:
                    - type: object
                      properties:
                        mode:
                          type: string
                          enum:
                            - partial
                          description: 'Review mode: ''partial'' for selecting domains.'
                        domains:
                          type: array
                          items:
                            type: string
                          minItems: 1
                          description: List of domains to update the review status for.
                      required:
                        - mode
                        - domains
                    - type: object
                      properties:
                        mode:
                          type: string
                          enum:
                            - full
                          description: 'Review mode: ''full'' for all domains.'
                      required:
                        - mode
              required:
                - reviewStatus
                - target
            examples:
              update-all-companies:
                summary: Update All Companies
                description: Example for updating all companies
                value:
                  reviewStatus: include
                  target:
                    mode: full
              update-specific-companies:
                summary: Update Specific Companies
                description: Example for updating specific companies
                value:
                  reviewStatus: include
                  target:
                    mode: partial
                    domains:
                      - new-company.com
                      - startup-ai.com
      responses:
        '200':
          description: Company review status updated
          content:
            application/json:
              schema:
                type: object
                properties:
                  metadata:
                    type: object
                    properties:
                      reviewStatus:
                        type: string
                        enum:
                          - include
                          - exclude
                          - unreviewed
                        description: Review status of the company.
                      mode:
                        type: string
                        enum:
                          - partial
                          - full
                        description: 'Review mode: ''partial'' for selecting domains.'
                    required:
                      - reviewStatus
                      - mode
                  data:
                    type: object
                    properties:
                      updatedCount:
                        type: number
                        description: >-
                          Number of companies that had their review status
                          updated.
                    required:
                      - updatedCount
                required:
                  - metadata
                  - data
              examples:
                review-updated-full:
                  summary: Review Status Updated
                  description: >-
                    Example response when company review status is updated for
                    all companies
                  value:
                    metadata:
                      reviewStatus: include
                      mode: full
                    data:
                      updatedCount: 50
                review-updated-partial:
                  summary: Review Status Updated
                  description: >-
                    Example response when company review status is updated for
                    specific companies
                  value:
                    metadata:
                      reviewStatus: include
                      mode: partial
                    data:
                      updatedCount: 3
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  errorCode:
                    type: string
                    enum:
                      - USER_NOT_CONFIRMED
                      - INVALID_CREDENTIALS
                      - INCOMPLETE_CREDENTIALS
                      - INVALID_SESSION_TOKEN
                      - FORCE_CHANGE_PASSWORD
                      - PASSWORD_RESET_REQUIRED
                      - PASSWORD_EXPIRED
                      - CODE_EXPIRED
                      - SESSION_EXPIRED
                      - UNAUTHORISED
                      - AUTHENTICATOR_ERROR
                      - SSO_ACCOUNT
                      - FORBIDDEN
                      - METHOD_NOT_ALLOWED
                      - INVALID_INPUT
                      - PATH_VALIDATION_FAILED
                      - QUERY_VALIDATION_FAILED
                      - BODY_VALIDATION_FAILED
                      - RESPONSE_VALIDATION_FAILED
                      - INVALID_OR_MALFORMED_JSON
                      - INTERNAL_SERVER_ERROR
                      - CONFIGURATION_ERROR
                      - SERVICE_UNAVAILABLE
                      - NOT_FOUND
                      - CONFLICT
                      - LIMIT_EXCEEDED
                      - REVIEW_ALREADY_PENDING
                      - REVIEW_NOT_PENDING
                      - REVIEW_PENDING
                      - REVIEW_INSUFFICIENT_DOMAINS
                      - QUOTA_EXCEEDED
                      - UNSUPPORTED_ENDPOINT_VERSION
                      - ENDPOINT_NOT_FOUND
                      - ENDPOINT_ALREADY_EXISTS
                  message:
                    type: string
                  detail:
                    type: object
                    additionalProperties:
                      nullable: true
                required:
                  - success
                  - errorCode
              examples:
                INVALID_INPUT:
                  value:
                    success: false
                    errorCode: INVALID_INPUT
                    message: Bad Request
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  errorCode:
                    type: string
                    enum:
                      - USER_NOT_CONFIRMED
                      - INVALID_CREDENTIALS
                      - INCOMPLETE_CREDENTIALS
                      - INVALID_SESSION_TOKEN
                      - FORCE_CHANGE_PASSWORD
                      - PASSWORD_RESET_REQUIRED
                      - PASSWORD_EXPIRED
                      - CODE_EXPIRED
                      - SESSION_EXPIRED
                      - UNAUTHORISED
                      - AUTHENTICATOR_ERROR
                      - SSO_ACCOUNT
                      - FORBIDDEN
                      - METHOD_NOT_ALLOWED
                      - INVALID_INPUT
                      - PATH_VALIDATION_FAILED
                      - QUERY_VALIDATION_FAILED
                      - BODY_VALIDATION_FAILED
                      - RESPONSE_VALIDATION_FAILED
                      - INVALID_OR_MALFORMED_JSON
                      - INTERNAL_SERVER_ERROR
                      - CONFIGURATION_ERROR
                      - SERVICE_UNAVAILABLE
                      - NOT_FOUND
                      - CONFLICT
                      - LIMIT_EXCEEDED
                      - REVIEW_ALREADY_PENDING
                      - REVIEW_NOT_PENDING
                      - REVIEW_PENDING
                      - REVIEW_INSUFFICIENT_DOMAINS
                      - QUOTA_EXCEEDED
                      - UNSUPPORTED_ENDPOINT_VERSION
                      - ENDPOINT_NOT_FOUND
                      - ENDPOINT_ALREADY_EXISTS
                  message:
                    type: string
                  detail:
                    type: object
                    additionalProperties:
                      nullable: true
                required:
                  - success
                  - errorCode
              examples:
                FORBIDDEN:
                  value:
                    success: false
                    errorCode: FORBIDDEN
                    message: Forbidden
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                  errorCode:
                    type: string
                    enum:
                      - USER_NOT_CONFIRMED
                      - INVALID_CREDENTIALS
                      - INCOMPLETE_CREDENTIALS
                      - INVALID_SESSION_TOKEN
                      - FORCE_CHANGE_PASSWORD
                      - PASSWORD_RESET_REQUIRED
                      - PASSWORD_EXPIRED
                      - CODE_EXPIRED
                      - SESSION_EXPIRED
                      - UNAUTHORISED
                      - AUTHENTICATOR_ERROR
                      - SSO_ACCOUNT
                      - FORBIDDEN
                      - METHOD_NOT_ALLOWED
                      - INVALID_INPUT
                      - PATH_VALIDATION_FAILED
                      - QUERY_VALIDATION_FAILED
                      - BODY_VALIDATION_FAILED
                      - RESPONSE_VALIDATION_FAILED
                      - INVALID_OR_MALFORMED_JSON
                      - INTERNAL_SERVER_ERROR
                      - CONFIGURATION_ERROR
                      - SERVICE_UNAVAILABLE
                      - NOT_FOUND
                      - CONFLICT
                      - LIMIT_EXCEEDED
                      - REVIEW_ALREADY_PENDING
                      - REVIEW_NOT_PENDING
                      - REVIEW_PENDING
                      - REVIEW_INSUFFICIENT_DOMAINS
                      - QUOTA_EXCEEDED
                      - UNSUPPORTED_ENDPOINT_VERSION
                      - ENDPOINT_NOT_FOUND
                      - ENDPOINT_ALREADY_EXISTS
                  message:
                    type: string
                  detail:
                    type: object
                    additionalProperties:
                      nullable: true
                required:
                  - success
                  - errorCode
              examples:
                INTERNAL_SERVER_ERROR:
                  value:
                    success: false
                    errorCode: INTERNAL_SERVER_ERROR
                    message: Internal Server Error
components:
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        Pass a static API key for every request, provided by your customer
        support.
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Bearer token authentication, using a sessionId generated by `GET
        /v2/auth/session`.
    sessionIdQuery:
      type: apiKey
      in: query
      name: sessionId
      description: >-
        Session ID passed as a query parameter for authentication, provided by
        `GET /v2/auth/session`.

````