API Documentation

Query monitoring tasks and collected results through MCP-oriented or low-level REST endpoints.

Authentication

Include your API token in the request header. You can find your token in the dashboard settings.

HTTP Header
x-api-key: YOUR_API_TOKEN

Alternatively, you can use the Bearer scheme:

HTTP Header
Authorization: Bearer YOUR_API_TOKEN

MCP query endpoints

Recommended

Use these endpoints for assistants and integrations that need filtering, normalized fields, and cursor pagination without joining multiple REST responses.

GET/api/mcp/monitors
Find monitors by text and status. Results include a stable ref for subsequent reads.
NameTypeDefaultDescription
querystring-Match the monitor name, public ID, URL, type name, or keywords.
enabledboolean-Return only enabled or disabled monitors.
has_updatesboolean-Filter by unread-update state.
limitinteger 1-5020Maximum number of monitors returned.
cursorstring-Use nextCursor from the same endpoint with unchanged filters.

Example request

bash
curl "https://pointyarrow.net/api/mcp/monitors?query=AI&enabled=true&limit=10" \
  -H "x-api-key: YOUR_API_TOKEN"
GET/api/mcp/monitors/:ref
Read one monitor and its newest matching items. The ref accepts either a numeric ID or public ID.
NameTypeDefaultDescription
item_querystring-Match item title, content, author, source, or external ID.
published_afterISO 8601-Include items published at or after this timestamp.
published_beforeISO 8601-Include items published at or before this timestamp.
content_modeomit | preview | fullpreviewOmit content, return a 500-character preview, or return the full value.
include_metadatabooleanfalseInclude source-specific metadata in each item.
limitinteger 1-5020Maximum number of matching items returned.
cursorstring-Use nextCursor from the same endpoint with unchanged filters.

Example request

bash
curl "https://pointyarrow.net/api/mcp/monitors/MONITOR_REF?item_query=release&published_after=2026-07-13T00%3A00%3A00Z&content_mode=preview&limit=20" \
  -H "x-api-key: YOUR_API_TOKEN"

Low-level REST endpoints

These endpoints remain available for clients that already handle fixed-page pagination and task-to-item joins.

GET/api/web-monitor-tasks
List all monitoring tasks with pagination.

Query parameter: page (positive integer, default 1). Each task includes taskTypeName.

taskType mapping

taskType
25: autoBot
2: bilibili
11: bilibiliHot
12: bilibiliRanking
3: v2ex
10: v2exLatest
4: hackernews
13: hackernewsBest
14: googleNews
15: googleTrends
16: hupuHot
17: imdbTrending
18: redditHot
19: redditPopular
20: stackoverflowHot
21: steamTopSellers
22: toutiaoHot
23: twitterTrending
24: twitterTweets
5: weibo
6: xueqiu
7: doubanMovie
8: webLink
9: youtubeChannel
GET/api/web-monitor-tasks/:id
Get task details by publicId, with numeric database IDs supported for compatibility.
GET/api/web-monitor-items/:taskPublicId
List monitoring results (items) for a specific task. Each successful request increments the task's API call count.

Path parameter: task publicId. Query parameter: page (positive integer, default 1).

Response Format

All successful responses follow this JSON structure:

json
{
  "code": 0,
  "message": "ok",
  "data": {
    "monitors": [],
    "pageInfo": {
      "returned": 0,
      "scanned": 0,
      "total": 0,
      "hasMore": false,
      "nextCursor": null
    }
  }
}