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

# /2025-10/retail-media/line-items/{line-item-id}/keywords/review

> Update the status of keyword reviews under a line item



## OpenAPI

````yaml https://api.criteo.com/2025-10/retailmedia/open-api-specifications.json post /2025-10/retail-media/line-items/{line-item-id}/keywords/review
openapi: 3.0.1
info:
  title: Criteo API
  description: Criteo API - RetailMedia
  version: 2025-10
servers:
  - url: https://api.criteo.com
security:
  - oauth: []
tags:
  - name: Accounts
  - name: Analytics
  - name: Audience
  - name: Balance
  - name: Billing
  - name: Campaign
  - name: Gateway
paths:
  /2025-10/retail-media/line-items/{line-item-id}/keywords/review:
    post:
      tags:
        - Campaign
      summary: /2025-10/retail-media/line-items/{line-item-id}/keywords/review
      description: Update the status of keyword reviews under a line item
      operationId: UpdateKeywordReviews
      parameters:
        - name: line-item-id
          in: path
          description: The line item to update keyword review statuses for
          required: true
          schema:
            type: string
            format: int64
      requestBody:
        description: Request object containing a list of Phrase-ReviewState pairs to update
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ValueResourceInputRetailMediaKeywordsReview'
        x-bodyName: keywordReviewSetStateRequest
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/ValueResourceOutcomeRetailMediaKeywordsReviewResult
      security:
        - oauth:
            - RetailMedia_Campaign_Manage
components:
  schemas:
    ValueResourceInputRetailMediaKeywordsReview:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/ValueResourceRetailMediaKeywordsReview'
      additionalProperties: false
      description: >-
        A top-level object that encapsulates a Criteo API request for a single
        value object.
    ValueResourceOutcomeRetailMediaKeywordsReviewResult:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/ValueResourceRetailMediaKeywordsReviewResult'
        errors:
          type: array
          items:
            $ref: '#/components/schemas/SdkApiRestCommonProblem'
          description: Errors that occured during this call.
          nullable: true
          readOnly: true
        warnings:
          type: array
          items:
            $ref: '#/components/schemas/SdkApiRestCommonProblem'
          description: Warnings that occured during this call.
          nullable: true
          readOnly: true
      additionalProperties: false
      description: >-
        A top-level object that encapsulates a Criteo API response for a single
        value object.
    ValueResourceRetailMediaKeywordsReview:
      type: object
      properties:
        attributes:
          $ref: '#/components/schemas/RetailMediaKeywordsReview'
        type:
          type: string
          description: Type of the resource.
          nullable: true
      additionalProperties: false
      description: A value resource exposed by the API.
    ValueResourceRetailMediaKeywordsReviewResult:
      type: object
      properties:
        attributes:
          $ref: '#/components/schemas/RetailMediaKeywordsReviewResult'
        type:
          type: string
          nullable: true
      additionalProperties: false
      description: A value resource exposed by the API.
      nullable: true
    SdkApiRestCommonProblem:
      type: object
      properties:
        code:
          type: string
          description: A machine-readable error code, expressed as a string value.
          nullable: true
        detail:
          type: string
          description: >-
            A human-readable explanation specific to this occurrence of the
            problem.
          nullable: true
        instance:
          type: string
          description: A URI that identifies the specific occurrence of the problem.
          nullable: true
        source:
          type: object
          additionalProperties:
            type: string
          description: >-
            A machine-readable structure to reference to the exact location(s)
            causing the error(s).
          nullable: true
        stackTrace:
          type: string
          description: ''
          nullable: true
        title:
          type: string
          description: A short human-readable description of the problem type.
          nullable: true
        traceId:
          type: string
          description: The request correlation ID this problem comes from.
          nullable: true
        type:
          enum:
            - unknown
            - access-control
            - authentication
            - authorization
            - availability
            - deprecation
            - quota
            - validation
          type: string
          description: The problem's category.
          nullable: true
      additionalProperties: false
      description: Common problem object.
    RetailMediaKeywordsReview:
      required:
        - keywords
      type: object
      properties:
        keywords:
          minItems: 1
          type: array
          items:
            $ref: '#/components/schemas/ReviewSetState'
      additionalProperties: false
      description: >-
        Request object for approval of keyword reviews, containing a list of
        Phrase-ReviewState pairs
    RetailMediaKeywordsReviewResult:
      required:
        - keywords
      type: object
      properties:
        keywords:
          minItems: 1
          type: array
          items:
            $ref: '#/components/schemas/ReviewSetState'
      additionalProperties: false
      description: >-
        Response object for approval of keyword reviews, containing a list of
        Phrase-ReviewState pairs
      nullable: true
    ReviewSetState:
      required:
        - phrase
        - reviewState
      type: object
      properties:
        phrase:
          type: string
          description: Normalized key phrase for keyword review to update
        reviewState:
          enum:
            - Unknown
            - InReview
            - Recommended
            - Approved
            - AutoApproved
            - Rejected
            - AutoRejected
          type: string
          description: Keyword review state to set for a phrase
      additionalProperties: false
      description: A Phrase-ReviewState pair describing an update to a keyword review
  securitySchemes:
    oauth:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://api.criteo.com/oauth2/token
          scopes: {}
        authorizationCode:
          authorizationUrl: https://api.criteo.com/oauth2
          tokenUrl: https://api.criteo.com/oauth2/token
          scopes: {}

````