GuidesAPI ReferenceChangelog
GuidesAPI ReferenceChangelogLog In
Guides
These docs are for v2022.10. Click to read the latest docs for v2024.10.

📝

A FEW THINGS TO KNOW

An account represents a brand, agency, marketplace seller, or retailer; it is a business & billing entity that contains campaigns. Accounts are created by Criteo; please reach out to your account representative.

 

Endpoint

VerbEndpointDescription
GET /accountsGet All Accounts

 

Account Attributes

id

    Data Type: string

    Values: int64

    Description: Account ID

name

    Data Type: string

    Values: 510 char limit

    Description: Account name

type

    Data Type: enum

    Values: demand, supply

    Description: Account type

subtype

    Data Type: enum

    Values: brand, seller

    Description: Account subtype

countries

    Data Type: string array

    Values: ISO-3166 alpha-2 (eg.US , FR)

    Description: Countries associated with the account

currency

    Data Type: string

    Values: ISO-4217 (eg.USD , EUR)

    Description: One single currency for billing, budgeting, bid settings & campaign performance metrics

parentAccountLabel

    Data Type: string

    Values: 510 char limit

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

timeZone

    Data Type: string

    Values: database tz syntax, (eg. America/New_York, Europe/Paris , UTC)

    Description: Account time zone

 

Get All Accounts

This endpoint lists all accounts that your API credentials have access to. Response results will be provided in paginated form

https://api.criteo.com/2022-10/retail-media/accounts

Sample Request

curl -X GET "https://api.criteo.com/2022-10/retail-media/accounts" \
    -H "Authorization: Bearer <MY_ACCESS_TOKEN>"
import requests

url = "https://api.criteo.com/2022-07/retail-media/accounts"

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/2022-07/retail-media/accounts")
  .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/2022-07/retail-media/accounts');
$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

{
    "data": [
        {
            "type": "RetailMediaAccount",
            "id": "18446744073709551616",
            "attributes": {
                "name": "Account 123",
                "type": "demand",
                "subtype": "brand",
                "countries": ["US"],
                "currency": "USD",
                "parentAccountLabel": "Parent Company 123",
                "timeZone": "America/New_York"
            }
        },
 
        // ...
 
        {
            "type": "RetailMediaAccount",
            "id": "17087025952598080003",
            "attributes": {
                "name": "Account 789",
                "type": "demand",
                "subtype": "brand",
                "countries": ["FR",
                              "DE",
                              "GB"],
                "currency": "EUR",
                "parentAccountLabel": "Parent Company 123",
                "timeZone": "Europe/Paris"
            }
        }
    ],
    "metadata": {
        "totalItemsAcrossAllPages": 80,
        "currentPageSize": 25,
        "currentPageIndex": 1,
        "totalPages": 4,
        "nextPage": "https://api.criteo.com/2022-10/retail-media/accounts?pageIndex=2&pageSize=25",
        "previousPage": "https://api.criteo.com/2022-10/retail-media/accounts?pageIndex=0&pageSize=25"
    }
}

Responses

ResponseDescription
🔵 200Call executed with success

What’s Next