> ## Documentation Index
> Fetch the complete documentation index at: https://developers.criteo.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Account Creation and Management (Private Market)

export const EndpointBadge = ({method = "GET", children}) => {
  const METHOD_STYLES = {
    GET: {
      bg: "mint-bg-[#2AB673]"
    },
    POST: {
      bg: "mint-bg-[#3064E3]"
    },
    PUT: {
      bg: "mint-bg-[#C28C30]"
    },
    PATCH: {
      bg: "mint-bg-[#DA622B]"
    },
    DELETE: {
      bg: "mint-bg-[#CB3A32]"
    },
    API: {
      bg: "mint-bg-black"
    }
  };
  const key = method.toUpperCase();
  const styles = METHOD_STYLES[key] ?? METHOD_STYLES.API;
  return <div className="relative mt-7">
      <span className={`absolute -top-2 -left-2 z-10 ${styles.bg} text-white px-2.5 py-0.5 rounded-full text-xs font-bold tracking-wide`}>
        {key}
      </span>
      {children}
    </div>;
};

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.

<Warning>
  **Limited Access**

  Private 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.
</Warning>

## **Endpoints**

<table>
  <thead>
    <tr>
      <th>
        <p>
          Verb
        </p>
      </th>

      <th>
        <p>
          Endpoint
        </p>
      </th>

      <th>
        <p>
          Description
        </p>
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        <p>
          <b>
            GET
          </b>
        </p>
      </td>

      <td>
        <p>
          <code>
            /accounts
          </code>
        </p>
      </td>

      <td>
        <p>
          Get all Accounts
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <b>
            GET
          </b>
        </p>
      </td>

      <td>
        <p>
          <code>
            /account-management/accounts/\{parentAccountId}/private-market-child-accounts
          </code>
        </p>
      </td>

      <td>
        <p>
          Get all PM Demand Child (brand or seller) Accounts under the parent Supply Account (Retailer)
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <b>
            POST
          </b>
        </p>
      </td>

      <td>
        <p>
          <code>
            /account-management/accounts/\{parentAccountId}/create-brand-account
          </code>
        </p>
      </td>

      <td>
        <p>
          Create a PM Demand-Brand Account under the Parent Supply Account
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <b>
            POST
          </b>
        </p>
      </td>

      <td>
        <p>
          <code>
            /account-management/accounts/\{parentAccountId}/create-seller-account
          </code>
        </p>
      </td>

      <td>
        <p>
          Create a PM Demand-Seller Account under the Parent Supply Account
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <b>
            POST
          </b>
        </p>
      </td>

      <td>
        <p>
          <code>
            /account-management/accounts/\{accountId}/brands/add
          </code>
        </p>
      </td>

      <td>
        <p>
          Map brands to a demand brand account
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <b>
            POST
          </b>
        </p>
      </td>

      <td>
        <p>
          <code>
            /account-management/accounts/\{accountId}/brands/remove
          </code>
        </p>
      </td>

      <td>
        <p>
          Remove brand from a demand brand account
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <b>
            PUT
          </b>
        </p>
      </td>

      <td>
        <p>
          <code>
            /account-management/accounts/\{accountId}/sellers
          </code>
        </p>
      </td>

      <td>
        <p>
          Map or remove sellers from demand seller account.
        </p>
      </td>
    </tr>
  </tbody>
</table>

## **Account Attributes**

