/2026-01/retail-media/campaigns/{campaign-id}/preferred-line-items
curl --request GET \
--url https://api.criteo.com/2026-01/retail-media/campaigns/{campaign-id}/preferred-line-items \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.criteo.com/2026-01/retail-media/campaigns/{campaign-id}/preferred-line-items"
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-01/retail-media/campaigns/{campaign-id}/preferred-line-items', 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-01/retail-media/campaigns/{campaign-id}/preferred-line-items",
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-01/retail-media/campaigns/{campaign-id}/preferred-line-items"
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-01/retail-media/campaigns/{campaign-id}/preferred-line-items")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.criteo.com/2026-01/retail-media/campaigns/{campaign-id}/preferred-line-items")
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": {
"budget": 123,
"campaignId": "<string>",
"name": "<string>",
"startDate": "2023-12-25",
"status": "unknown",
"targetRetailerId": "<string>",
"budgetRemaining": 123,
"budgetSpent": 123,
"capping": {
"count": 123,
"type": "unknown"
},
"createdAt": "2023-11-07T05:31:56Z",
"creativeId": "<string>",
"endDate": "2023-12-25",
"id": "<string>",
"pacing": "unknown",
"page": {
"pageType": "unknown",
"categories": [
{
"categoryId": "<string>",
"includeChildren": true
}
],
"searchKeywords": [
"<string>"
]
},
"updatedAt": "2023-11-07T05:31:56Z"
},
"id": "<string>",
"type": "<string>"
}
],
"errors": [
{
"code": "<string>",
"detail": "<string>",
"instance": "<string>",
"source": {},
"stackTrace": "<string>",
"title": "<string>",
"traceId": "<string>",
"traceIdentifier": "<string>",
"type": "unknown"
}
],
"metadata": {
"currentPageIndex": 123,
"currentPageSize": 123,
"nextPage": "<string>",
"previousPage": "<string>",
"totalItemsAcrossAllPages": 123,
"totalPages": 123
},
"warnings": [
{
"code": "<string>",
"detail": "<string>",
"instance": "<string>",
"source": {},
"stackTrace": "<string>",
"title": "<string>",
"traceId": "<string>",
"traceIdentifier": "<string>",
"type": "unknown"
}
]
}/2026-01/retail-media/campaigns/{campaign-id}/preferred-line-items
Gets page of preferred line item objects for the given campaign id
GET
/
2026-01
/
retail-media
/
campaigns
/
{campaign-id}
/
preferred-line-items
/2026-01/retail-media/campaigns/{campaign-id}/preferred-line-items
curl --request GET \
--url https://api.criteo.com/2026-01/retail-media/campaigns/{campaign-id}/preferred-line-items \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.criteo.com/2026-01/retail-media/campaigns/{campaign-id}/preferred-line-items"
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-01/retail-media/campaigns/{campaign-id}/preferred-line-items', 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-01/retail-media/campaigns/{campaign-id}/preferred-line-items",
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-01/retail-media/campaigns/{campaign-id}/preferred-line-items"
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-01/retail-media/campaigns/{campaign-id}/preferred-line-items")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.criteo.com/2026-01/retail-media/campaigns/{campaign-id}/preferred-line-items")
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": {
"budget": 123,
"campaignId": "<string>",
"name": "<string>",
"startDate": "2023-12-25",
"status": "unknown",
"targetRetailerId": "<string>",
"budgetRemaining": 123,
"budgetSpent": 123,
"capping": {
"count": 123,
"type": "unknown"
},
"createdAt": "2023-11-07T05:31:56Z",
"creativeId": "<string>",
"endDate": "2023-12-25",
"id": "<string>",
"pacing": "unknown",
"page": {
"pageType": "unknown",
"categories": [
{
"categoryId": "<string>",
"includeChildren": true
}
],
"searchKeywords": [
"<string>"
]
},
"updatedAt": "2023-11-07T05:31:56Z"
},
"id": "<string>",
"type": "<string>"
}
],
"errors": [
{
"code": "<string>",
"detail": "<string>",
"instance": "<string>",
"source": {},
"stackTrace": "<string>",
"title": "<string>",
"traceId": "<string>",
"traceIdentifier": "<string>",
"type": "unknown"
}
],
"metadata": {
"currentPageIndex": 123,
"currentPageSize": 123,
"nextPage": "<string>",
"previousPage": "<string>",
"totalItemsAcrossAllPages": 123,
"totalPages": 123
},
"warnings": [
{
"code": "<string>",
"detail": "<string>",
"instance": "<string>",
"source": {},
"stackTrace": "<string>",
"title": "<string>",
"traceId": "<string>",
"traceIdentifier": "<string>",
"type": "unknown"
}
]
}Authorizations
The access token received from the authorization server in the OAuth 2.0 flow.
FlowAuthorization Code
- Authorization URL
- https://api.criteo.com/oauth2
- Token URL
- https://api.criteo.com/oauth2/token
FlowClient Credentials
- Token URL
- https://api.criteo.com/oauth2/token
Scopes1
RetailMedia_Campaign_Read
Grants Read access to the capabilities from the Campaign domain, for RetailMedia applications
Path Parameters
The given campaign id
Query Parameters
The ids that you would like to limit your result set to
The 0 indexed page index you would like to receive given the page size
Required range:
0 <= x <= 2147483647The maximum number of items you would like to receive in this request
Required range:
1 <= x <= 2147483647Response
200 - application/json
Success
Data model for a paged list of response resources
Was this page helpful?