---
title: "Create monitor"
method: POST
path: "/api/v1/monitors"
tags: ["Monitors"]
---

# Create monitor

`POST /api/v1/monitors`

Create a recurring monitor that runs on a schedule and stores matching events for later review.

## Request body

- CreateMonitorDto
  - `name` string, required — Human-readable name
  - `type` 'linkedin_keyword' | 'linkedin_profile' | 'linkedin_company' | 'linkedin_post' | 'instagram_profile' | 'instagram_post' | 'x_profile' | 'x_keyword' | 'reddit_keyword' | 'reddit_subreddit' | 'tiktok_keyword' | 'tiktok_hashtag' | 'web_search' | 'site_search', required — Monitor type
  - `config` object, required — Type-specific configuration (query, filters, etc.)
  - `cadence_minutes` number — Cadence in minutes (minimum 60 for scraper-based types: LinkedIn, Instagram, X, Reddit, TikTok; minimum 15 for web)
  - `max_results` number — Max results per run (1-100)
  - `force_fresh` boolean — Force fresh scrape bypassing cache
  - `cache_ttl_days` number — Cache TTL in days for profile/company monitors (1-90)
  - `post_url` string — LinkedIn post URL (required for linkedin_post type)

## Response `201`

Monitor created.

- MonitorResponseDto
  - `id` string, required
  - `name` string, required
  - `type` 'linkedin_keyword' | 'linkedin_profile' | 'linkedin_company' | 'linkedin_post' | 'instagram_profile' | 'instagram_post' | 'x_profile' | 'x_keyword' | 'reddit_keyword' | 'reddit_subreddit' | 'tiktok_keyword' | 'tiktok_hashtag' | 'web_search' | 'site_search', required
  - `status` 'active' | 'paused' | 'disabled', required
  - `config` object, required
  - `cadence_minutes` number, required
  - `last_run_at` string, nullable, required
  - `next_run_at` string, nullable, required
  - `consecutive_failures` number, required
  - `created_at` string, required
  - `updated_at` string, required

## Other responses

- `400` — The request body or parameters are invalid.
- `401` — Authentication is required.
- `404` — The requested resource was not found.
- `500` — An unexpected error occurred.

---

[API](https://skmtc.net/thehog/apis/the-hog-api.md) · [All operations](https://skmtc.net/thehog/apis/the-hog-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/thehog/the-hog-api/revisions/f5056017668a/schema)
