/2026-07/retail-media/line-items/{line-item-id}/products
curl --request GET \
--url https://api.criteo.com/2026-07/retail-media/line-items/{line-item-id}/products \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.criteo.com/2026-07/retail-media/line-items/{line-item-id}/products"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.criteo.com/2026-07/retail-media/line-items/{line-item-id}/products', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.criteo.com/2026-07/retail-media/line-items/{line-item-id}/products",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.criteo.com/2026-07/retail-media/line-items/{line-item-id}/products"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.criteo.com/2026-07/retail-media/line-items/{line-item-id}/products")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.criteo.com/2026-07/retail-media/line-items/{line-item-id}/products")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"attributes": {
"bidOverride": 123,
"id": "<string>",
"status": "unknown"
},
"id": "<string>",
"type": "<string>"
}
],
"errors": [
{
"code": "<string>",
"detail": "<string>",
"instance": "<string>",
"source": {},
"stackTrace": "<string>",
"status": 123,
"title": "<string>",
"traceId": "<string>",
"type": "unknown"
}
],
"meta": {
"count": 123,
"limit": 123,
"offset": 123,
"responseCount": 123
},
"warnings": [
{
"code": "<string>",
"detail": "<string>",
"instance": "<string>",
"source": {},
"stackTrace": "<string>",
"status": 123,
"title": "<string>",
"traceId": "<string>",
"type": "unknown"
}
]
}/2026-07/retail-media/line-items/{line-item-id}/products
Retrieve a page of promoted products for a line item
GET
/
2026-07
/
retail-media
/
line-items
/
{line-item-id}
/
products
/2026-07/retail-media/line-items/{line-item-id}/products
curl --request GET \
--url https://api.criteo.com/2026-07/retail-media/line-items/{line-item-id}/products \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.criteo.com/2026-07/retail-media/line-items/{line-item-id}/products"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.criteo.com/2026-07/retail-media/line-items/{line-item-id}/products', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.criteo.com/2026-07/retail-media/line-items/{line-item-id}/products",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.criteo.com/2026-07/retail-media/line-items/{line-item-id}/products"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.criteo.com/2026-07/retail-media/line-items/{line-item-id}/products")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.criteo.com/2026-07/retail-media/line-items/{line-item-id}/products")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"attributes": {
"bidOverride": 123,
"id": "<string>",
"status": "unknown"
},
"id": "<string>",
"type": "<string>"
}
],
"errors": [
{
"code": "<string>",
"detail": "<string>",
"instance": "<string>",
"source": {},
"stackTrace": "<string>",
"status": 123,
"title": "<string>",
"traceId": "<string>",
"type": "unknown"
}
],
"meta": {
"count": 123,
"limit": 123,
"offset": 123,
"responseCount": 123
},
"warnings": [
{
"code": "<string>",
"detail": "<string>",
"instance": "<string>",
"source": {},
"stackTrace": "<string>",
"status": 123,
"title": "<string>",
"traceId": "<string>",
"type": "unknown"
}
]
}Authorizations
The access token received from the authorization server in the OAuth 2.0 flow.
Path Parameters
ID of the line item.
Query Parameters
A comma separated list of attribute names from the response model to compute and return.
Valid values are status and bidOverride in any order. Defaults to status.
Maximum page size to fetch. Defaults to 500.
Offset of the first item to fetch. Defaults to zero.
Response
200 - application/json
Promoted products associated with the line item
Was this page helpful?