Skip to main content
POST
/
2025-07
/
retail-media
/
accounts
/
{accountId}
/
grant-consent
/2025-07/retail-media/accounts/{accountId}/grant-consent
curl --request POST \
  --url https://api.criteo.com/2025-07/retail-media/accounts/{accountId}/grant-consent \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "data": {
    "type": "<string>"
  }
}
'
import requests

url = "https://api.criteo.com/2025-07/retail-media/accounts/{accountId}/grant-consent"

payload = { "data": { "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: {type: '<string>'}})
};

fetch('https://api.criteo.com/2025-07/retail-media/accounts/{accountId}/grant-consent', 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/2025-07/retail-media/accounts/{accountId}/grant-consent",
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' => '<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/2025-07/retail-media/accounts/{accountId}/grant-consent"

payload := strings.NewReader("{\n \"data\": {\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/2025-07/retail-media/accounts/{accountId}/grant-consent")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"data\": {\n \"type\": \"<string>\"\n }\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.criteo.com/2025-07/retail-media/accounts/{accountId}/grant-consent")

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 \"type\": \"<string>\"\n }\n}"

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

Authorizations

Authorization
string
header
required

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

Path Parameters

accountId
string
required

The demand account ID on which to grant consent

Body

application/json

An object that encapsulates GrantConsentModel

data
object

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

Response

204

Success