Is the Replynodes MCP server down?

mcp-registry/com.replynodes/mcp · v1.0.0

Also listed as glama/replynodes/-replynodes/mcp, mcp-registry/io.github.replynodes/mcp

healthy
Last checked 2026-10-21 03:52 UTC · handshake 1.7s

As of 2026-10-21 03:52 UTC, the Replynodes MCP server is up with a Glimind reliability score of 56/100 (grade D). Over the last 30 days it answered 95.5% of Glimind's liveness checks. It had 98 outages in 90 days, with a median recovery of 7 minutes.

uptime (30d checks)
95.5%
checks observed
3,533
outages (90d)
98
tools
71

Web MCP: scrape/crawl sites, web search, brand assets, app stores, YouTube, Reddit, Hacker News.

Install Replynodes MCP server

Add to Cursor Add to VS Code

Claude Code

claude mcp add --transport http replynodes-mcp-server https://mcp.replynodes.com/mcp

Claude Desktop · Windsurf · Cline (mcpServers JSON)

{
  "mcpServers": {
    "replynodes-mcp-server": {
      "type": "http",
      "url": "https://mcp.replynodes.com/mcp"
    }
  }
}

Third-party server, listed as discovered. Review its source before installing.

Agent-readiness: F (54/100)

F (54/100): 1 error(s), 7 warning(s) across 71 tool(s); ~650,033 tokens of tool definitions.
Scores higher than 0% of 15,449 MCP servers Glimind has audited.
Its tool list costs an agent ~650,033 tokens per session — more than 99% of servers.
54 → 54 since 2026-10-17
no tool-poisoning patterns
Schemas100
Descriptions88
Safety hints12
Token cost0
Client compatibility70
Protocol100
Reliability35
Stability20

What to fix (10)

Loading this server's tool list costs an agent ~650,033 tokens before any work — more than 99% of MCP servers.

Split rarely-used tools into a separate server or a toolset the client can enable, or expose one "search tools" entry point. Many agents load every connected server's tools into every request. How to fix →

71 tool definition(s) exceed ~1,200 tokens each (largest: webcontext_scrape, ~9,371).

Move long reference material out of descriptions (link a doc or expose a resource), drop repeated examples, and collapse large enums. Trimming these to ~600 tokens saves ~607,433 tokens every session. How to fix →

Tools: webcontext_scrape, anonymous_markdown, googleplay_reviews, get_company_events, web_search and 66 more · saves ~607,433 tokens/session

71 of 71 tool(s) carry no readOnlyHint/destructiveHint annotations.

Annotate read-only tools with {"readOnlyHint": true}. Agents and gateways can then run them without a confirmation prompt, and route around destructive ones. How to fix →

Tools: anonymous_brand, anonymous_company_research, anonymous_competitor_research, anonymous_markdown, app and 66 more

71 tools on one server. Tool-selection accuracy drops as the menu grows, and some clients (e.g. Cursor) cap the number of active tools.

Group tools by task into smaller servers or toolsets, and merge near-duplicates behind one tool with a mode parameter. How to fix →

7 tool(s) look like they change state (create/send/delete/pay…) but declare no destructiveHint.

Set annotations {"readOnlyHint": false, "destructiveHint": true|false, "idempotentHint": …}. Clients use these to ask the user before a side effect and to auto-approve safe reads. How to fix →

Tools: monitor_create, monitor_runs, monitor_update, post_by_id, post_by_permalink and 2 more

2 parameter(s) across 2 tool(s) have no description.

Add a "description" to each parameter with its format and an example ("ISO 8601 date, e.g. 2026-10-17"). This is the commonest cause of wrong arguments on the first call. How to fix →

Tools: monitor_create, monitor_update

Reachable 95.5% of the time over the last 30 days; median recovery 7 min.

Agents fail over to an alternative the first time a call fails. Add health checks and restart-on-failure, and avoid cold starts on serverless hosts.

Handshake + tools/list takes ~2,813 ms.

Serve tools/list from memory, keep the process warm, and host close to your users. Every new agent session pays this before its first call.

No tool declares an outputSchema.

Declare outputSchema and return structuredContent (MCP 2025-06-18+). Agents can then parse results without guessing, and chain tools reliably. How to fix →

In the last 30 days: 0 tool(s) removed and 382 schema change(s).

Add new tools or optional parameters instead of renaming or removing; deprecate first (say so in the description) and remove later. Agents cache tool contracts. How to fix →

Auto-fix: 28 corrected tool definitions

Paste-ready definitions with the problems above fixed. Changes marked verify need a human look. 2 tool(s) still need parameter descriptions written by someone who knows the API. All of them as JSON: /v1/readiness/mcp-registry%2Fcom.replynodes%2Fmcp/fixes

