Skip to main content
Account creation endpoints enable private market retailers to create both demand brand and marketplace seller accounts within the private market. The following endpoints will also provide access to manage the brand and seller mappings for each account types.
Limited AccessPrivate Market account creation and management access is currently only available for a selected group of API users. To access these endpoints, please get in touch with Criteo to have the correct permissions enabled.

Endpoints

Verb

Endpoint

Description

GET

/accounts

Get all Accounts

GET

/account-management/accounts/{parentAccountId}/private-market-child-accounts

Get all PM Demand Child (brand or seller) Accounts under the parent Supply Account (Retailer)

POST

/account-management/accounts/{parentAccountId}/create-brand-account

Create a PM Demand-Brand Account under the Parent Supply Account

POST

/account-management/accounts/{parentAccountId}/create-seller-account

Create a PM Demand-Seller Account under the Parent Supply Account

POST

/account-management/accounts/{accountId}/brands/add

Map brands to a demand brand account

POST

/account-management/accounts/{accountId}/brands/remove

Remove brand from a demand brand account

PUT

/account-management/accounts/{accountId}/sellers

Map or remove sellers from demand seller account.

Account Attributes

Attribute

Data Type

Description

id

string

Account ID, from a demand or supply account, generated internally by Criteo

Accepted values: string of int64

Writeable? N / Nullable? N

name

string

Account name, arbitrary and defined at account creation

Accepted values: up to 510-chars string

Writeable? Y / Nullable? N

type

enum

Account type, withsupplybeing the account type forRetailersanddemandthe account type for the different types of advertisers (brand, marketplace sellers, agencies, etc)

Accepted values:demand,supply

Writeable? N / Nullable? N

subtype

enum

Account sub-type, specific for demand accounts

Accepted values:brand,seller

Writeable? N / Nullable? Y

brandId

list<string>

List ofBrandIDs associated with a demand brand account. Required in the demand brand account creation.

Accepted values: list of string of int64

Writeable? Y / Nullable? N

sellerId

string

Seller ID from Retailer’sCatalog, associated with a demand seller account. Required in the demand seller account creation.

Accepted values: string of int64

Writeable? Y / Nullable? N

retailerId

string

RetailerID, associated with the demand seller account, generated internally by Criteo. Required in the demand seller account creation.

Accepted values: string of int64

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 ofcompanyName) associated with the advertisement

Accepted values: up to 255-chars string

Writeable? Y / Nullable? Y

countries/countryIds

list<string>

Countries associated with the account

Accepted values: 2-chars country code (inISO-3166alpha-2 code; e.g.US,FR)

Writeable? N / Nullable? N

currency/currencyId

string

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

Accepted values: 3-chars currency code (inISO-4217; e.g.USD,EUR)

Writeable? N / Nullable? N

parentAccountLabel

string

Label used to associate multiple accounts

Accepted values: up to 510-chars string

Default: same asname

Writeable? Y / Nullable? N

timeZone

string

Account time zone

Accepted values: time zone identifiers fromIANA (TZ database)(e.g.America/New_York,Europe/Paris,Asia/Tokyo,UTC)

