> ## 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.

# Update advertiser Seller preference

> Set Inherit, On, or Off for one advertiser and one exact Seller

`PUT /api/v2/buyer/storefronts/{storefrontId}/advertisers/{advertiserId}/activation-preference`

Sets whether one advertiser inherits, uses, or does not use one exact Seller.
The caller must have the `ADMIN` or `SUPER_ADMIN` account role, and the
advertiser must belong to the authenticated buyer account.

## Scope boundary

Use this operation while managing one advertiser. It changes only the edge
between that advertiser and the selected Seller. To change Seller selection
for every current and future advertiser in the buyer account, use
[Update Seller selection](/v2/buyer/storefronts/tasks/update-selection-override)
instead.

## Decisions

* `DEFAULT` removes the explicit preference and inherits account selection and
  automatic market/channel matching.
* `ENABLED` uses the Seller for this advertiser only.
* `DISABLED` does not use the Seller for this advertiser only.

Hard marketplace and transaction ineligibility always wins. Account-wide
`ALWAYS_INCLUDE` and `ALWAYS_EXCLUDE` selection also remains authoritative; a
stored advertiser preference takes effect when account selection is `DEFAULT`.
This operation does not create or remove an authorization grant and does not
change billing or data-sharing permission.

## Request

```bash theme={null}
curl -X PUT \
  "https://api.interchange.io/api/v2/buyer/storefronts/42/advertisers/84/activation-preference" \
  -H "Authorization: Bearer $SCOPE3_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "decision": "DISABLED"
  }'
```

## Parameters

| Field          | In   | Type             | Required | Notes                                 |
| -------------- | ---- | ---------------- | -------- | ------------------------------------- |
| `storefrontId` | path | positive integer | Yes      | Exact Seller/Storefront ID            |
| `advertiserId` | path | positive integer | Yes      | Advertiser owned by the buyer account |
| `decision`     | body | enum             | Yes      | `DEFAULT`, `ENABLED`, or `DISABLED`   |

## Response

```json theme={null}
{
  "buyerCustomerId": 123,
  "advertiserId": "84",
  "storefrontId": "42",
  "decision": "DISABLED"
}
```

## Public V3 equivalent

Call `save_connection` with one advertiser activation intent:

```json theme={null}
{
  "sellerId": "42",
  "advertiserActivation": {
    "advertiserId": "84",
    "decision": "DISABLED"
  }
}
```

The `selection` and `advertiserActivation` intents are mutually exclusive.

## Errors

* `400 VALIDATION_ERROR` — an ID or decision is invalid.
* `401 UNAUTHORIZED` — the bearer token is missing or invalid.
* `403 ACCESS_DENIED` — the caller is not an administrator or the advertiser
  does not belong to this buyer account.
* `404 NOT_FOUND` — the Seller does not exist.
