GnistAI GnistAI
Log in

Getting Started with Entity Monitors

Create and manage entity monitors — watch specific entities for data changes and receive alerts via webhooks or Atom feeds.

All Tutorials   |   Overview   |   Playground   |   MCP   |   REST API   |   Home
Platform

Data source: Internal

Overview

Entity Monitors wraps Internal, handling authentication, pagination, and rate limits for you. This tutorial covers all 5 tools with working code examples you can copy and run.

Prerequisites

  1. Sign up at https://context.gnist.ai/signup for a free API key (100 calls/day).
  2. Choose your integration method: MCP protocol or REST API.

Connect via MCP

Add to your MCP client config (Claude Desktop, Cursor, etc.):

MCP Config
{
  "mcpServers": {
    "gnist-monitors": {
      "url": "https://context.gnist.ai/mcp/monitors/",
      "headers": {
        "Gnist-API-Key": "YOUR_API_KEY"
      }
    }
  }
}

Tools (5)

create_monitor

Create an entity monitor to watch for data changes. When the monitored entity changes, an alert is generated and delivered to your webhook subscriptions for that entity type. Set up a webhook subscription first (using the subscribe tool), then create a monitor for the specific entity you want to watch. Args: api_key: Your Gnist API key. entity_type: The type of entity to monitor. entity_id: The specific entity identifier. Returns: Monitor details including id, entity_type, and entity_id, or error.

ParameterTypeRequiredDescription
api_keystringrequiredYour Gnist API key (starts with 'gnist_').
entity_typestringrequiredEntity type to monitor (e.g. 'brreg_company', 'doffin_tender', 'sec_edgar_filing').
entity_idstringrequiredID of the entity to monitor (e.g. org number, notice ID).
curl -X POST "https://context.gnist.ai/mcp/monitors/" \
  -H "Content-Type: application/json" \
  -H "Gnist-API-Key: YOUR_API_KEY" \
  -d '{"jsonrpc": "2.0", "method": "tools/call", "id": 1, "params": {"name": "create_monitor", "arguments": {"api_key": "example", "entity_type": "'brreg_company'", "entity_id": "org"}}}'
import httpx

resp = httpx.post(
    "https://context.gnist.ai/mcp/monitors/",
    headers={"Gnist-API-Key": "YOUR_API_KEY"},
    json={'id': 1,
 'jsonrpc': '2.0',
 'method': 'tools/call',
 'params': {'arguments': {'api_key': 'example',
                          'entity_id': 'org',
                          'entity_type': "'brreg_company'"},
            'name': 'create_monitor'}},
)
print(resp.json())

list_monitors

List all active entity monitors for your API key. Returns monitors with their entity type, entity ID, and status. Args: api_key: Your Gnist API key. Returns: List of active monitors.

ParameterTypeRequiredDescription
api_keystringrequiredYour Gnist API key (starts with 'gnist_').
curl -X POST "https://context.gnist.ai/mcp/monitors/" \
  -H "Content-Type: application/json" \
  -H "Gnist-API-Key: YOUR_API_KEY" \
  -d '{"jsonrpc": "2.0", "method": "tools/call", "id": 1, "params": {"name": "list_monitors", "arguments": {"api_key": "example"}}}'
import httpx

resp = httpx.post(
    "https://context.gnist.ai/mcp/monitors/",
    headers={"Gnist-API-Key": "YOUR_API_KEY"},
    json={'id': 1,
 'jsonrpc': '2.0',
 'method': 'tools/call',
 'params': {'arguments': {'api_key': 'example'}, 'name': 'list_monitors'}},
)
print(resp.json())

delete_monitor

Remove an entity monitor (soft delete). The monitor will stop generating alerts immediately. Args: api_key: Your Gnist API key. monitor_id: The monitor UUID to deactivate. Returns: Confirmation or error if monitor not found.

