curl --request POST \
--url https://api.criteo.com/2027-01/retail-media/accounts/{account-id}/creatives/search-enriched \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"data": {
"attributes": {
"creativeIds": [
"<string>"
],
"creativeName": "<string>",
"creativeTypes": [],
"pageTypes": [],
"retailerIds": [
"<string>"
],
"templateIds": [
"<string>"
]
},
"id": "<string>",
"type": "<string>"
}
}
'import requests
url = "https://api.criteo.com/2027-01/retail-media/accounts/{account-id}/creatives/search-enriched"
payload = { "data": {
"attributes": {
"creativeIds": ["<string>"],
"creativeName": "<string>",
"creativeTypes": [],
"pageTypes": [],
"retailerIds": ["<string>"],
"templateIds": ["<string>"]
},
"id": "<string>",
"type": "<string>"
} }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
data: {
attributes: {
creativeIds: ['<string>'],
creativeName: '<string>',
creativeTypes: [],
pageTypes: [],
retailerIds: ['<string>'],
templateIds: ['<string>']
},
id: '<string>',
type: '<string>'
}
})
};
fetch('https://api.criteo.com/2027-01/retail-media/accounts/{account-id}/creatives/search-enriched', 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/2027-01/retail-media/accounts/{account-id}/creatives/search-enriched",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'data' => [
'attributes' => [
'creativeIds' => [
'<string>'
],
'creativeName' => '<string>',
'creativeTypes' => [
],
'pageTypes' => [
],
'retailerIds' => [
'<string>'
],
'templateIds' => [
'<string>'
]
],
'id' => '<string>',
'type' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.criteo.com/2027-01/retail-media/accounts/{account-id}/creatives/search-enriched"
payload := strings.NewReader("{\n \"data\": {\n \"attributes\": {\n \"creativeIds\": [\n \"<string>\"\n ],\n \"creativeName\": \"<string>\",\n \"creativeTypes\": [],\n \"pageTypes\": [],\n \"retailerIds\": [\n \"<string>\"\n ],\n \"templateIds\": [\n \"<string>\"\n ]\n },\n \"id\": \"<string>\",\n \"type\": \"<string>\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.criteo.com/2027-01/retail-media/accounts/{account-id}/creatives/search-enriched")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"data\": {\n \"attributes\": {\n \"creativeIds\": [\n \"<string>\"\n ],\n \"creativeName\": \"<string>\",\n \"creativeTypes\": [],\n \"pageTypes\": [],\n \"retailerIds\": [\n \"<string>\"\n ],\n \"templateIds\": [\n \"<string>\"\n ]\n },\n \"id\": \"<string>\",\n \"type\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.criteo.com/2027-01/retail-media/accounts/{account-id}/creatives/search-enriched")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"data\": {\n \"attributes\": {\n \"creativeIds\": [\n \"<string>\"\n ],\n \"creativeName\": \"<string>\",\n \"creativeTypes\": [],\n \"pageTypes\": [],\n \"retailerIds\": [\n \"<string>\"\n ],\n \"templateIds\": [\n \"<string>\"\n ]\n },\n \"id\": \"<string>\",\n \"type\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"data": [
{
"attributes": {
"createdAt": "2023-11-07T05:31:56Z",
"creativeType": "Unknown",
"displayableProductsMax": 123,
"modifiedAt": "2023-11-07T05:31:56Z",
"name": "<string>",
"pageType": [
"Unknown"
],
"preview": "<string>",
"productCollectionsHaveImages": true,
"productCollectionsHaveText": true,
"productCollectionsMax": 123,
"productCollectionsMin": 123,
"productsPerCollectionMax": 123,
"productsPerCollectionMin": 123,
"retailerId": "<string>",
"status": "Ready",
"templateId": "<string>"
},
"id": "<string>",
"type": "<string>"
}
],
"errors": [
{
"code": "<string>",
"detail": "<string>",
"instance": "<string>",
"source": {},
"stackTrace": "<string>",
"title": "<string>",
"traceId": "<string>",
"type": "unknown"
}
],
"metadata": {
"limit": 123,
"offset": 123,
"count": 123
},
"warnings": [
{
"code": "<string>",
"detail": "<string>",
"instance": "<string>",
"source": {},
"stackTrace": "<string>",
"title": "<string>",
"traceId": "<string>",
"type": "unknown"
}
]
}/2027-01/retail-media/accounts/{account-id}/creatives/search-enriched
Get account creatives enriched with the product collection constraints of their template. The returned id is the first parent external id of the creative (stable across versions).
curl --request POST \
--url https://api.criteo.com/2027-01/retail-media/accounts/{account-id}/creatives/search-enriched \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"data": {
"attributes": {
"creativeIds": [
"<string>"
],
"creativeName": "<string>",
"creativeTypes": [],
"pageTypes": [],
"retailerIds": [
"<string>"
],
"templateIds": [
"<string>"
]
},
"id": "<string>",
"type": "<string>"
}
}
'import requests
url = "https://api.criteo.com/2027-01/retail-media/accounts/{account-id}/creatives/search-enriched"
payload = { "data": {
"attributes": {
"creativeIds": ["<string>"],
"creativeName": "<string>",
"creativeTypes": [],
"pageTypes": [],
"retailerIds": ["<string>"],
"templateIds": ["<string>"]
},
"id": "<string>",
"type": "<string>"
} }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
data: {
attributes: {
creativeIds: ['<string>'],
creativeName: '<string>',
creativeTypes: [],
pageTypes: [],
retailerIds: ['<string>'],
templateIds: ['<string>']
},
id: '<string>',
type: '<string>'
}
})
};
fetch('https://api.criteo.com/2027-01/retail-media/accounts/{account-id}/creatives/search-enriched', 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/2027-01/retail-media/accounts/{account-id}/creatives/search-enriched",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'data' => [
'attributes' => [
'creativeIds' => [
'<string>'
],
'creativeName' => '<string>',
'creativeTypes' => [
],
'pageTypes' => [
],
'retailerIds' => [
'<string>'
],
'templateIds' => [
'<string>'
]
],
'id' => '<string>',
'type' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.criteo.com/2027-01/retail-media/accounts/{account-id}/creatives/search-enriched"
payload := strings.NewReader("{\n \"data\": {\n \"attributes\": {\n \"creativeIds\": [\n \"<string>\"\n ],\n \"creativeName\": \"<string>\",\n \"creativeTypes\": [],\n \"pageTypes\": [],\n \"retailerIds\": [\n \"<string>\"\n ],\n \"templateIds\": [\n \"<string>\"\n ]\n },\n \"id\": \"<string>\",\n \"type\": \"<string>\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.criteo.com/2027-01/retail-media/accounts/{account-id}/creatives/search-enriched")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"data\": {\n \"attributes\": {\n \"creativeIds\": [\n \"<string>\"\n ],\n \"creativeName\": \"<string>\",\n \"creativeTypes\": [],\n \"pageTypes\": [],\n \"retailerIds\": [\n \"<string>\"\n ],\n \"templateIds\": [\n \"<string>\"\n ]\n },\n \"id\": \"<string>\",\n \"type\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.criteo.com/2027-01/retail-media/accounts/{account-id}/creatives/search-enriched")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"data\": {\n \"attributes\": {\n \"creativeIds\": [\n \"<string>\"\n ],\n \"creativeName\": \"<string>\",\n \"creativeTypes\": [],\n \"pageTypes\": [],\n \"retailerIds\": [\n \"<string>\"\n ],\n \"templateIds\": [\n \"<string>\"\n ]\n },\n \"id\": \"<string>\",\n \"type\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"data": [
{
"attributes": {
"createdAt": "2023-11-07T05:31:56Z",
"creativeType": "Unknown",
"displayableProductsMax": 123,
"modifiedAt": "2023-11-07T05:31:56Z",
"name": "<string>",
"pageType": [
"Unknown"
],
"preview": "<string>",
"productCollectionsHaveImages": true,
"productCollectionsHaveText": true,
"productCollectionsMax": 123,
"productCollectionsMin": 123,
"productsPerCollectionMax": 123,
"productsPerCollectionMin": 123,
"retailerId": "<string>",
"status": "Ready",
"templateId": "<string>"
},
"id": "<string>",
"type": "<string>"
}
],
"errors": [
{
"code": "<string>",
"detail": "<string>",
"instance": "<string>",
"source": {},
"stackTrace": "<string>",
"title": "<string>",
"traceId": "<string>",
"type": "unknown"
}
],
"metadata": {
"limit": 123,
"offset": 123,
"count": 123
},
"warnings": [
{
"code": "<string>",
"detail": "<string>",
"instance": "<string>",
"source": {},
"stackTrace": "<string>",
"title": "<string>",
"traceId": "<string>",
"type": "unknown"
}
]
}Authorizations
The access token received from the authorization server in the OAuth 2.0 flow.
- Authorization URL
- https://api.criteo.com/oauth2
- Token URL
- https://api.criteo.com/oauth2/token
- Token URL
- https://api.criteo.com/oauth2/token
Path Parameters
External account id to retrieve creatives for
Query Parameters
limit to paginated result
1 <= x <= 500offset to paginated result
0 <= x <= 2147483647Body
search request filter
A top-level object that encapsulates a Criteo API request for a single entity.
A domain entity exposed by the API, identified by a unique id.
Show child attributes
Show child attributes
Response
Creatives found
A top-level object that encapsulates a Criteo API response for several entities and metadata.
Show child attributes
Show child attributes
Errors that occured during this call.
Show child attributes
Show child attributes
Metadata related to the current request.
Show child attributes
Show child attributes
Warnings that occured during this call.
Show child attributes
Show child attributes
Was this page helpful?