brand_retrieve 1 change
{
  "name": "brand_retrieve",
  "description": "Retrieve Brand\n\nResolve the full brand profile of a company by domain, or extract brand details from one specific page URL: name, description, primary logo, logos, colors, fonts, social links, favicon, and og_image.\n\nHTTP: GET /v1/brand/retrieve",
  "inputSchema": {
    "type": "object",
    "$defs": {
      "Error": {
        "type": "object",
        "properties": {
          "error": {
            "type": "object",
            "properties": {
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "request_id": {
                "type": "string"
              }
            }
          }
        }
      },
      "Watch": {
        "type": "object",
        "required": [
          "id",
          "target",
          "entity",
          "topics",
          "unavailable_topics",
          "requested_frequency",
          "effective_frequency",
          "status",
          "started_at",
          "status_changed_at",
          "archived_at",
          "coverage",
          "topic_intervals",
          "created_at",
          "updated_at"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "entity": {
            "$ref": "#/$defs/WatchEntity"
          },
          "status": {
            "$ref": "#/$defs/WatchStatus"
          },
          "target": {
            "type": "string"
          },
          "topics": {
            "type": "array",
            "items": {
              "$ref": "#/$defs/WatchTopic"
            }
          },
          "webhook": {
            "$ref": "#/$defs/WatchWebhookConfig"
          },
          "coverage": {
            "$ref": "#/$defs/WatchCoverage"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "started_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          },
          "archived_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ]
          },
          "topic_intervals": {
            "type": "array",
            "items": {
              "$ref": "#/$defs/WatchTopicInterval"
            }
          },
          "status_changed_at": {
            "type": "string",
            "format": "date-time"
          },
          "unavailable_topics": {
            "type": "array",
            "items": {
              "$ref": "#/$defs/WatchTopic"
            },
            "description": "Currently active subscriptions whose event families are unavailable; their topic intervals and history remain retained."
          },
          "effective_frequency": {
            "anyOf": [
              {
                "$ref": "#/$defs/WatchFrequency"
              },
              {
                "type": "null"
              }
            ]
          },
          "requested_frequency": {
            "$ref": "#/$defs/WatchFrequency"
          }
        },
        "additionalProperties": false
      },
      "Monitor": {
        "type": "object",
        "required": [
          "id",
          "url",
          "detector",
          "frequency",
          "paused"
        ],
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "url": {
            "type": "string",
            "format": "uri"
          },
          "paused": {
            "type": "boolean"
          },
          "webhook": {
            "allOf": [
              {
                "$ref": "#/$defs/MonitorWebhook"
              }
            ],
            "description": "Secret is write-only and never returned"
          },
          "detector": {
            "enum": [
              "price",
              "saas_pricing",
              "product_change"
            ],
            "type": "string"
          },
          "frequency": {
            "enum": [
              "15m",
              "1h",
              "6h",
              "12h",
              "24h"
            ],
            "type": "string"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "sync_state": {
            "enum": [
              "none",
              "pending",
              "running",
              "retryable",
              "failed",
              "synced"
            ],
            "type": "string",
            "description": "External changedetection watch reconciliation state. PATCH persists frequency/paused immediately (the database is the scheduling authority); the worker applies the change to the engine's watch asynchronously and exposes convergence here. \"none\" means no external watch exists yet; \"pending\"/\"retryable\" are awaiting or retrying the application; \"running\" is being applied; \"failed\" exhausted the bounded retry budget and needs a new PATCH to re-arm; \"synced\" means the engine watch matches the record."
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          },
          "next_run_at": {
            "type": "string",
            "format": "date-time",
            "description": "Canonical next scheduled run in UTC. Reported only while the monitor is schedulable: a monitor whose private watch is still being initialized cannot be claimed (ClaimDue requires initialization_state='ready'), so the field is omitted until initialization completes instead of implying an imminent run. Paused-but-initialized monitors still report their stored schedule; it is suspended until resume."
          },
          "sync_error_reason": {
            "type": "string",
            "description": "Most recent changedetection engine watch reconciliation failure reason"
          },
          "baseline_completed": {
            "type": "boolean"
          },
          "sync_next_retry_at": {
            "type": "string",
            "format": "date-time",
            "description": "Next worker retry time for retryable engine watch reconciliation"
          },
          "initialization_state": {
            "enum": [
              "pending",
              "initializing",
              "retryable",
              "ready",
              "failed"
            ],
            "type": "string",
            "description": "Asynchronous changedetection watch initialization state"
          },
          "initialization_error_reason": {
            "type": "string",
            "description": "Most recent changedetection initialization failure reason"
          },
          "initialization_next_retry_at": {
            "type": "string",
            "format": "date-time",
            "description": "Next worker retry time for retryable initialization"
          }
        }
      },
      "CCIEvent": {
        "type": "object",
        "required": [
          "id",
          "schema_version",
          "type",
          "topic",
          "subject",
          "entity",
          "summary",
          "status",
          "detected_at",
          "first_observed_at",
          "previous_observed_at",
          "current_observed_at",
          "data",
          "source",
          "before",
          "after",
          "detector",
          "confidence",
          "lineage",
          "evidence",
          "created_at"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "data": {
            "$ref": "#/$defs/CCIEventData"
          },
          "type": {
            "enum": [
              "pricing.price_changed",
              "pricing.plan_added",
              "pricing.plan_removed",
              "product.launched",
              "feature.launched",
              "integration.added",
              "integration.removed",
              "customer.reference_added",
              "case_study.added",
              "positioning.changed"
            ],
            "type": "string"
          },
          "after": {
            "$ref": "#/$defs/CCIStateRef"
          },
          "topic": {
            "$ref": "#/$defs/WatchTopic"
          },
          "before": {
            "$ref": "#/$defs/CCIStateRef"
          },
          "entity": {
            "$ref": "#/$defs/CCIEventEntity"
          },
          "source": {
            "$ref": "#/$defs/CCIEventSource"
          },
          "status": {
            "enum": [
              "active",
              "superseded",
              "retracted"
            ],
            "type": "string"
          },
          "lineage": {
            "$ref": "#/$defs/CCIEventLineage"
          },
          "subject": {
            "type": "string"
          },
          "summary": {
            "type": "string"
          },
          "detector": {
            "$ref": "#/$defs/CCIEventDetector"
          },
          "evidence": {
            "type": "array",
            "items": {
              "$ref": "#/$defs/CCIEvidence"
            }
          },
          "confidence": {
            "$ref": "#/$defs/CCIConfidence"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "detected_at": {
            "type": "string",
            "format": "date-time"
          },
          "schema_version": {
            "type": "integer"
          },
          "first_observed_at": {
            "type": "string",
            "format": "date-time"
          },
          "current_observed_at": {
            "type": "string",
            "format": "date-time"
          },
          "previous_observed_at": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "CCIMoney": {
        "type": "object",
        "required": [
          "amount",
          "currency",
          "period"
        ],
        "properties": {
          "amount": {
            "type": "number"
          },
          "period": {
            "type": "string"
          },
          "currency": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "WatchPage": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/$defs/Watch"
            }
          },
          "meta": {
            "$ref": "#/$defs/CCIPageMeta"
          }
        },
        "additionalProperties": false
      },
      "MonitorRun": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "status": {
            "type": "string"
          },
          "changed": {
            "type": "boolean"
          },
          "credits": {
            "type": "integer"
          },
          "baseline": {
            "type": "boolean"
          },
          "timestamp": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "Pagination": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer"
          },
          "limit": {
            "type": "integer"
          },
          "has_more": {
            "type": "boolean"
          },
          "next_cursor": {
            "type": "string"
          }
        },
        "additionalProperties": true
      },
      "WatchTopic": {
        "enum": [
          "pricing",
          "product",
          "integrations",
          "customers",
          "positioning"
        ],
        "type": "string"
      },
      "CCIEvidence": {
        "type": "object",
        "required": [
          "id",
          "page_id",
          "source_url",
          "before_observation_id",
          "after_observation_id",
          "before_snapshot_id",
          "after_snapshot_id",
          "before_content_hash",
          "after_content_hash",
          "before_observed_at",
          "after_observed_at",
          "before_excerpt",
          "after_excerpt",
          "extractor",
          "detector_version",
          "provider",
          "provider_version",
          "provider_commit",
          "method",
          "model",
          "model_config_hash",
          "fields",
          "created_at"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "model": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "fields": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "method": {
            "type": "string"
          },
          "page_id": {
            "type": "string"
          },
          "provider": {
            "type": "string"
          },
          "extractor": {
            "type": "string"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "source_url": {
            "type": "string"
          },
          "after_excerpt": {
            "type": "string"
          },
          "before_excerpt": {
            "type": "string"
          },
          "provider_commit": {
            "type": "string"
          },
          "detector_version": {
            "type": "string"
          },
          "provider_version": {
            "type": "string"
          },
          "after_observed_at": {
            "type": "string",
            "format": "date-time"
          },
          "after_snapshot_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "model_config_hash": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "after_content_hash": {
            "type": "string"
          },
          "before_observed_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ]
          },
          "before_snapshot_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "before_content_hash": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "after_observation_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "before_observation_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false
      },
      "CCIPageMeta": {
        "type": "object",
        "required": [
          "request_id",
          "next_cursor",
          "has_more"
        ],
        "properties": {
          "has_more": {
            "type": "boolean"
          },
          "request_id": {
            "type": "string"
          },
          "next_cursor": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "CCIStateRef": {
        "type": "object",
        "required": [
          "state_id",
          "state_version",
          "snapshot_ids",
          "observation_ids",
          "content_hashes"
        ],
        "properties": {
          "state_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "snapshot_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "state_version": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ]
          },
          "content_hashes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "observation_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "additionalProperties": false
      },
      "ErrorDetail": {
        "type": "object",
        "required": [
          "code",
          "message",
          "request_id"
        ],
        "properties": {
          "code": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "request_id": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "MonitorPage": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/$defs/Monitor"
            }
          },
          "meta": {
            "$ref": "#/$defs/MonitorPageMeta"
          }
        }
      },
      "WatchEntity": {
        "type": "object",
        "required": [
          "id",
          "domain",
          "display_name",
          "observed_since",
          "last_observed_at"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "domain": {
            "type": "string"
          },
          "display_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "observed_since": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ]
          },
          "last_observed_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false
      },
      "WatchStatus": {
        "enum": [
          "active",
          "paused",
          "archived"
        ],
        "type": "string"
      },
      "CCIEventData": {
        "type": "object",
        "required": [],
        "properties": {
          "name": {
            "type": "string"
          },
          "plan": {
            "type": "string"
          },
          "price": {
            "$ref": "#/$defs/CCIMoney"
          },
          "action": {
            "type": "string"
          },
          "product": {
            "type": "string"
          },
          "surface": {
            "type": "string"
          },
          "category": {
            "type": "string"
          },
          "new_price": {
            "$ref": "#/$defs/CCIMoney"
          },
          "old_price": {
            "$ref": "#/$defs/CCIMoney"
          },
          "change_kind": {
            "type": "string"
          },
          "new_category": {
            "type": "string"
          },
          "new_headline": {
            "type": "string"
          },
          "old_category": {
            "type": "string"
          },
          "old_headline": {
            "type": "string"
          },
          "customer_name": {
            "type": "string"
          },
          "billing_period": {
            "type": "string"
          },
          "case_study_url": {
            "type": "string"
          },
          "customer_domain": {
            "type": "string"
          },
          "integration_name": {
            "type": "string"
          },
          "integration_domain": {
            "type": "string"
          },
          "target_market_delta": {
            "type": "string"
          },
          "enterprise_messaging_added": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "CCIEventPage": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/$defs/CCIEvent"
            }
          },
          "meta": {
            "$ref": "#/$defs/CCIPageMeta"
          }
        },
        "additionalProperties": false
      },
      "RegistryData": {
        "type": "object",
        "required": [
          "schema_version",
          "service",
          "version",
          "documentVersion",
          "documentHash",
          "document",
          "providers",
          "callable_routes",
          "openapi"
        ],
        "properties": {
          "openapi": {
            "$ref": "#/$defs/RegistryOpenAPI"
          },
          "service": {
            "type": "string"
          },
          "version": {
            "type": "string"
          },
          "document": {
            "type": "object",
            "description": "The embedded OpenAPI document served unchanged."
          },
          "providers": {
            "type": "array",
            "items": {
              "$ref": "#/$defs/RegistryProvider"
            }
          },
          "documentHash": {
            "type": "string"
          },
          "schema_version": {
            "enum": [
              "v1"
            ],
            "type": "string"
          },
          "callable_routes": {
            "type": "array",
            "items": {
              "$ref": "#/$defs/RegistryRoute"
            }
          },
          "documentVersion": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "ResponseMeta": {
        "type": "object",
        "required": [
          "request_id"
        ],
        "properties": {
          "stale": {
            "type": "boolean"
          },
          "request_id": {
            "type": "string"
          },
          "next_cursor": {
            "type": "string"
          },
          "availability": {
            "type": "string"
          },
          "generated_at": {
            "type": "string",
            "format": "date-time"
          },
          "missing_fields": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "contract_version": {
            "type": "string"
          }
        },
        "additionalProperties": true
      },
      "WatchWebhook": {
        "type": "object",
        "required": [
          "url",
          "secret"
        ],
        "properties": {
          "url": {
            "type": "string",
            "format": "uri"
          },
          "secret": {
            "type": "string",
            "writeOnly": true
          }
        },
        "additionalProperties": false
      },
      "BrandLogoData": {
        "type": "object",
        "required": [
          "url"
        ],
        "properties": {
          "url": {
            "type": "string",
            "format": "uri",
            "description": "The snapshot target URL the logos were extracted from."
          },
          "brand": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "description": "Public site/brand name detected on the page, when available."
              },
              "logos": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "url": {
                      "type": "string",
                      "format": "uri"
                    },
                    "kind": {
                      "type": "string",
                      "description": "Asset slot and format (e.g. logo.svg, favicon.ico)."
                    }
                  }
                },
                "description": "Candidate logo variants detected on the page."
              },
              "logo_url": {
                "type": "string",
                "format": "uri",
                "description": "Primary brand logo URL, when available."
              },
              "og_image": {
                "type": "string",
                "format": "uri"
              },
              "favicon_url": {
                "type": "string",
                "format": "uri"
              }
            }
          }
        },
        "additionalProperties": false
      },
      "CCIConfidence": {
        "type": "object",
        "required": [
          "score",
          "calibrated",
          "method"
        ],
        "properties": {
          "model": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "score": {
            "type": "number"
          },
          "method": {
            "type": "string"
          },
          "calibrated": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "CCITopicState": {
        "type": "object",
        "required": [
          "id",
          "topic",
          "version",
          "baseline",
          "state",
          "observed_from",
          "observed_to",
          "valid_from",
          "valid_to",
          "extractor",
          "method",
          "model",
          "provider",
          "provider_version",
          "provider_commit",
          "derived_from_page_ids",
          "derived_from_snapshot_ids",
          "derived_from_observation_ids",
          "content_hashes",
          "created_at"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "model": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "state": {
            "type": "object",
            "additionalProperties": true
          },
          "topic": {
            "$ref": "#/$defs/WatchTopic"
          },
          "method": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "version": {
            "type": "integer"
          },
          "baseline": {
            "type": "boolean"
          },
          "provider": {
            "type": "string"
          },
          "valid_to": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ]
          },
          "extractor": {
            "type": "string"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "valid_from": {
            "type": "string",
            "format": "date-time"
          },
          "observed_to": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ]
          },
          "observed_from": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ]
          },
          "content_hashes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "provider_commit": {
            "type": "string"
          },
          "provider_version": {
            "type": "string"
          },
          "derived_from_page_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "derived_from_snapshot_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "derived_from_observation_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "additionalProperties": false
      },
      "ErrorResponse": {
        "type": "object",
        "required": [
          "error"
        ],
        "properties": {
          "error": {
            "$ref": "#/$defs/ErrorDetail"
          }
        },
        "additionalProperties": false
      },
      "RegistryRoute": {
        "type": "object",
        "required": [
          "provider",
          "route",
          "method",
          "status",
          "callable",
          "auth_required",
          "read_only",
          "billing"
        ],
        "properties": {
          "tag": {
            "type": "string"
          },
          "route": {
            "type": "string"
          },
          "method": {
            "enum": [
              "GET"
            ],
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "billing": {
            "$ref": "#/$defs/RegistryBilling"
          },
          "callable": {
            "type": "boolean"
          },
          "provider": {
            "type": "string"
          },
          "read_only": {
            "type": "boolean"
          },
          "schema_ref": {
            "type": "string"
          },
          "operation_id": {
            "type": "string"
          },
          "auth_required": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "WatchCoverage": {
        "type": "object",
        "required": [
          "state",
          "last_run_at"
        ],
        "properties": {
          "state": {
            "enum": [
              "initializing",
              "healthy",
              "degraded",
              "failed"
            ],
            "type": "string"
          },
          "last_run_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false
      },
      "WatchEnvelope": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "$ref": "#/$defs/Watch"
          },
          "meta": {
            "$ref": "#/$defs/CCIRequestMeta"
          }
        },
        "additionalProperties": false
      },
      "BrandFontsData": {
        "type": "object",
        "required": [
          "domain",
          "url",
          "count"
        ],
        "properties": {
          "url": {
            "type": "string",
            "format": "uri"
          },
          "count": {
            "type": "integer",
            "minimum": 0
          },
          "fonts": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true
            }
          },
          "domain": {
            "type": "string"
          },
          "words_count": {
            "type": "integer",
            "minimum": 0,
            "description": "Word count reported by the rendered page metadata, when available."
          }
        },
        "additionalProperties": false
      },
      "CCIEventEntity": {
        "type": "object",
        "required": [
          "id",
          "domain"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "domain": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "CCIEventSource": {
        "type": "object",
        "required": [
          "page_ids",
          "urls"
        ],
        "properties": {
          "urls": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "page_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "additionalProperties": false
      },
      "CCIRequestMeta": {
        "type": "object",
        "required": [
          "request_id"
        ],
        "properties": {
          "request_id": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "MonitorWebhook": {
        "type": "object",
        "required": [
          "url"
        ],
        "properties": {
          "url": {
            "type": "string",
            "format": "uri"
          },
          "secret": {
            "type": "string",
            "writeOnly": true,
            "description": "HMAC secret used to sign deliveries. Write-only: it is never returned, logged, or rendered into the payload."
          }
        },
        "description": "Signed webhook notification endpoint (issue #485). The URL must be a public HTTPS target; localhost/private/link-local/metadata/CGNAT destinations and non-HTTPS schemes are rejected unless the service is explicitly configured otherwise for a non-production harness. The secret is AES-256-GCM encrypted at rest. When a monitor change is detected the service POSTs the MonitorChangeEvent payload to this URL with headers X-ReplyNodes-Event-Id (<event_id>), X-ReplyNodes-Timestamp (Unix seconds of this attempt) and X-ReplyNodes-Signature (sha256=<hex> HMAC-SHA256 over timestamp + '.' + raw request body). Receivers should verify against the exact raw body bytes and enforce a 5-minute timestamp tolerance; retries re-sign with a fresh timestamp and the same event_id. Destination identity is URL-based and rotation is replace-on-update with no overlap: a PATCH changing only webhook.secret keeps the same destination identity and in-flight deliveries are signed with the current secret, while a PATCH changing the URL finalizes rows for the old URL as destination_replaced. When HTTPS is required, every redirect is revalidated and a redirect to a cleartext http target is rejected; the secret is write-only, AES-256-GCM encrypted at rest, and never returned or logged."
      },
      "RedditResponse": {
        "type": "object",
        "additionalProperties": true
      },
      "WatchFrequency": {
        "enum": [
          "24h",
          "6h"
        ],
        "type": "string"
      },
      "CCIEventLineage": {
        "type": "object",
        "required": [
          "supersedes_event_id",
          "retracted_event_id",
          "lineage_event_id",
          "correction_reason"
        ],
        "properties": {
          "lineage_event_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "correction_reason": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "retracted_event_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "supersedes_event_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false
      },
      "CCIIntelligence": {
        "type": "object",
        "required": [
          "entity",
          "coverage",
          "pages",
          "topics",
          "recent_events"
        ],
        "properties": {
          "pages": {
            "type": "object",
            "required": [
              "monitored"
            ],
            "properties": {
              "monitored": {
                "type": "integer",
                "minimum": 0
              }
            },
            "additionalProperties": false
          },
          "entity": {
            "$ref": "#/$defs/WatchEntity"
          },
          "topics": {
            "type": "object",
            "required": [],
            "properties": {
              "pricing": {
                "$ref": "#/$defs/CCITopicState"
              },
              "product": {
                "$ref": "#/$defs/CCITopicState"
              },
              "customers": {
                "$ref": "#/$defs/CCITopicState"
              },
              "positioning": {
                "$ref": "#/$defs/CCITopicState"
              },
              "integrations": {
                "$ref": "#/$defs/CCITopicState"
              }
            },
            "additionalProperties": false
          },
          "coverage": {
            "$ref": "#/$defs/WatchCoverage"
          },
          "recent_events": {
            "type": "array",
            "items": {
              "$ref": "#/$defs/CCIEvent"
            }
          }
        },
        "additionalProperties": false
      },
      "MonitorEnvelope": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "$ref": "#/$defs/Monitor"
          },
          "meta": {
            "type": "object",
            "required": [
              "request_id"
            ],
            "properties": {
              "request_id": {
                "type": "string"
              },
              "initialization": {
                "type": "string",
                "description": "Present on the asynchronous 202 create response while the private watch is being initialized: \"pending\". The monitor is not schedulable until initialization completes, so next_run_at is omitted from the data block until then."
              }
            }
          }
        }
      },
      "MonitorPageMeta": {
        "type": "object",
        "required": [
          "request_id",
          "has_more"
        ],
        "properties": {
          "has_more": {
            "type": "boolean"
          },
          "request_id": {
            "type": "string"
          },
          "next_cursor": {
            "type": "string"
          }
        }
      },
      "RegistryBilling": {
        "type": "object",
        "required": [
          "metered"
        ],
        "properties": {
          "metered": {
            "type": "boolean"
          },
          "credit_cost": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          }
        },
        "additionalProperties": false
      },
      "RegistryOpenAPI": {
        "type": "object",
        "required": [
          "version",
          "document_hash",
          "document"
        ],
        "properties": {
          "version": {
            "type": "string"
          },
          "document": {
            "type": "object",
            "description": "The embedded OpenAPI document served unchanged."
          },
          "document_hash": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "SuccessResponse": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {},
          "meta": {
            "$ref": "#/$defs/ResponseMeta"
          }
        },
        "additionalProperties": false
      },
      "CCIEventDetector": {
        "type": "object",
        "required": [
          "version",
          "extractor_version",
          "method",
          "model",
          "model_config_hash",
          "provider",
          "provider_version",
          "provider_commit"
        ],
        "properties": {
          "model": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "method": {
            "enum": [
              "deterministic",
              "semantic"
            ],
            "type": "string"
          },
          "version": {
            "type": "string"
          },
          "provider": {
            "type": "string"
          },
          "provider_commit": {
            "type": "string"
          },
          "provider_version": {
            "type": "string"
          },
          "extractor_version": {
            "type": "string"
          },
          "model_config_hash": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false
      },
      "CCIEventEnvelope": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "$ref": "#/$defs/CCIEvent"
          },
          "meta": {
            "$ref": "#/$defs/CCIRequestMeta"
          }
        },
        "additionalProperties": false
      },
      "RegistryProvider": {
        "type": "object",
        "required": [
          "slug",
          "name",
          "description",
          "status",
          "routes"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "routes": {
            "type": "array",
            "items": {
              "$ref": "#/$defs/RegistryRoute"
            }
          },
          "status": {
            "type": "string"
          },
          "description": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "RegistryResponse": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "$ref": "#/$defs/RegistryData"
          },
          "meta": {
            "type": "object",
            "required": [
              "request_id"
            ],
            "properties": {
              "request_id": {
                "type": "string"
              }
            },
            "additionalProperties": true
          }
        },
        "additionalProperties": false
      },
      "BrandLogoResponse": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "$ref": "#/$defs/BrandLogoData"
          },
          "meta": {
            "$ref": "#/$defs/ResponseMeta"
          }
        },
        "additionalProperties": false
      },
      "MarkdownHostError": {
        "type": "object",
        "required": [
          "error"
        ],
        "properties": {
          "error": {
            "type": "object",
            "required": [
              "code",
              "message",
              "request_id",
              "reason",
              "retryable"
            ],
            "properties": {
              "code": {
                "enum": [
                  "invalid_request",
                  "not_found",
                  "method_not_allowed",
                  "anonymous_limit_reached",
                  "source_excluded",
                  "upstream_blocked",
                  "upstream_unavailable",
                  "degraded",
                  "gateway_timeout",
                  "internal_error"
                ],
                "type": "string"
              },
              "detail": {
                "type": "string",
                "description": "Safe caller guidance; present only for source_excluded."
              },
              "reason": {
                "enum": [
                  "empty_target",
                  "bad_scheme",
                  "malformed_url",
                  "target_too_long",
                  "target_not_allowed",
                  "target_rejected",
                  "bad_option",
                  "route_disabled",
                  "target_not_found",
                  "method_not_allowed",
                  "daily_limit",
                  "publisher_excluded",
                  "access_check",
                  "target_unreachable",
                  "empty_content",
                  "content_too_large",
                  "provider_unavailable",
                  "service_degraded",
                  "target_timeout",
                  "client_closed",
                  "internal_error"
                ],
                "type": "string",
                "description": "Stable machine-readable failure reason; a closed set (values may be added, never renamed or removed)."
              },
              "status": {
                "type": "integer",
                "description": "Stable numeric detail code; present only for source_excluded (45101)."
              },
              "message": {
                "type": "string"
              },
              "retryable": {
                "type": "boolean",
                "description": "True when sending the identical request again later can succeed without changing anything; it says nothing about how soon."
              },
              "request_id": {
                "type": "string"
              },
              "continuation": {
                "$ref": "#/$defs/AnonymousContinuation"
              }
            }
          }
        }
      },
      "BrandFontsResponse": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "$ref": "#/$defs/BrandFontsData"
          },
          "meta": {
            "$ref": "#/$defs/ResponseMeta"
          }
        },
        "additionalProperties": false
      },
      "CCIHistoryEnvelope": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "type": "object",
            "required": [
              "topic",
              "current",
              "history"
            ],
            "properties": {
              "topic": {
                "$ref": "#/$defs/WatchTopic"
              },
              "current": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/CCITopicState"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "history": {
                "type": "array",
                "items": {
                  "$ref": "#/$defs/CCITopicState"
                }
              }
            },
            "additionalProperties": false
          },
          "meta": {
            "$ref": "#/$defs/CCIPageMeta"
          }
        },
        "additionalProperties": false
      },
      "MonitorChangeEvent": {
        "type": "object",
        "required": [
          "event_version",
          "event_id",
          "event_type",
          "monitor_id",
          "run_id",
          "detector",
          "url",
          "change_type",
          "importance",
          "summary",
          "detected_at"
        ],
        "properties": {
          "url": {
            "type": "string",
            "format": "uri",
            "description": "Monitored public URL."
          },
          "run_id": {
            "type": "string",
            "format": "uuid"
          },
          "summary": {
            "type": "string",
            "description": "Bounded, page-content-free human summary."
          },
          "detector": {
            "enum": [
              "price",
              "saas_pricing",
              "product_change"
            ],
            "type": "string"
          },
          "event_id": {
            "type": "string",
            "format": "uuid",
            "description": "Stable canonical event identity (X-ReplyNodes-Event-Id); identical for every delivery attempt."
          },
          "evidence": {
            "type": "object",
            "properties": {
              "bytes": {
                "type": "integer",
                "format": "int64"
              },
              "commit": {
                "type": "string"
              },
              "repository": {
                "type": "string"
              },
              "manifest_path": {
                "type": "string"
              },
              "manifest_sha256": {
                "type": "string"
              }
            },
            "description": "Durable evidence/diff reference for this run (repository identifiers and content hashes, never page content)."
          },
          "event_type": {
            "enum": [
              "monitor.change.detected"
            ],
            "type": "string"
          },
          "importance": {
            "enum": [
              "low",
              "medium",
              "high"
            ],
            "type": "string"
          },
          "monitor_id": {
            "type": "string",
            "format": "uuid"
          },
          "change_type": {
            "type": "string",
            "description": "Bounded detector change kind resolved by the detector/Jev judgement."
          },
          "detected_at": {
            "type": "string",
            "format": "date-time"
          },
          "event_version": {
            "type": "integer",
            "description": "Canonical envelope version. Receivers must branch on it."
          },
          "jev_confidence": {
            "type": "number",
            "description": "Raw Jev provider probability for a valid semantic judgement; present only when applicable and not calibrated confidence."
          }
        },
        "description": "Versioned canonical change event delivered to a configured signed webhook. The payload is exact raw bytes persisted at event creation; Delivery re-signs those bytes on every attempt. organization_id and all secrets are internal and never appear in this document."
      },
      "MonitorHistoryPage": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/$defs/MonitorRun"
            }
          },
          "meta": {
            "$ref": "#/$defs/MonitorPageMeta"
          }
        }
      },
      "WatchCreateRequest": {
        "type": "object",
        "required": [
          "target"
        ],
        "properties": {
          "target": {
            "type": "string"
          },
          "topics": {
            "type": "array",
            "items": {
              "$ref": "#/$defs/WatchTopic"
            }
          },
          "webhook": {
            "anyOf": [
              {
                "$ref": "#/$defs/WatchWebhook"
              },
              {
                "type": "null"
              }
            ]
          },
          "requested_frequency": {
            "$ref": "#/$defs/WatchFrequency"
          }
        },
        "additionalProperties": false
      },
      "WatchTopicInterval": {
        "type": "object",
        "required": [
          "topic",
          "enabled_at",
          "disabled_at"
        ],
        "properties": {
          "topic": {
            "$ref": "#/$defs/WatchTopic"
          },
          "enabled_at": {
            "type": "string",
            "format": "date-time"
          },
          "disabled_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false
      },
      "WatchUpdateRequest": {
        "type": "object",
        "required": [],
        "properties": {
          "status": {
            "$ref": "#/$defs/WatchStatus"
          },
          "topics": {
            "type": "array",
            "items": {
              "$ref": "#/$defs/WatchTopic"
            }
          },
          "webhook": {
            "anyOf": [
              {
                "$ref": "#/$defs/WatchWebhook"
              },
              {
                "type": "null"
              }
            ]
          },
          "requested_frequency": {
            "$ref": "#/$defs/WatchFrequency"
          }
        },
        "additionalProperties": false
      },
      "WatchWebhookConfig": {
        "type": "object",
        "required": [
          "url"
        ],
        "properties": {
          "url": {
            "type": "string",
            "format": "uri"
          }
        },
        "additionalProperties": false
      },
      "AnonymousQuotaError": {
        "type": "object",
        "required": [
          "error"
        ],
        "properties": {
          "error": {
            "type": "object",
            "required": [
              "code",
              "message",
              "request_id",
              "continuation"
            ],
            "properties": {
              "code": {
                "const": "anonymous_limit_reached"
              },
              "message": {
                "type": "string",
                "example": "The anonymous daily limit has been reached. Get a free API key through the browser-approved claim flow described at https://replynodes.com/auth.md: 500 free credits are granted when the first long-lived API key is created and delivered."
              },
              "request_id": {
                "type": "string"
              },
              "continuation": {
                "$ref": "#/$defs/AnonymousContinuation"
              }
            }
          }
        }
      },
      "CreditTopupRequired": {
        "type": "object",
        "required": [
          "code",
          "balance_micro",
          "price_micro",
          "topup_url"
        ],
        "properties": {
          "code": {
            "enum": [
              "topup_required"
            ],
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "upgrade": {
            "type": "object",
            "required": [
              "url",
              "plans",
              "pricing"
            ],
            "properties": {
              "url": {
                "type": "string",
                "format": "uri"
              },
              "plans": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "id",
                    "url"
                  ],
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "url": {
                      "type": "string",
                      "format": "uri"
                    }
                  },
                  "additionalProperties": false
                }
              },
              "pricing": {
                "type": "string",
                "format": "uri"
              }
            },
            "additionalProperties": false
          },
          "topup_url": {
            "type": "string",
            "format": "uri",
            "description": "Owner billing page for managing prepaid credits."
          },
          "price_micro": {
            "type": "integer"
          },
          "balance_micro": {
            "type": "integer"
          }
        },
        "additionalProperties": false
      },
      "MarkdownJsonResponse": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "type": "object",
            "required": [
              "url",
              "title",
              "markdown",
              "metadata",
              "links",
              "images"
            ],
            "properties": {
              "url": {
                "type": "string"
              },
              "links": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "title": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "images": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "markdown": {
                "type": "string"
              },
              "metadata": {
                "type": "object",
                "properties": {
                  "url": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "image": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "title": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "author": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "favicon": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "language": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "site_name": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "word_count": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "description": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "published_date": {
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                }
              }
            }
          },
          "meta": {
            "type": "object",
            "required": [
              "request_id",
              "generated_at"
            ],
            "properties": {
              "request_id": {
                "type": "string"
              },
              "generated_at": {
                "type": "string",
                "format": "date-time",
                "description": "Time the page was fetched (the cached time on a cache hit)."
              }
            }
          }
        }
      },
      "MonitorCreateRequest": {
        "type": "object",
        "required": [
          "url",
          "detector",
          "frequency"
        ],
        "properties": {
          "url": {
            "type": "string",
            "format": "uri"
          },
          "webhook": {
            "$ref": "#/$defs/MonitorWebhook"
          },
          "detector": {
            "enum": [
              "price",
              "saas_pricing",
              "product_change"
            ],
            "type": "string"
          },
          "frequency": {
            "enum": [
              "15m",
              "1h",
              "6h",
              "12h",
              "24h"
            ],
            "type": "string"
          }
        }
      },
      "MonitorUpdateRequest": {
        "type": "object",
        "properties": {
          "paused": {
            "type": "boolean"
          },
          "webhook": {
            "anyOf": [
              {
                "$ref": "#/$defs/MonitorWebhook"
              },
              {
                "type": "null"
              }
            ]
          },
          "frequency": {
            "enum": [
              "15m",
              "1h",
              "6h",
              "12h",
              "24h"
            ],
            "type": "string"
          }
        },
        "description": "Update frequency, pause state, or webhook configuration. The database update is authoritative and committed immediately; the changedetection engine watch is reconciled asynchronously by the monitor worker and the returned monitor reports convergence through sync_state/sync_next_retry_at/sync_error_reason instead of claiming engine success. Reconciliation failures retry with a bounded backoff budget and surface as sync_state=\"failed\" (a new PATCH re-arms it). An active monitor's schedule reflects the new preset promptly: changing frequency recomputes next_run_at from the change time using the new preset, and resuming a paused monitor schedules the next run one interval after the resume (never an immediate run), so the engine and the canonical schedule cannot drift onto different cadences. Immutable fields (url, detector) are rejected."
      },
      "ResearchWorkflowData": {
        "type": "object",
        "required": [
          "workflow",
          "domain",
          "targets"
        ],
        "properties": {
          "domain": {
            "type": "string"
          },
          "targets": {
            "type": "array",
            "items": {
              "$ref": "#/$defs/ResearchWorkflowTarget"
            }
          },
          "workflow": {
            "enum": [
              "company-research",
              "competitor-research"
            ],
            "type": "string"
          }
        }
      },
      "AnonymousContinuation": {
        "type": "object",
        "required": [
          "url"
        ],
        "properties": {
          "url": {
            "type": "string",
            "const": "https://replynodes.com/auth.md",
            "format": "uri"
          }
        }
      },
      "ResearchWorkflowTarget": {
        "type": "object",
        "required": [
          "domain"
        ],
        "properties": {
          "logo": {
            "type": "object",
            "additionalProperties": true
          },
          "brand": {
            "type": "object",
            "description": "Real brand-kit retrieve output; omitted when that primitive fails.",
            "additionalProperties": true
          },
          "domain": {
            "type": "string"
          },
          "errors": {
            "type": "object",
            "description": "Per-primitive typed error codes; a failed primitive's output is omitted rather than fabricated.",
            "additionalProperties": {
              "type": "string"
            }
          },
          "markdown": {
            "type": "object",
            "properties": {
              "content": {
                "type": "string"
              }
            }
          },
          "styleguide": {
            "type": "object",
            "additionalProperties": true
          }
        }
      },
      "CCIIntelligenceEnvelope": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "$ref": "#/$defs/CCIIntelligence"
          },
          "meta": {
            "$ref": "#/$defs/CCIRequestMeta"
          }
        },
        "additionalProperties": false
      },
      "ResearchWorkflowResponse": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "$ref": "#/$defs/ResearchWorkflowData"
          },
          "meta": {
            "type": "object",
            "additionalProperties": true
          }
        }
      }
    },
    "properties": {
      "url": {
        "type": "string",
        "format": "uri",
        "description": "One specific page URL to extract brand details from instead of the whole domain."
      },
      "domain": {
        "type": "string",
        "description": "Company domain to resolve, e.g. apple.com. One of domain or url is required."
      }
    },
    "additionalProperties": false
  },
  "annotations": {
    "readOnlyHint": true
  }
}
brand_search 1 change
{
  "name": "brand_search",
  "description": "Search Brand\n\nFuzzy brand or company search by name or domain; returns up to 10 lightweight matches with domain, name, and logo.\n\nHTTP: GET /v1/brand/search",
  "inputSchema": {
    "type": "object",
    "$defs": {
      "Error": {
        "type": "object",
        "properties": {
          "error": {
            "type": "object",
            "properties": {
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "request_id": {
                "type": "string"
              }
            }
          }
        }
      },
      "Watch": {
        "type": "object",
        "required": [
          "id",
          "target",
          "entity",
          "topics",
          "unavailable_topics",
          "requested_frequency",
          "effective_frequency",
          "status",
          "started_at",
          "status_changed_at",
          "archived_at",
          "coverage",
          "topic_intervals",
          "created_at",
          "updated_at"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "entity": {
            "$ref": "#/$defs/WatchEntity"
          },
          "status": {
            "$ref": "#/$defs/WatchStatus"
          },
          "target": {
            "type": "string"
          },
          "topics": {
            "type": "array",
            "items": {
              "$ref": "#/$defs/WatchTopic"
            }
          },
          "webhook": {
            "$ref": "#/$defs/WatchWebhookConfig"
          },
          "coverage": {
            "$ref": "#/$defs/WatchCoverage"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "started_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          },
          "archived_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ]
          },
          "topic_intervals": {
            "type": "array",
            "items": {
              "$ref": "#/$defs/WatchTopicInterval"
            }
          },
          "status_changed_at": {
            "type": "string",
            "format": "date-time"
          },
          "unavailable_topics": {
            "type": "array",
            "items": {
              "$ref": "#/$defs/WatchTopic"
            },
            "description": "Currently active subscriptions whose event families are unavailable; their topic intervals and history remain retained."
          },
          "effective_frequency": {
            "anyOf": [
              {
                "$ref": "#/$defs/WatchFrequency"
              },
              {
                "type": "null"
              }
            ]
          },
          "requested_frequency": {
            "$ref": "#/$defs/WatchFrequency"
          }
        },
        "additionalProperties": false
      },
      "Monitor": {
        "type": "object",
        "required": [
          "id",
          "url",
          "detector",
          "frequency",
          "paused"
        ],
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "url": {
            "type": "string",
            "format": "uri"
          },
          "paused": {
            "type": "boolean"
          },
          "webhook": {
            "allOf": [
              {
                "$ref": "#/$defs/MonitorWebhook"
              }
            ],
            "description": "Secret is write-only and never returned"
          },
          "detector": {
            "enum": [
              "price",
              "saas_pricing",
              "product_change"
            ],
            "type": "string"
          },
          "frequency": {
            "enum": [
              "15m",
              "1h",
              "6h",
              "12h",
              "24h"
            ],
            "type": "string"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "sync_state": {
            "enum": [
              "none",
              "pending",
              "running",
              "retryable",
              "failed",
              "synced"
            ],
            "type": "string",
            "description": "External changedetection watch reconciliation state. PATCH persists frequency/paused immediately (the database is the scheduling authority); the worker applies the change to the engine's watch asynchronously and exposes convergence here. \"none\" means no external watch exists yet; \"pending\"/\"retryable\" are awaiting or retrying the application; \"running\" is being applied; \"failed\" exhausted the bounded retry budget and needs a new PATCH to re-arm; \"synced\" means the engine watch matches the record."
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          },
          "next_run_at": {
            "type": "string",
            "format": "date-time",
            "description": "Canonical next scheduled run in UTC. Reported only while the monitor is schedulable: a monitor whose private watch is still being initialized cannot be claimed (ClaimDue requires initialization_state='ready'), so the field is omitted until initialization completes instead of implying an imminent run. Paused-but-initialized monitors still report their stored schedule; it is suspended until resume."
          },
          "sync_error_reason": {
            "type": "string",
            "description": "Most recent changedetection engine watch reconciliation failure reason"
          },
          "baseline_completed": {
            "type": "boolean"
          },
          "sync_next_retry_at": {
            "type": "string",
            "format": "date-time",
            "description": "Next worker retry time for retryable engine watch reconciliation"
          },
          "initialization_state": {
            "enum": [
              "pending",
              "initializing",
              "retryable",
              "ready",
              "failed"
            ],
            "type": "string",
            "description": "Asynchronous changedetection watch initialization state"
          },
          "initialization_error_reason": {
            "type": "string",
            "description": "Most recent changedetection initialization failure reason"
          },
          "initialization_next_retry_at": {
            "type": "string",
            "format": "date-time",
            "description": "Next worker retry time for retryable initialization"
          }
        }
      },
      "CCIEvent": {
        "type": "object",
        "required": [
          "id",
          "schema_version",
          "type",
          "topic",
          "subject",
          "entity",
          "summary",
          "status",
          "detected_at",
          "first_observed_at",
          "previous_observed_at",
          "current_observed_at",
          "data",
          "source",
          "before",
          "after",
          "detector",
          "confidence",
          "lineage",
          "evidence",
          "created_at"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "data": {
            "$ref": "#/$defs/CCIEventData"
          },
          "type": {
            "enum": [
              "pricing.price_changed",
              "pricing.plan_added",
              "pricing.plan_removed",
              "product.launched",
              "feature.launched",
              "integration.added",
              "integration.removed",
              "customer.reference_added",
              "case_study.added",
              "positioning.changed"
            ],
            "type": "string"
          },
          "after": {
            "$ref": "#/$defs/CCIStateRef"
          },
          "topic": {
            "$ref": "#/$defs/WatchTopic"
          },
          "before": {
            "$ref": "#/$defs/CCIStateRef"
          },
          "entity": {
            "$ref": "#/$defs/CCIEventEntity"
          },
          "source": {
            "$ref": "#/$defs/CCIEventSource"
          },
          "status": {
            "enum": [
              "active",
              "superseded",
              "retracted"
            ],
            "type": "string"
          },
          "lineage": {
            "$ref": "#/$defs/CCIEventLineage"
          },
          "subject": {
            "type": "string"
          },
          "summary": {
            "type": "string"
          },
          "detector": {
            "$ref": "#/$defs/CCIEventDetector"
          },
          "evidence": {
            "type": "array",
            "items": {
              "$ref": "#/$defs/CCIEvidence"
            }
          },
          "confidence": {
            "$ref": "#/$defs/CCIConfidence"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "detected_at": {
            "type": "string",
            "format": "date-time"
          },
          "schema_version": {
            "type": "integer"
          },
          "first_observed_at": {
            "type": "string",
            "format": "date-time"
          },
          "current_observed_at": {
            "type": "string",
            "format": "date-time"
          },
          "previous_observed_at": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "CCIMoney": {
        "type": "object",
        "required": [
          "amount",
          "currency",
          "period"
        ],
        "properties": {
          "amount": {
            "type": "number"
          },
          "period": {
            "type": "string"
          },
          "currency": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "WatchPage": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/$defs/Watch"
            }
          },
          "meta": {
            "$ref": "#/$defs/CCIPageMeta"
          }
        },
        "additionalProperties": false
      },
      "MonitorRun": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "status": {
            "type": "string"
          },
          "changed": {
            "type": "boolean"
          },
          "credits": {
            "type": "integer"
          },
          "baseline": {
            "type": "boolean"
          },
          "timestamp": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "Pagination": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer"
          },
          "limit": {
            "type": "integer"
          },
          "has_more": {
            "type": "boolean"
          },
          "next_cursor": {
            "type": "string"
          }
        },
        "additionalProperties": true
      },
      "WatchTopic": {
        "enum": [
          "pricing",
          "product",
          "integrations",
          "customers",
          "positioning"
        ],
        "type": "string"
      },
      "CCIEvidence": {
        "type": "object",
        "required": [
          "id",
          "page_id",
          "source_url",
          "before_observation_id",
          "after_observation_id",
          "before_snapshot_id",
          "after_snapshot_id",
          "before_content_hash",
          "after_content_hash",
          "before_observed_at",
          "after_observed_at",
          "before_excerpt",
          "after_excerpt",
          "extractor",
          "detector_version",
          "provider",
          "provider_version",
          "provider_commit",
          "method",
          "model",
          "model_config_hash",
          "fields",
          "created_at"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "model": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "fields": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "method": {
            "type": "string"
          },
          "page_id": {
            "type": "string"
          },
          "provider": {
            "type": "string"
          },
          "extractor": {
            "type": "string"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "source_url": {
            "type": "string"
          },
          "after_excerpt": {
            "type": "string"
          },
          "before_excerpt": {
            "type": "string"
          },
          "provider_commit": {
            "type": "string"
          },
          "detector_version": {
            "type": "string"
          },
          "provider_version": {
            "type": "string"
          },
          "after_observed_at": {
            "type": "string",
            "format": "date-time"
          },
          "after_snapshot_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "model_config_hash": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "after_content_hash": {
            "type": "string"
          },
          "before_observed_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ]
          },
          "before_snapshot_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "before_content_hash": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "after_observation_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "before_observation_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false
      },
      "CCIPageMeta": {
        "type": "object",
        "required": [
          "request_id",
          "next_cursor",
          "has_more"
        ],
        "properties": {
          "has_more": {
            "type": "boolean"
          },
          "request_id": {
            "type": "string"
          },
          "next_cursor": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "CCIStateRef": {
        "type": "object",
        "required": [
          "state_id",
          "state_version",
          "snapshot_ids",
          "observation_ids",
          "content_hashes"
        ],
        "properties": {
          "state_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "snapshot_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "state_version": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ]
          },
          "content_hashes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "observation_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "additionalProperties": false
      },
      "ErrorDetail": {
        "type": "object",
        "required": [
          "code",
          "message",
          "request_id"
        ],
        "properties": {
          "code": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "request_id": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "MonitorPage": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/$defs/Monitor"
            }
          },
          "meta": {
            "$ref": "#/$defs/MonitorPageMeta"
          }
        }
      },
      "WatchEntity": {
        "type": "object",
        "required": [
          "id",
          "domain",
          "display_name",
          "observed_since",
          "last_observed_at"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "domain": {
            "type": "string"
          },
          "display_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "observed_since": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ]
          },
          "last_observed_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false
      },
      "WatchStatus": {
        "enum": [
          "active",
          "paused",
          "archived"
        ],
        "type": "string"
      },
      "CCIEventData": {
        "type": "object",
        "required": [],
        "properties": {
          "name": {
            "type": "string"
          },
          "plan": {
            "type": "string"
          },
          "price": {
            "$ref": "#/$defs/CCIMoney"
          },
          "action": {
            "type": "string"
          },
          "product": {
            "type": "string"
          },
          "surface": {
            "type": "string"
          },
          "category": {
            "type": "string"
          },
          "new_price": {
            "$ref": "#/$defs/CCIMoney"
          },
          "old_price": {
            "$ref": "#/$defs/CCIMoney"
          },
          "change_kind": {
            "type": "string"
          },
          "new_category": {
            "type": "string"
          },
          "new_headline": {
            "type": "string"
          },
          "old_category": {
            "type": "string"
          },
          "old_headline": {
            "type": "string"
          },
          "customer_name": {
            "type": "string"
          },
          "billing_period": {
            "type": "string"
          },
          "case_study_url": {
            "type": "string"
          },
          "customer_domain": {
            "type": "string"
          },
          "integration_name": {
            "type": "string"
          },
          "integration_domain": {
            "type": "string"
          },
          "target_market_delta": {
            "type": "string"
          },
          "enterprise_messaging_added": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "CCIEventPage": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/$defs/CCIEvent"
            }
          },
          "meta": {
            "$ref": "#/$defs/CCIPageMeta"
          }
        },
        "additionalProperties": false
      },
      "RegistryData": {
        "type": "object",
        "required": [
          "schema_version",
          "service",
          "version",
          "documentVersion",
          "documentHash",
          "document",
          "providers",
          "callable_routes",
          "openapi"
        ],
        "properties": {
          "openapi": {
            "$ref": "#/$defs/RegistryOpenAPI"
          },
          "service": {
            "type": "string"
          },
          "version": {
            "type": "string"
          },
          "document": {
            "type": "object",
            "description": "The embedded OpenAPI document served unchanged."
          },
          "providers": {
            "type": "array",
            "items": {
              "$ref": "#/$defs/RegistryProvider"
            }
          },
          "documentHash": {
            "type": "string"
          },
          "schema_version": {
            "enum": [
              "v1"
            ],
            "type": "string"
          },
          "callable_routes": {
            "type": "array",
            "items": {
              "$ref": "#/$defs/RegistryRoute"
            }
          },
          "documentVersion": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "ResponseMeta": {
        "type": "object",
        "required": [
          "request_id"
        ],
        "properties": {
          "stale": {
            "type": "boolean"
          },
          "request_id": {
            "type": "string"
          },
          "next_cursor": {
            "type": "string"
          },
          "availability": {
            "type": "string"
          },
          "generated_at": {
            "type": "string",
            "format": "date-time"
          },
          "missing_fields": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "contract_version": {
            "type": "string"
          }
        },
        "additionalProperties": true
      },
      "WatchWebhook": {
        "type": "object",
        "required": [
          "url",
          "secret"
        ],
        "properties": {
          "url": {
            "type": "string",
            "format": "uri"
          },
          "secret": {
            "type": "string",
            "writeOnly": true
          }
        },
        "additionalProperties": false
      },
      "BrandLogoData": {
        "type": "object",
        "required": [
          "url"
        ],
        "properties": {
          "url": {
            "type": "string",
            "format": "uri",
            "description": "The snapshot target URL the logos were extracted from."
          },
          "brand": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "description": "Public site/brand name detected on the page, when available."
              },
              "logos": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "url": {
                      "type": "string",
                      "format": "uri"
                    },
                    "kind": {
                      "type": "string",
                      "description": "Asset slot and format (e.g. logo.svg, favicon.ico)."
                    }
                  }
                },
                "description": "Candidate logo variants detected on the page."
              },
              "logo_url": {
                "type": "string",
                "format": "uri",
                "description": "Primary brand logo URL, when available."
              },
              "og_image": {
                "type": "string",
                "format": "uri"
              },
              "favicon_url": {
                "type": "string",
                "format": "uri"
              }
            }
          }
        },
        "additionalProperties": false
      },
      "CCIConfidence": {
        "type": "object",
        "required": [
          "score",
          "calibrated",
          "method"
        ],
        "properties": {
          "model": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "score": {
            "type": "number"
          },
          "method": {
            "type": "string"
          },
          "calibrated": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "CCITopicState": {
        "type": "object",
        "required": [
          "id",
          "topic",
          "version",
          "baseline",
          "state",
          "observed_from",
          "observed_to",
          "valid_from",
          "valid_to",
          "extractor",
          "method",
          "model",
          "provider",
          "provider_version",
          "provider_commit",
          "derived_from_page_ids",
          "derived_from_snapshot_ids",
          "derived_from_observation_ids",
          "content_hashes",
          "created_at"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "model": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "state": {
            "type": "object",
            "additionalProperties": true
          },
          "topic": {
            "$ref": "#/$defs/WatchTopic"
          },
          "method": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "version": {
            "type": "integer"
          },
          "baseline": {
            "type": "boolean"
          },
          "provider": {
            "type": "string"
          },
          "valid_to": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ]
          },
          "extractor": {
            "type": "string"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "valid_from": {
            "type": "string",
            "format": "date-time"
          },
          "observed_to": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ]
          },
          "observed_from": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ]
          },
          "content_hashes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "provider_commit": {
            "type": "string"
          },
          "provider_version": {
            "type": "string"
          },
          "derived_from_page_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "derived_from_snapshot_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "derived_from_observation_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "additionalProperties": false
      },
      "ErrorResponse": {
        "type": "object",
        "required": [
          "error"
        ],
        "properties": {
          "error": {
            "$ref": "#/$defs/ErrorDetail"
          }
        },
        "additionalProperties": false
      },
      "RegistryRoute": {
        "type": "object",
        "required": [
          "provider",
          "route",
          "method",
          "status",
          "callable",
          "auth_required",
          "read_only",
          "billing"
        ],
        "properties": {
          "tag": {
            "type": "string"
          },
          "route": {
            "type": "string"
          },
          "method": {
            "enum": [
              "GET"
            ],
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "billing": {
            "$ref": "#/$defs/RegistryBilling"
          },
          "callable": {
            "type": "boolean"
          },
          "provider": {
            "type": "string"
          },
          "read_only": {
            "type": "boolean"
          },
          "schema_ref": {
            "type": "string"
          },
          "operation_id": {
            "type": "string"
          },
          "auth_required": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "WatchCoverage": {
        "type": "object",
        "required": [
          "state",
          "last_run_at"
        ],
        "properties": {
          "state": {
            "enum": [
              "initializing",
              "healthy",
              "degraded",
              "failed"
            ],
            "type": "string"
          },
          "last_run_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false
      },
      "WatchEnvelope": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "$ref": "#/$defs/Watch"
          },
          "meta": {
            "$ref": "#/$defs/CCIRequestMeta"
          }
        },
        "additionalProperties": false
      },
      "BrandFontsData": {
        "type": "object",
        "required": [
          "domain",
          "url",
          "count"
        ],
        "properties": {
          "url": {
            "type": "string",
            "format": "uri"
          },
          "count": {
            "type": "integer",
            "minimum": 0
          },
          "fonts": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true
            }
          },
          "domain": {
            "type": "string"
          },
          "words_count": {
            "type": "integer",
            "minimum": 0,
            "description": "Word count reported by the rendered page metadata, when available."
          }
        },
        "additionalProperties": false
      },
      "CCIEventEntity": {
        "type": "object",
        "required": [
          "id",
          "domain"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "domain": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "CCIEventSource": {
        "type": "object",
        "required": [
          "page_ids",
          "urls"
        ],
        "properties": {
          "urls": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "page_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "additionalProperties": false
      },
      "CCIRequestMeta": {
        "type": "object",
        "required": [
          "request_id"
        ],
        "properties": {
          "request_id": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "MonitorWebhook": {
        "type": "object",
        "required": [
          "url"
        ],
        "properties": {
          "url": {
            "type": "string",
            "format": "uri"
          },
          "secret": {
            "type": "string",
            "writeOnly": true,
            "description": "HMAC secret used to sign deliveries. Write-only: it is never returned, logged, or rendered into the payload."
          }
        },
        "description": "Signed webhook notification endpoint (issue #485). The URL must be a public HTTPS target; localhost/private/link-local/metadata/CGNAT destinations and non-HTTPS schemes are rejected unless the service is explicitly configured otherwise for a non-production harness. The secret is AES-256-GCM encrypted at rest. When a monitor change is detected the service POSTs the MonitorChangeEvent payload to this URL with headers X-ReplyNodes-Event-Id (<event_id>), X-ReplyNodes-Timestamp (Unix seconds of this attempt) and X-ReplyNodes-Signature (sha256=<hex> HMAC-SHA256 over timestamp + '.' + raw request body). Receivers should verify against the exact raw body bytes and enforce a 5-minute timestamp tolerance; retries re-sign with a fresh timestamp and the same event_id. Destination identity is URL-based and rotation is replace-on-update with no overlap: a PATCH changing only webhook.secret keeps the same destination identity and in-flight deliveries are signed with the current secret, while a PATCH changing the URL finalizes rows for the old URL as destination_replaced. When HTTPS is required, every redirect is revalidated and a redirect to a cleartext http target is rejected; the secret is write-only, AES-256-GCM encrypted at rest, and never returned or logged."
      },
      "RedditResponse": {
        "type": "object",
        "additionalProperties": true
      },
      "WatchFrequency": {
        "enum": [
          "24h",
          "6h"
        ],
        "type": "string"
      },
      "CCIEventLineage": {
        "type": "object",
        "required": [
          "supersedes_event_id",
          "retracted_event_id",
          "lineage_event_id",
          "correction_reason"
        ],
        "properties": {
          "lineage_event_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "correction_reason": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "retracted_event_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "supersedes_event_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false
      },
      "CCIIntelligence": {
        "type": "object",
        "required": [
          "entity",
          "coverage",
          "pages",
          "topics",
          "recent_events"
        ],
        "properties": {
          "pages": {
            "type": "object",
            "required": [
              "monitored"
            ],
            "properties": {
              "monitored": {
                "type": "integer",
                "minimum": 0
              }
            },
            "additionalProperties": false
          },
          "entity": {
            "$ref": "#/$defs/WatchEntity"
          },
          "topics": {
            "type": "object",
            "required": [],
            "properties": {
              "pricing": {
                "$ref": "#/$defs/CCITopicState"
              },
              "product": {
                "$ref": "#/$defs/CCITopicState"
              },
              "customers": {
                "$ref": "#/$defs/CCITopicState"
              },
              "positioning": {
                "$ref": "#/$defs/CCITopicState"
              },
              "integrations": {
                "$ref": "#/$defs/CCITopicState"
              }
            },
            "additionalProperties": false
          },
          "coverage": {
            "$ref": "#/$defs/WatchCoverage"
          },
          "recent_events": {
            "type": "array",
            "items": {
              "$ref": "#/$defs/CCIEvent"
            }
          }
        },
        "additionalProperties": false
      },
      "MonitorEnvelope": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "$ref": "#/$defs/Monitor"
          },
          "meta": {
            "type": "object",
            "required": [
              "request_id"
            ],
            "properties": {
              "request_id": {
                "type": "string"
              },
              "initialization": {
                "type": "string",
                "description": "Present on the asynchronous 202 create response while the private watch is being initialized: \"pending\". The monitor is not schedulable until initialization completes, so next_run_at is omitted from the data block until then."
              }
            }
          }
        }
      },
      "MonitorPageMeta": {
        "type": "object",
        "required": [
          "request_id",
          "has_more"
        ],
        "properties": {
          "has_more": {
            "type": "boolean"
          },
          "request_id": {
            "type": "string"
          },
          "next_cursor": {
            "type": "string"
          }
        }
      },
      "RegistryBilling": {
        "type": "object",
        "required": [
          "metered"
        ],
        "properties": {
          "metered": {
            "type": "boolean"
          },
          "credit_cost": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          }
        },
        "additionalProperties": false
      },
      "RegistryOpenAPI": {
        "type": "object",
        "required": [
          "version",
          "document_hash",
          "document"
        ],
        "properties": {
          "version": {
            "type": "string"
          },
          "document": {
            "type": "object",
            "description": "The embedded OpenAPI document served unchanged."
          },
          "document_hash": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "SuccessResponse": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {},
          "meta": {
            "$ref": "#/$defs/ResponseMeta"
          }
        },
        "additionalProperties": false
      },
      "CCIEventDetector": {
        "type": "object",
        "required": [
          "version",
          "extractor_version",
          "method",
          "model",
          "model_config_hash",
          "provider",
          "provider_version",
          "provider_commit"
        ],
        "properties": {
          "model": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "method": {
            "enum": [
              "deterministic",
              "semantic"
            ],
            "type": "string"
          },
          "version": {
            "type": "string"
          },
          "provider": {
            "type": "string"
          },
          "provider_commit": {
            "type": "string"
          },
          "provider_version": {
            "type": "string"
          },
          "extractor_version": {
            "type": "string"
          },
          "model_config_hash": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false
      },
      "CCIEventEnvelope": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "$ref": "#/$defs/CCIEvent"
          },
          "meta": {
            "$ref": "#/$defs/CCIRequestMeta"
          }
        },
        "additionalProperties": false
      },
      "RegistryProvider": {
        "type": "object",
        "required": [
          "slug",
          "name",
          "description",
          "status",
          "routes"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "routes": {
            "type": "array",
            "items": {
              "$ref": "#/$defs/RegistryRoute"
            }
          },
          "status": {
            "type": "string"
          },
          "description": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "RegistryResponse": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "$ref": "#/$defs/RegistryData"
          },
          "meta": {
            "type": "object",
            "required": [
              "request_id"
            ],
            "properties": {
              "request_id": {
                "type": "string"
              }
            },
            "additionalProperties": true
          }
        },
        "additionalProperties": false
      },
      "BrandLogoResponse": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "$ref": "#/$defs/BrandLogoData"
          },
          "meta": {
            "$ref": "#/$defs/ResponseMeta"
          }
        },
        "additionalProperties": false
      },
      "MarkdownHostError": {
        "type": "object",
        "required": [
          "error"
        ],
        "properties": {
          "error": {
            "type": "object",
            "required": [
              "code",
              "message",
              "request_id",
              "reason",
              "retryable"
            ],
            "properties": {
              "code": {
                "enum": [
                  "invalid_request",
                  "not_found",
                  "method_not_allowed",
                  "anonymous_limit_reached",
                  "source_excluded",
                  "upstream_blocked",
                  "upstream_unavailable",
                  "degraded",
                  "gateway_timeout",
                  "internal_error"
                ],
                "type": "string"
              },
              "detail": {
                "type": "string",
                "description": "Safe caller guidance; present only for source_excluded."
              },
              "reason": {
                "enum": [
                  "empty_target",
                  "bad_scheme",
                  "malformed_url",
                  "target_too_long",
                  "target_not_allowed",
                  "target_rejected",
                  "bad_option",
                  "route_disabled",
                  "target_not_found",
                  "method_not_allowed",
                  "daily_limit",
                  "publisher_excluded",
                  "access_check",
                  "target_unreachable",
                  "empty_content",
                  "content_too_large",
                  "provider_unavailable",
                  "service_degraded",
                  "target_timeout",
                  "client_closed",
                  "internal_error"
                ],
                "type": "string",
                "description": "Stable machine-readable failure reason; a closed set (values may be added, never renamed or removed)."
              },
              "status": {
                "type": "integer",
                "description": "Stable numeric detail code; present only for source_excluded (45101)."
              },
              "message": {
                "type": "string"
              },
              "retryable": {
                "type": "boolean",
                "description": "True when sending the identical request again later can succeed without changing anything; it says nothing about how soon."
              },
              "request_id": {
                "type": "string"
              },
              "continuation": {
                "$ref": "#/$defs/AnonymousContinuation"
              }
            }
          }
        }
      },
      "BrandFontsResponse": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "$ref": "#/$defs/BrandFontsData"
          },
          "meta": {
            "$ref": "#/$defs/ResponseMeta"
          }
        },
        "additionalProperties": false
      },
      "CCIHistoryEnvelope": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "type": "object",
            "required": [
              "topic",
              "current",
              "history"
            ],
            "properties": {
              "topic": {
                "$ref": "#/$defs/WatchTopic"
              },
              "current": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/CCITopicState"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "history": {
                "type": "array",
                "items": {
                  "$ref": "#/$defs/CCITopicState"
                }
              }
            },
            "additionalProperties": false
          },
          "meta": {
            "$ref": "#/$defs/CCIPageMeta"
          }
        },
        "additionalProperties": false
      },
      "MonitorChangeEvent": {
        "type": "object",
        "required": [
          "event_version",
          "event_id",
          "event_type",
          "monitor_id",
          "run_id",
          "detector",
          "url",
          "change_type",
          "importance",
          "summary",
          "detected_at"
        ],
        "properties": {
          "url": {
            "type": "string",
            "format": "uri",
            "description": "Monitored public URL."
          },
          "run_id": {
            "type": "string",
            "format": "uuid"
          },
          "summary": {
            "type": "string",
            "description": "Bounded, page-content-free human summary."
          },
          "detector": {
            "enum": [
              "price",
              "saas_pricing",
              "product_change"
            ],
            "type": "string"
          },
          "event_id": {
            "type": "string",
            "format": "uuid",
            "description": "Stable canonical event identity (X-ReplyNodes-Event-Id); identical for every delivery attempt."
          },
          "evidence": {
            "type": "object",
            "properties": {
              "bytes": {
                "type": "integer",
                "format": "int64"
              },
              "commit": {
                "type": "string"
              },
              "repository": {
                "type": "string"
              },
              "manifest_path": {
                "type": "string"
              },
              "manifest_sha256": {
                "type": "string"
              }
            },
            "description": "Durable evidence/diff reference for this run (repository identifiers and content hashes, never page content)."
          },
          "event_type": {
            "enum": [
              "monitor.change.detected"
            ],
            "type": "string"
          },
          "importance": {
            "enum": [
              "low",
              "medium",
              "high"
            ],
            "type": "string"
          },
          "monitor_id": {
            "type": "string",
            "format": "uuid"
          },
          "change_type": {
            "type": "string",
            "description": "Bounded detector change kind resolved by the detector/Jev judgement."
          },
          "detected_at": {
            "type": "string",
            "format": "date-time"
          },
          "event_version": {
            "type": "integer",
            "description": "Canonical envelope version. Receivers must branch on it."
          },
          "jev_confidence": {
            "type": "number",
            "description": "Raw Jev provider probability for a valid semantic judgement; present only when applicable and not calibrated confidence."
          }
        },
        "description": "Versioned canonical change event delivered to a configured signed webhook. The payload is exact raw bytes persisted at event creation; Delivery re-signs those bytes on every attempt. organization_id and all secrets are internal and never appear in this document."
      },
      "MonitorHistoryPage": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/$defs/MonitorRun"
            }
          },
          "meta": {
            "$ref": "#/$defs/MonitorPageMeta"
          }
        }
      },
      "WatchCreateRequest": {
        "type": "object",
        "required": [
          "target"
        ],
        "properties": {
          "target": {
            "type": "string"
          },
          "topics": {
            "type": "array",
            "items": {
              "$ref": "#/$defs/WatchTopic"
            }
          },
          "webhook": {
            "anyOf": [
              {
                "$ref": "#/$defs/WatchWebhook"
              },
              {
                "type": "null"
              }
            ]
          },
          "requested_frequency": {
            "$ref": "#/$defs/WatchFrequency"
          }
        },
        "additionalProperties": false
      },
      "WatchTopicInterval": {
        "type": "object",
        "required": [
          "topic",
          "enabled_at",
          "disabled_at"
        ],
        "properties": {
          "topic": {
            "$ref": "#/$defs/WatchTopic"
          },
          "enabled_at": {
            "type": "string",
            "format": "date-time"
          },
          "disabled_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false
      },
      "WatchUpdateRequest": {
        "type": "object",
        "required": [],
        "properties": {
          "status": {
            "$ref": "#/$defs/WatchStatus"
          },
          "topics": {
            "type": "array",
            "items": {
              "$ref": "#/$defs/WatchTopic"
            }
          },
          "webhook": {
            "anyOf": [
              {
                "$ref": "#/$defs/WatchWebhook"
              },
              {
                "type": "null"
              }
            ]
          },
          "requested_frequency": {
            "$ref": "#/$defs/WatchFrequency"
          }
        },
        "additionalProperties": false
      },
      "WatchWebhookConfig": {
        "type": "object",
        "required": [
          "url"
        ],
        "properties": {
          "url": {
            "type": "string",
            "format": "uri"
          }
        },
        "additionalProperties": false
      },
      "AnonymousQuotaError": {
        "type": "object",
        "required": [
          "error"
        ],
        "properties": {
          "error": {
            "type": "object",
            "required": [
              "code",
              "message",
              "request_id",
              "continuation"
            ],
            "properties": {
              "code": {
                "const": "anonymous_limit_reached"
              },
              "message": {
                "type": "string",
                "example": "The anonymous daily limit has been reached. Get a free API key through the browser-approved claim flow described at https://replynodes.com/auth.md: 500 free credits are granted when the first long-lived API key is created and delivered."
              },
              "request_id": {
                "type": "string"
              },
              "continuation": {
                "$ref": "#/$defs/AnonymousContinuation"
              }
            }
          }
        }
      },
      "CreditTopupRequired": {
        "type": "object",
        "required": [
          "code",
          "balance_micro",
          "price_micro",
          "topup_url"
        ],
        "properties": {
          "code": {
            "enum": [
              "topup_required"
            ],
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "upgrade": {
            "type": "object",
            "required": [
              "url",
              "plans",
              "pricing"
            ],
            "properties": {
              "url": {
                "type": "string",
                "format": "uri"
              },
              "plans": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "id",
                    "url"
                  ],
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "url": {
                      "type": "string",
                      "format": "uri"
                    }
                  },
                  "additionalProperties": false
                }
              },
              "pricing": {
                "type": "string",
                "format": "uri"
              }
            },
            "additionalProperties": false
          },
          "topup_url": {
            "type": "string",
            "format": "uri",
            "description": "Owner billing page for managing prepaid credits."
          },
          "price_micro": {
            "type": "integer"
          },
          "balance_micro": {
            "type": "integer"
          }
        },
        "additionalProperties": false
      },
      "MarkdownJsonResponse": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "type": "object",
            "required": [
              "url",
              "title",
              "markdown",
              "metadata",
              "links",
              "images"
            ],
            "properties": {
              "url": {
                "type": "string"
              },
              "links": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "title": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "images": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "markdown": {
                "type": "string"
              },
              "metadata": {
                "type": "object",
                "properties": {
                  "url": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "image": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "title": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "author": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "favicon": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "language": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "site_name": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "word_count": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "description": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "published_date": {
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                }
              }
            }
          },
          "meta": {
            "type": "object",
            "required": [
              "request_id",
              "generated_at"
            ],
            "properties": {
              "request_id": {
                "type": "string"
              },
              "generated_at": {
                "type": "string",
                "format": "date-time",
                "description": "Time the page was fetched (the cached time on a cache hit)."
              }
            }
          }
        }
      },
      "MonitorCreateRequest": {
        "type": "object",
        "required": [
          "url",
          "detector",
          "frequency"
        ],
        "properties": {
          "url": {
            "type": "string",
            "format": "uri"
          },
          "webhook": {
            "$ref": "#/$defs/MonitorWebhook"
          },
          "detector": {
            "enum": [
              "price",
              "saas_pricing",
              "product_change"
            ],
            "type": "string"
          },
          "frequency": {
            "enum": [
              "15m",
              "1h",
              "6h",
              "12h",
              "24h"
            ],
            "type": "string"
          }
        }
      },
      "MonitorUpdateRequest": {
        "type": "object",
        "properties": {
          "paused": {
            "type": "boolean"
          },
          "webhook": {
            "anyOf": [
              {
                "$ref": "#/$defs/MonitorWebhook"
              },
              {
                "type": "null"
              }
            ]
          },
          "frequency": {
            "enum": [
              "15m",
              "1h",
              "6h",
              "12h",
              "24h"
            ],
            "type": "string"
          }
        },
        "description": "Update frequency, pause state, or webhook configuration. The database update is authoritative and committed immediately; the changedetection engine watch is reconciled asynchronously by the monitor worker and the returned monitor reports convergence through sync_state/sync_next_retry_at/sync_error_reason instead of claiming engine success. Reconciliation failures retry with a bounded backoff budget and surface as sync_state=\"failed\" (a new PATCH re-arms it). An active monitor's schedule reflects the new preset promptly: changing frequency recomputes next_run_at from the change time using the new preset, and resuming a paused monitor schedules the next run one interval after the resume (never an immediate run), so the engine and the canonical schedule cannot drift onto different cadences. Immutable fields (url, detector) are rejected."
      },
      "ResearchWorkflowData": {
        "type": "object",
        "required": [
          "workflow",
          "domain",
          "targets"
        ],
        "properties": {
          "domain": {
            "type": "string"
          },
          "targets": {
            "type": "array",
            "items": {
              "$ref": "#/$defs/ResearchWorkflowTarget"
            }
          },
          "workflow": {
            "enum": [
              "company-research",
              "competitor-research"
            ],
            "type": "string"
          }
        }
      },
      "AnonymousContinuation": {
        "type": "object",
        "required": [
          "url"
        ],
        "properties": {
          "url": {
            "type": "string",
            "const": "https://replynodes.com/auth.md",
            "format": "uri"
          }
        }
      },
      "ResearchWorkflowTarget": {
        "type": "object",
        "required": [
          "domain"
        ],
        "properties": {
          "logo": {
            "type": "object",
            "additionalProperties": true
          },
          "brand": {
            "type": "object",
            "description": "Real brand-kit retrieve output; omitted when that primitive fails.",
            "additionalProperties": true
          },
          "domain": {
            "type": "string"
          },
          "errors": {
            "type": "object",
            "description": "Per-primitive typed error codes; a failed primitive's output is omitted rather than fabricated.",
            "additionalProperties": {
              "type": "string"
            }
          },
          "markdown": {
            "type": "object",
            "properties": {
              "content": {
                "type": "string"
              }
            }
          },
          "styleguide": {
            "type": "object",
            "additionalProperties": true
          }
        }
      },
      "CCIIntelligenceEnvelope": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "$ref": "#/$defs/CCIIntelligence"
          },
          "meta": {
            "$ref": "#/$defs/CCIRequestMeta"
          }
        },
        "additionalProperties": false
      },
      "ResearchWorkflowResponse": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "$ref": "#/$defs/ResearchWorkflowData"
          },
          "meta": {
            "type": "object",
            "additionalProperties": true
          }
        }
      }
    },
    "required": [
      "query"
    ],
    "properties": {
      "limit": {
        "type": "integer",
        "maximum": 10,
        "minimum": 1,
        "description": "Maximum number of matches to return (default and maximum 10)."
      },
      "query": {
        "type": "string",
        "description": "Brand name or domain to search for."
      }
    },
    "additionalProperties": false
  },
  "annotations": {
    "readOnlyHint": true
  }
}
get_company_events 1 change
{
  "name": "get_company_events",
  "description": "List Company Changes events for an Entity\n\nLists Events for a domain when the organization has a current or retained Watch topic subscription; unentitled Entities return 404.\n\nHTTP: GET /v1/entities/{domain}/events",
  "inputSchema": {
    "type": "object",
    "$defs": {
      "Error": {
        "type": "object",
        "properties": {
          "error": {
            "type": "object",
            "properties": {
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "request_id": {
                "type": "string"
              }
            }
          }
        }
      },
      "Watch": {
        "type": "object",
        "required": [
          "id",
          "target",
          "entity",
          "topics",
          "unavailable_topics",
          "requested_frequency",
          "effective_frequency",
          "status",
          "started_at",
          "status_changed_at",
          "archived_at",
          "coverage",
          "topic_intervals",
          "created_at",
          "updated_at"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "entity": {
            "$ref": "#/$defs/WatchEntity"
          },
          "status": {
            "$ref": "#/$defs/WatchStatus"
          },
          "target": {
            "type": "string"
          },
          "topics": {
            "type": "array",
            "items": {
              "$ref": "#/$defs/WatchTopic"
            }
          },
          "webhook": {
            "$ref": "#/$defs/WatchWebhookConfig"
          },
          "coverage": {
            "$ref": "#/$defs/WatchCoverage"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "started_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          },
          "archived_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ]
          },
          "topic_intervals": {
            "type": "array",
            "items": {
              "$ref": "#/$defs/WatchTopicInterval"
            }
          },
          "status_changed_at": {
            "type": "string",
            "format": "date-time"
          },
          "unavailable_topics": {
            "type": "array",
            "items": {
              "$ref": "#/$defs/WatchTopic"
            },
            "description": "Currently active subscriptions whose event families are unavailable; their topic intervals and history remain retained."
          },
          "effective_frequency": {
            "anyOf": [
              {
                "$ref": "#/$defs/WatchFrequency"
              },
              {
                "type": "null"
              }
            ]
          },
          "requested_frequency": {
            "$ref": "#/$defs/WatchFrequency"
          }
        },
        "additionalProperties": false
      },
      "Monitor": {
        "type": "object",
        "required": [
          "id",
          "url",
          "detector",
          "frequency",
          "paused"
        ],
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "url": {
            "type": "string",
            "format": "uri"
          },
          "paused": {
            "type": "boolean"
          },
          "webhook": {
            "allOf": [
              {
                "$ref": "#/$defs/MonitorWebhook"
              }
            ],
            "description": "Secret is write-only and never returned"
          },
          "detector": {
            "enum": [
              "price",
              "saas_pricing",
              "product_change"
            ],
            "type": "string"
          },
          "frequency": {
            "enum": [
              "15m",
              "1h",
              "6h",
              "12h",
              "24h"
            ],
            "type": "string"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "sync_state": {
            "enum": [
              "none",
              "pending",
              "running",
              "retryable",
              "failed",
              "synced"
            ],
            "type": "string",
            "description": "External changedetection watch reconciliation state. PATCH persists frequency/paused immediately (the database is the scheduling authority); the worker applies the change to the engine's watch asynchronously and exposes convergence here. \"none\" means no external watch exists yet; \"pending\"/\"retryable\" are awaiting or retrying the application; \"running\" is being applied; \"failed\" exhausted the bounded retry budget and needs a new PATCH to re-arm; \"synced\" means the engine watch matches the record."
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          },
          "next_run_at": {
            "type": "string",
            "format": "date-time",
            "description": "Canonical next scheduled run in UTC. Reported only while the monitor is schedulable: a monitor whose private watch is still being initialized cannot be claimed (ClaimDue requires initialization_state='ready'), so the field is omitted until initialization completes instead of implying an imminent run. Paused-but-initialized monitors still report their stored schedule; it is suspended until resume."
          },
          "sync_error_reason": {
            "type": "string",
            "description": "Most recent changedetection engine watch reconciliation failure reason"
          },
          "baseline_completed": {
            "type": "boolean"
          },
          "sync_next_retry_at": {
            "type": "string",
            "format": "date-time",
            "description": "Next worker retry time for retryable engine watch reconciliation"
          },
          "initialization_state": {
            "enum": [
              "pending",
              "initializing",
              "retryable",
              "ready",
              "failed"
            ],
            "type": "string",
            "description": "Asynchronous changedetection watch initialization state"
          },
          "initialization_error_reason": {
            "type": "string",
            "description": "Most recent changedetection initialization failure reason"
          },
          "initialization_next_retry_at": {
            "type": "string",
            "format": "date-time",
            "description": "Next worker retry time for retryable initialization"
          }
        }
      },
      "CCIEvent": {
        "type": "object",
        "required": [
          "id",
          "schema_version",
          "type",
          "topic",
          "subject",
          "entity",
          "summary",
          "status",
          "detected_at",
          "first_observed_at",
          "previous_observed_at",
          "current_observed_at",
          "data",
          "source",
          "before",
          "after",
          "detector",
          "confidence",
          "lineage",
          "evidence",
          "created_at"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "data": {
            "$ref": "#/$defs/CCIEventData"
          },
          "type": {
            "enum": [
              "pricing.price_changed",
              "pricing.plan_added",
              "pricing.plan_removed",
              "product.launched",
              "feature.launched",
              "integration.added",
              "integration.removed",
              "customer.reference_added",
              "case_study.added",
              "positioning.changed"
            ],
            "type": "string"
          },
          "after": {
            "$ref": "#/$defs/CCIStateRef"
          },
          "topic": {
            "$ref": "#/$defs/WatchTopic"
          },
          "before": {
            "$ref": "#/$defs/CCIStateRef"
          },
          "entity": {
            "$ref": "#/$defs/CCIEventEntity"
          },
          "source": {
            "$ref": "#/$defs/CCIEventSource"
          },
          "status": {
            "enum": [
              "active",
              "superseded",
              "retracted"
            ],
            "type": "string"
          },
          "lineage": {
            "$ref": "#/$defs/CCIEventLineage"
          },
          "subject": {
            "type": "string"
          },
          "summary": {
            "type": "string"
          },
          "detector": {
            "$ref": "#/$defs/CCIEventDetector"
          },
          "evidence": {
            "type": "array",
            "items": {
              "$ref": "#/$defs/CCIEvidence"
            }
          },
          "confidence": {
            "$ref": "#/$defs/CCIConfidence"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "detected_at": {
            "type": "string",
            "format": "date-time"
          },
          "schema_version": {
            "type": "integer"
          },
          "first_observed_at": {
            "type": "string",
            "format": "date-time"
          },
          "current_observed_at": {
            "type": "string",
            "format": "date-time"
          },
          "previous_observed_at": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "CCIMoney": {
        "type": "object",
        "required": [
          "amount",
          "currency",
          "period"
        ],
        "properties": {
          "amount": {
            "type": "number"
          },
          "period": {
            "type": "string"
          },
          "currency": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "WatchPage": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/$defs/Watch"
            }
          },
          "meta": {
            "$ref": "#/$defs/CCIPageMeta"
          }
        },
        "additionalProperties": false
      },
      "MonitorRun": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "status": {
            "type": "string"
          },
          "changed": {
            "type": "boolean"
          },
          "credits": {
            "type": "integer"
          },
          "baseline": {
            "type": "boolean"
          },
          "timestamp": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "Pagination": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer"
          },
          "limit": {
            "type": "integer"
          },
          "has_more": {
            "type": "boolean"
          },
          "next_cursor": {
            "type": "string"
          }
        },
        "additionalProperties": true
      },
      "WatchTopic": {
        "enum": [
          "pricing",
          "product",
          "integrations",
          "customers",
          "positioning"
        ],
        "type": "string"
      },
      "CCIEvidence": {
        "type": "object",
        "required": [
          "id",
          "page_id",
          "source_url",
          "before_observation_id",
          "after_observation_id",
          "before_snapshot_id",
          "after_snapshot_id",
          "before_content_hash",
          "after_content_hash",
          "before_observed_at",
          "after_observed_at",
          "before_excerpt",
          "after_excerpt",
          "extractor",
          "detector_version",
          "provider",
          "provider_version",
          "provider_commit",
          "method",
          "model",
          "model_config_hash",
          "fields",
          "created_at"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "model": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "fields": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "method": {
            "type": "string"
          },
          "page_id": {
            "type": "string"
          },
          "provider": {
            "type": "string"
          },
          "extractor": {
            "type": "string"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "source_url": {
            "type": "string"
          },
          "after_excerpt": {
            "type": "string"
          },
          "before_excerpt": {
            "type": "string"
          },
          "provider_commit": {
            "type": "string"
          },
          "detector_version": {
            "type": "string"
          },
          "provider_version": {
            "type": "string"
          },
          "after_observed_at": {
            "type": "string",
            "format": "date-time"
          },
          "after_snapshot_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "model_config_hash": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "after_content_hash": {
            "type": "string"
          },
          "before_observed_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ]
          },
          "before_snapshot_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "before_content_hash": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "after_observation_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "before_observation_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false
      },
      "CCIPageMeta": {
        "type": "object",
        "required": [
          "request_id",
          "next_cursor",
          "has_more"
        ],
        "properties": {
          "has_more": {
            "type": "boolean"
          },
          "request_id": {
            "type": "string"
          },
          "next_cursor": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "CCIStateRef": {
        "type": "object",
        "required": [
          "state_id",
          "state_version",
          "snapshot_ids",
          "observation_ids",
          "content_hashes"
        ],
        "properties": {
          "state_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "snapshot_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "state_version": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ]
          },
          "content_hashes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "observation_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "additionalProperties": false
      },
      "ErrorDetail": {
        "type": "object",
        "required": [
          "code",
          "message",
          "request_id"
        ],
        "properties": {
          "code": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "request_id": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "MonitorPage": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/$defs/Monitor"
            }
          },
          "meta": {
            "$ref": "#/$defs/MonitorPageMeta"
          }
        }
      },
      "WatchEntity": {
        "type": "object",
        "required": [
          "id",
          "domain",
          "display_name",
          "observed_since",
          "last_observed_at"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "domain": {
            "type": "string"
          },
          "display_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "observed_since": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ]
          },
          "last_observed_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false
      },
      "WatchStatus": {
        "enum": [
          "active",
          "paused",
          "archived"
        ],
        "type": "string"
      },
      "CCIEventData": {
        "type": "object",
        "required": [],
        "properties": {
          "name": {
            "type": "string"
          },
          "plan": {
            "type": "string"
          },
          "price": {
            "$ref": "#/$defs/CCIMoney"
          },
          "action": {
            "type": "string"
          },
          "product": {
            "type": "string"
          },
          "surface": {
            "type": "string"
          },
          "category": {
            "type": "string"
          },
          "new_price": {
            "$ref": "#/$defs/CCIMoney"
          },
          "old_price": {
            "$ref": "#/$defs/CCIMoney"
          },
          "change_kind": {
            "type": "string"
          },
          "new_category": {
            "type": "string"
          },
          "new_headline": {
            "type": "string"
          },
          "old_category": {
            "type": "string"
          },
          "old_headline": {
            "type": "string"
          },
          "customer_name": {
            "type": "string"
          },
          "billing_period": {
            "type": "string"
          },
          "case_study_url": {
            "type": "string"
          },
          "customer_domain": {
            "type": "string"
          },
          "integration_name": {
            "type": "string"
          },
          "integration_domain": {
            "type": "string"
          },
          "target_market_delta": {
            "type": "string"
          },
          "enterprise_messaging_added": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "CCIEventPage": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/$defs/CCIEvent"
            }
          },
          "meta": {
            "$ref": "#/$defs/CCIPageMeta"
          }
        },
        "additionalProperties": false
      },
      "RegistryData": {
        "type": "object",
        "required": [
          "schema_version",
          "service",
          "version",
          "documentVersion",
          "documentHash",
          "document",
          "providers",
          "callable_routes",
          "openapi"
        ],
        "properties": {
          "openapi": {
            "$ref": "#/$defs/RegistryOpenAPI"
          },
          "service": {
            "type": "string"
          },
          "version": {
            "type": "string"
          },
          "document": {
            "type": "object",
            "description": "The embedded OpenAPI document served unchanged."
          },
          "providers": {
            "type": "array",
            "items": {
              "$ref": "#/$defs/RegistryProvider"
            }
          },
          "documentHash": {
            "type": "string"
          },
          "schema_version": {
            "enum": [
              "v1"
            ],
            "type": "string"
          },
          "callable_routes": {
            "type": "array",
            "items": {
              "$ref": "#/$defs/RegistryRoute"
            }
          },
          "documentVersion": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "ResponseMeta": {
        "type": "object",
        "required": [
          "request_id"
        ],
        "properties": {
          "stale": {
            "type": "boolean"
          },
          "request_id": {
            "type": "string"
          },
          "next_cursor": {
            "type": "string"
          },
          "availability": {
            "type": "string"
          },
          "generated_at": {
            "type": "string",
            "format": "date-time"
          },
          "missing_fields": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "contract_version": {
            "type": "string"
          }
        },
        "additionalProperties": true
      },
      "WatchWebhook": {
        "type": "object",
        "required": [
          "url",
          "secret"
        ],
        "properties": {
          "url": {
            "type": "string",
            "format": "uri"
          },
          "secret": {
            "type": "string",
            "writeOnly": true
          }
        },
        "additionalProperties": false
      },
      "BrandLogoData": {
        "type": "object",
        "required": [
          "url"
        ],
        "properties": {
          "url": {
            "type": "string",
            "format": "uri",
            "description": "The snapshot target URL the logos were extracted from."
          },
          "brand": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "description": "Public site/brand name detected on the page, when available."
              },
              "logos": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "url": {
                      "type": "string",
                      "format": "uri"
                    },
                    "kind": {
                      "type": "string",
                      "description": "Asset slot and format (e.g. logo.svg, favicon.ico)."
                    }
                  }
                },
                "description": "Candidate logo variants detected on the page."
              },
              "logo_url": {
                "type": "string",
                "format": "uri",
                "description": "Primary brand logo URL, when available."
              },
              "og_image": {
                "type": "string",
                "format": "uri"
              },
              "favicon_url": {
                "type": "string",
                "format": "uri"
              }
            }
          }
        },
        "additionalProperties": false
      },
      "CCIConfidence": {
        "type": "object",
        "required": [
          "score",
          "calibrated",
          "method"
        ],
        "properties": {
          "model": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "score": {
            "type": "number"
          },
          "method": {
            "type": "string"
          },
          "calibrated": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "CCITopicState": {
        "type": "object",
        "required": [
          "id",
          "topic",
          "version",
          "baseline",
          "state",
          "observed_from",
          "observed_to",
          "valid_from",
          "valid_to",
          "extractor",
          "method",
          "model",
          "provider",
          "provider_version",
          "provider_commit",
          "derived_from_page_ids",
          "derived_from_snapshot_ids",
          "derived_from_observation_ids",
          "content_hashes",
          "created_at"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "model": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "state": {
            "type": "object",
            "additionalProperties": true
          },
          "topic": {
            "$ref": "#/$defs/WatchTopic"
          },
          "method": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "version": {
            "type": "integer"
          },
          "baseline": {
            "type": "boolean"
          },
          "provider": {
            "type": "string"
          },
          "valid_to": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ]
          },
          "extractor": {
            "type": "string"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "valid_from": {
            "type": "string",
            "format": "date-time"
          },
          "observed_to": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ]
          },
          "observed_from": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ]
          },
          "content_hashes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "provider_commit": {
            "type": "string"
          },
          "provider_version": {
            "type": "string"
          },
          "derived_from_page_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "derived_from_snapshot_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "derived_from_observation_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "additionalProperties": false
      },
      "ErrorResponse": {
        "type": "object",
        "required": [
          "error"
        ],
        "properties": {
          "error": {
            "$ref": "#/$defs/ErrorDetail"
          }
        },
        "additionalProperties": false
      },
      "RegistryRoute": {
        "type": "object",
        "required": [
          "provider",
          "route",
          "method",
          "status",
          "callable",
          "auth_required",
          "read_only",
          "billing"
        ],
        "properties": {
          "tag": {
            "type": "string"
          },
          "route": {
            "type": "string"
          },
          "method": {
            "enum": [
              "GET"
            ],
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "billing": {
            "$ref": "#/$defs/RegistryBilling"
          },
          "callable": {
            "type": "boolean"
          },
          "provider": {
            "type": "string"
          },
          "read_only": {
            "type": "boolean"
          },
          "schema_ref": {
            "type": "string"
          },
          "operation_id": {
            "type": "string"
          },
          "auth_required": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "WatchCoverage": {
        "type": "object",
        "required": [
          "state",
          "last_run_at"
        ],
        "properties": {
          "state": {
            "enum": [
              "initializing",
              "healthy",
              "degraded",
              "failed"
            ],
            "type": "string"
          },
          "last_run_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false
      },
      "WatchEnvelope": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "$ref": "#/$defs/Watch"
          },
          "meta": {
            "$ref": "#/$defs/CCIRequestMeta"
          }
        },
        "additionalProperties": false
      },
      "BrandFontsData": {
        "type": "object",
        "required": [
          "domain",
          "url",
          "count"
        ],
        "properties": {
          "url": {
            "type": "string",
            "format": "uri"
          },
          "count": {
            "type": "integer",
            "minimum": 0
          },
          "fonts": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true
            }
          },
          "domain": {
            "type": "string"
          },
          "words_count": {
            "type": "integer",
            "minimum": 0,
            "description": "Word count reported by the rendered page metadata, when available."
          }
        },
        "additionalProperties": false
      },
      "CCIEventEntity": {
        "type": "object",
        "required": [
          "id",
          "domain"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "domain": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "CCIEventSource": {
        "type": "object",
        "required": [
          "page_ids",
          "urls"
        ],
        "properties": {
          "urls": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "page_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "additionalProperties": false
      },
      "CCIRequestMeta": {
        "type": "object",
        "required": [
          "request_id"
        ],
        "properties": {
          "request_id": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "MonitorWebhook": {
        "type": "object",
        "required": [
          "url"
        ],
        "properties": {
          "url": {
            "type": "string",
            "format": "uri"
          },
          "secret": {
            "type": "string",
            "writeOnly": true,
            "description": "HMAC secret used to sign deliveries. Write-only: it is never returned, logged, or rendered into the payload."
          }
        },
        "description": "Signed webhook notification endpoint (issue #485). The URL must be a public HTTPS target; localhost/private/link-local/metadata/CGNAT destinations and non-HTTPS schemes are rejected unless the service is explicitly configured otherwise for a non-production harness. The secret is AES-256-GCM encrypted at rest. When a monitor change is detected the service POSTs the MonitorChangeEvent payload to this URL with headers X-ReplyNodes-Event-Id (<event_id>), X-ReplyNodes-Timestamp (Unix seconds of this attempt) and X-ReplyNodes-Signature (sha256=<hex> HMAC-SHA256 over timestamp + '.' + raw request body). Receivers should verify against the exact raw body bytes and enforce a 5-minute timestamp tolerance; retries re-sign with a fresh timestamp and the same event_id. Destination identity is URL-based and rotation is replace-on-update with no overlap: a PATCH changing only webhook.secret keeps the same destination identity and in-flight deliveries are signed with the current secret, while a PATCH changing the URL finalizes rows for the old URL as destination_replaced. When HTTPS is required, every redirect is revalidated and a redirect to a cleartext http target is rejected; the secret is write-only, AES-256-GCM encrypted at rest, and never returned or logged."
      },
      "RedditResponse": {
        "type": "object",
        "additionalProperties": true
      },
      "WatchFrequency": {
        "enum": [
          "24h",
          "6h"
        ],
        "type": "string"
      },
      "CCIEventLineage": {
        "type": "object",
        "required": [
          "supersedes_event_id",
          "retracted_event_id",
          "lineage_event_id",
          "correction_reason"
        ],
        "properties": {
          "lineage_event_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "correction_reason": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "retracted_event_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "supersedes_event_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false
      },
      "CCIIntelligence": {
        "type": "object",
        "required": [
          "entity",
          "coverage",
          "pages",
          "topics",
          "recent_events"
        ],
        "properties": {
          "pages": {
            "type": "object",
            "required": [
              "monitored"
            ],
            "properties": {
              "monitored": {
                "type": "integer",
                "minimum": 0
              }
            },
            "additionalProperties": false
          },
          "entity": {
            "$ref": "#/$defs/WatchEntity"
          },
          "topics": {
            "type": "object",
            "required": [],
            "properties": {
              "pricing": {
                "$ref": "#/$defs/CCITopicState"
              },
              "product": {
                "$ref": "#/$defs/CCITopicState"
              },
              "customers": {
                "$ref": "#/$defs/CCITopicState"
              },
              "positioning": {
                "$ref": "#/$defs/CCITopicState"
              },
              "integrations": {
                "$ref": "#/$defs/CCITopicState"
              }
            },
            "additionalProperties": false
          },
          "coverage": {
            "$ref": "#/$defs/WatchCoverage"
          },
          "recent_events": {
            "type": "array",
            "items": {
              "$ref": "#/$defs/CCIEvent"
            }
          }
        },
        "additionalProperties": false
      },
      "MonitorEnvelope": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "$ref": "#/$defs/Monitor"
          },
          "meta": {
            "type": "object",
            "required": [
              "request_id"
            ],
            "properties": {
              "request_id": {
                "type": "string"
              },
              "initialization": {
                "type": "string",
                "description": "Present on the asynchronous 202 create response while the private watch is being initialized: \"pending\". The monitor is not schedulable until initialization completes, so next_run_at is omitted from the data block until then."
              }
            }
          }
        }
      },
      "MonitorPageMeta": {
        "type": "object",
        "required": [
          "request_id",
          "has_more"
        ],
        "properties": {
          "has_more": {
            "type": "boolean"
          },
          "request_id": {
            "type": "string"
          },
          "next_cursor": {
            "type": "string"
          }
        }
      },
      "RegistryBilling": {
        "type": "object",
        "required": [
          "metered"
        ],
        "properties": {
          "metered": {
            "type": "boolean"
          },
          "credit_cost": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          }
        },
        "additionalProperties": false
      },
      "RegistryOpenAPI": {
        "type": "object",
        "required": [
          "version",
          "document_hash",
          "document"
        ],
        "properties": {
          "version": {
            "type": "string"
          },
          "document": {
            "type": "object",
            "description": "The embedded OpenAPI document served unchanged."
          },
          "document_hash": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "SuccessResponse": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {},
          "meta": {
            "$ref": "#/$defs/ResponseMeta"
          }
        },
        "additionalProperties": false
      },
      "CCIEventDetector": {
        "type": "object",
        "required": [
          "version",
          "extractor_version",
          "method",
          "model",
          "model_config_hash",
          "provider",
          "provider_version",
          "provider_commit"
        ],
        "properties": {
          "model": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "method": {
            "enum": [
              "deterministic",
              "semantic"
            ],
            "type": "string"
          },
          "version": {
            "type": "string"
          },
          "provider": {
            "type": "string"
          },
          "provider_commit": {
            "type": "string"
          },
          "provider_version": {
            "type": "string"
          },
          "extractor_version": {
            "type": "string"
          },
          "model_config_hash": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false
      },
      "CCIEventEnvelope": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "$ref": "#/$defs/CCIEvent"
          },
          "meta": {
            "$ref": "#/$defs/CCIRequestMeta"
          }
        },
        "additionalProperties": false
      },
      "RegistryProvider": {
        "type": "object",
        "required": [
          "slug",
          "name",
          "description",
          "status",
          "routes"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "routes": {
            "type": "array",
            "items": {
              "$ref": "#/$defs/RegistryRoute"
            }
          },
          "status": {
            "type": "string"
          },
          "description": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "RegistryResponse": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "$ref": "#/$defs/RegistryData"
          },
          "meta": {
            "type": "object",
            "required": [
              "request_id"
            ],
            "properties": {
              "request_id": {
                "type": "string"
              }
            },
            "additionalProperties": true
          }
        },
        "additionalProperties": false
      },
      "BrandLogoResponse": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "$ref": "#/$defs/BrandLogoData"
          },
          "meta": {
            "$ref": "#/$defs/ResponseMeta"
          }
        },
        "additionalProperties": false
      },
      "MarkdownHostError": {
        "type": "object",
        "required": [
          "error"
        ],
        "properties": {
          "error": {
            "type": "object",
            "required": [
              "code",
              "message",
              "request_id",
              "reason",
              "retryable"
            ],
            "properties": {
              "code": {
                "enum": [
                  "invalid_request",
                  "not_found",
                  "method_not_allowed",
                  "anonymous_limit_reached",
                  "source_excluded",
                  "upstream_blocked",
                  "upstream_unavailable",
                  "degraded",
                  "gateway_timeout",
                  "internal_error"
                ],
                "type": "string"
              },
              "detail": {
                "type": "string",
                "description": "Safe caller guidance; present only for source_excluded."
              },
              "reason": {
                "enum": [
                  "empty_target",
                  "bad_scheme",
                  "malformed_url",
                  "target_too_long",
                  "target_not_allowed",
                  "target_rejected",
                  "bad_option",
                  "route_disabled",
                  "target_not_found",
                  "method_not_allowed",
                  "daily_limit",
                  "publisher_excluded",
                  "access_check",
                  "target_unreachable",
                  "empty_content",
                  "content_too_large",
                  "provider_unavailable",
                  "service_degraded",
                  "target_timeout",
                  "client_closed",
                  "internal_error"
                ],
                "type": "string",
                "description": "Stable machine-readable failure reason; a closed set (values may be added, never renamed or removed)."
              },
              "status": {
                "type": "integer",
                "description": "Stable numeric detail code; present only for source_excluded (45101)."
              },
              "message": {
                "type": "string"
              },
              "retryable": {
                "type": "boolean",
                "description": "True when sending the identical request again later can succeed without changing anything; it says nothing about how soon."
              },
              "request_id": {
                "type": "string"
              },
              "continuation": {
                "$ref": "#/$defs/AnonymousContinuation"
              }
            }
          }
        }
      },
      "BrandFontsResponse": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "$ref": "#/$defs/BrandFontsData"
          },
          "meta": {
            "$ref": "#/$defs/ResponseMeta"
          }
        },
        "additionalProperties": false
      },
      "CCIHistoryEnvelope": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "type": "object",
            "required": [
              "topic",
              "current",
              "history"
            ],
            "properties": {
              "topic": {
                "$ref": "#/$defs/WatchTopic"
              },
              "current": {
                "anyOf": [
                  {
                    "$ref": "#/$defs/CCITopicState"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "history": {
                "type": "array",
                "items": {
                  "$ref": "#/$defs/CCITopicState"
                }
              }
            },
            "additionalProperties": false
          },
          "meta": {
            "$ref": "#/$defs/CCIPageMeta"
          }
        },
        "additionalProperties": false
      },
      "MonitorChangeEvent": {
        "type": "object",
        "required": [
          "event_version",
          "event_id",
          "event_type",
          "monitor_id",
          "run_id",
          "detector",
          "url",
          "change_type",
          "importance",
          "summary",
          "detected_at"
        ],
        "properties": {
          "url": {
            "type": "string",
            "format": "uri",
            "description": "Monitored public URL."
          },
          "run_id": {
            "type": "string",
            "format": "uuid"
          },
          "summary": {
            "type": "string",
            "description": "Bounded, page-content-free human summary."
          },
          "detector": {
            "enum": [
              "price",
              "saas_pricing",
              "product_change"
            ],
            "type": "string"
          },
          "event_id": {
            "type": "string",
            "format": "uuid",
            "description": "Stable canonical event identity (X-ReplyNodes-Event-Id); identical for every delivery attempt."
          },
          "evidence": {
            "type": "object",
            "properties": {
              "bytes": {
                "type": "integer",
                "format": "int64"
              },
              "commit": {
                "type": "string"
              },
              "repository": {
                "type": "string"
              },
              "manifest_path": {
                "type": "string"
              },
              "manifest_sha256": {
                "type": "string"
              }
            },
            "description": "Durable evidence/diff reference for this run (repository identifiers and content hashes, never page content)."
          },
          "event_type": {
            "enum": [
              "monitor.change.detected"
            ],
            "type": "string"
          },
          "importance": {
            "enum": [
              "low",
              "medium",
              "high"
            ],
            "type": "string"
          },
          "monitor_id": {
            "type": "string",
            "format": "uuid"
          },
          "change_type": {
            "type": "string",
            "description": "Bounded detector change kind resolved by the detector/Jev judgement."
          },
          "detected_at": {
            "type": "string",
            "format": "date-time"
          },
          "event_version": {
            "type": "integer",
            "description": "Canonical envelope version. Receivers must branch on it."
          },
          "jev_confidence": {
            "type": "number",
            "description": "Raw Jev provider probability for a valid semantic judgement; present only when applicable and not calibrated confidence."
          }
        },
        "description": "Versioned canonical change event delivered to a configured signed webhook. The payload is exact raw bytes persisted at event creation; Delivery re-signs those bytes on every attempt. organization_id and all secrets are internal and never appear in this document."
      },
      "MonitorHistoryPage": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/$defs/MonitorRun"
            }
          },
          "meta": {
            "$ref": "#/$defs/MonitorPageMeta"
          }
        }
      },
      "WatchCreateRequest": {
        "type": "object",
        "required": [
          "target"
        ],
        "properties": {
          "target": {
            "type": "string"
          },
          "topics": {
            "type": "array",
            "items": {
              "$ref": "#/$defs/WatchTopic"
            }
          },
          "webhook": {
            "anyOf": [
              {
                "$ref": "#/$defs/WatchWebhook"
              },
              {
                "type": "null"
              }
            ]
          },
          "requested_frequency": {
            "$ref": "#/$defs/WatchFrequency"
          }
        },
        "additionalProperties": false
      },
      "WatchTopicInterval": {
        "type": "object",
        "required": [
          "topic",
          "enabled_at",
          "disabled_at"
        ],
        "properties": {
          "topic": {
            "$ref": "#/$defs/WatchTopic"
          },
          "enabled_at": {
            "type": "string",
            "format": "date-time"
          },
          "disabled_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false
      },
      "WatchUpdateRequest": {
        "type": "object",
        "required": [],
        "properties": {
          "status": {
            "$ref": "#/$defs/WatchStatus"
          },
          "topics": {
            "type": "array",
            "items": {
              "$ref": "#/$defs/WatchTopic"
            }
          },
          "webhook": {
            "anyOf": [
              {
                "$ref": "#/$defs/WatchWebhook"
              },
              {
                "type": "null"
              }
            ]
          },
          "requested_frequency": {
            "$ref": "#/$defs/WatchFrequency"
          }
        },
        "additionalProperties": false
      },
      "WatchWebhookConfig": {
        "type": "object",
        "required": [
          "url"
        ],
        "properties": {
          "url": {
            "type": "string",
            "format": "uri"
          }
        },
        "additionalProperties": false
      },
      "AnonymousQuotaError": {
        "type": "object",
        "required": [
          "error"
        ],
        "properties": {
          "error": {
            "type": "object",
            "required": [
              "code",
              "message",
              "request_id",
              "continuation"
            ],
            "properties": {
              "code": {
                "const": "anonymous_limit_reached"
              },
              "message": {
                "type": "string",
                "example": "The anonymous daily limit has been reached. Get a free API key through the browser-approved claim flow described at https://replynodes.com/auth.md: 500 free credits are granted when the first long-lived API key is created and delivered."
              },
              "request_id": {
                "type": "string"
              },
              "continuation": {
                "$ref": "#/$defs/AnonymousContinuation"
              }
            }
          }
        }
      },
      "CreditTopupRequired": {
        "type": "object",
        "required": [
          "code",
          "balance_micro",
          "price_micro",
          "topup_url"
        ],
        "properties": {
          "code": {
            "enum": [
              "topup_required"
            ],
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "upgrade": {
            "type": "object",
            "required": [
              "url",
              "plans",
              "pricing"
            ],
            "properties": {
              "url": {
                "type": "string",
                "format": "uri"
              },
              "plans": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "id",
                    "url"
                  ],
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "url": {
                      "type": "string",
                      "format": "uri"
                    }
                  },
                  "additionalProperties": false
                }
              },
              "pricing": {
                "type": "string",
                "format": "uri"
              }
            },
            "additionalProperties": false
          },
          "topup_url": {
            "type": "string",
            "format": "uri",
            "description": "Owner billing page for managing prepaid credits."
          },
          "price_micro": {
            "type": "integer"
          },
          "balance_micro": {
            "type": "integer"
          }
        },
        "additionalProperties": false
      },
      "MarkdownJsonResponse": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "type": "object",
            "required": [
              "url",
              "title",
              "markdown",
              "metadata",
              "links",
              "images"
            ],
            "properties": {
              "url": {
                "type": "string"
              },
              "links": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "title": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "images": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "markdown": {
                "type": "string"
              },
              "metadata": {
                "type": "object",
                "properties": {
                  "url": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "image": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "title": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "author": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "favicon": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "language": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "site_name": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "word_count": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "description": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "published_date": {
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                }
              }
            }
          },
          "meta": {
            "type": "object",
            "required": [
              "request_id",
              "generated_at"
            ],
            "properties": {
              "request_id": {
                "type": "string"
              },
              "generated_at": {
                "type": "string",
                "format": "date-time",
                "description": "Time the page was fetched (the cached time on a cache hit)."
              }
            }
          }
        }
      },
      "MonitorCreateRequest": {
        "type": "object",
        "required": [
          "url",
          "detector",
          "frequency"
        ],
        "properties": {
          "url": {
            "type": "string",
            "format": "uri"
          },
          "webhook": {
            "$ref": "#/$defs/MonitorWebhook"
          },
          "detector": {
            "enum": [
              "price",
              "saas_pricing",
              "product_change"
            ],
            "type": "string"
          },
          "frequency": {
            "enum": [
              "15m",
              "1h",
              "6h",
              "12h",
              "24h"
            ],
            "type": "string"
          }
        }
      },
      "MonitorUpdateRequest": {
        "type": "object",
        "properties": {
          "paused": {
            "type": "boolean"
          },
          "webhook": {
            "anyOf": [
              {
                "$ref": "#/$defs/MonitorWebhook"
              },
              {
                "type": "null"
              }
            ]
          },
          "frequency": {
            "enum": [
              "15m",
              "1h",
              "6h",
              "12h",
              "24h"
            ],
            "type": "string"
          }
        },
        "description": "Update frequency, pause state, or webhook configuration. The database update is authoritative and committed immediately; the changedetection engine watch is reconciled asynchronously by the monitor worker and the returned monitor reports convergence through sync_state/sync_next_retry_at/sync_error_reason instead of claiming engine success. Reconciliation failures retry with a bounded backoff budget and surface as sync_state=\"failed\" (a new PATCH re-arms it). An active monitor's schedule reflects the new preset promptly: changing frequency recomputes next_run_at from the change time using the new preset, and resuming a paused monitor schedules the next run one interval after the resume (never an immediate run), so the engine and the canonical schedule cannot drift onto different cadences. Immutable fields (url, detector) are rejected."
      },
      "ResearchWorkflowData": {
        "type": "object",
        "required": [
          "workflow",
          "domain",
          "targets"
        ],
        "properties": {
          "domain": {
            "type": "string"
          },
          "targets": {
            "type": "array",
            "items": {
              "$ref": "#/$defs/ResearchWorkflowTarget"
            }
          },
          "workflow": {
            "enum": [
              "company-research",
              "competitor-research"
            ],
            "type": "string"
          }
        }
      },
      "AnonymousContinuation": {
        "type": "object",
        "required": [
          "url"
        ],
        "properties": {
          "url": {
            "type": "string",
            "const": "https://replynodes.com/auth.md",
            "format": "uri"
          }
        }
      },
      "ResearchWorkflowTarget": {
        "type": "object",
        "required": [
          "domain"
        ],
        "properties": {
          "logo": {
            "type": "object",
            "additionalProperties": true
          },
          "brand": {
            "type": "object",
            "description": "Real brand-kit retrieve output; omitted when that primitive fails.",
            "additionalProperties": true
          },
          "domain": {
            "type": "string"
          },
          "errors": {
            "type": "object",
            "description": "Per-primitive typed error codes; a failed primitive's output is omitted rather than fabricated.",
            "additionalProperties": {
              "type": "string"
            }
          },
          "markdown": {
            "type": "object",
            "properties": {
              "content": {
                "type": "string"
              }
            }
          },
          "styleguide": {
            "type": "object",
            "additionalProperties": true
          }
        }
      },
      "CCIIntelligenceEnvelope": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "$ref": "#/$defs/CCIIntelligence"
          },
          "meta": {
            "$ref": "#/$defs/CCIRequestMeta"
          }
        },
        "additionalProperties": false
      },
      "ResearchWorkflowResponse": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "$ref": "#/$defs/ResearchWorkflowData"
          },
          "meta": {
            "type": "object",
            "additionalProperties": true
          }
        }
      }
    },
    "required": [
      "domain"
    ],
    "properties": {
      "type": {
        "type": "string",
        "description": "query parameter"
      },
      "limit": {
        "type": "integer",
        "default": 20,
        "maximum": 100,
        "minimum": 1,
        "description": "query parameter"
      },
      "since": {
        "type": "string",
        "description": "RFC3339 or a relative 24h/30d window"
      },
      "topic": {
        "type": "string",
        "description": "query parameter"
      },
      "until": {
        "type": "string",
        "description": "RFC3339 or a relative 24h/30d window"
      },
      "cursor": {
        "type": "string",
        "description": "query parameter"
      },
      "domain": {
        "type": "string",
        "description": "Canonical registrable domain."
      },
      "watch_id": {
        "type": "string",
        "description": "query parameter"
      }
    },
    "additionalProperties": false
  },
  "annotations": {
    "readOnlyHint": true
  }
}

