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

# Property-list briefs for sellers

> What a buyer property list means when it reaches a storefront, and how a seller's agent resolves it

## Overview

A buyer property list is a buyer-owned include or exclude set of domains, apps,
or CTV identifiers. On the seller side, the most important case is an include
list attached to a campaign or media-buy package: the buyer is asking the seller
to run on that set of properties if the seller can honor it.

The property list reaches the seller as an ADCP `PropertyListReference`. Its
placement depends on the request:

| Request stage                           | Where the reference appears       |
| --------------------------------------- | --------------------------------- |
| Initial product discovery               | Top-level `property_list`         |
| Campaign or media-buy package execution | `targeting_overlay.property_list` |

For initial discovery, the buyer's `get_products` request can carry the
reference at the top level:

```json theme={null}
{
  "property_list": {
    "agent_url": "https://api.interchange.io",
    "list_id": "42",
    "auth_token": "..."
  }
}
```

For campaign or media-buy execution, the reference appears in the targeting
overlay:

```json theme={null}
{
  "targeting_overlay": {
    "property_list": {
      "agent_url": "https://api.interchange.io",
      "list_id": "42",
      "auth_token": "..."
    }
  }
}
```

## What the seller's agent does

When your sales agent receives a property-list reference, it resolves the list
from the buyer's agent URL:

```http theme={null}
GET {agent_url}/lists/{list_id}
Authorization: Bearer {auth_token}
```

For Interchange buyer lists, that path is mounted at the app root:

```http theme={null}
GET https://api.interchange.io/lists/42
Authorization: Bearer {auth_token}
```

The response uses the ADCP property-list shape:

```json theme={null}
{
  "list": {
    "list_id": "42",
    "name": "Q1 premium food sites"
  },
  "identifiers": [
    { "type": "domain", "value": "wholesomeyum.com" },
    { "type": "domain", "value": "tastesbetterfromscratch.com" }
  ],
  "resolved_at": "2026-04-25T10:30:00.000Z",
  "cache_valid_until": "2026-04-26T10:30:00.000Z",
  "pagination": {
    "has_more": false,
    "total_count": 2
  }
}
```

Agents should cache the resolved list until `cache_valid_until`, then re-fetch
if the buy or update still needs it.

Large lists can be paginated. Pass `max_results` and follow
`pagination.cursor` while `pagination.has_more` is `true`. Cache each resolved
page until `cache_valid_until`.

## What it means operationally

Today, Interchange forwards the property-list reference and provides the
resolution endpoint. The seller decides how to honor it.

Common seller-side outcomes:

| If the seller can...                       | Then the seller can...                                               |
| ------------------------------------------ | -------------------------------------------------------------------- |
| Map the identifiers to an existing product | Offer or execute that product.                                       |
| Map the identifiers to ad-server controls  | Apply the seller's own GAM key-values, ad units, or placement logic. |
| Honor only part of the list                | Explain the supported subset or offer the closest available package. |
| Not honor the list                         | Say the current products do not support that subset.                 |

Do not treat a buyer property list as automatic ad-server enforcement. If the
seller has not configured a way to execute that subset, the honest answer is
that the storefront can see the buyer's requested properties but must decide
seller-side whether it can run against them.

## How this relates to coverage

Coverage and buyer property lists answer different questions.

| Question                                                        | Answered by                                                                                               |
| --------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- |
| "What publisher domains does this product cover?"               | The product's `publisher_properties` in `get_products`.                                                   |
| "Which properties is the buyer asking this request to include?" | `property_list` or `targeting_overlay.property_list`, resolved through `GET {agent_url}/lists/{list_id}`. |
| "Can this seller execute the requested subset?"                 | The seller's products, ad-server setup, and agent behavior.                                               |

For network sellers, `publisher_properties` usually comes from
`adagents.json` authorized coverage. A buyer property list is the buyer's
requested subset inside or across seller coverage.

## Related

<CardGroup cols={2}>
  <Card title="Property lists" href="/v2/guides/property-lists" icon="list">
    Buyer-side list creation, validation, and resolution.
  </Card>

  <Card title="Publisher properties and coverage" href="/v2/storefront/inventory-sources/publisher-properties-coverage" icon="globe">
    How buyers see the publisher domains a product covers.
  </Card>

  <Card title="Custom targeting and properties" href="/v2/storefront/esa/custom-targeting-properties" icon="sliders">
    How seller-managed GAM key-values relate to site lists.
  </Card>

  <Card title="Ad-server signal components" href="/v2/storefront/esa/signals" icon="wave-pulse">
    Browse GAM targeting and create signal components.
  </Card>
</CardGroup>
