Skip to main content
Glama

ratings

Read public app ratings

MCP tool calls require a ReplyNodes API key or OAuth access token. Read public app ratings. Returns the normalized public contract; raw provider records are internal to the runtime boundary and never cross the public gateway.

HTTP: GET /v1/appstore/ratings

Input Schema

NameRequiredDescriptionDefault
idNopublic application identifier; provide this or appId.
appIdNoBundle id; provide this or id.
countryNoTwo-letter storefront code.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed10 schema fields changed
    • addedInput schema / $defs / AppResponse
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "Shared gateway success envelope for heterogeneous provider reads; data retains each adapter's public JSON shape.",
      +  "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"
      +    }
      +  },
      +  "required": [
      +    "data",
      +    "meta"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / $defs / BrandSearchResponse
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "data": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "count": {
      +          "type": "integer"
      +        },
      +        "matches": {
      +          "anyOf": [
      +            {
      +              "items": {
      +                "additionalProperties": false,
      +                "properties": {
      +                  "description": {
      +                    "type": "string"
      +                  },
      +                  "domain": {
      +                    "type": "string"
      +                  },
      +                  "favicon": {
      +                    "type": "string"
      +                  },
      +                  "name": {
      +                    "type": "string"
      +                  },
      +                  "url": {
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "domain"
      +                ],
      +                "type": "object"
      +              },
      +              "type": "array"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "query": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "query",
      +        "count",
      +        "matches"
      +      ],
      +      "type": "object"
      +    },
      +    "meta": {
      +      "$ref": "#/$defs/GatewayResponseMeta"
      +    }
      +  },
      +  "required": [
      +    "data",
      +    "meta"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / $defs / BrandStyleguideResponse
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "data": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "buttons": {
      +          "items": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "background": {
      +                "type": "string"
      +              },
      +              "border_radius": {
      +                "type": "string"
      +              },
      +              "color": {
      +                "type": "string"
      +              },
      +              "font_weight": {
      +                "type": "string"
      +              },
      +              "padding": {
      +                "type": "string"
      +              },
      +              "source": {
      +                "type": "string"
      +              },
      +              "variant": {
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "variant",
      +              "source"
      +            ],
      +            "type": "object"
      +          },
      +          "type": "array"
      +        },
      +        "card": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "background": {
      +              "type": "string"
      +            },
      +            "border": {
      +              "type": "string"
      +            },
      +            "border_radius": {
      +              "type": "string"
      +            },
      +            "box_shadow": {
      +              "type": "string"
      +            },
      +            "padding": {
      +              "type": "string"
      +            },
      +            "source": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "source"
      +          ],
      +          "type": "object"
      +        },
      +        "colors": {
      +          "items": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "count": {
      +                "type": "integer"
      +              },
      +              "role": {
      +                "type": "string"
      +              },
      +              "source": {
      +                "type": "string"
      +              },
      +              "value": {
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "value",
      +              "source"
      +            ],
      +            "type": "object"
      +          },
      +          "type": "array"
      +        },
      +        "domain": {
      +          "type": "string"
      +        },
      +        "mode": {
      +          "type": "string"
      +        },
      +        "radii": {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        "shadows": {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        "spacing": {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        "status": {
      +          "type": "string"
      +        },
      +        "typography": {
      +          "items": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "family": {
      +                "type": "string"
      +              },
      +              "line_height": {
      +                "type": "string"
      +              },
      +              "size": {
      +                "type": "string"
      +              },
      +              "source": {
      +                "type": "string"
      +              },
      +              "tag": {
      +                "type": "string"
      +              },
      +              "usage": {
      +                "type": "string"
      +              },
      +              "weight": {
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "source"
      +            ],
      +            "type": "object"
      +          },
      +          "type": "array"
      +        },
      +        "url": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "domain",
      +        "url",
      +        "status"
      +      ],
      +      "type": "object"
      +    },
      +    "meta": {
      +      "$ref": "#/$defs/GatewayResponseMeta"
      +    }
      +  },
      +  "required": [
      +    "data",
      +    "meta"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / $defs / ErrorEnvelope
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "error": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "code": {
      +          "type": "string"
      +        },
      +        "continuation": {
      +          "$ref": "#/$defs/AnonymousContinuation"
      +        },
      +        "detail": {
      +          "type": "string"
      +        },
      +        "message": {
      +          "type": "string"
      +        },
      +        "readme": {
      +          "type": "string"
      +        },
      +        "reason": {
      +          "type": "string"
      +        },
      +        "request_id": {
      +          "type": "string"
      +        },
      +        "retryable": {
      +          "type": "boolean"
      +        },
      +        "status": {
      +          "type": "integer"
      +        }
      +      },
      +      "required": [
      +        "code",
      +        "message",
      +        "request_id"
      +      ],
      +      "type": "object"
      +    }
      +  },
      +  "required": [
      +    "error"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / $defs / GatewayResponseMeta
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "availability": {
      +      "type": "string"
      +    },
      +    "contract_version": {
      +      "type": "string"
      +    },
      +    "detail": {
      +      "type": "string"
      +    },
      +    "generated_at": {
      +      "format": "date-time",
      +      "type": "string"
      +    },
      +    "missing_fields": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "next_cursor": {
      +      "type": "string"
      +    },
      +    "request_id": {
      +      "type": "string"
      +    },
      +    "stale": {
      +      "type": "boolean"
      +    }
      +  },
      +  "required": [
      +    "request_id"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / $defs / WebContextBrandResponse
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "data": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "brand": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "colors": {
      +              "anyOf": [
      +                {
      +                  "items": {
      +                    "additionalProperties": false,
      +                    "properties": {
      +                      "count": {
      +                        "type": "integer"
      +                      },
      +                      "hex": {
      +                        "type": "string"
      +                      },
      +                      "usage": {
      +                        "type": "string"
      +                      }
      +                    },
      +                    "required": [
      +                      "hex",
      +                      "usage",
      +                      "count"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  "type": "array"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "favicon_url": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "fonts": {
      +              "anyOf": [
      +                {
      +                  "items": {
      +                    "type": "string"
      +                  },
      +                  "type": "array"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "logo_url": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "logos": {
      +              "anyOf": [
      +                {
      +                  "items": {
      +                    "additionalProperties": false,
      +                    "properties": {
      +                      "kind": {
      +                        "type": "string"
      +                      },
      +                      "url": {
      +                        "type": "string"
      +                      }
      +                    },
      +                    "required": [
      +                      "kind",
      +                      "url"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  "type": "array"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "name": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "og_image": {
      +              "anyOf": [
      +                {
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            }
      +          },
      +          "required": [
      +            "name",
      +            "logo_url",
      +            "logos",
      +            "colors",
      +            "fonts",
      +            "favicon_url",
      +            "og_image"
      +          ],
      +          "type": "object"
      +        },
      +        "url": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "url",
      +        "brand"
      +      ],
      +      "type": "object"
      +    },
      +    "meta": {
      +      "$ref": "#/$defs/GatewayResponseMeta"
      +    }
      +  },
      +  "required": [
      +    "data",
      +    "meta"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / $defs / WebContextCrawlResponse
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "data": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "completed": {
      +          "type": "integer"
      +        },
      +        "errors": {
      +          "type": "integer"
      +        },
      +        "pages": {
      +          "items": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "depth": {
      +                "type": "integer"
      +              },
      +              "error": {
      +                "type": "string"
      +              },
      +              "markdown": {
      +                "anyOf": [
      +                  {
      +                    "type": "string"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "metadata": {
      +                "$ref": "#/$defs/WebContextMetadata"
      +              },
      +              "title": {
      +                "anyOf": [
      +                  {
      +                    "type": "string"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "url": {
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "url",
      +              "depth",
      +              "title",
      +              "markdown",
      +              "metadata"
      +            ],
      +            "type": "object"
      +          },
      +          "type": "array"
      +        },
      +        "total": {
      +          "type": "integer"
      +        },
      +        "url": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "url",
      +        "total",
      +        "completed",
      +        "errors",
      +        "pages"
      +      ],
      +      "type": "object"
      +    },
      +    "meta": {
      +      "$ref": "#/$defs/GatewayResponseMeta"
      +    }
      +  },
      +  "required": [
      +    "data",
      +    "meta"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / $defs / WebContextMapResponse
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "data": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "count": {
      +          "type": "integer"
      +        },
      +        "url": {
      +          "type": "string"
      +        },
      +        "urls": {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        }
      +      },
      +      "required": [
      +        "url",
      +        "count",
      +        "urls"
      +      ],
      +      "type": "object"
      +    },
      +    "meta": {
      +      "$ref": "#/$defs/GatewayResponseMeta"
      +    }
      +  },
      +  "required": [
      +    "data",
      +    "meta"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / $defs / WebContextMetadata
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "author": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "description": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "favicon": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "image": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "language": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "published_date": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "site_name": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "title": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "url": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "word_count": {
      +      "anyOf": [
      +        {
      +          "type": "integer"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    }
      +  },
      +  "required": [
      +    "title",
      +    "description",
      +    "author",
      +    "image",
      +    "favicon",
      +    "language",
      +    "published_date",
      +    "site_name",
      +    "word_count",
      +    "url"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / $defs / WebContextScrapeResponse
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "data": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "images": {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        "links": {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        "markdown": {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "markdown_chars": {
      +          "type": "integer"
      +        },
      +        "metadata": {
      +          "$ref": "#/$defs/WebContextMetadata"
      +        },
      +        "title": {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "truncated": {
      +          "type": "boolean"
      +        },
      +        "url": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "url",
      +        "title",
      +        "markdown",
      +        "metadata",
      +        "links",
      +        "images",
      +        "truncated",
      +        "markdown_chars"
      +      ],
      +      "type": "object"
      +    },
      +    "meta": {
      +      "$ref": "#/$defs/GatewayResponseMeta"
      +    }
      +  },
      +  "required": [
      +    "data",
      +    "meta"
      +  ],
      +  "type": "object"
      +}
  2. Changed3 schema fields changed
    • addedInput schema / $defs / BrandRetrieveAsset
      Added value: +{
      +  "properties": {
      +    "kind": {
      +      "type": "string"
      +    },
      +    "url": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "url"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / $defs / BrandRetrieveColor
      Added value: +{
      +  "properties": {
      +    "count": {
      +      "format": "int64",
      +      "type": "integer"
      +    },
      +    "hex": {
      +      "type": "string"
      +    },
      +    "usage": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "hex"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / $defs / BrandRetrieveResponse
      Added value: +{
      +  "properties": {
      +    "data": {
      +      "properties": {
      +        "backdrops": {
      +          "items": {
      +            "$ref": "#/$defs/BrandRetrieveAsset"
      +          },
      +          "type": "array"
      +        },
      +        "colors": {
      +          "items": {
      +            "$ref": "#/$defs/BrandRetrieveColor"
      +          },
      +          "type": "array"
      +        },
      +        "description": {
      +          "type": "string"
      +        },
      +        "domain": {
      +          "type": "string"
      +        },
      +        "favicon": {
      +          "type": "string"
      +        },
      +        "fonts": {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        "logos": {
      +          "items": {
      +            "$ref": "#/$defs/BrandRetrieveAsset"
      +          },
      +          "type": "array"
      +        },
      +        "name": {
      +          "type": "string"
      +        },
      +        "og_image": {
      +          "type": "string"
      +        },
      +        "primary_logo": {
      +          "type": "string"
      +        },
      +        "social_links": {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        "url": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "domain",
      +        "url"
      +      ],
      +      "type": "object"
      +    },
      +    "meta": {
      +      "properties": {
      +        "availability": {
      +          "type": "string"
      +        },
      +        "contract_version": {
      +          "type": "string"
      +        },
      +        "detail": {
      +          "type": "string"
      +        },
      +        "generated_at": {
      +          "format": "date-time",
      +          "type": "string"
      +        },
      +        "missing_fields": {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        "next_cursor": {
      +          "type": "string"
      +        },
      +        "request_id": {
      +          "type": "string"
      +        },
      +        "stale": {
      +          "type": "boolean"
      +        }
      +      },
      +      "required": [
      +        "request_id"
      +      ],
      +      "type": "object"
      +    }
      +  },
      +  "required": [
      +    "data",
      +    "meta"
      +  ],
      +  "type": "object"
      +}
  3. Changed19 schema fields changed
    • addedInput schema / $defs / CreditTopupRequired / properties / message
      Added value: +{
      +  "type": "string"
      +}
    • addedInput schema / $defs / CreditTopupRequired / properties / topup_url / description
      Added value: +"Owner billing page for managing prepaid credits."
    • removedInput schema / $defs / CreditTopupRequired / properties / topup_url / enum
      Removed value: -[
      -  "/v1/billing/topup/intents"
      -]
    • addedInput schema / $defs / CreditTopupRequired / properties / topup_url / format
      Added value: +"uri"
    • addedInput schema / $defs / CreditTopupRequired / properties / upgrade
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "plans": {
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "id": {
      +            "type": "string"
      +          },
      +          "url": {
      +            "format": "uri",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "id",
      +          "url"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "pricing": {
      +      "format": "uri",
      +      "type": "string"
      +    },
      +    "url": {
      +      "format": "uri",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "url",
      +    "plans",
      +    "pricing"
      +  ],
      +  "type": "object"
      +}
    • removedInput schema / $defs / ErrorDetail / properties / detail
      Removed value: -{
      -  "description": "Safe, actionable guidance. Emitted only for error codes that define it (currently source_excluded).",
      -  "type": "string"
      -}
    • removedInput schema / $defs / ErrorDetail / properties / readme
      Removed value: -{
      -  "description": "Link to the published error documentation page. Reserved; absent until the docs page is live.",
      -  "type": "string"
      -}
    • removedInput schema / $defs / ErrorDetail / properties / status
      Removed value: -{
      -  "description": "Stable numeric ReplyNodes detail code. Emitted only for error codes that define one (currently source_excluded = 45101).",
      -  "type": "integer"
      -}
    • removedInput schema / $defs / PaymentRequired
      Removed value: -{
      -  "additionalProperties": false,
      -  "properties": {
      -    "accepts": {
      -      "items": {
      -        "$ref": "#/$defs/PaymentRequirements"
      -      },
      -      "minItems": 1,
      -      "type": "array"
      -    },
      -    "error": {
      -      "type": "string"
      -    },
      -    "extensions": {
      -      "oneOf": [
      -        {
      -          "$ref": "#/$defs/PaymentRequiredAccountlessExtensions"
      -        },
      -        {
      -          "$ref": "#/$defs/PaymentRequiredPrepaidExtensions"
      -        }
      -      ]
      -    },
      -    "resource": {
      -      "additionalProperties": false,
      -      "properties": {
      -        "mimeType": {
      -          "type": "string"
      -        },
      -        "url": {
      -          "format": "uri",
      -          "type": "string"
      -        }
      -      },
      -      "required": [
      -        "url",
      -        "mimeType"
      -      ],
      -      "type": "object"
      -    },
      -    "x402Version": {
      -      "enum": [
      -        2
      -      ],
      -      "type": "integer"
      -    }
      -  },
      -  "required": [
      -    "x402Version",
      -    "error",
      -    "resource",
      -    "accepts",
      -    "extensions"
      -  ],
      -  "type": "object"
      -}
    • removedInput schema / $defs / PaymentRequiredAccountlessExtensions
      Removed value: -{
      -  "additionalProperties": false,
      -  "properties": {
      -    "x-replynodes-accountless": {
      -      "additionalProperties": false,
      -      "properties": {
      -        "bearer_supported": {
      -          "enum": [
      -            false
      -          ],
      -          "type": "boolean"
      -        },
      -        "payment_mode": {
      -          "enum": [
      -            "x402_only"
      -          ],
      -          "type": "string"
      -        },
      -        "prepaid_supported": {
      -          "enum": [
      -            false
      -          ],
      -          "type": "boolean"
      -        }
      -      },
      -      "required": [
      -        "payment_mode",
      -        "bearer_supported",
      -        "prepaid_supported"
      -      ],
      -      "type": "object"
      -    }
      -  },
      -  "required": [
      -    "x-replynodes-accountless"
      -  ],
      -  "type": "object"
      -}
    • removedInput schema / $defs / PaymentRequiredPrepaidExtensions
      Removed value: -{
      -  "additionalProperties": false,
      -  "properties": {
      -    "topup": {
      -      "additionalProperties": false,
      -      "properties": {
      -        "topup_url": {
      -          "enum": [
      -            "/v1/billing/topup/intents"
      -          ],
      -          "type": "string"
      -        }
      -      },
      -      "required": [
      -        "topup_url"
      -      ],
      -      "type": "object"
      -    }
      -  },
      -  "required": [
      -    "topup"
      -  ],
      -  "type": "object"
      -}
    • removedInput schema / $defs / PaymentRequiredResponse
      Removed value: -{
      -  "oneOf": [
      -    {
      -      "$ref": "#/$defs/PaymentRequired"
      -    },
      -    {
      -      "$ref": "#/$defs/CreditTopupRequired"
      -    }
      -  ]
      -}
    • removedInput schema / $defs / PaymentRequirements
      Removed value: -{
      -  "additionalProperties": false,
      -  "properties": {
      -    "amount": {
      -      "type": "string"
      -    },
      -    "asset": {
      -      "type": "string"
      -    },
      -    "extra": {
      -      "additionalProperties": true,
      -      "type": "object"
      -    },
      -    "maxTimeoutSeconds": {
      -      "type": "integer"
      -    },
      -    "network": {
      -      "type": "string"
      -    },
      -    "payTo": {
      -      "type": "string"
      -    },
      -    "scheme": {
      -      "type": "string"
      -    }
      -  },
      -  "required": [
      -    "scheme",
      -    "network",
      -    "asset",
      -    "amount",
      -    "payTo",
      -    "maxTimeoutSeconds"
      -  ],
      -  "type": "object"
      -}
    • addedInput schema / $defs / RegistryBilling
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "credit_cost": {
      +      "format": "int64",
      +      "minimum": 0,
      +      "type": "integer"
      +    },
      +    "metered": {
      +      "type": "boolean"
      +    }
      +  },
      +  "required": [
      +    "metered"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / $defs / RegistryData
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "callable_routes": {
      +      "items": {
      +        "$ref": "#/$defs/RegistryRoute"
      +      },
      +      "type": "array"
      +    },
      +    "document": {
      +      "description": "The embedded OpenAPI document served unchanged.",
      +      "type": "object"
      +    },
      +    "documentHash": {
      +      "type": "string"
      +    },
      +    "documentVersion": {
      +      "type": "string"
      +    },
      +    "openapi": {
      +      "$ref": "#/$defs/RegistryOpenAPI"
      +    },
      +    "providers": {
      +      "items": {
      +        "$ref": "#/$defs/RegistryProvider"
      +      },
      +      "type": "array"
      +    },
      +    "schema_version": {
      +      "enum": [
      +        "v1"
      +      ],
      +      "type": "string"
      +    },
      +    "service": {
      +      "type": "string"
      +    },
      +    "version": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "schema_version",
      +    "service",
      +    "version",
      +    "documentVersion",
      +    "documentHash",
      +    "document",
      +    "providers",
      +    "callable_routes",
      +    "openapi"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / $defs / RegistryOpenAPI
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "document": {
      +      "description": "The embedded OpenAPI document served unchanged.",
      +      "type": "object"
      +    },
      +    "document_hash": {
      +      "type": "string"
      +    },
      +    "version": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "version",
      +    "document_hash",
      +    "document"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / $defs / RegistryProvider
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "description": {
      +      "type": "string"
      +    },
      +    "name": {
      +      "type": "string"
      +    },
      +    "routes": {
      +      "items": {
      +        "$ref": "#/$defs/RegistryRoute"
      +      },
      +      "type": "array"
      +    },
      +    "slug": {
      +      "type": "string"
      +    },
      +    "status": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "slug",
      +    "name",
      +    "description",
      +    "status",
      +    "routes"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / $defs / RegistryResponse
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "data": {
      +      "$ref": "#/$defs/RegistryData"
      +    },
      +    "meta": {
      +      "additionalProperties": true,
      +      "properties": {
      +        "request_id": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "request_id"
      +      ],
      +      "type": "object"
      +    }
      +  },
      +  "required": [
      +    "data",
      +    "meta"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / $defs / RegistryRoute
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "auth_required": {
      +      "type": "boolean"
      +    },
      +    "billing": {
      +      "$ref": "#/$defs/RegistryBilling"
      +    },
      +    "callable": {
      +      "type": "boolean"
      +    },
      +    "method": {
      +      "enum": [
      +        "GET"
      +      ],
      +      "type": "string"
      +    },
      +    "operation_id": {
      +      "type": "string"
      +    },
      +    "provider": {
      +      "type": "string"
      +    },
      +    "read_only": {
      +      "type": "boolean"
      +    },
      +    "route": {
      +      "type": "string"
      +    },
      +    "schema_ref": {
      +      "type": "string"
      +    },
      +    "status": {
      +      "type": "string"
      +    },
      +    "tag": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "provider",
      +    "route",
      +    "method",
      +    "status",
      +    "callable",
      +    "auth_required",
      +    "read_only",
      +    "billing"
      +  ],
      +  "type": "object"
      +}
  4. Changed4 schema fields changed
    • addedInput schema / $defs / MarkdownHostError
      Added value: +{
      +  "properties": {
      +    "error": {
      +      "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"
      +        },
      +        "continuation": {
      +          "$ref": "#/$defs/AnonymousContinuation"
      +        },
      +        "detail": {
      +          "description": "Safe caller guidance; present only for source_excluded.",
      +          "type": "string"
      +        },
      +        "message": {
      +          "type": "string"
      +        },
      +        "reason": {
      +          "description": "Stable machine-readable failure reason; a closed set (values may be added, never renamed or removed).",
      +          "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"
      +        },
      +        "request_id": {
      +          "type": "string"
      +        },
      +        "retryable": {
      +          "description": "True when sending the identical request again later can succeed without changing anything; it says nothing about how soon.",
      +          "type": "boolean"
      +        },
      +        "status": {
      +          "description": "Stable numeric detail code; present only for source_excluded (45101).",
      +          "type": "integer"
      +        }
      +      },
      +      "required": [
      +        "code",
      +        "message",
      +        "request_id",
      +        "reason",
      +        "retryable"
      +      ],
      +      "type": "object"
      +    }
      +  },
      +  "required": [
      +    "error"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / $defs / MarkdownJsonResponse
      Added value: +{
      +  "properties": {
      +    "data": {
      +      "properties": {
      +        "images": {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        "links": {
      +          "items": {
      +            "type": "string"
      +          },
      +          "type": "array"
      +        },
      +        "markdown": {
      +          "type": "string"
      +        },
      +        "metadata": {
      +          "properties": {
      +            "author": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "description": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "favicon": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "image": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "language": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "published_date": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "site_name": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "title": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "url": {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "word_count": {
      +              "type": [
      +                "integer",
      +                "null"
      +              ]
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "title": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "url": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "url",
      +        "title",
      +        "markdown",
      +        "metadata",
      +        "links",
      +        "images"
      +      ],
      +      "type": "object"
      +    },
      +    "meta": {
      +      "properties": {
      +        "generated_at": {
      +          "description": "Time the page was fetched (the cached time on a cache hit).",
      +          "format": "date-time",
      +          "type": "string"
      +        },
      +        "request_id": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "request_id",
      +        "generated_at"
      +      ],
      +      "type": "object"
      +    }
      +  },
      +  "required": [
      +    "data",
      +    "meta"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / $defs / Watch / properties / unavailable_topics
      Added value: +{
      +  "description": "Currently active subscriptions whose event families are unavailable; their topic intervals and history remain retained.",
      +  "items": {
      +    "$ref": "#/$defs/WatchTopic"
      +  },
      +  "type": "array"
      +}
    • changedInput schema / $defs / Watch / required
      Previous value: -[
      -  "id",
      -  "target",
      -  "entity",
      -  "topics",
      -  "requested_frequency",
      -  "effective_frequency",
      -  "status",
      -  "started_at",
      -  "status_changed_at",
      -  "archived_at",
      -  "coverage",
      -  "topic_intervals",
      -  "created_at",
      -  "updated_at"
      -]New value: +[
      +  "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"
      +]
  5. Changed8 schema fields changed
    • addedInput schema / $defs / AnonymousContinuation
      Added value: +{
      +  "properties": {
      +    "url": {
      +      "const": "https://replynodes.com/auth.md",
      +      "format": "uri",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "url"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / $defs / AnonymousQuotaError
      Added value: +{
      +  "properties": {
      +    "error": {
      +      "properties": {
      +        "code": {
      +          "const": "anonymous_limit_reached"
      +        },
      +        "continuation": {
      +          "$ref": "#/$defs/AnonymousContinuation"
      +        },
      +        "message": {
      +          "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.",
      +          "type": "string"
      +        },
      +        "request_id": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "code",
      +        "message",
      +        "request_id",
      +        "continuation"
      +      ],
      +      "type": "object"
      +    }
      +  },
      +  "required": [
      +    "error"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / $defs / ErrorDetail / properties / detail
      Added value: +{
      +  "description": "Safe, actionable guidance. Emitted only for error codes that define it (currently source_excluded).",
      +  "type": "string"
      +}
    • addedInput schema / $defs / ErrorDetail / properties / readme
      Added value: +{
      +  "description": "Link to the published error documentation page. Reserved; absent until the docs page is live.",
      +  "type": "string"
      +}
    • addedInput schema / $defs / ErrorDetail / properties / status
      Added value: +{
      +  "description": "Stable numeric ReplyNodes detail code. Emitted only for error codes that define one (currently source_excluded = 45101).",
      +  "type": "integer"
      +}
    • addedInput schema / $defs / ResearchWorkflowData
      Added value: +{
      +  "properties": {
      +    "domain": {
      +      "type": "string"
      +    },
      +    "targets": {
      +      "items": {
      +        "$ref": "#/$defs/ResearchWorkflowTarget"
      +      },
      +      "type": "array"
      +    },
      +    "workflow": {
      +      "enum": [
      +        "company-research",
      +        "competitor-research"
      +      ],
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "workflow",
      +    "domain",
      +    "targets"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / $defs / ResearchWorkflowResponse
      Added value: +{
      +  "properties": {
      +    "data": {
      +      "$ref": "#/$defs/ResearchWorkflowData"
      +    },
      +    "meta": {
      +      "additionalProperties": true,
      +      "type": "object"
      +    }
      +  },
      +  "required": [
      +    "data",
      +    "meta"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / $defs / ResearchWorkflowTarget
      Added value: +{
      +  "properties": {
      +    "brand": {
      +      "additionalProperties": true,
      +      "description": "Real brand-kit retrieve output; omitted when that primitive fails.",
      +      "type": "object"
      +    },
      +    "domain": {
      +      "type": "string"
      +    },
      +    "errors": {
      +      "additionalProperties": {
      +        "type": "string"
      +      },
      +      "description": "Per-primitive typed error codes; a failed primitive's output is omitted rather than fabricated.",
      +      "type": "object"
      +    },
      +    "logo": {
      +      "additionalProperties": true,
      +      "type": "object"
      +    },
      +    "markdown": {
      +      "properties": {
      +        "content": {
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "styleguide": {
      +      "additionalProperties": true,
      +      "type": "object"
      +    }
      +  },
      +  "required": [
      +    "domain"
      +  ],
      +  "type": "object"
      +}
  6. Changed31 schema fields changed
    • addedInput schema / $defs / CCIConfidence
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "calibrated": {
      +      "type": "boolean"
      +    },
      +    "method": {
      +      "type": "string"
      +    },
      +    "model": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "score": {
      +      "type": "number"
      +    }
      +  },
      +  "required": [
      +    "score",
      +    "calibrated",
      +    "method"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / $defs / CCIEvent
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "after": {
      +      "$ref": "#/$defs/CCIStateRef"
      +    },
      +    "before": {
      +      "$ref": "#/$defs/CCIStateRef"
      +    },
      +    "confidence": {
      +      "$ref": "#/$defs/CCIConfidence"
      +    },
      +    "created_at": {
      +      "format": "date-time",
      +      "type": "string"
      +    },
      +    "current_observed_at": {
      +      "format": "date-time",
      +      "type": "string"
      +    },
      +    "data": {
      +      "$ref": "#/$defs/CCIEventData"
      +    },
      +    "detected_at": {
      +      "format": "date-time",
      +      "type": "string"
      +    },
      +    "detector": {
      +      "$ref": "#/$defs/CCIEventDetector"
      +    },
      +    "entity": {
      +      "$ref": "#/$defs/CCIEventEntity"
      +    },
      +    "evidence": {
      +      "items": {
      +        "$ref": "#/$defs/CCIEvidence"
      +      },
      +      "type": "array"
      +    },
      +    "first_observed_at": {
      +      "format": "date-time",
      +      "type": "string"
      +    },
      +    "id": {
      +      "type": "string"
      +    },
      +    "lineage": {
      +      "$ref": "#/$defs/CCIEventLineage"
      +    },
      +    "previous_observed_at": {
      +      "format": "date-time",
      +      "type": "string"
      +    },
      +    "schema_version": {
      +      "type": "integer"
      +    },
      +    "source": {
      +      "$ref": "#/$defs/CCIEventSource"
      +    },
      +    "status": {
      +      "enum": [
      +        "active",
      +        "superseded",
      +        "retracted"
      +      ],
      +      "type": "string"
      +    },
      +    "subject": {
      +      "type": "string"
      +    },
      +    "summary": {
      +      "type": "string"
      +    },
      +    "topic": {
      +      "$ref": "#/$defs/WatchTopic"
      +    },
      +    "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"
      +    }
      +  },
      +  "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"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / $defs / CCIEventData
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "action": {
      +      "type": "string"
      +    },
      +    "billing_period": {
      +      "type": "string"
      +    },
      +    "case_study_url": {
      +      "type": "string"
      +    },
      +    "category": {
      +      "type": "string"
      +    },
      +    "change_kind": {
      +      "type": "string"
      +    },
      +    "customer_domain": {
      +      "type": "string"
      +    },
      +    "customer_name": {
      +      "type": "string"
      +    },
      +    "enterprise_messaging_added": {
      +      "type": "boolean"
      +    },
      +    "integration_domain": {
      +      "type": "string"
      +    },
      +    "integration_name": {
      +      "type": "string"
      +    },
      +    "name": {
      +      "type": "string"
      +    },
      +    "new_category": {
      +      "type": "string"
      +    },
      +    "new_headline": {
      +      "type": "string"
      +    },
      +    "new_price": {
      +      "$ref": "#/$defs/CCIMoney"
      +    },
      +    "old_category": {
      +      "type": "string"
      +    },
      +    "old_headline": {
      +      "type": "string"
      +    },
      +    "old_price": {
      +      "$ref": "#/$defs/CCIMoney"
      +    },
      +    "plan": {
      +      "type": "string"
      +    },
      +    "price": {
      +      "$ref": "#/$defs/CCIMoney"
      +    },
      +    "product": {
      +      "type": "string"
      +    },
      +    "surface": {
      +      "type": "string"
      +    },
      +    "target_market_delta": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [],
      +  "type": "object"
      +}
    • addedInput schema / $defs / CCIEventDetector
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "extractor_version": {
      +      "type": "string"
      +    },
      +    "method": {
      +      "enum": [
      +        "deterministic",
      +        "semantic"
      +      ],
      +      "type": "string"
      +    },
      +    "model": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "model_config_hash": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "provider": {
      +      "type": "string"
      +    },
      +    "provider_commit": {
      +      "type": "string"
      +    },
      +    "provider_version": {
      +      "type": "string"
      +    },
      +    "version": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "version",
      +    "extractor_version",
      +    "method",
      +    "model",
      +    "model_config_hash",
      +    "provider",
      +    "provider_version",
      +    "provider_commit"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / $defs / CCIEventEntity
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "domain": {
      +      "type": "string"
      +    },
      +    "id": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "id",
      +    "domain"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / $defs / CCIEventEnvelope
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "data": {
      +      "$ref": "#/$defs/CCIEvent"
      +    },
      +    "meta": {
      +      "$ref": "#/$defs/CCIRequestMeta"
      +    }
      +  },
      +  "required": [
      +    "data",
      +    "meta"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / $defs / CCIEventLineage
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "correction_reason": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "lineage_event_id": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "retracted_event_id": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "supersedes_event_id": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    }
      +  },
      +  "required": [
      +    "supersedes_event_id",
      +    "retracted_event_id",
      +    "lineage_event_id",
      +    "correction_reason"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / $defs / CCIEventPage
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "data": {
      +      "items": {
      +        "$ref": "#/$defs/CCIEvent"
      +      },
      +      "type": "array"
      +    },
      +    "meta": {
      +      "$ref": "#/$defs/CCIPageMeta"
      +    }
      +  },
      +  "required": [
      +    "data",
      +    "meta"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / $defs / CCIEventSource
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "page_ids": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "urls": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "required": [
      +    "page_ids",
      +    "urls"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / $defs / CCIEvidence
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "after_content_hash": {
      +      "type": "string"
      +    },
      +    "after_excerpt": {
      +      "type": "string"
      +    },
      +    "after_observation_id": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "after_observed_at": {
      +      "format": "date-time",
      +      "type": "string"
      +    },
      +    "after_snapshot_id": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "before_content_hash": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "before_excerpt": {
      +      "type": "string"
      +    },
      +    "before_observation_id": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "before_observed_at": {
      +      "anyOf": [
      +        {
      +          "format": "date-time",
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "before_snapshot_id": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "created_at": {
      +      "format": "date-time",
      +      "type": "string"
      +    },
      +    "detector_version": {
      +      "type": "string"
      +    },
      +    "extractor": {
      +      "type": "string"
      +    },
      +    "fields": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "id": {
      +      "type": "string"
      +    },
      +    "method": {
      +      "type": "string"
      +    },
      +    "model": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "model_config_hash": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "page_id": {
      +      "type": "string"
      +    },
      +    "provider": {
      +      "type": "string"
      +    },
      +    "provider_commit": {
      +      "type": "string"
      +    },
      +    "provider_version": {
      +      "type": "string"
      +    },
      +    "source_url": {
      +      "type": "string"
      +    }
      +  },
      +  "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"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / $defs / CCIHistoryEnvelope
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "data": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "current": {
      +          "anyOf": [
      +            {
      +              "$ref": "#/$defs/CCITopicState"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ]
      +        },
      +        "history": {
      +          "items": {
      +            "$ref": "#/$defs/CCITopicState"
      +          },
      +          "type": "array"
      +        },
      +        "topic": {
      +          "$ref": "#/$defs/WatchTopic"
      +        }
      +      },
      +      "required": [
      +        "topic",
      +        "current",
      +        "history"
      +      ],
      +      "type": "object"
      +    },
      +    "meta": {
      +      "$ref": "#/$defs/CCIPageMeta"
      +    }
      +  },
      +  "required": [
      +    "data",
      +    "meta"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / $defs / CCIIntelligence
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "coverage": {
      +      "$ref": "#/$defs/WatchCoverage"
      +    },
      +    "entity": {
      +      "$ref": "#/$defs/WatchEntity"
      +    },
      +    "pages": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "monitored": {
      +          "minimum": 0,
      +          "type": "integer"
      +        }
      +      },
      +      "required": [
      +        "monitored"
      +      ],
      +      "type": "object"
      +    },
      +    "recent_events": {
      +      "items": {
      +        "$ref": "#/$defs/CCIEvent"
      +      },
      +      "type": "array"
      +    },
      +    "topics": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "customers": {
      +          "$ref": "#/$defs/CCITopicState"
      +        },
      +        "integrations": {
      +          "$ref": "#/$defs/CCITopicState"
      +        },
      +        "positioning": {
      +          "$ref": "#/$defs/CCITopicState"
      +        },
      +        "pricing": {
      +          "$ref": "#/$defs/CCITopicState"
      +        },
      +        "product": {
      +          "$ref": "#/$defs/CCITopicState"
      +        }
      +      },
      +      "required": [],
      +      "type": "object"
      +    }
      +  },
      +  "required": [
      +    "entity",
      +    "coverage",
      +    "pages",
      +    "topics",
      +    "recent_events"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / $defs / CCIIntelligenceEnvelope
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "data": {
      +      "$ref": "#/$defs/CCIIntelligence"
      +    },
      +    "meta": {
      +      "$ref": "#/$defs/CCIRequestMeta"
      +    }
      +  },
      +  "required": [
      +    "data",
      +    "meta"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / $defs / CCIMoney
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "amount": {
      +      "type": "number"
      +    },
      +    "currency": {
      +      "type": "string"
      +    },
      +    "period": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "amount",
      +    "currency",
      +    "period"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / $defs / CCIPageMeta
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "has_more": {
      +      "type": "boolean"
      +    },
      +    "next_cursor": {
      +      "type": "string"
      +    },
      +    "request_id": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "request_id",
      +    "next_cursor",
      +    "has_more"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / $defs / CCIRequestMeta
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "request_id": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "request_id"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / $defs / CCIStateRef
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "content_hashes": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "observation_ids": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "snapshot_ids": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "state_id": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "state_version": {
      +      "anyOf": [
      +        {
      +          "type": "integer"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    }
      +  },
      +  "required": [
      +    "state_id",
      +    "state_version",
      +    "snapshot_ids",
      +    "observation_ids",
      +    "content_hashes"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / $defs / CCITopicState
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "baseline": {
      +      "type": "boolean"
      +    },
      +    "content_hashes": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "created_at": {
      +      "format": "date-time",
      +      "type": "string"
      +    },
      +    "derived_from_observation_ids": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "derived_from_page_ids": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "derived_from_snapshot_ids": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "extractor": {
      +      "type": "string"
      +    },
      +    "id": {
      +      "type": "string"
      +    },
      +    "method": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "model": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "observed_from": {
      +      "anyOf": [
      +        {
      +          "format": "date-time",
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "observed_to": {
      +      "anyOf": [
      +        {
      +          "format": "date-time",
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "provider": {
      +      "type": "string"
      +    },
      +    "provider_commit": {
      +      "type": "string"
      +    },
      +    "provider_version": {
      +      "type": "string"
      +    },
      +    "state": {
      +      "additionalProperties": true,
      +      "type": "object"
      +    },
      +    "topic": {
      +      "$ref": "#/$defs/WatchTopic"
      +    },
      +    "valid_from": {
      +      "format": "date-time",
      +      "type": "string"
      +    },
      +    "valid_to": {
      +      "anyOf": [
      +        {
      +          "format": "date-time",
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "version": {
      +      "type": "integer"
      +    }
      +  },
      +  "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"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / $defs / Watch
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "archived_at": {
      +      "anyOf": [
      +        {
      +          "format": "date-time",
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "coverage": {
      +      "$ref": "#/$defs/WatchCoverage"
      +    },
      +    "created_at": {
      +      "format": "date-time",
      +      "type": "string"
      +    },
      +    "effective_frequency": {
      +      "anyOf": [
      +        {
      +          "$ref": "#/$defs/WatchFrequency"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "entity": {
      +      "$ref": "#/$defs/WatchEntity"
      +    },
      +    "id": {
      +      "type": "string"
      +    },
      +    "requested_frequency": {
      +      "$ref": "#/$defs/WatchFrequency"
      +    },
      +    "started_at": {
      +      "format": "date-time",
      +      "type": "string"
      +    },
      +    "status": {
      +      "$ref": "#/$defs/WatchStatus"
      +    },
      +    "status_changed_at": {
      +      "format": "date-time",
      +      "type": "string"
      +    },
      +    "target": {
      +      "type": "string"
      +    },
      +    "topic_intervals": {
      +      "items": {
      +        "$ref": "#/$defs/WatchTopicInterval"
      +      },
      +      "type": "array"
      +    },
      +    "topics": {
      +      "items": {
      +        "$ref": "#/$defs/WatchTopic"
      +      },
      +      "type": "array"
      +    },
      +    "updated_at": {
      +      "format": "date-time",
      +      "type": "string"
      +    },
      +    "webhook": {
      +      "$ref": "#/$defs/WatchWebhookConfig"
      +    }
      +  },
      +  "required": [
      +    "id",
      +    "target",
      +    "entity",
      +    "topics",
      +    "requested_frequency",
      +    "effective_frequency",
      +    "status",
      +    "started_at",
      +    "status_changed_at",
      +    "archived_at",
      +    "coverage",
      +    "topic_intervals",
      +    "created_at",
      +    "updated_at"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / $defs / WatchCoverage
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "last_run_at": {
      +      "anyOf": [
      +        {
      +          "format": "date-time",
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "state": {
      +      "enum": [
      +        "initializing",
      +        "healthy",
      +        "degraded",
      +        "failed"
      +      ],
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "state",
      +    "last_run_at"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / $defs / WatchCreateRequest
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "requested_frequency": {
      +      "$ref": "#/$defs/WatchFrequency"
      +    },
      +    "target": {
      +      "type": "string"
      +    },
      +    "topics": {
      +      "items": {
      +        "$ref": "#/$defs/WatchTopic"
      +      },
      +      "type": "array"
      +    },
      +    "webhook": {
      +      "anyOf": [
      +        {
      +          "$ref": "#/$defs/WatchWebhook"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    }
      +  },
      +  "required": [
      +    "target"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / $defs / WatchEntity
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "display_name": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "domain": {
      +      "type": "string"
      +    },
      +    "id": {
      +      "type": "string"
      +    },
      +    "last_observed_at": {
      +      "anyOf": [
      +        {
      +          "format": "date-time",
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "observed_since": {
      +      "anyOf": [
      +        {
      +          "format": "date-time",
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    }
      +  },
      +  "required": [
      +    "id",
      +    "domain",
      +    "display_name",
      +    "observed_since",
      +    "last_observed_at"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / $defs / WatchEnvelope
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "data": {
      +      "$ref": "#/$defs/Watch"
      +    },
      +    "meta": {
      +      "$ref": "#/$defs/CCIRequestMeta"
      +    }
      +  },
      +  "required": [
      +    "data",
      +    "meta"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / $defs / WatchFrequency
      Added value: +{
      +  "enum": [
      +    "24h",
      +    "6h"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / $defs / WatchPage
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "data": {
      +      "items": {
      +        "$ref": "#/$defs/Watch"
      +      },
      +      "type": "array"
      +    },
      +    "meta": {
      +      "$ref": "#/$defs/CCIPageMeta"
      +    }
      +  },
      +  "required": [
      +    "data",
      +    "meta"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / $defs / WatchStatus
      Added value: +{
      +  "enum": [
      +    "active",
      +    "paused",
      +    "archived"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / $defs / WatchTopic
      Added value: +{
      +  "enum": [
      +    "pricing",
      +    "product",
      +    "integrations",
      +    "customers",
      +    "positioning"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / $defs / WatchTopicInterval
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "disabled_at": {
      +      "anyOf": [
      +        {
      +          "format": "date-time",
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "enabled_at": {
      +      "format": "date-time",
      +      "type": "string"
      +    },
      +    "topic": {
      +      "$ref": "#/$defs/WatchTopic"
      +    }
      +  },
      +  "required": [
      +    "topic",
      +    "enabled_at",
      +    "disabled_at"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / $defs / WatchUpdateRequest
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "requested_frequency": {
      +      "$ref": "#/$defs/WatchFrequency"
      +    },
      +    "status": {
      +      "$ref": "#/$defs/WatchStatus"
      +    },
      +    "topics": {
      +      "items": {
      +        "$ref": "#/$defs/WatchTopic"
      +      },
      +      "type": "array"
      +    },
      +    "webhook": {
      +      "anyOf": [
      +        {
      +          "$ref": "#/$defs/WatchWebhook"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    }
      +  },
      +  "required": [],
      +  "type": "object"
      +}
    • addedInput schema / $defs / WatchWebhook
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "secret": {
      +      "type": "string",
      +      "writeOnly": true
      +    },
      +    "url": {
      +      "format": "uri",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "url",
      +    "secret"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / $defs / WatchWebhookConfig
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "url": {
      +      "format": "uri",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "url"
      +  ],
      +  "type": "object"
      +}
  7. Changed2 schema fields changed
    • addedInput schema / $defs / BrandLogoData
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "brand": {
      +      "properties": {
      +        "favicon_url": {
      +          "format": "uri",
      +          "type": "string"
      +        },
      +        "logo_url": {
      +          "description": "Primary brand logo URL, when available.",
      +          "format": "uri",
      +          "type": "string"
      +        },
      +        "logos": {
      +          "description": "Candidate logo variants detected on the page.",
      +          "items": {
      +            "properties": {
      +              "kind": {
      +                "description": "Asset slot and format (e.g. logo.svg, favicon.ico).",
      +                "type": "string"
      +              },
      +              "url": {
      +                "format": "uri",
      +                "type": "string"
      +              }
      +            },
      +            "type": "object"
      +          },
      +          "type": "array"
      +        },
      +        "name": {
      +          "description": "Public site/brand name detected on the page, when available.",
      +          "type": "string"
      +        },
      +        "og_image": {
      +          "format": "uri",
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "url": {
      +      "description": "The snapshot target URL the logos were extracted from.",
      +      "format": "uri",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "url"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / $defs / BrandLogoResponse
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "data": {
      +      "$ref": "#/$defs/BrandLogoData"
      +    },
      +    "meta": {
      +      "$ref": "#/$defs/ResponseMeta"
      +    }
      +  },
      +  "required": [
      +    "data",
      +    "meta"
      +  ],
      +  "type": "object"
      +}
  8. Changed24 schema fields changed
    • addedInput schema / $defs / BrandFontsData
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "count": {
      +      "minimum": 0,
      +      "type": "integer"
      +    },
      +    "domain": {
      +      "type": "string"
      +    },
      +    "fonts": {
      +      "items": {
      +        "additionalProperties": true,
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "url": {
      +      "format": "uri",
      +      "type": "string"
      +    },
      +    "words_count": {
      +      "description": "Word count reported by the rendered page metadata, when available.",
      +      "minimum": 0,
      +      "type": "integer"
      +    }
      +  },
      +  "required": [
      +    "domain",
      +    "url",
      +    "count"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / $defs / BrandFontsResponse
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "data": {
      +      "$ref": "#/$defs/BrandFontsData"
      +    },
      +    "meta": {
      +      "$ref": "#/$defs/ResponseMeta"
      +    }
      +  },
      +  "required": [
      +    "data",
      +    "meta"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / $defs / CreditTopupRequired
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "balance_micro": {
      +      "type": "integer"
      +    },
      +    "code": {
      +      "enum": [
      +        "topup_required"
      +      ],
      +      "type": "string"
      +    },
      +    "price_micro": {
      +      "type": "integer"
      +    },
      +    "topup_url": {
      +      "enum": [
      +        "/v1/billing/topup/intents"
      +      ],
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "code",
      +    "balance_micro",
      +    "price_micro",
      +    "topup_url"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / $defs / Error
      Added value: +{
      +  "properties": {
      +    "error": {
      +      "properties": {
      +        "code": {
      +          "type": "string"
      +        },
      +        "message": {
      +          "type": "string"
      +        },
      +        "request_id": {
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    }
      +  },
      +  "type": "object"
      +}
    • addedInput schema / $defs / ErrorDetail
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "code": {
      +      "type": "string"
      +    },
      +    "message": {
      +      "type": "string"
      +    },
      +    "request_id": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "code",
      +    "message",
      +    "request_id"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / $defs / ErrorResponse
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "error": {
      +      "$ref": "#/$defs/ErrorDetail"
      +    }
      +  },
      +  "required": [
      +    "error"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / $defs / Monitor
      Added value: +{
      +  "properties": {
      +    "baseline_completed": {
      +      "type": "boolean"
      +    },
      +    "created_at": {
      +      "format": "date-time",
      +      "type": "string"
      +    },
      +    "detector": {
      +      "enum": [
      +        "price",
      +        "saas_pricing",
      +        "product_change"
      +      ],
      +      "type": "string"
      +    },
      +    "frequency": {
      +      "enum": [
      +        "15m",
      +        "1h",
      +        "6h",
      +        "12h",
      +        "24h"
      +      ],
      +      "type": "string"
      +    },
      +    "id": {
      +      "format": "uuid",
      +      "type": "string"
      +    },
      +    "initialization_error_reason": {
      +      "description": "Most recent changedetection initialization failure reason",
      +      "type": "string"
      +    },
      +    "initialization_next_retry_at": {
      +      "description": "Next worker retry time for retryable initialization",
      +      "format": "date-time",
      +      "type": "string"
      +    },
      +    "initialization_state": {
      +      "description": "Asynchronous changedetection watch initialization state",
      +      "enum": [
      +        "pending",
      +        "initializing",
      +        "retryable",
      +        "ready",
      +        "failed"
      +      ],
      +      "type": "string"
      +    },
      +    "next_run_at": {
      +      "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.",
      +      "format": "date-time",
      +      "type": "string"
      +    },
      +    "paused": {
      +      "type": "boolean"
      +    },
      +    "sync_error_reason": {
      +      "description": "Most recent changedetection engine watch reconciliation failure reason",
      +      "type": "string"
      +    },
      +    "sync_next_retry_at": {
      +      "description": "Next worker retry time for retryable engine watch reconciliation",
      +      "format": "date-time",
      +      "type": "string"
      +    },
      +    "sync_state": {
      +      "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.",
      +      "enum": [
      +        "none",
      +        "pending",
      +        "running",
      +        "retryable",
      +        "failed",
      +        "synced"
      +      ],
      +      "type": "string"
      +    },
      +    "updated_at": {
      +      "format": "date-time",
      +      "type": "string"
      +    },
      +    "url": {
      +      "format": "uri",
      +      "type": "string"
      +    },
      +    "webhook": {
      +      "allOf": [
      +        {
      +          "$ref": "#/$defs/MonitorWebhook"
      +        }
      +      ],
      +      "description": "Secret is write-only and never returned"
      +    }
      +  },
      +  "required": [
      +    "id",
      +    "url",
      +    "detector",
      +    "frequency",
      +    "paused"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / $defs / MonitorChangeEvent
      Added value: +{
      +  "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.",
      +  "properties": {
      +    "change_type": {
      +      "description": "Bounded detector change kind resolved by the detector/Jev judgement.",
      +      "type": "string"
      +    },
      +    "detected_at": {
      +      "format": "date-time",
      +      "type": "string"
      +    },
      +    "detector": {
      +      "enum": [
      +        "price",
      +        "saas_pricing",
      +        "product_change"
      +      ],
      +      "type": "string"
      +    },
      +    "event_id": {
      +      "description": "Stable canonical event identity (X-ReplyNodes-Event-Id); identical for every delivery attempt.",
      +      "format": "uuid",
      +      "type": "string"
      +    },
      +    "event_type": {
      +      "enum": [
      +        "monitor.change.detected"
      +      ],
      +      "type": "string"
      +    },
      +    "event_version": {
      +      "description": "Canonical envelope version. Receivers must branch on it.",
      +      "type": "integer"
      +    },
      +    "evidence": {
      +      "description": "Durable evidence/diff reference for this run (repository identifiers and content hashes, never page content).",
      +      "properties": {
      +        "bytes": {
      +          "format": "int64",
      +          "type": "integer"
      +        },
      +        "commit": {
      +          "type": "string"
      +        },
      +        "manifest_path": {
      +          "type": "string"
      +        },
      +        "manifest_sha256": {
      +          "type": "string"
      +        },
      +        "repository": {
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "importance": {
      +      "enum": [
      +        "low",
      +        "medium",
      +        "high"
      +      ],
      +      "type": "string"
      +    },
      +    "jev_confidence": {
      +      "description": "Raw Jev provider probability for a valid semantic judgement; present only when applicable and not calibrated confidence.",
      +      "type": "number"
      +    },
      +    "monitor_id": {
      +      "format": "uuid",
      +      "type": "string"
      +    },
      +    "run_id": {
      +      "format": "uuid",
      +      "type": "string"
      +    },
      +    "summary": {
      +      "description": "Bounded, page-content-free human summary.",
      +      "type": "string"
      +    },
      +    "url": {
      +      "description": "Monitored public URL.",
      +      "format": "uri",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "event_version",
      +    "event_id",
      +    "event_type",
      +    "monitor_id",
      +    "run_id",
      +    "detector",
      +    "url",
      +    "change_type",
      +    "importance",
      +    "summary",
      +    "detected_at"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / $defs / MonitorCreateRequest
      Added value: +{
      +  "properties": {
      +    "detector": {
      +      "enum": [
      +        "price",
      +        "saas_pricing",
      +        "product_change"
      +      ],
      +      "type": "string"
      +    },
      +    "frequency": {
      +      "enum": [
      +        "15m",
      +        "1h",
      +        "6h",
      +        "12h",
      +        "24h"
      +      ],
      +      "type": "string"
      +    },
      +    "url": {
      +      "format": "uri",
      +      "type": "string"
      +    },
      +    "webhook": {
      +      "$ref": "#/$defs/MonitorWebhook"
      +    }
      +  },
      +  "required": [
      +    "url",
      +    "detector",
      +    "frequency"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / $defs / MonitorEnvelope
      Added value: +{
      +  "properties": {
      +    "data": {
      +      "$ref": "#/$defs/Monitor"
      +    },
      +    "meta": {
      +      "properties": {
      +        "initialization": {
      +          "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.",
      +          "type": "string"
      +        },
      +        "request_id": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "request_id"
      +      ],
      +      "type": "object"
      +    }
      +  },
      +  "required": [
      +    "data",
      +    "meta"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / $defs / MonitorHistoryPage
      Added value: +{
      +  "properties": {
      +    "data": {
      +      "items": {
      +        "$ref": "#/$defs/MonitorRun"
      +      },
      +      "type": "array"
      +    },
      +    "meta": {
      +      "$ref": "#/$defs/MonitorPageMeta"
      +    }
      +  },
      +  "required": [
      +    "data",
      +    "meta"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / $defs / MonitorPage
      Added value: +{
      +  "properties": {
      +    "data": {
      +      "items": {
      +        "$ref": "#/$defs/Monitor"
      +      },
      +      "type": "array"
      +    },
      +    "meta": {
      +      "$ref": "#/$defs/MonitorPageMeta"
      +    }
      +  },
      +  "required": [
      +    "data",
      +    "meta"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / $defs / MonitorPageMeta
      Added value: +{
      +  "properties": {
      +    "has_more": {
      +      "type": "boolean"
      +    },
      +    "next_cursor": {
      +      "type": "string"
      +    },
      +    "request_id": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "request_id",
      +    "has_more"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / $defs / MonitorRun
      Added value: +{
      +  "properties": {
      +    "baseline": {
      +      "type": "boolean"
      +    },
      +    "changed": {
      +      "type": "boolean"
      +    },
      +    "credits": {
      +      "type": "integer"
      +    },
      +    "id": {
      +      "format": "uuid",
      +      "type": "string"
      +    },
      +    "status": {
      +      "type": "string"
      +    },
      +    "timestamp": {
      +      "format": "date-time",
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
    • addedInput schema / $defs / MonitorUpdateRequest
      Added value: +{
      +  "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.",
      +  "properties": {
      +    "frequency": {
      +      "enum": [
      +        "15m",
      +        "1h",
      +        "6h",
      +        "12h",
      +        "24h"
      +      ],
      +      "type": "string"
      +    },
      +    "paused": {
      +      "type": "boolean"
      +    },
      +    "webhook": {
      +      "anyOf": [
      +        {
      +          "$ref": "#/$defs/MonitorWebhook"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    }
      +  },
      +  "type": "object"
      +}
    • addedInput schema / $defs / MonitorWebhook
      Added value: +{
      +  "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.",
      +  "properties": {
      +    "secret": {
      +      "description": "HMAC secret used to sign deliveries. Write-only: it is never returned, logged, or rendered into the payload.",
      +      "type": "string",
      +      "writeOnly": true
      +    },
      +    "url": {
      +      "format": "uri",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "url"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / $defs / Pagination
      Added value: +{
      +  "additionalProperties": true,
      +  "properties": {
      +    "has_more": {
      +      "type": "boolean"
      +    },
      +    "limit": {
      +      "type": "integer"
      +    },
      +    "next_cursor": {
      +      "type": "string"
      +    },
      +    "page": {
      +      "type": "integer"
      +    }
      +  },
      +  "type": "object"
      +}
    • addedInput schema / $defs / PaymentRequired
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "accepts": {
      +      "items": {
      +        "$ref": "#/$defs/PaymentRequirements"
      +      },
      +      "minItems": 1,
      +      "type": "array"
      +    },
      +    "error": {
      +      "type": "string"
      +    },
      +    "extensions": {
      +      "oneOf": [
      +        {
      +          "$ref": "#/$defs/PaymentRequiredAccountlessExtensions"
      +        },
      +        {
      +          "$ref": "#/$defs/PaymentRequiredPrepaidExtensions"
      +        }
      +      ]
      +    },
      +    "resource": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "mimeType": {
      +          "type": "string"
      +        },
      +        "url": {
      +          "format": "uri",
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "url",
      +        "mimeType"
      +      ],
      +      "type": "object"
      +    },
      +    "x402Version": {
      +      "enum": [
      +        2
      +      ],
      +      "type": "integer"
      +    }
      +  },
      +  "required": [
      +    "x402Version",
      +    "error",
      +    "resource",
      +    "accepts",
      +    "extensions"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / $defs / PaymentRequiredAccountlessExtensions
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "x-replynodes-accountless": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "bearer_supported": {
      +          "enum": [
      +            false
      +          ],
      +          "type": "boolean"
      +        },
      +        "payment_mode": {
      +          "enum": [
      +            "x402_only"
      +          ],
      +          "type": "string"
      +        },
      +        "prepaid_supported": {
      +          "enum": [
      +            false
      +          ],
      +          "type": "boolean"
      +        }
      +      },
      +      "required": [
      +        "payment_mode",
      +        "bearer_supported",
      +        "prepaid_supported"
      +      ],
      +      "type": "object"
      +    }
      +  },
      +  "required": [
      +    "x-replynodes-accountless"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / $defs / PaymentRequiredPrepaidExtensions
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "topup": {
      +      "additionalProperties": false,
      +      "properties": {
      +        "topup_url": {
      +          "enum": [
      +            "/v1/billing/topup/intents"
      +          ],
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "topup_url"
      +      ],
      +      "type": "object"
      +    }
      +  },
      +  "required": [
      +    "topup"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / $defs / PaymentRequiredResponse
      Added value: +{
      +  "oneOf": [
      +    {
      +      "$ref": "#/$defs/PaymentRequired"
      +    },
      +    {
      +      "$ref": "#/$defs/CreditTopupRequired"
      +    }
      +  ]
      +}
    • addedInput schema / $defs / PaymentRequirements
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "amount": {
      +      "type": "string"
      +    },
      +    "asset": {
      +      "type": "string"
      +    },
      +    "extra": {
      +      "additionalProperties": true,
      +      "type": "object"
      +    },
      +    "maxTimeoutSeconds": {
      +      "type": "integer"
      +    },
      +    "network": {
      +      "type": "string"
      +    },
      +    "payTo": {
      +      "type": "string"
      +    },
      +    "scheme": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "scheme",
      +    "network",
      +    "asset",
      +    "amount",
      +    "payTo",
      +    "maxTimeoutSeconds"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / $defs / ResponseMeta
      Added value: +{
      +  "additionalProperties": true,
      +  "properties": {
      +    "availability": {
      +      "type": "string"
      +    },
      +    "contract_version": {
      +      "type": "string"
      +    },
      +    "generated_at": {
      +      "format": "date-time",
      +      "type": "string"
      +    },
      +    "missing_fields": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "next_cursor": {
      +      "type": "string"
      +    },
      +    "request_id": {
      +      "type": "string"
      +    },
      +    "stale": {
      +      "type": "boolean"
      +    }
      +  },
      +  "required": [
      +    "request_id"
      +  ],
      +  "type": "object"
      +}
    • addedInput schema / $defs / SuccessResponse
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "data": {},
      +    "meta": {
      +      "$ref": "#/$defs/ResponseMeta"
      +    }
      +  },
      +  "required": [
      +    "data",
      +    "meta"
      +  ],
      +  "type": "object"
      +}
  9. Added

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Since no annotations are provided, the description carries the burden and does disclose that a ReplyNodes API key or OAuth access token is required and that only normalized public data is returned. However, it omits rate limits, pagination behavior, error cases, and response structure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose is front-loaded, but "Read public app ratings" is repeated verbatim, and the authentication sentence adds boilerplate. The HTTP route and data-boundary note are useful, but the repetition is waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers authentication and the public-data boundary, but with no output schema it does not explain what ratings data is returned, such as average score, count, or distribution. For a simple read tool this is adequate but incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the three optional parameters are already described in the schema. The description adds no additional meaning about id vs appId selection, country behavior, or examples, so the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: "Read public app ratings," with the HTTP route GET /v1/appstore/ratings reinforcing the scope. It distinguishes itself from a reviews tool by naming "ratings," but it does not explicitly differentiate itself from sibling tools such as reviews or googleplay_reviews.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives authentication requirements but no guidance on when to choose this tool over alternatives like reviews or googleplay_reviews. It implies a read operation for an app, but offers no exclusions or selection criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.