Skip to main content
A Few Things to Know
  1. A Onsite Sponsored Products line item holds promoted products to advertise on a single retailer.
  2. Line items have bid settings, start & end dates, and optional budgeting & pacing controls.
  3. Target & maximum bid settings must respect minimum bid (minBid), that can be set at product SKU level, to start delivering ads
  4. Products SKU IDs are available through Catalog endpoints

Endpoints

VerbEndpointDescription
POST/retailers/{retailerId}/cpc-min-bidsSearch for min bid CPC defined by collection of SKU IDs

Minimum Bid Attributes

AttributeData TypeDescription
retailerId*stringRetailer ID where the line item will serve ads onAccepted values: int64 Writeable? N / Nullable? N
skuIds*list<string>List of SKU IDs in which the minimum bid is requested (usually, the SKUs promoted by the line item). Values are available through Catalog endpointsAccepted values: at least, an empty list [] Writeable? N / Nullable? N
skuIdstringSKU ID respective to the minBid in the responseAccepted values: SKU IDs from catalog Writeable? N / Nullable? N
overallMinBiddecimalOverall minimum bid resulted from the list of SKUs requested, that the line item should respect to, effectively, deliver adsAcceptable values: at least 0.01 Writeable? N / Nullable? N
minBiddecimalMinimum bid for the respective SKUAcceptable values: at least 0.01 Writeable? N / Nullable? N
*Required

Retrieve Minimum Bid from SKU IDs

Sample Request
curl -L -X POST "https://api.criteo.com/{version}/retail-media/retailers/12345/cpc-min-bids" \
    -H "Authorization: Bearer <MY_ACCESS_TOKEN>" \
    -H "Content-Type: application/json" \
    -d '{
            "data": {
                "type": "<string>",
                "attributes": {
                    "skuIds": [
                        "a1b2c3",
                        "d4e5f6",
                        "g7h8i9"
                    ]
                }
            }
        }'
import requests
import json

url = "https://api.criteo.com/{version}/retail-media/retailers/12345/cpc-min-bids"

payload = json.dumps({
    "data": {
        "type": "<string>",
        "attributes": {
            "skuIds": [
                "a1b2c3",
                "d4e5f6",
                "g7h8i9"
            ]
        }
    }
})
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer <MY_ACCESS_TOKEN>'
}

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

print(response.text)
OkHttpClient client = new OkHttpClient().newBuilder()
  .build();

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

RequestBody body = RequestBody.create(mediaType, "{\"data\":{\"type\":\"<string>\",\"attributes\":{\"skuIds\":[\"a1b2c3\",\"d4e5f6\",\"g7h8i9\"]}}}");

Request request = new Request.Builder()
  .url("https://api.criteo.com/{version}/retail-media/retailers/12345/cpc-min-bids")
  .method("POST", body)
  .addHeader("Content-Type", "application/json")
  .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/retailers/12345/cpc-min-bids');
$request->setMethod(HTTP_Request2::METHOD_POST);
$request->setConfig(array(
  'follow_redirects' => TRUE
));
$request->setHeader(array(
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'Bearer <MY_ACCESS_TOKEN>'
));
$request->setBody('{"data":{"type":"<string>","attributes":{"skuIds": ["a1b2c3","d4e5f6","g7h8i9"]}}}');
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": "CpcMinBidsResponse",
        "attributes": {
            "overallMinBid": 0.25,
            "skuMinBids": [
                {
                    "skuId": "a1b2c3",
                    "minBid": 0.20
                },
                {
                    "skuId": "d4e5f6",
                    "minBid": 0.15
                },
                {
                    "skuId": "g7h8i9",
                    "minBid": 0.25
                }
            ]
        }
    },
    "warnings": [],
    "errors": []
}

Responses

ResponseDescription
🟢 200Call executed with success
🔴 400json-serialization-error Required attribute missing or with unexpected format in request’s body
🔴 404Not Found Retailer ID informed in request’s path was not found