> ## 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.

# /preview/retail-media/catalog/products/batch

> Used to publish a batch of operations to insert, update and deletes products.
 The batch is processed asynchronously.The response provides an operationToken which can be used to track
 the status of the report of the operation.



## OpenAPI

````yaml https://api.criteo.com/preview/retailmedia/open-api-specifications.json post /preview/retail-media/catalog/products/batch
openapi: 3.0.1
info:
  title: Criteo API
  description: Criteo API - RetailMedia
  version: Preview
servers:
  - url: https://api.criteo.com
security:
  - oauth: []
tags:
  - name: Accounts
  - name: Analytics
  - name: Audience
  - name: Balance
  - name: Campaign
  - name: Catalog
  - name: Gateway
  - name: OnSiteRecommendation
  - name: ThirdPartyAccounts
paths:
  /preview/retail-media/catalog/products/batch:
    post:
      tags:
        - Catalog
      summary: /preview/retail-media/catalog/products/batch
      description: >-
        Used to publish a batch of operations to insert, update and deletes
        products.
         The batch is processed asynchronously.The response provides an operationToken which can be used to track
         the status of the report of the operation.
      operationId: SubmitCatalogProductsBatch
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProductsCustomBatchRequest'
        required: true
        x-bodyName: body
      responses:
        '202':
          description: >-
            Batch accepted. The status of the operation can be tracked using the
            report endpoint and the operationToken.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchAcceptedResponse'
      security:
        - oauth:
            - RetailMedia_Catalog_Manage
