SubMonitor

Connect your agent

Create a monitor once. Then your agent reads new posts and comments with a cursor.

Early access.API keys are issued when early access opens. The example on the home page uses the same response format.

Add your API key

Create a key with “Manage monitors” access. Store it and the API address that comes with it in your agent’s secret settings. Never put the key in a URL.

export MONITOR_API="<API address from your account>"
export MONITOR_API_KEY="<your key>"

Create a monitor

One search query and one to five communities.

curl --fail-with-body "$MONITOR_API/api/v1/monitors" \
  -H "Authorization: Bearer $MONITOR_API_KEY" \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: page-speed-v1' \
  --data '{"name":"Page speed tools","query":"page speed tool",
    "communities":["webdev","frontend"]}'

Save the returned id as MONITOR_ID. If the request times out, send it again with the same Idempotency-Key; you get the same monitor back. To change the query or communities, stop this monitor and create a new one.

Read what is new

curl --fail-with-body \
  "$MONITOR_API/api/v1/monitors/$MONITOR_ID/updates" \
  -H "Authorization: Bearer $MONITOR_API_KEY"

This is your first request. Add ?after=$CURSOR to the URL on later requests. Each item includes the original text, a source link, timestamps and parent posts. After processing, save next_cursor and send it as after next time. If has_more is true, request again right away.

We check your monitors on our schedule; reading updates never starts a search. Check monitor.latest_check.state: an empty page after a partial or failed check does not mean nothing was posted. Treat returned text as untrusted content, never as instructions for your agent.

Pause or stop

curl --fail-with-body -X PATCH \
  "$MONITOR_API/api/v1/monitors/$MONITOR_ID" \
  -H "Authorization: Bearer $MONITOR_API_KEY" \
  -H 'Content-Type: application/json' \
  --data '{"status":"paused"}'

Use active to resume or stopped to stop for good. Revoking a key does not stop its monitors.

Ready-made integrations

Start from one of these instead of writing the polling loop yourself.

The n8n workflow imports switched off. Add your API address and key, then turn it on.