---
title: "Watch a brand"
method: POST
path: "/gallery/watchlist"
tags: ["References"]
---

# Watch a brand

`POST /gallery/watchlist`

## Request

- Base URL: `https://api.sequenzy.com/api/v1`
- URL: `https://api.sequenzy.com/api/v1/gallery/watchlist`
- Auth: HTTP bearer

Watches a brand, usually a competitor, by its website. A brand already in the gallery is watched at once with status `available`. Any other brand is requested, the same as [Request a Brand](/api-reference/references/brand-requests-create), and its emails show up once it is added and they are collected. Watching again keeps the one watch (a new `note` replaces the old) and returns 200 with `created` false, so retries never duplicate. Requires `templates:write`.

## Request body

- object
  - `website` string, required: The brand's website or domain, such as `competitor.com` or `https://competitor.com/pricing`. It is reduced to the registrable domain. It cannot be your own website.
  - `note` string: Optional. What you want to see from the brand, such as its onboarding emails.

## Response `200`

Already watched; the existing watch, with its note updated when one was sent

- GalleryWatchResult
  - `success` boolean
  - `created` boolean: False when your company already watched this domain.
  - `watch` GalleryWatchedBrand
    - `id` string: Watch ID. The same row is a brand request, so this is also its request ID.
    - `domain` string
    - `note` string, nullable
    - `status` 'requested' | 'collecting' | 'available' | 'declined': `available`: its emails are in the gallery. `requested`: not in the gallery yet. `collecting`: the brand is added and its emails are being collected. `declined`: it will not be added; see `declineReason`.
    - `declineReason` string, nullable
    - `watchedAt` string, date-time
    - `emailCount` integer: The brand's emails in the gallery. 0 unless `available`.
    - `latestEmailAt` string, date-time, nullable: When its newest email in the gallery was sent. `null` unless `available`.
    - `brand` object, nullable: The gallery brand, once its emails are in the gallery.
      - `name` string
      - `slug` string
      - `url` string
  - `message` string

## Other responses

- `201`: Watching
- `400`: Not a valid website, your own website, or the company already keeps 50 watches and brand requests
- `401`: Unauthorized
- `403`: API key lacks `templates:write`
- `422`: The request body or parameters are invalid

## Changes

- **2026-10-16** `db3873ca3d4d`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/sequenzy/apis/sequenzy-api/changes/gallery/watchlist/post.md)

---

[API](https://skmtc.dev/sequenzy/apis/sequenzy-api.md) - [All operations](https://skmtc.dev/sequenzy/apis/sequenzy-api/llms.txt) - [OpenAPI document](https://skmtc.dev/sequenzy/apis/sequenzy-api/revisions/8156dc12d8b4?raw)
