POST /v3/ecommerce/advertiser/products/query → Advertiser.availableItemsetItems(merchantId:)

Overview

Property Value
REST endpoint POST /v3/ecommerce/advertiser/products/query
GraphQL query Advertiser.availableItemsetItems(merchantId:)
Return type AvailableItemsetItemsConnection

Request and filter field mapping

REST field GraphQL argument GraphQL type Required Notes
MerchantId availableItemsetItems(merchantId: $merchantId) ID! Required Required field argument on Advertiser.
AdvertiserId advertiser(id: $advertiserId) ID! Required Root advertiser lookup.

Response field mapping

REST returns a top-level JSON array of SKU ID strings (not wrapped in an object).

REST response field GraphQL field GraphQL type Nullable Notes
(top-level array element) availableItemsetItems.nodes.itemCode String! Not nullable Map each node's itemCode to REST SKU string. Paginate with first/after until hasNextPage is false.

availableItemsetItems returns MerchantProduct nodes—any field from the shared MerchantProduct mapping on the MerchantProduct domain page is also available on nodes when product detail is needed (not just SKU IDs).

Code examples

REST example

POST /v3/ecommerce/advertiser/products/query HTTP/1.1
Content-Type: application/json
TTD-Auth: AUTH_TOKEN_PLACEHOLDER

{
  "MerchantId": "merchant-id",
  "AdvertiserId": "advertiser-id"
}

GraphQL example

POST /graphql HTTP/1.1
Content-Type: application/json
TTD-Auth: AUTH_TOKEN_PLACEHOLDER
query AdvertiserPermittedSkus($advertiserId: ID!, $merchantId: ID!) {
  advertiser(id: $advertiserId) {
    id
    availableItemsetItems(merchantId: $merchantId, first: 1000) {
      totalCount
      nodes {
        itemCode
      }
      pageInfo { hasNextPage endCursor }
    }
  }
}