> ## 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 selection override

> Set Default, Always include, or Always exclude for one exact storefront

`PUT /api/v2/buyer/storefronts/{storefrontId}/selection-override`

Sets the authenticated buyer account's selection override for one exact
storefront. The caller must have the `ADMIN` or `SUPER_ADMIN` account role.

The decision controls selection only. Billing capability, direct-billing
acceptance, and operator authentication belong to activation, so a selected
storefront can still require an activation action before it is usable.

## Decisions

* `DEFAULT` removes the explicit override. Automatic Premium Publisher and
  market-maker rules determine selection from the buyer account's current
  market-and-channel footprint.
* `ALWAYS_INCLUDE` selects the exact storefront account-wide while it remains
  eligible. It does not apply to sibling storefronts owned by the same seller.
* `ALWAYS_EXCLUDE` prevents the exact storefront from being selected.

Hard storefront ineligibility wins over every override. Returning to `DEFAULT`
does not necessarily deselect the storefront; an automatic reason can keep it
selected.

## Request

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

## Parameters

| Field          | In   | Type    | Required | Notes                                            |
| -------------- | ---- | ------- | -------- | ------------------------------------------------ |
| `storefrontId` | path | integer | Yes      | Exact buyer-visible storefront ID                |
| `decision`     | body | enum    | Yes      | `DEFAULT`, `ALWAYS_INCLUDE`, or `ALWAYS_EXCLUDE` |

## Response

`200 OK` returns the current decision after the update:

```json theme={null}
{
  "buyerCustomerId": 123,
  "storefrontId": "42",
  "decision": "ALWAYS_INCLUDE"
}
```

Setting `DEFAULT` returns `"decision": "DEFAULT"` after deleting the explicit
override.

## Errors

* `400 VALIDATION_ERROR` — the storefront ID or decision is invalid.
* `401 UNAUTHORIZED` — the bearer token is missing or invalid.
* `403 FORBIDDEN` — the caller is not an account administrator.
* `404 NOT_FOUND` — the storefront is not visible to this buyer account.

See [Errors](/v2/reference/errors) for the full error contract.

## Related

<CardGroup cols={2}>
  <Card title="Storefront overview" href="/v2/buyer/storefronts/overview" icon="store">
    How availability, selection, activation, and billing readiness differ
  </Card>

  <Card title="Storefront tasks" href="/v2/buyer/storefronts/tasks" icon="list-check">
    All storefront operations
  </Card>
</CardGroup>