Writeable? N / Nullable? N

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. Results are paginated using pageIndex and pageSize query parameters; if omitted, defaults to 0 and 25, respectively. See API Response.
View in the API ReferenceYou can also see this endpoint in the API reference.
Sample Request
curl -L -X GET 'https://api.criteo.com/{version}/retail-media/accounts?pageIndex=0&pageSize=25' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer <ACCESS_TOKEN>'
Sample Response
JSON
{
    "metadata": {
        "totalItemsAcrossAllPages": 4,
        "currentPageSize": 25,
        "currentPageIndex": 0,
        "totalPages": 1
    },
    "data": [
        {
            "id": "425730879617900544",
            "type": "RetailMediaAccount",
            "attributes": {
                "name": "Supply Private Market TEST Account",
                "type": "supply",
                "subtype": null,
                "countries": [
                    "US"
                ],
                "currency": "USD",
                "parentAccountLabel": "Supply Private Market TEST Account",
                "timeZone": "America/New_York",
                "companyName": "Supply Private Market TEST Account",
                "onBehalfCompanyName": "Supply Private Market TEST Account"
            }
        },
        {
            "id": "568182612169883648",
            "type": "RetailMediaAccount",
            "attributes": {
                "name": "Demand Brand Account US",
                "type": "demand",
                "subtype": "brand",
                "countries": [
                    "US"
                ],
                "currency": "USD",
                "parentAccountLabel": "Supply Private Market TEST Account",
                "timeZone": "America/New_York",
                "companyName": "Brand ABC Corp.",
                "onBehalfCompanyName": "Brand ABC Corp."
            }
        },
        
        // ...
        
        {
            "id": "569185968379719680",
            "type": "RetailMediaAccount",
            "attributes": {
                "name": "Town Supplies (seller)",
                "type": "demand",
                "subtype": "seller",
                "countries": [
                    "US"
                ],
                "currency": "USD",
                "parentAccountLabel": "Supply Private Market TEST Account",
                "timeZone": "America/New_York",
                "companyName": "Seller Test",
                "onBehalfCompanyName": "Seller Test LLC"
            }
        }
    ]
}

Get Private Market Child Accounts

This endpoint lists all Private Market child accounts (brand or marketplace seller accounts) that are associated with the given Retailer account. Response results will be provided in paginated form Results are paginated using offset and limit query parameters; if omitted, defaults to 0 and 500, respectively. See API Response. Sample Request
curl -L 'https://api.criteo.com/{version}/retail-media/account-management/accounts/425730879617900544/private-market-child-accounts?offset=0&limit=25' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer <ACCESS_TOKEN>'
Sample Response
JSON
{
    "metadata": {
        "count": 4,
        "offset": 0,
        "limit": 25
    },
    "data": [
        {
            "id": "568182612169883648",
            "type": "RetailMediaChildAccount",
            "attributes": {
                "name": "Demand Brand Account US",
                "type": "demand",
                "subtype": "brand",
                "countryIds": [
                    "US"
                ],
                "currencyId": "USD",
                "timeZone": "America/New_York",
                "companyName": "Brand ABC Corp.",
                "onBehalfCompanyName": "Brand ABC Corp."
            }
        },
        
        // ...
        
        {
            "id": "569185968379719680",
            "type": "RetailMediaChildAccount",
            "attributes": {
                "name": "Town Supplies (seller)",
                "type": "demand",
                "subtype": "seller",
                "countryIds": [
                    "US"
                ],
                "currencyId": "USD",
                "parentAccountLabel": "Supply Private Market TEST Account",
                "timeZone": "America/New_York",
                "companyName": "Seller Test",
                "onBehalfCompanyName": "Seller Test LLC"
            }
        }
    ]
}

Create Brand Account

This endpoint creates a new child Demand-Brand account under the provided parent Private Market account. Sample Request
curl -L -X POST "https://api.criteo.com/{version}/retail-media/account-management/accounts/425730879617900544/create-brand-account" \
    -H "Authorization: Bearer <MY_ACCESS_TOKEN>" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -d '{
            "data": {
                "type": "AccountCreationDemandBrand",
                "attributes": {
                    "name": "Demand Brand Account US",
                    "companyName": "Brand ABC Corp.",
                    "onBehalfCompanyName": "Brand ABC Corp.",
                    "brands": [
                        "2151767311"
                    ]
                }
            }
        }'
Sample Response
{
    "data": {
        "attributes": {
            "name": "Demand Brand Account US",
            "companyName": "Brand ABC Corp.",
            "onBehalfCompanyName": "Brand ABC Corp.",
            "type": "Demand",
            "subType": "Brand",
            "countryIds": [
                "US"
            ],
            "currencyId": "USD",
            "parentAccountLabel": "Supply Private Market TEST Account",
            "timeZone": "America/New_York"
        },
        "id": "569225726270857216",
        "type": "RetailMediaAccount"
    },
    "warnings": [],
    "errors": []
}

Create Seller Account

