---
title: "Subscribe to Lookalike Watch"
method: POST
path: "/api/v1/lookalike-watch"
tags: ["Lookalike Watch"]
---

# Subscribe to Lookalike Watch

`POST /api/v1/lookalike-watch`

## Request

- Base URL: `https://api.proof.holdings`
- URL: `https://api.proof.holdings/api/v1/lookalike-watch`
- Auth: one of:
  - HTTP bearer
  - API key in cookie `auth_token`

Watch newly-published npm, PyPI and MCP-registry artifacts for names confusable with your brand. Not a billed proof — no quota is charged and no usage is recorded.

## Request body

- LookalikeWatchSubscribe: Subscribe to Lookalike Watch. `brand_tokens` are the names watched for confusable newly-published artifacts; `owned_namespaces` suppress alerts on artifacts you publish yourself; `notify_email` must be an address already proven on the account, because a subscription is a standing outbound channel rather than a one-shot send. Every bound is published on the fields themselves — restating a cap in prose is the second declaration this block exists to avoid.
  - `brand_tokens` string[], required
  - `owned_namespaces` string[]
  - `notify_email` string, email

## Response `201`

Subscribed

- object

## Other responses

- `403`: `account_key_required` — this API key is bound to one sub-account; account-level changes need an account-wide key or the dashboard.
- `409`: Already subscribed
- `422`: Not eligible; `error.code` says why: `plan_upgrade_required` (Lookalike Watch is part of the €29 plan and above, enforced while billing is live), `no_verified_domain`, `no_active_delegation`, `delegation_sample_exhausted`, `account_scheduled_for_deletion`, or for the delivery address `notify_email_not_owned` / `no_notify_email`.
- `503`: eligibility_unavailable — eligibility could not be determined. Distinct from 422: the answer is unknown rather than no, so the same request is worth retrying.

---

[API](https://skmtc.dev/proof/apis/proof-holdings-api.md) · [All operations](https://skmtc.dev/proof/apis/proof-holdings-api/llms.txt) · [OpenAPI document](https://skmtc.dev/proof/apis/proof-holdings-api/revisions/b15f506de696?raw)
