---
title: "Add Monitored"
method: POST
path: "/v1/compliance/monitored"
tags: ["compliance"]
---

# Add Monitored

`POST /v1/compliance/monitored`

## Request

- Base URL: `https://api.bitpoort.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.bitpoort.com/v1/compliance/monitored`
- Auth: one of:
  - API key in header `X-API-Key`
  - HTTP bearer

Watch an address (idempotent upsert on (key, chain, address)).

W1 — Watch is a loop, not a list: on watch-create we kick off a one-shot
INITIAL exposure scan (``run_initial_watch_scan``, as a BackgroundTask so
the response stays fast) that checks the address against the CURRENT
sanctions ∪ mixer sets and emits a retroactive_alert (+ signed webhook if
a URL was given) for any existing exposure — so a hit lands immediately,
not only when a NEW designation is published. The scheduled scanners then
keep it current against newly-designated addresses each cycle.

## Request body

- MonitorAddRequest
  - `address` string, required
  - `chain` string
  - `label` string, nullable
  - `webhook_url` string, nullable

## Response `200`

Successful Response

- object

## Other responses

- `422`: Validation Error

---

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