Get alerted

Get an email or webhook when this server's readiness drops by 10+ points, tool-poisoning text appears, or a tool breaks:

curl -X POST https://glimind.com/v1/subscriptions -H 'content-type: application/json' -d '{"tools":["mcp-registry/com.replynodes/mcp"],"email":"[email protected]"}'

Agents: watch_tool({"toolId": "mcp-registry/com.replynodes/mcp"}) over MCP.

Passed

Largest tool definitions

Static checks of the advertised tools/list (schema, descriptions, annotations, tool-poisoning patterns, names, size) plus observed protocol, uptime, latency and contract changes. Read-only: no tool is ever called. Weights: schema 15, docs 20, safety 15, efficiency 15, compatibility 15, protocol 5, reliability 10, stability 5. Token counts are estimates (~3.6 characters per token).

Operator? Fix these, then re-check live. Embed the readiness badge:

Markdown
[![MCP agent-readiness](https://glimind.com/v1/readiness/badge/mcp-registry%2Fcom.replynodes%2Fmcp.svg)](https://glimind.com/server/mcp-registry%2Fcom.replynodes%2Fmcp?ref=badge)
HTML
<a href="https://glimind.com/server/mcp-registry%2Fcom.replynodes%2Fmcp?ref=badge"><img src="https://glimind.com/v1/readiness/badge/mcp-registry%2Fcom.replynodes%2Fmcp.svg" alt="MCP agent-readiness"></a>
reStructuredText
.. image:: https://glimind.com/v1/readiness/badge/mcp-registry%2Fcom.replynodes%2Fmcp.svg
   :target: https://glimind.com/server/mcp-registry%2Fcom.replynodes%2Fmcp?ref=badge
   :alt: MCP agent-readiness

Tool-definition log

Glimind records every version of this server's tool definitions in a signed, append-only transparency log. Current manifest sha256:a19230e498fdaf23…, first seen 2026-10-18, included at leaf 21705 of 36,971. Version history · verify what your client received.

Tools (71)

Compare: most reliable knowledge servers · most reliable research servers · most reliable data servers · most reliable web servers · most reliable search servers

Know before your agent calls it

Glimind tells agents whether a server is up right now and how to call it, then fails over to a live alternative when it isn't.

Add Glimind — free, no signup:

Add to Cursor Add to VS Code

Claude Code

claude mcp add --transport http glimind https://glimind.com/mcp

Claude Desktop · Windsurf · Cline (mcpServers JSON)

{
  "mcpServers": {
    "glimind": {
      "type": "http",
      "url": "https://glimind.com/mcp"
    }
  }
}

FAQ

Is the Replynodes MCP server down right now?

As of 2026-10-21 03:52 UTC, the Replynodes MCP server is up with a Glimind reliability score of 56/100 (grade D). Over the last 30 days it answered 95.5% of Glimind's liveness checks. It had 98 outages in 90 days, with a median recovery of 7 minutes.

How many tools does Replynodes MCP server provide?

Replynodes MCP server advertises 71 tools, including anonymous_brand, anonymous_company_research, anonymous_competitor_research, anonymous_markdown, app.

How do I install Replynodes MCP server?

Point your MCP client at this streamable-http endpoint: https://mcp.replynodes.com/mcp

Is the Replynodes MCP server safe to connect to an AI agent?

Glimind scanned all 71 tool definitions for tool-poisoning patterns — hidden or invisible characters, instructions that override the model, concealment from the user, requests to read credential or MCP config files, conversation exfiltration and cross-tool shadowing — and found none. This checks what the server tells the model, not what its code does; review the source before granting access to sensitive data.

Operator of Replynodes MCP server?

Status page: 90-day uptime, every outage and how long it lasted.

Claim this listing to get the Verified operator marker, a remediation checklist and owner analytics, or embed the live badge from any of the tool pages above. Maintainers: alerts, deploy attestation and monthly reports.

Status is an automated estimate from Glimind's liveness checks (handshake and tool listing only; no tool is ever called) and may lag or differ from your network. Glimind is not affiliated with this server or its operator. Operator? Request a correction or opt out at https://glimind.com/opt-out.

Feedback
Help us improve