Accounts Endpoints

Introduction

An account represents a brand, agency, marketplace seller, or retailer. It serves as a business and billing entity that contains campaigns.

ℹ️

Accounts are created by Criteo. Please reach out to your account representative


Endpoint

MethodEndpointDescription
GET/accountsGet All Accounts

Account Attributes

Attribute

Data Type

Description

id

string

Account ID

Accepted values: string of int64
Writeable? N / Nullable? N

name

string

Account name

Accepted values: up to 510-chars string
Writeable? Y / Nullable? N

type

enum

Account type, with suply being the account type for Retailers and demand the account type for the different types of advertisers (brand, marketplace sellers, agencies, etc)

Accepted values: demand, supply
Default: json
Writeable? N / Nullable? N

subtype

enum

Account sub-type, specific for demand accounts

Accepted values: brand, seller
Default: json
Writeable? N / Nullable? Y

countries

list<string>

Countries associated with the account

Accepted values: 2-chars country code (in ISO-3166 alpha-2 code; e.g. US, FR)
Writeable? N / Nullable? N

currency

list<string>

Default currency for bulling, budgeting, bid settings & campaign performance metrics

Accepted values: 3-chars currency code (in ISO-4217; e.g. USD, EUR)
Writeable? N / Nullable? N

parentAccountLabel

string

Label used to associate multiple accounts; defaults to the account name

Accepted values: up to 510-chars string
Writeable? Y / Nullable? N

timeZone

string

Account time zone

Accepted values: time zone identifiers from IANA (TZ database) (e.g. America/New_York, Europe/Paris, Asia/Tokyo, UTC)
Writeable? N / Nullable? N

companyName

string

This optional field, exclusively accessible to marketplaces within the European Union (in compliance with the Digital Service Act - DSA), will display the name of the company associated with the advertisement.

Accepted values: up to 255-chars string
Writeable? Y / Nullable? Y

onBehalfCompanyName

string

This optional field, exclusively accessible to marketplaces within the European Union (in compliance with the Digital Service Act - DSA), will display the name of the company (on behalf of companyName) associated with the advertisement

Accepted values: up to 255-chars string
Writeable? Y / Nullable? Y

📑

Digital Service Act (DSA)

In compliance with the Digital Services Act (DSA), marketplaces within the European Union will receive information about the company name associated with each advertisement.


Get All Accounts

This endpoint lists all accounts accessible via your API credentials.

Responses are provided in a paginated format.

https://api.criteo.com/{version}/retail-media/accounts
📘

View in the API Reference

You can also see this endpoint in the API reference.

Sample Request

curl -X GET "https://api.criteo.com/{version}/retail-media/accounts?pageSize=25&pageIndex=0" \
    -H "Authorization: Bearer <MY_ACCESS_TOKEN>"
import requests

url = "https://api.criteo.com/{version}/retail-media/accounts?pageSize=25&pageIndex=0"

payload={}
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer <MY_ACCESS_TOKEN>'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)
OkHttpClient client = new OkHttpClient().newBuilder()
  .build();
MediaType mediaType = MediaType.parse("text/plain");

RequestBody body = RequestBody.create(mediaType, "");

Request request = new Request.Builder()
  .url("https://api.criteo.com/{version}/retail-media/accounts?pageSize=25&pageIndex=0")
  .method("GET", body)
  .addHeader("Accept", "application/json")
  .addHeader("Authorization", "Bearer <MY_ACCESS_TOKEN>")
  .build();

Response response = client.newCall(request).execute();
<?php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('https://api.criteo.com/{version}/retail-media/accounts?pageSize=25&pageIndex=0');
$request->setMethod(HTTP_Request2::METHOD_GET);
$request->setConfig(array(
  'follow_redirects' => TRUE
));

$request->setHeader(array(
  'Accept' => 'application/json',
  'Authorization' => 'Bearer <MY_ACCESS_TOKEN>'
));

try {
  $response = $request->send();
  if ($response->getStatus() == 200) {
    echo $response->getBody();
  }
  
  else {
    echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
    $response->getReasonPhrase();
  }
}

catch(HTTP_Request2_Exception $e) {
  echo 'Error: ' . $e->getMessage();
}

Sample Response

{
    "metadata": {
        "totalItemsAcrossAllPages": 2,
        "currentPageSize": 25,
        "currentPageIndex": 0,
        "totalPages": 1
    },
    "data": [
        {
            "id": "5",
            "type": "RetailMediaAccount",
            "attributes": {
                "name": "Supply Demo Test Account",
                "type": "supply",
                "subtype": null,
                "countries": [
                    "US"
                ],
                "currency": "USD",
                "parentAccountLabel": "Supply Demo Test Account",
                "timeZone": "America/New_York",
                "companyName": "Supply Demo Test Account",
                "onBehalfCompanyName": "Supply Demo Test Account"
            }
        },
        {
            "id": "368471940340928512",
            "type": "RetailMediaAccount",
            "attributes": {
                "name": "RM API Account",
                "type": "demand",
                "subtype": "brand",
                "countries": [
                    "US"
                ],
                "currency": "USD",
                "parentAccountLabel": "API Account",
                "timeZone": "America/New_York",
                "companyName": "RM API Account",
                "onBehalfCompanyName": "RM API Account"
            }
        }
    ]
}

Responses

Response

Description

🟢

200

Call executed with success


What’s Next