<table>
  <thead>
    <tr>
      <th>
        <p>
          Attribute
        </p>
      </th>

      <th>
        <p>
          Data Type
        </p>
      </th>

      <th>
        <p>
          Description
        </p>
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        <p>
          <code>
            id
          </code>
        </p>
      </td>

      <td>
        <p>
          string
        </p>
      </td>

      <td>
        <p>
          Account ID, from a demand or supply account, generated internally by Criteo
        </p>

        <p>
          Accepted values: string of int64
        </p>

        <p>
          Writeable? N / Nullable? N
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <code>
            name
          </code>
        </p>
      </td>

      <td>
        <p>
          string
        </p>
      </td>

      <td>
        <p>
          Account name, arbitrary and defined at account creation
        </p>

        <p>
          Accepted values: up to 510-chars string
        </p>

        <p>
          Writeable? Y / Nullable? N
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <code>
            type
          </code>
        </p>
      </td>

      <td>
        <p>
          enum
        </p>
      </td>

      <td>
        <p>
          Account type, with

          <code>
            supply
          </code>

          being the account type for

          <a href="/retail-media/v2025.10/docs/retailers">
            Retailers
          </a>

          and

          <code>
            demand
          </code>

          the account type for the different types of advertisers (brand, marketplace sellers, agencies, etc)
        </p>

        <p>
          Accepted values:

          <code>
            demand
          </code>

          ,

          <code>
            supply
          </code>
        </p>

        <p>
          Writeable? N / Nullable? N
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <code>
            subtype
          </code>
        </p>
      </td>

      <td>
        <p>
          enum
        </p>
      </td>

      <td>
        <p>
          Account sub-type, specific for demand accounts
        </p>

        <p>
          Accepted values:

          <code>
            brand
          </code>

          ,

          <code>
            seller
          </code>
        </p>

        <p>
          Writeable? N / Nullable? Y
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <code>
            brandId
          </code>
        </p>
      </td>

      <td>
        <p>
          list

          <code>
            \<string>
          </code>
        </p>
      </td>

      <td>
        <p>
          List of

          <a href="/retail-media/v2025.10/docs/brands">
            Brand
          </a>

          IDs associated with a demand brand account. Required in the demand brand account creation.
        </p>

        <p>
          Accepted values: list of string of int64
        </p>

        <p>
          Writeable? Y / Nullable? N
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <code>
            sellerId
          </code>
        </p>
      </td>

      <td>
        <p>
          string
        </p>
      </td>

      <td>
        <p>
          Seller ID from Retailer's

          <a href="/retail-media/v2025.10/docs/catalogs">
            Catalog
          </a>

          , associated with a demand seller account. Required in the demand seller account creation.
        </p>

        <p>
          Accepted values: string of int64
        </p>

        <p>
          Writeable? Y / Nullable? N
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <code>
            retailerId
          </code>
        </p>
      </td>

      <td>
        <p>
          string
        </p>
      </td>

      <td>
        <p>
          <a href="/retail-media/v2025.10/docs/retailers">
            Retailer
          </a>

          ID, associated with the demand seller account, generated internally by Criteo. Required in the demand seller account creation.
        </p>

        <p>
          Accepted values: string of int64
        </p>

        <p>
          Writeable? N / Nullable? N
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <code>
            companyName
          </code>
        </p>
      </td>

      <td>
        <p>
          string
        </p>
      </td>

      <td>
        <p>
          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.
        </p>

        <p>
          Accepted values: up to 255-chars string
        </p>

        <p>
          Writeable? Y / Nullable? Y
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <code>
            onBehalfCompanyName
          </code>
        </p>
      </td>

      <td>
        <p>
          string
        </p>
      </td>

      <td>
        <p>
          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

          <code>
            companyName
          </code>

          ) associated with the advertisement
        </p>

        <p>
          Accepted values: up to 255-chars string
        </p>

        <p>
          Writeable? Y / Nullable? Y
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <code>
            countries
          </code>

          /

          <code>
            countryIds
          </code>
        </p>
      </td>

      <td>
        <p>
          list

          <code>
            \<string>
          </code>
        </p>
      </td>

      <td>
        <p>
          Countries associated with the account
        </p>

        <p>
          Accepted values: 2-chars country code (in

          <a href="https://www.iso.org/iso-3166-country-codes.html">
            ISO-3166
          </a>

          alpha-2 code; e.g.

          <code>
            US
          </code>

          ,

          <code>
            FR
          </code>

          )
        </p>

        <p>
          Writeable? N / Nullable? N
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <code>
            currency
          </code>

          /

          <code>
            currencyId
          </code>
        </p>
      </td>

      <td>
        <p>
          string
        </p>
      </td>

      <td>
        <p>
          Default currency for bulling, budgeting, bid settings & campaign performance metrics
        </p>

        <p>
          Accepted values: 3-chars currency code (in

          <a href="https://www.iso.org/iso-4217-currency-codes.html">
            ISO-4217
          </a>

          ; e.g.

          <code>
            USD
          </code>

          ,

          <code>
            EUR
          </code>

          )
        </p>

        <p>
          Writeable? N / Nullable? N
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <code>
            parentAccountLabel
          </code>
        </p>
      </td>

      <td>
        <p>
          string
        </p>
      </td>

      <td>
        <p>
          Label used to associate multiple accounts
        </p>

        <p>
          Accepted values: up to 510-chars string
        </p>

        <p>
          Default: same as

          <code>
            name
          </code>
        </p>

        <p>
          Writeable? Y / Nullable? N
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <code>
            timeZone
          </code>
        </p>
      </td>

      <td>
        <p>
          string
        </p>
      </td>

      <td>
        <p>
          Account time zone
        </p>

        <p>
          Accepted values: time zone identifiers from

          <a href="https://www.iana.org/time-zones">
            IANA (TZ database)
          </a>

          (e.g.

          <code>
            America/New\_York
          </code>

          ,

          <code>
            Europe/Paris
          </code>

          ,

          <code>
            Asia/Tokyo
          </code>

          ,

          <code>
            UTC
          </code>

          )
        </p>

        <p>
          Writeable? N / Nullable? N
        </p>
      </td>
    </tr>
  </tbody>
