> For the complete documentation index, see [llms.txt](https://docs.auctionplusapp.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.auctionplusapp.com/storefront-api/watched-items/watch-a-variant.md).

# Watch a variant

Adds a variant to the authenticated customer's watched items.

```json
{"openapi":"3.1.0","info":{"title":"Auction Plus Storefront API Documentation","version":"1.0.0"},"tags":[{"name":"Watched Items","description":"A watched item is a product variant the authenticated customer is following.\n\nThe **automatic** attribute indicates the item was followed on the customer's behalf. Items are followed automatically when the customer places a bid.\n\nWatch and unwatch calls take an **externalVariantId** representing the Shopify variant ID.\n\nThe list endpoint returns the customer's watched variants, most recently updated first, and excludes variants whose product is no longer available on the storefront. Filter with `filter[listingType]` to return only variants currently listed as an `auction` or only those listed as a regular `product`.\n\nInclude **variant.currentAuctionItem** to return the live auction item for each watched variant."}],"servers":[{"url":"https://api.auctionplusapp.com/storefront/v1"}],"security":[{"http":[]},{"apiKey":[]}],"components":{"securitySchemes":{"http":{"type":"http","description":"Your storefront (public) token, sent as <code>Authorization: Bearer STOREFRONT_TOKEN</code>. Generate one in Auction Plus under Settings > API, in the <b>Storefront API</b> section, by clicking <b>Generate Public Token</b>. Required on every request.","scheme":"bearer"},"apiKey":{"type":"apiKey","description":"A Shopify Customer Account API access token for the signed-in customer. Optional: send it to identify the customer for the request. Required for endpoints that act on behalf of a customer (placing bids, watching items) and the <code>viewerFields</code> parameter.","in":"header","name":"X-Shopify-Customer-Access-Token"}},"schemas":{"WatchedItemResource":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","const":"watched-items"},"attributes":{"type":"object","properties":{"automatic":{"type":"boolean"},"createdAt":{"type":["string","null"],"format":"date-time"},"updatedAt":{"type":["string","null"],"format":"date-time"}}}},"required":["id","type"],"title":"WatchedItemResource"}},"responses":{"ValidationException":{"description":"Validation error","content":{"application/vnd.api+json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"status":{"type":"string","description":"The HTTP status code applicable to this problem, expressed as a string."},"code":{"type":"string","description":"An application-specific error code."},"detail":{"type":"string","description":"A human-readable explanation specific to this occurrence of the problem."},"id":{"type":"string","description":"A unique identifier for this particular occurrence of the problem."},"title":{"type":"string","description":"A short, human-readable summary of the problem."},"source":{"type":"object","description":"An object containing references to the source of the error.","properties":{"pointer":{"type":"string"},"parameter":{"type":"string"},"header":{"type":"string"}}},"meta":{"type":"object","description":"A meta object containing additional information about the error."}},"required":["status","code","detail"]}}},"required":["errors"]}}}}}},"paths":{"/watched-items":{"post":{"operationId":"watchItem","description":"Adds a variant to the authenticated customer's watched items.","summary":"Watch a variant","tags":["Watched Items"],"parameters":[{"name":"fields[watched-items]","in":"query","description":"Available values are `automatic`, `createdAt`, `updatedAt`. You can include multiple values by separating them with a comma.","schema":{"type":"string"}},{"name":"fields[variants]","in":"query","description":"Available values are `externalId`, `displayName`, `title`, `price`, `photoUrl`. You can include multiple values by separating them with a comma.","schema":{"type":"string"}},{"name":"fields[auction-items]","in":"query","description":"Available values are `startPrice`, `bidIncrementStrategy`, `automaticBidding`, `softClose`, `totalBids`, `highBidAmount`, `minimumBid`, `currentIncrement`, `startsAt`, `endsAt`, `position`, `status`, `enableReserve`, `reserveMet`, `processed`, `createdAt`, `updatedAt`, `canceledAt`. You can include multiple values by separating them with a comma.","schema":{"type":"string"}},{"name":"fields[products]","in":"query","description":"Available values are `externalId`, `title`, `vendor`, `type`, `photoUrl`, `handle`. You can include multiple values by separating them with a comma.","schema":{"type":"string"}},{"name":"viewerFields","in":"query","description":"Comma-separated per-viewer fields to return under `meta.viewer` on the resource and any included resources. Available values: `hasBid`, `isWatching`, `isHighBidder`. Requires an authenticated customer.","schema":{"type":"string"}},{"name":"include","in":"query","description":"Comma-separated list of related resources to include in the response. Available values: `variant`, `product`, `variant.currentAuctionItem`.","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"externalVariantId":{"type":"integer","description":"The Shopify external variant ID to watch."}},"required":["externalVariantId"]}}}},"responses":{"201":{"description":"`WatchedItemResource`","content":{"application/vnd.api+json":{"schema":{"type":"object","properties":{"data":{"allOf":[{"$ref":"#/components/schemas/WatchedItemResource"},{"type":"object","properties":{"relationships":{"type":"object","properties":{"variant":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["variants"]},"id":{"type":"string"}},"required":["type","id"]}}},"product":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","enum":["products"]},"id":{"type":"string"}},"required":["type","id"]}}}}}}}]}},"required":["data"]}}}},"401":{"description":"The provided user does not have access to this resource.","content":{"application/vnd.api+json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"status":{"type":"string","description":"The HTTP status code applicable to this problem, expressed as a string."},"code":{"type":"string","description":"An application-specific error code."},"detail":{"type":"string","description":"A human-readable explanation specific to this occurrence of the problem."},"id":{"type":"string","description":"A unique identifier for this particular occurrence of the problem."},"title":{"type":"string","description":"A short, human-readable summary of the problem."},"source":{"type":"object","description":"An object containing references to the source of the error.","properties":{"pointer":{"type":"string"},"parameter":{"type":"string"},"header":{"type":"string"}}},"meta":{"type":"object","description":"A meta object containing additional information about the error."}},"required":["status","code","detail"]}}},"required":["errors"]}}}},"404":{"description":"The requested resource was not found.","content":{"application/vnd.api+json":{"schema":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object","properties":{"status":{"type":"string","description":"The HTTP status code applicable to this problem, expressed as a string."},"code":{"type":"string","description":"An application-specific error code."},"detail":{"type":"string","description":"A human-readable explanation specific to this occurrence of the problem."},"id":{"type":"string","description":"A unique identifier for this particular occurrence of the problem."},"title":{"type":"string","description":"A short, human-readable summary of the problem."},"source":{"type":"object","description":"An object containing references to the source of the error.","properties":{"pointer":{"type":"string"},"parameter":{"type":"string"},"header":{"type":"string"}}},"meta":{"type":"object","description":"A meta object containing additional information about the error."}},"required":["status","code","detail"]}}},"required":["errors"]}}}},"422":{"$ref":"#/components/responses/ValidationException"}}}}}}
```