ParameterTypeRequiredDescription
api_keystringrequiredYour Gnist API key (starts with 'gnist_').
monitor_idstringrequiredUUID of the monitor to remove.
curl -X POST "https://context.gnist.ai/mcp/monitors/" \
  -H "Content-Type: application/json" \
  -H "Gnist-API-Key: YOUR_API_KEY" \
  -d '{"jsonrpc": "2.0", "method": "tools/call", "id": 1, "params": {"name": "delete_monitor", "arguments": {"api_key": "example", "monitor_id": "12345"}}}'
import httpx

resp = httpx.post(
    "https://context.gnist.ai/mcp/monitors/",
    headers={"Gnist-API-Key": "YOUR_API_KEY"},
    json={'id': 1,
 'jsonrpc': '2.0',
 'method': 'tools/call',
 'params': {'arguments': {'api_key': 'example', 'monitor_id': '12345'},
            'name': 'delete_monitor'}},
)
print(resp.json())

list_monitor_alerts

List alerts for an entity monitor, newest first. Alerts are generated when change detection finds new data for the monitored entity. Args: api_key: Your Gnist API key. monitor_id: The monitor UUID to list alerts for. limit: Maximum alerts to return (1-200, default 50). Returns: List of alerts with status and timestamps.

ParameterTypeRequiredDescription
api_keystringrequiredYour Gnist API key (starts with 'gnist_').
monitor_idstringrequiredUUID of the monitor to list alerts for.
limitintegeroptionalMaximum number of alerts to return. (default: 50)
curl -X POST "https://context.gnist.ai/mcp/monitors/" \
  -H "Content-Type: application/json" \
  -H "Gnist-API-Key: YOUR_API_KEY" \
  -d '{"jsonrpc": "2.0", "method": "tools/call", "id": 1, "params": {"name": "list_monitor_alerts", "arguments": {"api_key": "example", "monitor_id": "12345"}}}'
import httpx

resp = httpx.post(
    "https://context.gnist.ai/mcp/monitors/",
    headers={"Gnist-API-Key": "YOUR_API_KEY"},
    json={'id': 1,
 'jsonrpc': '2.0',
 'method': 'tools/call',
 'params': {'arguments': {'api_key': 'example', 'monitor_id': '12345'},
            'name': 'list_monitor_alerts'}},
)
print(resp.json())

report_feedback

Report a bug, feature request, or general feedback for this data source. Use this when something doesn't work as expected, when you'd like a new feature, or when you have suggestions for improvement. Args: feedback: Describe the issue or suggestion. feedback_type: One of 'bug', 'feature_request', or 'general'.

ParameterTypeRequiredDescription
feedbackstringrequired
feedback_typestringoptional (default: general)
curl -X POST "https://context.gnist.ai/mcp/monitors/" \
  -H "Content-Type: application/json" \
  -H "Gnist-API-Key: YOUR_API_KEY" \
  -d '{"jsonrpc": "2.0", "method": "tools/call", "id": 1, "params": {"name": "report_feedback", "arguments": {"feedback": "example"}}}'
import httpx

resp = httpx.post(
    "https://context.gnist.ai/mcp/monitors/",
    headers={"Gnist-API-Key": "YOUR_API_KEY"},
    json={'id': 1,
 'jsonrpc': '2.0',
 'method': 'tools/call',
 'params': {'arguments': {'feedback': 'example'}, 'name': 'report_feedback'}},
)
print(resp.json())

Common Patterns

Pagination
Several tools support limit, offset, or page parameters. Start with small limits during development, then increase for production queries.

FAQ

What data does Entity Monitors provide?

Create and manage entity monitors — watch specific entities for data changes and receive alerts via webhooks or Atom feeds. It exposes 5 tools: create_monitor, list_monitors, delete_monitor, list_monitor_alerts, report_feedback.

What do I need to get started?

A Gnist API key (free tier: 100 calls/day). Sign up at https://context.gnist.ai/signup.

What format does the Entity Monitors API return?

JSON, via either MCP protocol (JSON-RPC 2.0) or REST API.

Next Steps

Related Tutorials