---
title: "Start monitoring people (scope write:intelligence)"
method: POST
path: "/api/v1/intelligence/monitoring"
tags: ["v1"]
---

# Start monitoring people (scope write:intelligence)

`POST /api/v1/intelligence/monitoring`

## Request

- Base URL: `https://api.signalraven.ai`
- URL: `https://api.signalraven.ai/api/v1/intelligence/monitoring`
- Auth: HTTP bearer

inputs: 1–1,000 LinkedIn profile URLs; or snapshotId to monitor the person of a Person Intelligence snapshot in your workspace (the first weekly check then skips the month the snapshot already covered). periodDays 30 | 90 | 180 | null (no end date), default 90. admitLevel 2 | 3, default 2: 2 delivers stated needs only (activity whose text states a need, pain or buying moment your product addresses; strength 8 and up); 3 also delivers topic interest (professional content about your space with no stated need) as topic-interest signals, topicInterest true, from strength 5. Best effort per row: see skipped[] (duplicate, invalid_format, already_active, conflict, ceiling_reached). Each check spends credits: 1 per check, 0.25 per item read, 1 per signal.

## Request body

- CreateMonitoringBody
  - `inputs` string[]
  - `snapshotId` string, uuid
  - `periodDays` union: 30, 90 or 180 days; null means forever.
    - 30
    - 90
    - 180
  - `admitLevel` union: 2 (default): stated needs only — the person's activity becomes a signal when its text states a need, pain or buying moment your product addresses. 3: also topic interest — professional content about your category with no stated need, delivered as topic-interest signals with a lower strength floor (5 instead of 8).
    - 2
    - 3

## Response `200`

Per-row results

- V1MonitoringCreateResponse
  - `data` CreateMonitoringResponse, required
    - `created` object[], required
      - `id` string, uuid, required
      - `linkedinUrl` string, required
      - `displayName` string, required
    - `skipped` object[], required
      - `input` string, required
      - `normalized` string
      - `reason` 'duplicate' | 'invalid_format' | 'already_active' | 'conflict' | 'ceiling_reached', required
  - `_meta` V1Meta, required
    - `mode` 'live' | 'sample', required
    - `notice` string
    - `cta` object
      - `text` string, required
      - `url` string, required

## Other responses

- `400`: Validation error or too_many_inputs (>1,000)
- `403`: Insufficient scope or inactive workspace
- `404`: snapshotId not in this workspace

---

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