This endpoint creates a new child Demand-Seller account under the provided parent Private Market account. Sample Request
curl -L -X POST 'https://api.criteo.com/{version}/retail-media/account-management/accounts/425730879617900544/create-seller-account' \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer &lt;ACCESS TOKEN&gt;' \
    -d '{
            "data": {
                "type": "Demand",
                "attributes": {
                    "name": "Town Supplies (seller)",
                    "companyName": "Seller Test",
                    "onBehalfCompanyName": "Seller Test LLC",
                    "sellers": [
                        {
                            "sellerId": "62a0871ffad67c541xxxxxxxxx",
                            "retailerId": "1141"
                        }
                    ]
                }
            }
        }'
Sample Response
{
    "data": {
        "attributes": {
            "name": "Town Supplies (seller)",
            "type": "Demand",
            "subType": "Seller",
            "countryIds": [
                "US"
            ],
            "currencyId": "USD",
            "parentAccountLabel": "Supply Private Market TEST Account",
            "timeZone": "America/New_York",
            "companyName": "Seller Test",
            "onBehalfCompanyName": "Seller Test LLC"
        },
        "id": "569185968379719680",
        "type": "RetailMediaAccount"
    },
    "warnings": [],
    "errors": []
}

Add Brand to Account

This endpoint adds a brand to a Private Market Demand-Brand account. Sample Request
curl -L -X POST 'https://api.criteo.com/{version}/retail-media/account-management/accounts/568182612169883648/brands/add' \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer <ACCESS_TOKEN>' \
    -d '{
            "data": {
                "type": "MapBrandstoDemandAccount",
                "attributes": {
                    "brandIds": [
                        "2151768660"
                    ]
                }
            }
        }'
Sample Response
{
    "data": {
        "type": "RetailMediaBrands",
        "attributes": {
            "brandIds": [
                2149947741,
                2151768660
            ]
        }
    },
    "warnings": [],
    "errors": []
}

Remove Brand from Account

This endpoint removes a brand from a Private Market Demand-Brand account.
Although brandIds is an array format, as of now, only one brand can be removed from an account at a time, this parameter should contain only one id per request.
Sample Request
curl -L -X POST 'https://api.criteo.com/{version}/retail-media/account-management/accounts/568182612169883648/brands/remove' \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer <ACCESS_TOKEN>' \
    -d '{
            "data": {
                "type": "RemoveBrandfromDemandAccount",
                "attributes": {
                    "brandIds": [
                        "2151768660"
                    ]
                }
            }
        }'
Sample Response
{
    "data": {
        "type": "RetailMediaBrands",
        "attributes": {
            "brandIds": [
                2149947741
            ]
        }
    },
    "warnings": [],
    "errors": []
}  

Add Seller to Account

The endpoint map or removes sellers from a private market seller account. Note that PUT calls overrides existing values. Only the sellerId mapped in the payload will be the ones associated with the account. Sample Request
curl -L -X PUT 'https://api.criteo.com/{version}/retail-media/account-management/accounts/569185968379719680/sellers' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <ACCESS_TOKEN>' \
-d '{
	"data": [
		{
			"type": "MapSellertoAccount",
			"attributes": {
				"sellerId": "5ed6ad7b0b2a9xxxxxxxxxxx",
				"retailerId": "1141"
			}
		},
		{
			"type": "MapSellertoAccount",
			"attributes": {
				"sellerId": "640a20bbc63745xxxxxxxxxxx",
				"retailerId": "1141"
			}
		}
	]
}'
Sample Response
{
    "data": [
        {
            "type": "RetailMediaSeller",
            "attributes": {
                "sellerId": "5ed6ad7b0b2a995f0427858e",
                "retailerId": 1141
            }
        },
        {
            "type": "RetailMediaSeller",
            "attributes": {
                "sellerId": "640a20bbc637455565a5c4a3",
                "retailerId": 1141
            }
        }
    ],
    "warnings": [],
    "errors": []
}

Responses

Response

Description

🔵

200

Call completed successfully

🔵

201

Account created successfully

🔴

400

Validation Error - one or more required fields was not found. Confirm that all required fields are present in the API call