---
title: "Watch a series: webhook on movement (new period or revised value), riding the refresh loop."
method: POST
path: "/v1/monitors"
---

# Watch a series: webhook on movement (new period or revised value), riding the refresh loop.

`POST /v1/monitors`

## Request

- Base URL: `https://starwell.dev/api/starwell`
- URL: `https://starwell.dev/api/starwell/v1/monitors`
- Auth: HTTP bearer

## Request body

- object
  - `source` string, required
  - `seriesId` string, required
  - `webhookUrl` string, required: https only.

## Response `201`

Monitor created; snapshot seeded at the current head (fires on NEXT movement).

- object
  - `success` true, required
  - `data` Monitor, required
    - `id` string, uuid
    - `source` string
    - `seriesId` string
    - `webhookUrl` string
    - `active` boolean
    - `lastPeriod` string, date, nullable
    - `lastFiredAt` string, date-time, nullable
    - `lastDeliveryStatus` string, nullable
    - `createdAt` string, date-time

## Other responses

- `400`: Invalid parameters.
- `401`: API key required.
- `404`: Unknown source, dataset, or series.
- `429`: Per-IP preview limit or key quota exceeded.

---

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