components:
  schemas:
    ProductsCustomBatchRequest:
      required:
        - entries
      type: object
      properties:
        entries:
          type: array
          items:
            $ref: '#/components/schemas/ProductsCustomBatchRequestEntry'
          description: The request entries to be processed in the batch.
      description: Defines a batch of operations.
    BatchAcceptedResponse:
      required:
        - operationToken
      type: object
      properties:
        operationToken:
          type: string
      description: >-
        A batch was accepted. The report can be accessed using the reporting
        endpoint.
    ProductsCustomBatchRequestEntry:
      required:
        - merchantId
        - method
      type: object
      properties:
        batchId:
          type: integer
          description: An entry ID, unique within the batch request.
          format: int64
        feedId:
          type: string
          description: Not used by Criteo.
        itemGroupId:
          type: string
          description: >-
            Deprecated (providing this information is no more needed, this field
            will be removed in next release). The itemGroupId of the product to
            delete. To be defined when the method is delete and the product is a
            variant.
        merchantId:
          type: integer
          description: 'The ID of the managing account. Criteo: the partnerId.'
          format: int32
        method:
          enum:
            - delete
            - insert
          type: string
          description: The method of the batch entry.
        product:
          $ref: '#/components/schemas/Product'
        productId:
          type: string
          description: The Product ID to delete. Only defined if the method is delete.
      description: A product event for a batch request.
    Product:
      required:
        - channel
        - id
        - imageLink
        - link
        - title
      type: object
      properties:
        additionalImageLinks:
          type: array
          items:
            type: string
          description: Additional URLs of images of the item.
        adsGrouping:
          type: string
          description: >-
            Used to group items in an arbitrary way. Only for CPA%, discouraged
            otherwise.
        adsLabels:
          type: array
          items:
            type: string
          description: Similar to adsGrouping, but only works on CPC.
        adsRedirect:
          type: string
          description: >-
            Allows advertisers to override the item URL when the product is
            shown within the context of Product Ads.
        adult:
          type: boolean
          description: Set to true if the item is targeted towards adults. RECOMMENDED.
        ageGroup:
          type: string
          description: Target age group of the item.
        availability:
          type: string
          description: Availability status of the item. RECOMMENDED.
        availabilityDate:
          type: string
          description: >-
            The day a pre-ordered product becomes available for delivery, in ISO
            8601 format.
        badge:
          type: string
          description: URL of a badge image to display on the product.
        brand:
          type: string
          description: Brand of the item. RECOMMENDED.
        channel:
          enum:
            - online
          type: string
          description: The item's channel (online only).
        color:
          type: string
          description: Color of the item.
        condition:
          type: string
          description: Condition or state of the item.
        contentLanguage:
          type: string
          description: The two-letter ISO 639-1 language code for the item.
        costOfGoodsSold:
          $ref: '#/components/schemas/Price'
        customAttributes:
          type: array
          items:
            $ref: '#/components/schemas/CustomAttribute'
          description: >-
            A list of custom (merchant-provided) attributes. This is useful for
            submitting attributes not explicitly exposed by the API. Declaring
            attributes explicitly exposed by the API using is forbidden
        customLabel0:
          type: string
          description: Custom label 0 for custom grouping of items in a Shopping campaign.
        customLabel1:
          type: string
          description: Custom label 1 for custom grouping of items in a Shopping campaign.
        customLabel2:
          type: string
          description: Custom label 2 for custom grouping of items in a Shopping campaign.
        customLabel3:
          type: string
          description: Custom label 3 for custom grouping of items in a Shopping campaign.
        customLabel4:
          type: string
          description: Custom label 4 for custom grouping of items in a Shopping campaign.
        description:
          type: string
          description: Description of the item. RECOMMENDED. (5000 UTF8 characters max).
        displayAdsId:
          type: string
          description: An identifier for an item for dynamic remarketing campaigns.
        displayAdsLink:
          type: string
          description: >-
            URL directly to your item's landing page for dynamic remarketing
            campaigns.
        displayAdsSimilarIds:
          type: array
          items:
            type: string
          description: Advertiser-specified recommendations.
        displayAdsTitle:
          type: string
          description: Title of an item for dynamic remarketing campaigns.
        displayAdsValue:
          type: number
          description: Offer margin for dynamic remarketing campaigns.
          format: double
        energyEfficiencyClass:
          type: string
          description: The energy efficiency class as defined in EU directive 2010/30/EU.
        excludedDestinations:
          type: array
          items:
            type: string
          description: >-
            The list of destinations to exclude for this target (corresponds to
            unchecked check boxes in Merchant Center).
        expirationDate:
          type: string
          description: >-
            Date on which the item should expire, as specified upon insertion,
            in ISO 8601 format.
        externalSellerId:
          type: string
          description: >-
            The external id of the seller (case sensitive and 50 UTF8 characters
            max). This information is required by the Criteo Offsite Ads.
        externalSellerName:
          type: string
          description: >-
            The external name of the seller (case sensitive and 50 UTF8
            characters max). This information is required by the Criteo Offsite
            Ads.
        filters:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: Filter information of the product.
        gender:
          type: string
          description: Target gender of the item.
        googleProductCategory:
          type: string
          description: >-
            Google's category of the item (see Google product taxonomy).
            RECOMMENDED.
        gtin:
          type: string
          description: Global Trade Item Number (GTIN) of the item. RECOMMENDED.
        id:
          type: string
          description: >-
            A unique identifier for the item. Aka Product ID. Don’t use casing
            to make IDs unique.
        identifierExists:
          type: boolean
          description: >-
            False when the item does not have unique product identifiers
            appropriate to its category, such as GTIN, MPN, and brand. Required
            according to the Unique Product Identifier Rules for all target
            countries except for Canada.
        imageLink:
          type: string
          description: >-
            URL of an image of the item. Supported formats: PNG, JPEG, GIF.
            (2000 UTF8 characters max). 
        includedDestinations:
          type: array
          items:
            type: string
          description: >-
            The list of destinations to include for this target (corresponds to
            checked check boxes in Merchant Center). Default destinations are
            always included unless provided in excludedDestinations.
        installment:
          $ref: '#/components/schemas/Installment'
        isBundle:
          type: boolean
          description: >-
            Whether the item is a merchant-defined bundle. A bundle is a custom
            grouping of different products sold by a merchant for a single
            price.
        itemGroupId:
          type: string
          description: >-
            Shared identifier for all variants of the same product. RECOMMENDED.
            Don’t use casing to make IDs unique. (50 characters max)
        kind:
          type: string
          description: Identifies what kind of resource this is.
        link:
          type: string
          description: >-
            URL directly linking to your item's page on your website. (1000 UTF8
            characters max).
        loyaltyPoints:
          $ref: '#/components/schemas/LoyaltyPoints'
        material:
          type: string
          description: The material of which the item is made.
        maxEnergyEfficiencyClass:
          type: string
          description: The energy efficiency class as defined in EU directive 2010/30/EU.
        maxHandlingTime:
          type: integer
          description: Maximal product handling time (in business days).
          format: int64
        minEnergyEfficiencyClass:
          type: string
          description: The energy efficiency class as defined in EU directive 2010/30/EU.
        minHandlingTime:
          type: integer
          description: Minimal product handling time (in business days).
          format: int64
        mobileLink:
          type: string
          description: accounts.link to a mobile-optimized version of the landing page.
        mpn:
          type: string
          description: Manufacturer Part Number (MPN) of the item. RECOMMENDED.
        multipack:
          type: integer
          description: >-
            The number of identical products in a merchant-defined multipack. To
            avoid any overflow issue, pass it as a string.
          format: int64
        numberOfReviews:
          type: integer
          description: The number of customer reviews for the product
          format: int32
        offerId:
          type: string
          description: Not used by Criteo.
        pattern:
          type: string
          description: The item's pattern (e.g. polka dots).
        price:
          $ref: '#/components/schemas/Price'
        productRating:
          type: string
          description: The product rating for the product
        productTypeKeys:
          type: array
          items:
            type: string
          description: Category keys of the item (formatted as in productTypes).
        productTypes:
          type: array
          items:
            type: string
          description: >-
            Categories of the item (formatted as in products data
            specification).
        promotionIds:
          type: array
          items:
            type: string
          description: The unique ID of a promotion.
        salePrice:
          $ref: '#/components/schemas/Price'
        salePriceEffectiveDate:
          type: string
          description: Date range during which the item is on sale.
        sellerId:
          type: string
          description: >-
            (Deprecated Field) The external ID of the seller (case sensitive and
            50 UTF8 characters max). This information is required by the Criteo
            Offsite Ads.
        sellOnGoogleQuantity:
          type: integer
          description: >-
            The quantity of the product that is available for selling on Google.
            Supported only for online products.
          format: int64
        shipping:
          type: array
          items:
            $ref: '#/components/schemas/ProductShipping'
          description: Shipping rules.
        shippingHeight:
          $ref: '#/components/schemas/ProductShippingDimension'
        shippingLabel:
          type: string
          description: >-
            The shipping label of the product, used to group product in
            account-level shipping rules.
        shippingLength:
          $ref: '#/components/schemas/ProductShippingDimension'
        shippingWeight:
          $ref: '#/components/schemas/ProductShippingWeight'
        shippingWidth:
          $ref: '#/components/schemas/ProductShippingDimension'
        sizes:
          type: array
          items:
            type: string
          description: >-
            Size of the item. RECOMMENDED. Only one value is allowed. For
            variants with different sizes, insert a separate product for each
            size with the same itemGroupId value.
        sizeSystem:
          type: string
          description: >-
            System in which the size is specified. Recommended for apparel
            items.
        sizeType:
          type: string
          description: The cut of the item. Recommended for apparel items.
        source:
          type: string
          description: The source of the offer, i.e., how the offer was created.
        targetCountry:
          type: string
          description: The CLDR territory code for the item.
        taxCategory:
          type: string
          description: >-
            The tax category of the product, used to configure detailed tax
            nexus in account-level tax settings.
        taxes:
          type: array
          items:
            $ref: '#/components/schemas/ProductTax'
          description: Tax information.
        title:
          type: string
          description: Title of the item. (500 UTF8 characters max).
        transitTimeLabel:
          type: string
          description: >-
            The transit time label of the product, used to group product in
            account-level transit time tables.
        unitPricingBaseMeasure:
          $ref: '#/components/schemas/ProductUnitPricingBaseMeasure'
        unitPricingMeasure:
          $ref: '#/components/schemas/ProductUnitPricingMeasure'
      description: Defines a product to be inserted or updated.
    Price:
      type: object
      properties:
        currency:
          type: string
          description: The currency of the price.
        value:
          type: string
          description: >-
            The price represented as a number. See JSON's number specification
            for more details.
      description: Defines a price.
    CustomAttribute:
      required:
        - name
        - value
      type: object
      properties:
        name:
          type: string
          description: >-
            The name of the attribute. Underscores will be replaced by spaces
            upon insertion.
        value:
          type: string
          description: The value of the attribute.
      description: Defines a custom attribute of a product.
    Installment:
      type: object
      properties:
        amount:
          $ref: '#/components/schemas/Price'
        months:
          type: integer
          description: The number of installments the buyer has to pay.
          format: int64
      description: Defines the installment of a product.
    LoyaltyPoints:
      type: object
      properties:
        name:
          type: string
          description: >-
            Name of loyalty points program. It is recommended to limit the name
            to 12 full-width characters or 24 Roman characters.
        pointsValue:
          type: integer
          description: The retailer's loyalty points in absolute value.
          format: int64
        ratio:
          type: number
          description: >-
            The ratio of a point when converted to currency. Google assumes
            currency based on Merchant Center settings. If ratio is left out, it
            defaults to 1.0.
          format: double
      description: Defines how a client earns loyalty points after buying this product.
    ProductShipping:
      type: object
      properties:
        country:
          type: string
          description: The CLDR territory code of the country to which an item will ship.
        locationGroupName:
          type: string
          description: >-
            The location where the shipping is applicable, represented by a
            location group name.
        locationId:
          type: integer
          description: >-
            The numeric ID of a location that the shipping rate applies to as
            defined in the AdWords API.
          format: int64
        postalCode:
          type: string
          description: >-
            The postal code range that the shipping rate applies to, represented
            by a postal code, a postal code prefix followed by a * wildcard, a
            range between two postal codes or two postal code prefixes of equal
            length.
        price:
          $ref: '#/components/schemas/Price'
        region:
          type: string
          description: The geographic region to which a shipping rate applies.
        service:
          type: string
          description: A free-form description of the service class or delivery speed.
      description: Defines the shipping information of a product.
    ProductShippingDimension:
      type: object
      properties:
        unit:
          type: string
          description: The unit of value.
        value:
          type: number
          description: >-
            The dimension of the product used to calculate the shipping cost of
            the item.
          format: double
      description: Defines the shipping dimension of a product.
    ProductShippingWeight:
      type: object
      properties:
        unit:
          type: string
          description: The unit of value.
        value:
          type: number
          description: >-
            The weight of the product used to calculate the shipping cost of the
            item.
          format: double
      description: Defines the shipping weight of a product.
    ProductTax:
      type: object
      properties:
        country:
          type: string
          description: >-
            The country within which the item is taxed, specified as a CLDR
            territory code.
        locationId:
          type: integer
          description: >-
            The numeric ID of a location that the tax rate applies to as defined
            in the AdWords API.
          format: int64
        postalCode:
          type: string
          description: >-
            The postal code range that the tax rate applies to, represented by a
            ZIP code, a ZIP code prefix using * wildcard, a range between two
            ZIP codes or two ZIP code prefixes of equal length. Examples: 94114,
            94*, 94002-95460, 94*-95*.
        rate:
          type: number
          description: The percentage of tax rate that applies to the item price.
          format: double
        region:
          type: string
          description: The geographic region to which the tax rate applies.
        taxShip:
          type: boolean
          description: Set to true if tax is charged on shipping.
      description: Defines the tax information of a product.
    ProductUnitPricingBaseMeasure:
      type: object
      properties:
        unit:
          type: string
          description: The unit of the denominator.
        value:
          type: integer
          description: The denominator of the unit price.
          format: int64
      description: Defines a measurement.
    ProductUnitPricingMeasure:
      type: object
      properties:
        unit:
          type: string
          description: The unit of measure.
        value:
          type: number
          description: The measurement of an item.
          format: double
      description: Defines a measurement.
  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: {}

````