Skip to main content
Getting Started
  • A promoted product specifies the product that will be advertised on a line item.
  • Identify eligible products to promote by accessing your account catalog.
  • Each product can optionally be configured with a specific bid amount, allowing you to control how much you are willing to pay per click.
  • Each line item is limited to a maximum of 500 promoted products.
 

Endpoints

MethodEndpointDescription
GET/line-items/{lineItemId}/productsRetrieve all products associated with a specific line item.
POST/line-items/{lineItemId}/products/appendAdd products to a specific line item or update their bid override.
POST/line-items/{lineItemId}/products/deleteRemove products from a specific line item.
POST/line-items/{lineItemId}/products/pausePause products on a specific line item, preventing them from being advertised.
POST/line-items/{lineItemId}/products/unpauseReactivate paused products on a specific line item, allowing them to be advertised again.
 
AttributeData TypeDescription
id*stringProduct ID, unique identifier at the Retailer catalog and obtained from the account CatalogAccepted values: up to 500-chars string Writeable? N / Nullable? N
lineItemId*stringLine Item ID, in which the product is to be promoted; required in the endpoints’ path to define in which line item to perform the actionAccepted values: string of int64 Writeable? N / Nullable? N
bidOverridedecimalBid value for the specific product; overrides targetBid specified on the Line Item and must satisfy minBid from Catalog (input excludes platform fees)Accepted values: bidOverride ≥ 0.0 Default: 0.0 Writeable? Y / Nullable? Y
statusenumStatus of Promoted Product; can only be updated to active or paused using the pause/un-pause endpoints below. For more details about each state, check out Campaign, Line Item & Products StatusAccepted values: active, paused, scheduled, ended, budgetHit, noFunds, draft, archived Writeable? Y / Nullable? N
*Required  

Get All Products on a Specific Line Item

This endpoint lists all products on the specified line item. Results are paginated. Optional Query Parameters
Query ParamData TypeDescription
offsiteintegerPagination parameter, see API Response
limitintegerPagination parameter, see API Response
fieldslistComma-separated list of optional attributes to include in the response - can be used to optimize response time and payload length
Sample Request
curl -X GET "https://api.criteo.com/{version}/retail-media/line-items/2465695028166499188/products?offset=0&limit=10&fields=bidOverride,status" \
    -H "Authorization: Bearer <MY_ACCESS_TOKEN>"
Sample Response 🔵 HTTP code 200:
{
    "meta": {
        "offset": 0,
        "limit": 10,
        "count": 34,
        "responseCount": 34
    },
    "data": [
        {
            "id": "06d3049c3e1642ec92479dbeca1fc39f",
            "type": "RetailMediaPromotedProduct",
            "attributes": {
                "bidOverride": 0.70,
                "status": "active"
            }
        },
        // ...
        {
            "id": "926097",
            "type": "RetailMediaPromotedProduct",
            "attributes": {
                "bidOverride": 0.30,
                "status": "active"
            }
        }
    ]
}

Add Products to a Specific Line Item, or Update a Bid Override

This endpoint adds one or more products to promote on the specified line item. The resulting state of the line item is returned as a single page. If the product already exists, only its bid override will be updated. Sample Request
curl -X POST "https://api.criteo.com/{version}/retail-media/line-items/2465695028166499188/products/append" \
    -H "Authorization: Bearer <MY_ACCESS_TOKEN>" \
    -H "Content-Type: application/json" \
    -d '{
            "data": [
                {
                    "type": "RetailMediaPromotedProduct",
                    "id": "sku1",
                    "attributes": {
                        "bidOverride": 3.50
                    }
                },
                {
                    "type": "RetailMediaPromotedProduct",
                    "id": "sku3",
                    "attributes": {
                        "bidOverride": 2.00
                    }
                },
                {
                    "type": "RetailMediaPromotedProduct",
                    "id": "sku41",
                    "attributes": {
                        "bidOverride": 1.50
                    }
                },
                {
                    "type": "RetailMediaPromotedProduct",
                    "id": "sku67"
                }
            ]
        }'
Sample Response
{
    "meta": {
        "totalItemsAcrossAllPages": 3,
        "currentPageSize": 2147483647,
        "currentPageIndex": 0,
        "totalPages": 1
    },
    "data": [
        {
            "attributes": {
                "bidOverride": null,
                "status": "active",
                "id": "06d3049c3e1642ec92479dbeca1fc39f"
            },
            "id": "06d3049c3e1642ec92479dbeca1fc39f",
            "type": "RetailMediaPromotedProduct"
        },
        {
            "attributes": {
                "bidOverride": null,
                "status": "active",
                "id": "156a8cb56faf4e6a9c2eb0451255f13c"
            },
            "id": "156a8cb56faf4e6a9c2eb0451255f13c",
            "type": "RetailMediaPromotedProduct"
        },
        {
            "attributes": {
                "bidOverride": 0.35000000,
                "status": "active",
                "id": "926097"
            },
            "id": "926097",
            "type": "RetailMediaPromotedProduct"
        }
    ],
    "warnings": [],
    "errors": []
}

Remove Products from a Specific Line Item

This endpoint removes one or more products from the specified line item. The resulting state of the line item is returned as a single page. Line items can be created without any promoted products, but once any products are added, at least one product must remain. Sample Request
curl -X POST "https://api.criteo.com/{version}/retail-media/line-items/2465695028166499188/products/delete" \
    -H "Authorization: Bearer <MY_ACCESS_TOKEN>" \
    -H "Content-Type: application/json" \
    -d '{
            "data": [
                {
                    "id": "sku1",
                    "type": "RetailMediaPromotedProduct"
                }
            ]
        }'
Sample Response 🔵 HTTP code 204 (no body content)

Pause Products on a Specific Line Item

This endpoint allows reactivating one or multiple paused products on a line item: Sample Request
curl -X POST 'https://api.criteo.com/{version}/retail-media/line-items/311990577399115776/products/pause' \
		-H 'Content-Type: application/json' \
		-H'Authorization: Bearer <MY_ACCESS_TOKEN>' \
    -d '{
          "data": [
            {
              "id": "4f5c49fce3c94542b5023e7cc1e1f5ca",
              "type": "RetailMediaPromotedProduct"
            }
         ]
    }'
Sample Response 🔵 HTTP code 204 (no body content)

Unpaused Products on a Specific Line Item

This endpoint allows unpausing one or multiple products on a line item: Sample Request
curl -L -X POST 'https://api.criteo.com/{version}/retail-media/line-items/311990577399115776/products/unpause' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <MY_ACCESS_TOKEN>' \
-d '{
  "data": [
    {
      "id": "4f5c49fce3c94542b5023e7cc1e1f5ca",
      "type": "RetailMediaPromotedProduct"
    }
  ]
}'
Sample Response 🔵 HTTP code 204 (no body content)

Responses

ResponseDescription
🟢 200Call completed with success
🟢 204Promoted product paused or un-paused with success (no body content returned)
🔴 400Bad Request - Common validation errors:
  • Could not find the SKU ID used to append to the line item. Make sure the SKU exists in the retailer’s catalog
  • Product bid override less than the product min bid
  • Invalid bid override:Cannot use bid override attribute for a product belonging to a preferred deals line item
  • Pausing/Un-pausing promoted products: Only the ID is required; do not include BidOverride or Status attributes.
🔴 403API user does not have authorization to make requests for the account ID. For authorization, follow the authorization request steps.
🔴 404Line item ID not found