/2026-01/retail-media/reports/campaigns - Criteo Docs

Documentation Index

Fetch the complete documentation index at: /llms.txt

Use this file to discover all available pages before exploring further.

cURL

curl --request POST \
  --url https://api.criteo.com/2026-01/retail-media/reports/campaigns \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "data": {
    "type": "<string>"
  }
}
'```

### Python

import requests

url = "https://api.criteo.com/2026-01/retail-media/reports/campaigns"

payload = { "data": { "type": "" } } headers = { "Authorization": "Bearer ", "Content-Type": "application/json" }

response = requests.post(url, json=payload, headers=headers)

print(response.text)


### Javascript

const options = { method: 'POST', headers: {Authorization: 'Bearer ', 'Content-Type': 'application/json'}, body: JSON.stringify({data: {type: ''}}) };

fetch('https://api.criteo.com/2026-01/retail-media/reports/campaigns', options) .then(res => res.json()) .then(res => console.log(res)) .catch(err => console.error(err));


### PHP
"https://api.criteo.com/2026-01/retail-media/reports/campaigns",\ 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' => [\ 'type' => ''\ ]\ ]),\ CURLOPT_HTTPHEADER => [\ "Authorization: Bearer ",\ "Content-Type: application/json"\ ],\ ]); $response = curl_exec($curl); $err = curl_error($curl); curl_close($curl); if ($err) { echo "cURL Error #:" . $err; } else { echo $response; } ?>

### Go

package main

import ( "fmt" "strings" "net/http" "io" )

func main() {

url := "https://api.criteo.com/2026-01/retail-media/reports/campaigns"

payload := strings.NewReader("{\n "data": {\n "type": ""\n }\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("Authorization", "Bearer ") 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)) }


### Unirest

HttpResponse response = Unirest.post("https://api.criteo.com/2026-01/retail-media/reports/campaigns") .header("Authorization", "Bearer ") .header("Content-Type", "application/json") .body("{\n "data": {\n "type": ""\n }\n}") .asString();


### Ruby

require 'uri' require 'net/http'

url = URI("https://api.criteo.com/2026-01/retail-media/reports/campaigns")

http = Net::HTTP.new(url.host, url.port) http.use_ssl = true

request = Net::HTTP::Post.new(url) request["Authorization"] = 'Bearer ' request["Content-Type"] = 'application/json' request.body = "{\n "data": {\n "type": ""\n }\n}"

response = http.request(request) puts response.read_body


### Response Structure

200

{ "data": { "attributes": { "createdAt": "", "expiresAt": "", "fileSizeBytes": 123, "id": "", "md5CheckSum": "", "message": "", "rowCount": 123 }, "id": "", "type": "" }, "errors": [
{
"code": "",
"detail": "",
"instance": "",
"source": {},
"stackTrace": "",
"title": "",
"traceId": "",
"traceIdentifier": ""
}
], "warnings": [
{
"code": "",
"detail": "",
"instance": "",
"source": {},
"stackTrace": "",
"title": "",
"traceId": "",
"traceIdentifier": ""
}
] }


### Authorizations

Authorization

string

header

required

The access token received from the authorization server in the OAuth 2.0 flow.

### Body

application/json

A top-level object that encapsulates a Criteo API request for a single value

data

object

A top-level object that encapsulates a Criteo API response for a single value

### Response

200 - application/json

Success

Async Report response format

**data**

object | null

A class that represents a domain entity exposed by an API

**errors**

object[] | null

read-only

**warnings**

object[] | null

read-only