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-22 19:17 UTC · handshake 545ms

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

uptime (30d checks)
96%
checks observed
3,885
outages (90d)
100
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); ~823,975 tokens of tool definitions.
Scores higher than 0% of 15,555 MCP servers Glimind has audited.
Its tool list costs an agent ~823,975 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 ~823,975 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, ~11,825).

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 ~781,375 tokens every session. How to fix →

Tools: webcontext_scrape, anonymous_markdown, googleplay_reviews, get_company_events, web_search and 66 more · saves ~781,375 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 96.0% 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,544 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 524 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\nMCP tool calls require a ReplyNodes API key or OAuth access token. Resolve 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"
      },
      "AppResponse": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "description": "Provider-specific JSON payload. May be an object or a list; single lookups do not imply a one-element array. For example, hackernews_item returns an object with item and comments."
          },
          "meta": {
            "$ref": "#/$defs/GatewayResponseMeta"
          }
        },
        "description": "Shared gateway success envelope for heterogeneous provider reads; data retains each adapter's public JSON shape.",
        "additionalProperties": false
      },
      "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
      },
      "ErrorEnvelope": {
        "type": "object",
        "required": [
          "error"
        ],
        "properties": {
          "error": {
            "type": "object",
            "required": [
              "code",
              "message",
              "request_id"
            ],
            "properties": {
              "code": {
                "type": "string"
              },
              "detail": {
                "type": "string"
              },
              "readme": {
                "type": "string"
              },
              "reason": {
                "type": "string"
              },
              "status": {
                "type": "integer"
              },
              "message": {
                "type": "string"
              },
              "retryable": {
                "type": "boolean"
              },
              "request_id": {
                "type": "string"
              },
              "continuation": {
                "$ref": "#/$defs/AnonymousContinuation"
              }
            },
            "additionalProperties": false
          }
        },
        "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
      },
      "BrandRetrieveAsset": {
        "type": "object",
        "required": [
          "url"
        ],
        "properties": {
          "url": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          }
        }
      },
      "BrandRetrieveColor": {
        "type": "object",
        "required": [
          "hex"
        ],
        "properties": {
          "hex": {
            "type": "string"
          },
          "count": {
            "type": "integer",
            "format": "int64"
          },
          "usage": {
            "type": "string"
          }
        }
      },
      "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
      },
      "WebContextMetadata": {
        "type": "object",
        "required": [
          "title",
          "description",
          "author",
          "image",
          "favicon",
          "language",
          "published_date",
          "site_name",
          "word_count",
          "url"
        ],
        "properties": {
          "url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "image": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "title": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "author": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "favicon": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "language": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "site_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "word_count": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ]
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "published_date": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "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"
              }
            }
          }
        }
      },
      "BrandSearchResponse": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "type": "object",
            "required": [
              "query",
              "count",
              "matches"
            ],
            "properties": {
              "count": {
                "type": "integer"
              },
              "query": {
                "type": "string"
              },
              "matches": {
                "anyOf": [
                  {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "required": [
                        "domain"
                      ],
                      "properties": {
                        "url": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        },
                        "domain": {
                          "type": "string"
                        },
                        "favicon": {
                          "type": "string"
                        },
                        "description": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false
          },
          "meta": {
            "$ref": "#/$defs/GatewayResponseMeta"
          }
        },
        "additionalProperties": false
      },
      "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
      },
      "GatewayResponseMeta": {
        "type": "object",
        "required": [
          "request_id"
        ],
        "properties": {
          "stale": {
            "type": "boolean"
          },
          "detail": {
            "type": "string"
          },
          "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": 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"
          }
        }
      },
      "BrandRetrieveResponse": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "type": "object",
            "required": [
              "domain",
              "url"
            ],
            "properties": {
              "url": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "fonts": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "logos": {
                "type": "array",
                "items": {
                  "$ref": "#/$defs/BrandRetrieveAsset"
                }
              },
              "colors": {
                "type": "array",
                "items": {
                  "$ref": "#/$defs/BrandRetrieveColor"
                }
              },
              "domain": {
                "type": "string"
              },
              "favicon": {
                "type": "string"
              },
              "og_image": {
                "type": "string"
              },
              "backdrops": {
                "type": "array",
                "items": {
                  "$ref": "#/$defs/BrandRetrieveAsset"
                }
              },
              "description": {
                "type": "string"
              },
              "primary_logo": {
                "type": "string"
              },
              "social_links": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          },
          "meta": {
            "type": "object",
            "required": [
              "request_id"
            ],
            "properties": {
              "stale": {
                "type": "boolean"
              },
              "detail": {
                "type": "string"
              },
              "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"
              }
            }
          }
        }
      },
      "WebContextMapResponse": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "type": "object",
            "required": [
              "url",
              "count",
              "urls"
            ],
            "properties": {
              "url": {
                "type": "string"
              },
              "urls": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "count": {
                "type": "integer"
              }
            },
            "additionalProperties": false
          },
          "meta": {
            "$ref": "#/$defs/GatewayResponseMeta"
          }
        },
        "additionalProperties": false
      },
      "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
          }
        }
      },
      "BrandStyleguideResponse": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "type": "object",
            "required": [
              "domain",
              "url",
              "status"
            ],
            "properties": {
              "url": {
                "type": "string"
              },
              "card": {
                "type": "object",
                "required": [
                  "source"
                ],
                "properties": {
                  "border": {
                    "type": "string"
                  },
                  "source": {
                    "type": "string"
                  },
                  "padding": {
                    "type": "string"
                  },
                  "background": {
                    "type": "string"
                  },
                  "box_shadow": {
                    "type": "string"
                  },
                  "border_radius": {
                    "type": "string"
                  }
                },
                "additionalProperties": false
              },
              "mode": {
                "type": "string"
              },
              "radii": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "colors": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "value",
                    "source"
                  ],
                  "properties": {
                    "role": {
                      "type": "string"
                    },
                    "count": {
                      "type": "integer"
                    },
                    "value": {
                      "type": "string"
                    },
                    "source": {
                      "type": "string"
                    }
                  },
                  "additionalProperties": false
                }
              },
              "domain": {
                "type": "string"
              },
              "status": {
                "type": "string"
              },
              "buttons": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "variant",
                    "source"
                  ],
                  "properties": {
                    "color": {
                      "type": "string"
                    },
                    "source": {
                      "type": "string"
                    },
                    "padding": {
                      "type": "string"
                    },
                    "variant": {
                      "type": "string"
                    },
                    "background": {
                      "type": "string"
                    },
                    "font_weight": {
                      "type": "string"
                    },
                    "border_radius": {
                      "type": "string"
                    }
                  },
                  "additionalProperties": false
                }
              },
              "shadows": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "spacing": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "typography": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "source"
                  ],
                  "properties": {
                    "tag": {
                      "type": "string"
                    },
                    "size": {
                      "type": "string"
                    },
                    "usage": {
                      "type": "string"
                    },
                    "family": {
                      "type": "string"
                    },
                    "source": {
                      "type": "string"
                    },
                    "weight": {
                      "type": "string"
                    },
                    "line_height": {
                      "type": "string"
                    }
                  },
                  "additionalProperties": false
                }
              }
            },
            "additionalProperties": false
          },
          "meta": {
            "$ref": "#/$defs/GatewayResponseMeta"
          }
        },
        "additionalProperties": false
      },
      "CCIIntelligenceEnvelope": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "$ref": "#/$defs/CCIIntelligence"
          },
          "meta": {
            "$ref": "#/$defs/CCIRequestMeta"
          }
        },
        "additionalProperties": false
      },
      "WebContextBrandResponse": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "type": "object",
            "required": [
              "url",
              "brand"
            ],
            "properties": {
              "url": {
                "type": "string"
              },
              "brand": {
                "type": "object",
                "required": [
                  "name",
                  "logo_url",
                  "logos",
                  "colors",
                  "fonts",
                  "favicon_url",
                  "og_image"
                ],
                "properties": {
                  "name": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "fonts": {
                    "anyOf": [
                      {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "logos": {
                    "anyOf": [
                      {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "required": [
                            "kind",
                            "url"
                          ],
                          "properties": {
                            "url": {
                              "type": "string"
                            },
                            "kind": {
                              "type": "string"
                            }
                          },
                          "additionalProperties": false
                        }
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "colors": {
                    "anyOf": [
                      {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "required": [
                            "hex",
                            "usage",
                            "count"
                          ],
                          "properties": {
                            "hex": {
                              "type": "string"
                            },
                            "count": {
                              "type": "integer"
                            },
                            "usage": {
                              "type": "string"
                            }
                          },
                          "additionalProperties": false
                        }
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "logo_url": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "og_image": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "favicon_url": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "additionalProperties": false
              }
            },
            "additionalProperties": false
          },
          "meta": {
            "$ref": "#/$defs/GatewayResponseMeta"
          }
        },
        "additionalProperties": false
      },
      "WebContextCrawlResponse": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "type": "object",
            "required": [
              "url",
              "total",
              "completed",
              "errors",
              "pages"
            ],
            "properties": {
              "url": {
                "type": "string"
              },
              "pages": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "url",
                    "depth",
                    "title",
                    "markdown",
                    "metadata"
                  ],
                  "properties": {
                    "url": {
                      "type": "string"
                    },
                    "depth": {
                      "type": "integer"
                    },
                    "error": {
                      "type": "string"
                    },
                    "title": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "markdown": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "metadata": {
                      "$ref": "#/$defs/WebContextMetadata"
                    }
                  },
                  "additionalProperties": false
                }
              },
              "total": {
                "type": "integer"
              },
              "errors": {
                "type": "integer"
              },
              "completed": {
                "type": "integer"
              }
            },
            "additionalProperties": false
          },
          "meta": {
            "$ref": "#/$defs/GatewayResponseMeta"
          }
        },
        "additionalProperties": false
      },
      "ResearchWorkflowResponse": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "$ref": "#/$defs/ResearchWorkflowData"
          },
          "meta": {
            "type": "object",
            "additionalProperties": true
          }
        }
      },
      "WebContextScrapeResponse": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "type": "object",
            "required": [
              "url",
              "title",
              "markdown",
              "metadata",
              "links",
              "images",
              "truncated",
              "markdown_chars"
            ],
            "properties": {
              "url": {
                "type": "string"
              },
              "links": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "title": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "images": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "markdown": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "metadata": {
                "$ref": "#/$defs/WebContextMetadata"
              },
              "truncated": {
                "type": "boolean"
              },
              "markdown_chars": {
                "type": "integer"
              }
            },
            "additionalProperties": false
          },
          "meta": {
            "$ref": "#/$defs/GatewayResponseMeta"
          }
        },
        "additionalProperties": false
      }
    },
    "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\nMCP tool calls require a ReplyNodes API key or OAuth access token. Fuzzy 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"
      },
      "AppResponse": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "description": "Provider-specific JSON payload. May be an object or a list; single lookups do not imply a one-element array. For example, hackernews_item returns an object with item and comments."
          },
          "meta": {
            "$ref": "#/$defs/GatewayResponseMeta"
          }
        },
        "description": "Shared gateway success envelope for heterogeneous provider reads; data retains each adapter's public JSON shape.",
        "additionalProperties": false
      },
      "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
      },
      "ErrorEnvelope": {
        "type": "object",
        "required": [
          "error"
        ],
        "properties": {
          "error": {
            "type": "object",
            "required": [
              "code",
              "message",
              "request_id"
            ],
            "properties": {
              "code": {
                "type": "string"
              },
              "detail": {
                "type": "string"
              },
              "readme": {
                "type": "string"
              },
              "reason": {
                "type": "string"
              },
              "status": {
                "type": "integer"
              },
              "message": {
                "type": "string"
              },
              "retryable": {
                "type": "boolean"
              },
              "request_id": {
                "type": "string"
              },
              "continuation": {
                "$ref": "#/$defs/AnonymousContinuation"
              }
            },
            "additionalProperties": false
          }
        },
        "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
      },
      "BrandRetrieveAsset": {
        "type": "object",
        "required": [
          "url"
        ],
        "properties": {
          "url": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          }
        }
      },
      "BrandRetrieveColor": {
        "type": "object",
        "required": [
          "hex"
        ],
        "properties": {
          "hex": {
            "type": "string"
          },
          "count": {
            "type": "integer",
            "format": "int64"
          },
          "usage": {
            "type": "string"
          }
        }
      },
      "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
      },
      "WebContextMetadata": {
        "type": "object",
        "required": [
          "title",
          "description",
          "author",
          "image",
          "favicon",
          "language",
          "published_date",
          "site_name",
          "word_count",
          "url"
        ],
        "properties": {
          "url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "image": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "title": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "author": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "favicon": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "language": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "site_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "word_count": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ]
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "published_date": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "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"
              }
            }
          }
        }
      },
      "BrandSearchResponse": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "type": "object",
            "required": [
              "query",
              "count",
              "matches"
            ],
            "properties": {
              "count": {
                "type": "integer"
              },
              "query": {
                "type": "string"
              },
              "matches": {
                "anyOf": [
                  {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "required": [
                        "domain"
                      ],
                      "properties": {
                        "url": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        },
                        "domain": {
                          "type": "string"
                        },
                        "favicon": {
                          "type": "string"
                        },
                        "description": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false
          },
          "meta": {
            "$ref": "#/$defs/GatewayResponseMeta"
          }
        },
        "additionalProperties": false
      },
      "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
      },
      "GatewayResponseMeta": {
        "type": "object",
        "required": [
          "request_id"
        ],
        "properties": {
          "stale": {
            "type": "boolean"
          },
          "detail": {
            "type": "string"
          },
          "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": 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"
          }
        }
      },
      "BrandRetrieveResponse": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "type": "object",
            "required": [
              "domain",
              "url"
            ],
            "properties": {
              "url": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "fonts": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "logos": {
                "type": "array",
                "items": {
                  "$ref": "#/$defs/BrandRetrieveAsset"
                }
              },
              "colors": {
                "type": "array",
                "items": {
                  "$ref": "#/$defs/BrandRetrieveColor"
                }
              },
              "domain": {
                "type": "string"
              },
              "favicon": {
                "type": "string"
              },
              "og_image": {
                "type": "string"
              },
              "backdrops": {
                "type": "array",
                "items": {
                  "$ref": "#/$defs/BrandRetrieveAsset"
                }
              },
              "description": {
                "type": "string"
              },
              "primary_logo": {
                "type": "string"
              },
              "social_links": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          },
          "meta": {
            "type": "object",
            "required": [
              "request_id"
            ],
            "properties": {
              "stale": {
                "type": "boolean"
              },
              "detail": {
                "type": "string"
              },
              "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"
              }
            }
          }
        }
      },
      "WebContextMapResponse": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "type": "object",
            "required": [
              "url",
              "count",
              "urls"
            ],
            "properties": {
              "url": {
                "type": "string"
              },
              "urls": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "count": {
                "type": "integer"
              }
            },
            "additionalProperties": false
          },
          "meta": {
            "$ref": "#/$defs/GatewayResponseMeta"
          }
        },
        "additionalProperties": false
      },
      "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
          }
        }
      },
      "BrandStyleguideResponse": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "type": "object",
            "required": [
              "domain",
              "url",
              "status"
            ],
            "properties": {
              "url": {
                "type": "string"
              },
              "card": {
                "type": "object",
                "required": [
                  "source"
                ],
                "properties": {
                  "border": {
                    "type": "string"
                  },
                  "source": {
                    "type": "string"
                  },
                  "padding": {
                    "type": "string"
                  },
                  "background": {
                    "type": "string"
                  },
                  "box_shadow": {
                    "type": "string"
                  },
                  "border_radius": {
                    "type": "string"
                  }
                },
                "additionalProperties": false
              },
              "mode": {
                "type": "string"
              },
              "radii": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "colors": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "value",
                    "source"
                  ],
                  "properties": {
                    "role": {
                      "type": "string"
                    },
                    "count": {
                      "type": "integer"
                    },
                    "value": {
                      "type": "string"
                    },
                    "source": {
                      "type": "string"
                    }
                  },
                  "additionalProperties": false
                }
              },
              "domain": {
                "type": "string"
              },
              "status": {
                "type": "string"
              },
              "buttons": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "variant",
                    "source"
                  ],
                  "properties": {
                    "color": {
                      "type": "string"
                    },
                    "source": {
                      "type": "string"
                    },
                    "padding": {
                      "type": "string"
                    },
                    "variant": {
                      "type": "string"
                    },
                    "background": {
                      "type": "string"
                    },
                    "font_weight": {
                      "type": "string"
                    },
                    "border_radius": {
                      "type": "string"
                    }
                  },
                  "additionalProperties": false
                }
              },
              "shadows": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "spacing": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "typography": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "source"
                  ],
                  "properties": {
                    "tag": {
                      "type": "string"
                    },
                    "size": {
                      "type": "string"
                    },
                    "usage": {
                      "type": "string"
                    },
                    "family": {
                      "type": "string"
                    },
                    "source": {
                      "type": "string"
                    },
                    "weight": {
                      "type": "string"
                    },
                    "line_height": {
                      "type": "string"
                    }
                  },
                  "additionalProperties": false
                }
              }
            },
            "additionalProperties": false
          },
          "meta": {
            "$ref": "#/$defs/GatewayResponseMeta"
          }
        },
        "additionalProperties": false
      },
      "CCIIntelligenceEnvelope": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "$ref": "#/$defs/CCIIntelligence"
          },
          "meta": {
            "$ref": "#/$defs/CCIRequestMeta"
          }
        },
        "additionalProperties": false
      },
      "WebContextBrandResponse": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "type": "object",
            "required": [
              "url",
              "brand"
            ],
            "properties": {
              "url": {
                "type": "string"
              },
              "brand": {
                "type": "object",
                "required": [
                  "name",
                  "logo_url",
                  "logos",
                  "colors",
                  "fonts",
                  "favicon_url",
                  "og_image"
                ],
                "properties": {
                  "name": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "fonts": {
                    "anyOf": [
                      {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "logos": {
                    "anyOf": [
                      {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "required": [
                            "kind",
                            "url"
                          ],
                          "properties": {
                            "url": {
                              "type": "string"
                            },
                            "kind": {
                              "type": "string"
                            }
                          },
                          "additionalProperties": false
                        }
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "colors": {
                    "anyOf": [
                      {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "required": [
                            "hex",
                            "usage",
                            "count"
                          ],
                          "properties": {
                            "hex": {
                              "type": "string"
                            },
                            "count": {
                              "type": "integer"
                            },
                            "usage": {
                              "type": "string"
                            }
                          },
                          "additionalProperties": false
                        }
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "logo_url": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "og_image": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "favicon_url": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "additionalProperties": false
              }
            },
            "additionalProperties": false
          },
          "meta": {
            "$ref": "#/$defs/GatewayResponseMeta"
          }
        },
        "additionalProperties": false
      },
      "WebContextCrawlResponse": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "type": "object",
            "required": [
              "url",
              "total",
              "completed",
              "errors",
              "pages"
            ],
            "properties": {
              "url": {
                "type": "string"
              },
              "pages": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "url",
                    "depth",
                    "title",
                    "markdown",
                    "metadata"
                  ],
                  "properties": {
                    "url": {
                      "type": "string"
                    },
                    "depth": {
                      "type": "integer"
                    },
                    "error": {
                      "type": "string"
                    },
                    "title": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "markdown": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "metadata": {
                      "$ref": "#/$defs/WebContextMetadata"
                    }
                  },
                  "additionalProperties": false
                }
              },
              "total": {
                "type": "integer"
              },
              "errors": {
                "type": "integer"
              },
              "completed": {
                "type": "integer"
              }
            },
            "additionalProperties": false
          },
          "meta": {
            "$ref": "#/$defs/GatewayResponseMeta"
          }
        },
        "additionalProperties": false
      },
      "ResearchWorkflowResponse": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "$ref": "#/$defs/ResearchWorkflowData"
          },
          "meta": {
            "type": "object",
            "additionalProperties": true
          }
        }
      },
      "WebContextScrapeResponse": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "type": "object",
            "required": [
              "url",
              "title",
              "markdown",
              "metadata",
              "links",
              "images",
              "truncated",
              "markdown_chars"
            ],
            "properties": {
              "url": {
                "type": "string"
              },
              "links": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "title": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "images": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "markdown": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "metadata": {
                "$ref": "#/$defs/WebContextMetadata"
              },
              "truncated": {
                "type": "boolean"
              },
              "markdown_chars": {
                "type": "integer"
              }
            },
            "additionalProperties": false
          },
          "meta": {
            "$ref": "#/$defs/GatewayResponseMeta"
          }
        },
        "additionalProperties": false
      }
    },
    "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\nMCP tool calls require a ReplyNodes API key or OAuth access token. Lists 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"
      },
      "AppResponse": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "description": "Provider-specific JSON payload. May be an object or a list; single lookups do not imply a one-element array. For example, hackernews_item returns an object with item and comments."
          },
          "meta": {
            "$ref": "#/$defs/GatewayResponseMeta"
          }
        },
        "description": "Shared gateway success envelope for heterogeneous provider reads; data retains each adapter's public JSON shape.",
        "additionalProperties": false
      },
      "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
      },
      "ErrorEnvelope": {
        "type": "object",
        "required": [
          "error"
        ],
        "properties": {
          "error": {
            "type": "object",
            "required": [
              "code",
              "message",
              "request_id"
            ],
            "properties": {
              "code": {
                "type": "string"
              },
              "detail": {
                "type": "string"
              },
              "readme": {
                "type": "string"
              },
              "reason": {
                "type": "string"
              },
              "status": {
                "type": "integer"
              },
              "message": {
                "type": "string"
              },
              "retryable": {
                "type": "boolean"
              },
              "request_id": {
                "type": "string"
              },
              "continuation": {
                "$ref": "#/$defs/AnonymousContinuation"
              }
            },
            "additionalProperties": false
          }
        },
        "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
      },
      "BrandRetrieveAsset": {
        "type": "object",
        "required": [
          "url"
        ],
        "properties": {
          "url": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          }
        }
      },
      "BrandRetrieveColor": {
        "type": "object",
        "required": [
          "hex"
        ],
        "properties": {
          "hex": {
            "type": "string"
          },
          "count": {
            "type": "integer",
            "format": "int64"
          },
          "usage": {
            "type": "string"
          }
        }
      },
      "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
      },
      "WebContextMetadata": {
        "type": "object",
        "required": [
          "title",
          "description",
          "author",
          "image",
          "favicon",
          "language",
          "published_date",
          "site_name",
          "word_count",
          "url"
        ],
        "properties": {
          "url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "image": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "title": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "author": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "favicon": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "language": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "site_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "word_count": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ]
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "published_date": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "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"
              }
            }
          }
        }
      },
      "BrandSearchResponse": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "type": "object",
            "required": [
              "query",
              "count",
              "matches"
            ],
            "properties": {
              "count": {
                "type": "integer"
              },
              "query": {
                "type": "string"
              },
              "matches": {
                "anyOf": [
                  {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "required": [
                        "domain"
                      ],
                      "properties": {
                        "url": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        },
                        "domain": {
                          "type": "string"
                        },
                        "favicon": {
                          "type": "string"
                        },
                        "description": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false
          },
          "meta": {
            "$ref": "#/$defs/GatewayResponseMeta"
          }
        },
        "additionalProperties": false
      },
      "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
      },
      "GatewayResponseMeta": {
        "type": "object",
        "required": [
          "request_id"
        ],
        "properties": {
          "stale": {
            "type": "boolean"
          },
          "detail": {
            "type": "string"
          },
          "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": 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"
          }
        }
      },
      "BrandRetrieveResponse": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "type": "object",
            "required": [
              "domain",
              "url"
            ],
            "properties": {
              "url": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "fonts": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "logos": {
                "type": "array",
                "items": {
                  "$ref": "#/$defs/BrandRetrieveAsset"
                }
              },
              "colors": {
                "type": "array",
                "items": {
                  "$ref": "#/$defs/BrandRetrieveColor"
                }
              },
              "domain": {
                "type": "string"
              },
              "favicon": {
                "type": "string"
              },
              "og_image": {
                "type": "string"
              },
              "backdrops": {
                "type": "array",
                "items": {
                  "$ref": "#/$defs/BrandRetrieveAsset"
                }
              },
              "description": {
                "type": "string"
              },
              "primary_logo": {
                "type": "string"
              },
              "social_links": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          },
          "meta": {
            "type": "object",
            "required": [
              "request_id"
            ],
            "properties": {
              "stale": {
                "type": "boolean"
              },
              "detail": {
                "type": "string"
              },
              "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"
              }
            }
          }
        }
      },
      "WebContextMapResponse": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "type": "object",
            "required": [
              "url",
              "count",
              "urls"
            ],
            "properties": {
              "url": {
                "type": "string"
              },
              "urls": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "count": {
                "type": "integer"
              }
            },
            "additionalProperties": false
          },
          "meta": {
            "$ref": "#/$defs/GatewayResponseMeta"
          }
        },
        "additionalProperties": false
      },
      "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
          }
        }
      },
      "BrandStyleguideResponse": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "type": "object",
            "required": [
              "domain",
              "url",
              "status"
            ],
            "properties": {
              "url": {
                "type": "string"
              },
              "card": {
                "type": "object",
                "required": [
                  "source"
                ],
                "properties": {
                  "border": {
                    "type": "string"
                  },
                  "source": {
                    "type": "string"
                  },
                  "padding": {
                    "type": "string"
                  },
                  "background": {
                    "type": "string"
                  },
                  "box_shadow": {
                    "type": "string"
                  },
                  "border_radius": {
                    "type": "string"
                  }
                },
                "additionalProperties": false
              },
              "mode": {
                "type": "string"
              },
              "radii": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "colors": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "value",
                    "source"
                  ],
                  "properties": {
                    "role": {
                      "type": "string"
                    },
                    "count": {
                      "type": "integer"
                    },
                    "value": {
                      "type": "string"
                    },
                    "source": {
                      "type": "string"
                    }
                  },
                  "additionalProperties": false
                }
              },
              "domain": {
                "type": "string"
              },
              "status": {
                "type": "string"
              },
              "buttons": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "variant",
                    "source"
                  ],
                  "properties": {
                    "color": {
                      "type": "string"
                    },
                    "source": {
                      "type": "string"
                    },
                    "padding": {
                      "type": "string"
                    },
                    "variant": {
                      "type": "string"
                    },
                    "background": {
                      "type": "string"
                    },
                    "font_weight": {
                      "type": "string"
                    },
                    "border_radius": {
                      "type": "string"
                    }
                  },
                  "additionalProperties": false
                }
              },
              "shadows": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "spacing": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "typography": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "source"
                  ],
                  "properties": {
                    "tag": {
                      "type": "string"
                    },
                    "size": {
                      "type": "string"
                    },
                    "usage": {
                      "type": "string"
                    },
                    "family": {
                      "type": "string"
                    },
                    "source": {
                      "type": "string"
                    },
                    "weight": {
                      "type": "string"
                    },
                    "line_height": {
                      "type": "string"
                    }
                  },
                  "additionalProperties": false
                }
              }
            },
            "additionalProperties": false
          },
          "meta": {
            "$ref": "#/$defs/GatewayResponseMeta"
          }
        },
        "additionalProperties": false
      },
      "CCIIntelligenceEnvelope": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "$ref": "#/$defs/CCIIntelligence"
          },
          "meta": {
            "$ref": "#/$defs/CCIRequestMeta"
          }
        },
        "additionalProperties": false
      },
      "WebContextBrandResponse": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "type": "object",
            "required": [
              "url",
              "brand"
            ],
            "properties": {
              "url": {
                "type": "string"
              },
              "brand": {
                "type": "object",
                "required": [
                  "name",
                  "logo_url",
                  "logos",
                  "colors",
                  "fonts",
                  "favicon_url",
                  "og_image"
                ],
                "properties": {
                  "name": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "fonts": {
                    "anyOf": [
                      {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "logos": {
                    "anyOf": [
                      {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "required": [
                            "kind",
                            "url"
                          ],
                          "properties": {
                            "url": {
                              "type": "string"
                            },
                            "kind": {
                              "type": "string"
                            }
                          },
                          "additionalProperties": false
                        }
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "colors": {
                    "anyOf": [
                      {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "required": [
                            "hex",
                            "usage",
                            "count"
                          ],
                          "properties": {
                            "hex": {
                              "type": "string"
                            },
                            "count": {
                              "type": "integer"
                            },
                            "usage": {
                              "type": "string"
                            }
                          },
                          "additionalProperties": false
                        }
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "logo_url": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "og_image": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "favicon_url": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "additionalProperties": false
              }
            },
            "additionalProperties": false
          },
          "meta": {
            "$ref": "#/$defs/GatewayResponseMeta"
          }
        },
        "additionalProperties": false
      },
      "WebContextCrawlResponse": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "type": "object",
            "required": [
              "url",
              "total",
              "completed",
              "errors",
              "pages"
            ],
            "properties": {
              "url": {
                "type": "string"
              },
              "pages": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "url",
                    "depth",
                    "title",
                    "markdown",
                    "metadata"
                  ],
                  "properties": {
                    "url": {
                      "type": "string"
                    },
                    "depth": {
                      "type": "integer"
                    },
                    "error": {
                      "type": "string"
                    },
                    "title": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "markdown": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "metadata": {
                      "$ref": "#/$defs/WebContextMetadata"
                    }
                  },
                  "additionalProperties": false
                }
              },
              "total": {
                "type": "integer"
              },
              "errors": {
                "type": "integer"
              },
              "completed": {
                "type": "integer"
              }
            },
            "additionalProperties": false
          },
          "meta": {
            "$ref": "#/$defs/GatewayResponseMeta"
          }
        },
        "additionalProperties": false
      },
      "ResearchWorkflowResponse": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "$ref": "#/$defs/ResearchWorkflowData"
          },
          "meta": {
            "type": "object",
            "additionalProperties": true
          }
        }
      },
      "WebContextScrapeResponse": {
        "type": "object",
        "required": [
          "data",
          "meta"
        ],
        "properties": {
          "data": {
            "type": "object",
            "required": [
              "url",
              "title",
              "markdown",
              "metadata",
              "links",
              "images",
              "truncated",
              "markdown_chars"
            ],
            "properties": {
              "url": {
                "type": "string"
              },
              "links": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "title": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "images": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "markdown": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "metadata": {
                "$ref": "#/$defs/WebContextMetadata"
              },
              "truncated": {
                "type": "boolean"
              },
              "markdown_chars": {
                "type": "integer"
              }
            },
            "additionalProperties": false
          },
          "meta": {
            "$ref": "#/$defs/GatewayResponseMeta"
          }
        },
        "additionalProperties": false
      }
    },
    "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:802c2e3b74299752…, first seen 2026-10-22, included at leaf 44327 of 47,653. 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-22 19:17 UTC, the Replynodes MCP server is up with a Glimind reliability score of 57/100 (grade D). Over the last 30 days it answered 96% of Glimind's liveness checks. It had 100 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