</table>

<Note>
  ### **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.
</Note>

## **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](/retail-media/v2025.10/docs/api-response#pagination).

<EndpointBadge method="get">
  ```http theme={null}
  https://api.criteo.com/{version}/retail-media/accounts
  ```
</EndpointBadge>

<Info>
  **View in the API Reference**

  You can also see this endpoint in the [API reference](/retail-media/reference/authorization/get-token).
</Info>

**Sample Request**

```bash theme={null}
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 JSON expandable theme={null}
{
    "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](/retail-media/v2025.10/docs/api-response#pagination).

<EndpointBadge method="get">
  ```http theme={null}
  https://api.criteo.com/{version}/retail-media/account-management/accounts/{parentAccountId}/private-market-child-accounts
  ```
</EndpointBadge>

**Sample Request**

```bash theme={null}
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 JSON expandable theme={null}
{
    "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.

<EndpointBadge method="post">
  ```http theme={null}
  https://api.criteo.com/{version}/retail-media/account-management/accounts/{parentAccountId}/create-brand-account
  ```
</EndpointBadge>

**Sample Request**

<CodeGroup>
  ```bash cURL theme={null}
  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"
                      ]
                  }
              }
          }'
  ```

  ```python Python theme={null}
  import http.client
  import json

  conn = http.client.HTTPSConnection("api.criteo.com")
  payload = json.dumps({
      "data": {
          "type": "AccountCreationDemandBrand",
          "attributes": {
              "name": "Demand Brand Account US",
              "companyName": "Brand ABC Corp.",
              "onBehalfCompanyName": "Brand ABC Corp.",
              "brands": [
                  "2151767311"
              ]
          }
      }
  })

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

  conn.request("POST", "/{version}/retail-media/account-management/accounts/425730879617900544/create-brand-account", payload, headers)

  res = conn.getresponse()
  data = res.read()
  print(data.decode("utf-8"))
  ```

  ```java Java theme={null}
  OkHttpClient client = new OkHttpClient().newBuilder()
      .build();

  MediaType mediaType = MediaType.parse("application/json");

  RequestBody body = RequestBody.create(mediaType, """
  {
      "data": {
          "type": "AccountCreationDemandBrand",
          "attributes": {
              "name": "Demand Brand Account US",
              "companyName": "Brand ABC Corp.",
              "onBehalfCompanyName": "Brand ABC Corp.",
              "brands": [
                  "2151767311"
              ]
          }
      }
  }
  """);

  Request request = new Request.Builder()
      .url("https://api.criteo.com/{version}/retail-media/account-management/accounts/425730879617900544/create-brand-account")
      .method("POST", body)
      .addHeader("Authorization", "Bearer <MY_ACCESS_TOKEN>")
      .addHeader("Content-Type", "application/json")
      .addHeader("Accept", "application/json")
      .build();

  Response response = client.newCall(request).execute();
  ```

  ```php PHP expandable theme={null}
  <?php
  require_once 'HTTP/Request2.php';
  $request = new HTTP_Request2();
  $request->setUrl('https://api.criteo.com/{version}/retail-media/account-management/accounts/425730879617900544/create-brand-account');
  $request->setMethod(HTTP_Request2::METHOD_POST);
  $request->setConfig([
      'follow_redirects' => TRUE
  ]);
  $request->setHeader([
      'Authorization' => 'Bearer <MY_ACCESS_TOKEN>',
      'Content-Type' => 'application/json',
      'Accept' => 'application/json'
  ]);

  $request->setBody(json_encode([
      "data" => [
          "type" => "AccountCreationDemandBrand",
          "attributes" => [
              "name" => "Demand Brand Account US",
              "companyName" => "Brand ABC Corp.",
              "onBehalfCompanyName" => "Brand ABC Corp.",
              "brands" => [
                  "2151767311"
              ]
          ]
      ]
  ], JSON_PRETTY_PRINT));

  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();
  }
  ```
</CodeGroup>

**Sample Response**

```json theme={null}
{
    "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.

<EndpointBadge method="post">
  ```http theme={null}
  https://api.criteo.com/{version}/retail-media/account-management/accounts/{parentAccountId}/create-seller-account
  ```
</EndpointBadge>

**Sample Request**

```bash theme={null}
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**

```json theme={null}
{
    "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.

<EndpointBadge method="post">
  ```http theme={null}
  https://api.criteo.com/{version}/retail-media/account-management/accounts/{accountId}/brands/add
  ```
</EndpointBadge>

**Sample Request**

```bash theme={null}
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**

```json theme={null}
{
    "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.

<Warning>
  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.
</Warning>

<EndpointBadge method="post">
  ```http theme={null}
  https://api.criteo.com/{version}/retail-media/account-management/accounts/{accountId}/brands/remove
  ```
</EndpointBadge>

**Sample Request**

```bash theme={null}
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**

```json theme={null}
{
    "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.

<EndpointBadge method="put">
  ```http theme={null}
  https://api.criteo.com/{version}/retail-media/account-management/accounts/{accountId}/sellers
  ```
</EndpointBadge>

**Sample Request**

```bash theme={null}
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**

```json theme={null}
{
    "data": [
        {
            "type": "RetailMediaSeller",
            "attributes": {
                "sellerId": "5ed6ad7b0b2a995f0427858e",
                "retailerId": 1141
            }
        },
        {
            "type": "RetailMediaSeller",
            "attributes": {
                "sellerId": "640a20bbc637455565a5c4a3",
                "retailerId": 1141
            }
        }
    ],
    "warnings": [],
    "errors": []
}
```

## **Responses**

<table>
  <thead>
    <tr>
      <th>
        <p>
          Response
        </p>
      </th>

      <th>
        <p>
          Description
        </p>
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        <p>
          🔵
        </p>

        <p>
          <code>
            200
          </code>
        </p>
      </td>

      <td>
        <p>
          Call completed successfully
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          🔵
        </p>

        <p>
          <code>
            201
          </code>
        </p>
      </td>

      <td>
        <p>
          Account created successfully
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          🔴
        </p>

        <p>
          <code>
            400
          </code>
        </p>
      </td>

      <td>
        <p>
          Validation Error - one or more required fields was not found. Confirm that all required fields are present in the API call
        </p>
      </td>
    </tr>
  </tbody>
</table>
