---
title: "List monitored people (Intelligence: Person Activity Monitoring)"
method: GET
path: "/api/v1/intelligence/monitoring"
tags: ["v1"]
---

# List monitored people (Intelligence: Person Activity Monitoring)

`GET /api/v1/intelligence/monitoring`

## Request

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

One page of the people the workspace monitors, active first by default, including paused and ended monitors. Filter with status (active | inactive | removed | all) and search with q (name, company, headline, profile URL); page with limit (default 25, max 100) and offset; total matches the filters. Each person is checked weekly for posts, reposts, comments and reactions that match your ICP (every two weeks, then monthly, while nothing new is found); each check costs 1 credit plus 0.25 credit per item read and 1 credit per signal delivered. Monitored people are unlimited and not counted against the source limit. Sample data for clients without an active workspace.

## Query parameters

- `status` 'active' | 'inactive' | 'removed' | 'all'
- `q` string
- `limit` integer
- `offset` integer

## Response `200`

Monitored people

- V1MonitoringListResponse
  - `data` V1MonitoredPerson[], required
    - `id` string, required
    - `linkedinUrl` string, required
    - `slug` string, required
    - `displayName` string, nullable, required
    - `isActive` boolean, required
    - `inactiveReason` string, nullable, required: 'paused', 'removed', 'monitoring_ended' or 'plan_cap' when inactive; null while active.
    - `createdAt` string, required
    - `lastCheckedAt` string, nullable, required: When the last weekly check ran; null before the first.
    - `monitoring` object, nullable, required: The monitoring period and relevance level (2 stated needs only, 3 also topic interest; since 2026-10-17); null on rows that predate periods (monitored with no end date, level 2).
      - `periodDays` union, required: 30, 90 or 180 days; null means forever.
        - 30
        - 90
        - 180
      - `startedAt` string, nullable, required
      - `until` string, nullable, required
      - `endsInDays` integer, nullable, required
      - `ended` boolean, required
      - `admitLevel` union, required: 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
    - `person` object, nullable, required
      - `fullName` string, nullable, required
      - `headline` string, nullable, required
      - `currentTitle` string, nullable, required
      - `currentCompany` string, nullable, required
    - `signals` object, required
      - `last30` integer, required
      - `last90` integer, required
      - `total` integer, required
    - `latestSnapshotId` string, nullable, required: Newest Person Intelligence snapshot for this person, readable at /api/v1/intelligence/people/{id}.
  - `total` number, required
  - `limit` number, required
  - `offset` number, required
  - `_meta` V1Meta, required
    - `mode` 'live' | 'sample', required
    - `notice` string
    - `cta` object
      - `text` string, required
      - `url` string, required

## Other responses

- `401`: Unauthorized
- `403`: Insufficient scope

---

[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)
