GnistAI GnistAI
Log in

Webhook Subscriptions

Manage webhook subscriptions for push-based data delivery — subscribe to entity changes, list subscriptions, and track delivery status.

Overview   |   MCP   |   REST API   |   OpenAPI   |   CLI   |   Tutorial   |   Toolkits   |   Home
status: healthy status status healthy healthy tools: 7 tools tools 7 7 type: platform service type type platform service platform service lifecycle: maintained lifecycle lifecycle maintained maintained Platform

Data source: Internal

MCP Endpoint (Streamable HTTP) https://context.gnist.ai/mcp/webhooks/
Authentication

All requests require a Gnist-API-Key header (or api_key query parameter).

Free tier: 100 calls/day. Get your API key.

Tools (7)

subscribe

Create a webhook subscription for data change notifications.

When data matching the entity_type changes, a signed POST request
will be sent to the callback_url with the change payload.

The returned secret is used to verify webhook signatures (HMAC-SHA256).
Store it securely — it is only shown once.

Args:
api_key: Your Gnist API key.
entity_type: The type of entity to monitor for changes.
callback_url: HTTPS endpoint to receive webhook deliveries.

Returns:
Subscription details including id and signing secret, or error.

ParameterTypeRequiredDescription
api_keystringrequiredYour Gnist API key (starts with 'gnist_').
entity_typestringrequiredEntity type to subscribe to (e.g. 'brreg_company', 'doffin_tender').
callback_urlstringrequiredHTTPS URL where webhook events will be delivered.
JSON-RPC Request
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "subscribe",
    "arguments": {
      "api_key": "example",
      "entity_type": "example",
      "callback_url": "example"
    }
  }
}
unsubscribe

Remove a webhook subscription (soft delete).

The subscription will stop receiving deliveries immediately.

Args:
api_key: Your Gnist API key.
subscription_id: The subscription UUID to deactivate.

Returns:
Confirmation or error if subscription not found.

ParameterTypeRequiredDescription
api_keystringrequiredYour Gnist API key (starts with 'gnist_').
subscription_idstringrequiredUUID of the subscription to remove.
JSON-RPC Request
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "unsubscribe",
    "arguments": {
      "api_key": "example",
      "subscription_id": "example"
    }
  }
}
list_subscriptions

List all active webhook subscriptions for your API key.

Returns subscriptions with their entity type, callback URL, and status.

Args:
api_key: Your Gnist API key.

Returns:
List of active subscriptions.

ParameterTypeRequiredDescription
api_keystringrequiredYour Gnist API key (starts with 'gnist_').
JSON-RPC Request
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "list_subscriptions",
    "arguments": {
      "api_key": "example"
    }
  }
}
reset_subscription

Reset a subscription's circuit breaker.

When a subscription has too many consecutive delivery failures,
its circuit breaker opens and deliveries are paused. Use this
tool to manually re-enable delivery.

Args:
api_key: Your Gnist API key.
subscription_id: The subscription UUID to reset.

Returns:
Confirmation or error if subscription not found.

ParameterTypeRequiredDescription
api_keystringrequiredYour Gnist API key (starts with 'gnist_').
subscription_idstringrequiredUUID of the subscription to reset.
JSON-RPC Request
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "reset_subscription",
    "arguments": {
      "api_key": "example",
      "subscription_id": "example"
    }
  }
}
list_deliveries

List recent webhook deliveries.

Shows delivery attempts with status (pending/delivered/failed),
number of attempts, and HTTP response codes.

Args:
api_key: Your Gnist API key.
subscription_id: Optional filter to a specific subscription.
limit: Maximum deliveries to return (1-200, default 50).

Returns:
List of recent deliveries.

ParameterTypeRequiredDescription
api_keystringrequiredYour Gnist API key (starts with 'gnist_').
subscription_idanyoptionalFilter to a specific subscription UUID. Omit for all subscriptions.
limitintegeroptionalMaximum number of deliveries to return. (default: 50)
JSON-RPC Request
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "list_deliveries",
    "arguments": {
      "api_key": "example"
    }
  }
}
get_webhook_metrics

Get webhook delivery metrics.

Returns aggregated delivery statistics per subscription: total deliveries,
success/failure/pending counts, and last delivery timestamp.

Args:
api_key: Your Gnist API key.
subscription_id: Optional filter to a specific subscription.
hours: Time window in hours (1-720, default 24).

Returns:
Delivery metrics grouped by subscription.

ParameterTypeRequiredDescription
api_keystringrequiredYour Gnist API key (starts with 'gnist_').
subscription_idanyoptionalFilter to a specific subscription UUID. Omit for all subscriptions.
hoursintegeroptionalTime window in hours (default 24, max 720). (default: 24)
JSON-RPC Request
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "get_webhook_metrics",
    "arguments": {
      "api_key": "example"
    }
  }
}
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")
JSON-RPC Request
{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "report_feedback",
    "arguments": {
      "feedback": "example"
    }
  }
}

Quick Start

Shell
curl -X POST "https://context.gnist.ai/mcp/webhooks/" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "Gnist-API-Key: YOUR_API_KEY" \
  -d '{"jsonrpc": "2.0", "method": "tools/call", "id": 1, "params": {"name": "subscribe", "arguments": {"api_key": "example", "entity_type": "example", "callback_url": "example"}}}'
Python
import httpx

resp = httpx.post(
    "https://context.gnist.ai/mcp/webhooks/",
    headers={"Gnist-API-Key": "YOUR_API_KEY", "Content-Type": "application/json"},
    json={
  "jsonrpc": "2.0",
  "method": "tools/call",
  "id": 1,
  "params": {
    "name": "subscribe",
    "arguments": {
      "api_key": "example",
      "entity_type": "example",
      "callback_url": "example"
    }
  }
},
)
print(resp.json())

Related Toolkits (Platform)

Resources