youtube_playlist
MCP tool calls require a ReplyNodes API key or OAuth access token.
HTTP: GET /v1/youtube/playlist/{id}
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | path parameter | |
| language | No | query parameter |
MCP tool calls require a ReplyNodes API key or OAuth access token.
HTTP: GET /v1/youtube/playlist/{id}
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | path parameter | |
| language | No | query parameter |
Changes observed during successful MCP inspections.
Input schema / $defs / AppResponseAdded 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"
+}Input schema / $defs / BrandSearchResponseAdded 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"
+}Input schema / $defs / BrandStyleguideResponseAdded 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"
+}Input schema / $defs / ErrorEnvelopeAdded 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"
+}Input schema / $defs / GatewayResponseMetaAdded 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"
+}Input schema / $defs / WebContextBrandResponseAdded 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"
+}Input schema / $defs / WebContextCrawlResponseAdded 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"
+}Input schema / $defs / WebContextMapResponseAdded 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"
+}Input schema / $defs / WebContextMetadataAdded 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"
+}Input schema / $defs / WebContextScrapeResponseAdded 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"
+}Input schema / $defs / BrandRetrieveAssetAdded value: +{
+ "properties": {
+ "kind": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "url"
+ ],
+ "type": "object"
+}Input schema / $defs / BrandRetrieveColorAdded value: +{
+ "properties": {
+ "count": {
+ "format": "int64",
+ "type": "integer"
+ },
+ "hex": {
+ "type": "string"
+ },
+ "usage": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "hex"
+ ],
+ "type": "object"
+}Input schema / $defs / BrandRetrieveResponseAdded 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"
+}Input schema / $defs / CreditTopupRequired / properties / messageAdded value: +{
+ "type": "string"
+}Input schema / $defs / CreditTopupRequired / properties / topup_url / descriptionAdded value: +"Owner billing page for managing prepaid credits."Input schema / $defs / CreditTopupRequired / properties / topup_url / enumRemoved value: -[
- "/v1/billing/topup/intents"
-]Input schema / $defs / CreditTopupRequired / properties / topup_url / formatAdded value: +"uri"Input schema / $defs / CreditTopupRequired / properties / upgradeAdded 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"
+}Input schema / $defs / ErrorDetail / properties / detailRemoved value: -{
- "description": "Safe, actionable guidance. Emitted only for error codes that define it (currently source_excluded).",
- "type": "string"
-}Input schema / $defs / ErrorDetail / properties / readmeRemoved value: -{
- "description": "Link to the published error documentation page. Reserved; absent until the docs page is live.",
- "type": "string"
-}Input schema / $defs / ErrorDetail / properties / statusRemoved value: -{
- "description": "Stable numeric ReplyNodes detail code. Emitted only for error codes that define one (currently source_excluded = 45101).",
- "type": "integer"
-}Input schema / $defs / PaymentRequiredRemoved 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"
-}Input schema / $defs / PaymentRequiredAccountlessExtensionsRemoved 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"
-}Input schema / $defs / PaymentRequiredPrepaidExtensionsRemoved 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"
-}Input schema / $defs / PaymentRequiredResponseRemoved value: -{
- "oneOf": [
- {
- "$ref": "#/$defs/PaymentRequired"
- },
- {
- "$ref": "#/$defs/CreditTopupRequired"
- }
- ]
-}Input schema / $defs / PaymentRequirementsRemoved 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"
-}Input schema / $defs / RegistryBillingAdded value: +{
+ "additionalProperties": false,
+ "properties": {
+ "credit_cost": {
+ "format": "int64",
+ "minimum": 0,
+ "type": "integer"
+ },
+ "metered": {
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "metered"
+ ],
+ "type": "object"
+}Input schema / $defs / RegistryDataAdded 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"
+}Input schema / $defs / RegistryOpenAPIAdded 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"
+}Input schema / $defs / RegistryProviderAdded 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"
+}Input schema / $defs / RegistryResponseAdded 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"
+}Input schema / $defs / RegistryRouteAdded 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"
+}Input schema / $defs / MarkdownHostErrorAdded 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"
+}Input schema / $defs / MarkdownJsonResponseAdded 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"
+}Input schema / $defs / Watch / properties / unavailable_topicsAdded value: +{
+ "description": "Currently active subscriptions whose event families are unavailable; their topic intervals and history remain retained.",
+ "items": {
+ "$ref": "#/$defs/WatchTopic"
+ },
+ "type": "array"
+}Input schema / $defs / Watch / requiredPrevious 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"
+]Input schema / $defs / AnonymousContinuationAdded value: +{
+ "properties": {
+ "url": {
+ "const": "https://replynodes.com/auth.md",
+ "format": "uri",
+ "type": "string"
+ }
+ },
+ "required": [
+ "url"
+ ],
+ "type": "object"
+}Input schema / $defs / AnonymousQuotaErrorAdded 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"
+}Input schema / $defs / ErrorDetail / properties / detailAdded value: +{
+ "description": "Safe, actionable guidance. Emitted only for error codes that define it (currently source_excluded).",
+ "type": "string"
+}Input schema / $defs / ErrorDetail / properties / readmeAdded value: +{
+ "description": "Link to the published error documentation page. Reserved; absent until the docs page is live.",
+ "type": "string"
+}Input schema / $defs / ErrorDetail / properties / statusAdded value: +{
+ "description": "Stable numeric ReplyNodes detail code. Emitted only for error codes that define one (currently source_excluded = 45101).",
+ "type": "integer"
+}Input schema / $defs / ResearchWorkflowDataAdded 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"
+}Input schema / $defs / ResearchWorkflowResponseAdded value: +{
+ "properties": {
+ "data": {
+ "$ref": "#/$defs/ResearchWorkflowData"
+ },
+ "meta": {
+ "additionalProperties": true,
+ "type": "object"
+ }
+ },
+ "required": [
+ "data",
+ "meta"
+ ],
+ "type": "object"
+}Input schema / $defs / ResearchWorkflowTargetAdded 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"
+}Input schema / $defs / CCIConfidenceAdded 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"
+}Input schema / $defs / CCIEventAdded 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"
+}Input schema / $defs / CCIEventDataAdded 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"
+}Input schema / $defs / CCIEventDetectorAdded 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"
+}Input schema / $defs / CCIEventEntityAdded value: +{
+ "additionalProperties": false,
+ "properties": {
+ "domain": {
+ "type": "string"
+ },
+ "id": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "domain"
+ ],
+ "type": "object"
+}Input schema / $defs / CCIEventEnvelopeAdded value: +{
+ "additionalProperties": false,
+ "properties": {
+ "data": {
+ "$ref": "#/$defs/CCIEvent"
+ },
+ "meta": {
+ "$ref": "#/$defs/CCIRequestMeta"
+ }
+ },
+ "required": [
+ "data",
+ "meta"
+ ],
+ "type": "object"
+}Input schema / $defs / CCIEventLineageAdded 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"
+}Input schema / $defs / CCIEventPageAdded value: +{
+ "additionalProperties": false,
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/$defs/CCIEvent"
+ },
+ "type": "array"
+ },
+ "meta": {
+ "$ref": "#/$defs/CCIPageMeta"
+ }
+ },
+ "required": [
+ "data",
+ "meta"
+ ],
+ "type": "object"
+}Input schema / $defs / CCIEventSourceAdded value: +{
+ "additionalProperties": false,
+ "properties": {
+ "page_ids": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "urls": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "required": [
+ "page_ids",
+ "urls"
+ ],
+ "type": "object"
+}Input schema / $defs / CCIEvidenceAdded 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"
+}Input schema / $defs / CCIHistoryEnvelopeAdded 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"
+}Input schema / $defs / CCIIntelligenceAdded 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"
+}Input schema / $defs / CCIIntelligenceEnvelopeAdded value: +{
+ "additionalProperties": false,
+ "properties": {
+ "data": {
+ "$ref": "#/$defs/CCIIntelligence"
+ },
+ "meta": {
+ "$ref": "#/$defs/CCIRequestMeta"
+ }
+ },
+ "required": [
+ "data",
+ "meta"
+ ],
+ "type": "object"
+}Input schema / $defs / CCIMoneyAdded value: +{
+ "additionalProperties": false,
+ "properties": {
+ "amount": {
+ "type": "number"
+ },
+ "currency": {
+ "type": "string"
+ },
+ "period": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "amount",
+ "currency",
+ "period"
+ ],
+ "type": "object"
+}Input schema / $defs / CCIPageMetaAdded 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"
+}Input schema / $defs / CCIRequestMetaAdded value: +{
+ "additionalProperties": false,
+ "properties": {
+ "request_id": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "request_id"
+ ],
+ "type": "object"
+}Input schema / $defs / CCIStateRefAdded 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"
+}Input schema / $defs / CCITopicStateAdded 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"
+}Input schema / $defs / WatchAdded 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"
+}Input schema / $defs / WatchCoverageAdded 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"
+}Input schema / $defs / WatchCreateRequestAdded 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"
+}Input schema / $defs / WatchEntityAdded 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"
+}Input schema / $defs / WatchEnvelopeAdded value: +{
+ "additionalProperties": false,
+ "properties": {
+ "data": {
+ "$ref": "#/$defs/Watch"
+ },
+ "meta": {
+ "$ref": "#/$defs/CCIRequestMeta"
+ }
+ },
+ "required": [
+ "data",
+ "meta"
+ ],
+ "type": "object"
+}Input schema / $defs / WatchFrequencyAdded value: +{
+ "enum": [
+ "24h",
+ "6h"
+ ],
+ "type": "string"
+}Input schema / $defs / WatchPageAdded value: +{
+ "additionalProperties": false,
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/$defs/Watch"
+ },
+ "type": "array"
+ },
+ "meta": {
+ "$ref": "#/$defs/CCIPageMeta"
+ }
+ },
+ "required": [
+ "data",
+ "meta"
+ ],
+ "type": "object"
+}Input schema / $defs / WatchStatusAdded value: +{
+ "enum": [
+ "active",
+ "paused",
+ "archived"
+ ],
+ "type": "string"
+}Input schema / $defs / WatchTopicAdded value: +{
+ "enum": [
+ "pricing",
+ "product",
+ "integrations",
+ "customers",
+ "positioning"
+ ],
+ "type": "string"
+}Input schema / $defs / WatchTopicIntervalAdded 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"
+}Input schema / $defs / WatchUpdateRequestAdded 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"
+}Input schema / $defs / WatchWebhookAdded value: +{
+ "additionalProperties": false,
+ "properties": {
+ "secret": {
+ "type": "string",
+ "writeOnly": true
+ },
+ "url": {
+ "format": "uri",
+ "type": "string"
+ }
+ },
+ "required": [
+ "url",
+ "secret"
+ ],
+ "type": "object"
+}Input schema / $defs / WatchWebhookConfigAdded value: +{
+ "additionalProperties": false,
+ "properties": {
+ "url": {
+ "format": "uri",
+ "type": "string"
+ }
+ },
+ "required": [
+ "url"
+ ],
+ "type": "object"
+}Input schema / $defs / BrandLogoDataAdded 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"
+}Input schema / $defs / BrandLogoResponseAdded value: +{
+ "additionalProperties": false,
+ "properties": {
+ "data": {
+ "$ref": "#/$defs/BrandLogoData"
+ },
+ "meta": {
+ "$ref": "#/$defs/ResponseMeta"
+ }
+ },
+ "required": [
+ "data",
+ "meta"
+ ],
+ "type": "object"
+}Input schema / $defs / BrandFontsDataAdded 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"
+}Input schema / $defs / BrandFontsResponseAdded value: +{
+ "additionalProperties": false,
+ "properties": {
+ "data": {
+ "$ref": "#/$defs/BrandFontsData"
+ },
+ "meta": {
+ "$ref": "#/$defs/ResponseMeta"
+ }
+ },
+ "required": [
+ "data",
+ "meta"
+ ],
+ "type": "object"
+}Input schema / $defs / CreditTopupRequiredAdded 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"
+}Input schema / $defs / ErrorAdded value: +{
+ "properties": {
+ "error": {
+ "properties": {
+ "code": {
+ "type": "string"
+ },
+ "message": {
+ "type": "string"
+ },
+ "request_id": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "type": "object"
+}Input schema / $defs / ErrorDetailAdded value: +{
+ "additionalProperties": false,
+ "properties": {
+ "code": {
+ "type": "string"
+ },
+ "message": {
+ "type": "string"
+ },
+ "request_id": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "code",
+ "message",
+ "request_id"
+ ],
+ "type": "object"
+}Input schema / $defs / ErrorResponseAdded value: +{
+ "additionalProperties": false,
+ "properties": {
+ "error": {
+ "$ref": "#/$defs/ErrorDetail"
+ }
+ },
+ "required": [
+ "error"
+ ],
+ "type": "object"
+}Input schema / $defs / MonitorAdded 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"
+}Input schema / $defs / MonitorChangeEventAdded 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"
+}Input schema / $defs / MonitorCreateRequestAdded 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"
+}Input schema / $defs / MonitorEnvelopeAdded 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"
+}Input schema / $defs / MonitorHistoryPageAdded value: +{
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/$defs/MonitorRun"
+ },
+ "type": "array"
+ },
+ "meta": {
+ "$ref": "#/$defs/MonitorPageMeta"
+ }
+ },
+ "required": [
+ "data",
+ "meta"
+ ],
+ "type": "object"
+}Input schema / $defs / MonitorPageAdded value: +{
+ "properties": {
+ "data": {
+ "items": {
+ "$ref": "#/$defs/Monitor"
+ },
+ "type": "array"
+ },
+ "meta": {
+ "$ref": "#/$defs/MonitorPageMeta"
+ }
+ },
+ "required": [
+ "data",
+ "meta"
+ ],
+ "type": "object"
+}Input schema / $defs / MonitorPageMetaAdded value: +{
+ "properties": {
+ "has_more": {
+ "type": "boolean"
+ },
+ "next_cursor": {
+ "type": "string"
+ },
+ "request_id": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "request_id",
+ "has_more"
+ ],
+ "type": "object"
+}Input schema / $defs / MonitorRunAdded 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"
+}Input schema / $defs / MonitorUpdateRequestAdded 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"
+}Input schema / $defs / MonitorWebhookAdded 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"
+}Input schema / $defs / PaginationAdded value: +{
+ "additionalProperties": true,
+ "properties": {
+ "has_more": {
+ "type": "boolean"
+ },
+ "limit": {
+ "type": "integer"
+ },
+ "next_cursor": {
+ "type": "string"
+ },
+ "page": {
+ "type": "integer"
+ }
+ },
+ "type": "object"
+}Input schema / $defs / PaymentRequiredAdded 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"
+}Input schema / $defs / PaymentRequiredAccountlessExtensionsAdded 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"
+}Input schema / $defs / PaymentRequiredPrepaidExtensionsAdded 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"
+}Input schema / $defs / PaymentRequiredResponseAdded value: +{
+ "oneOf": [
+ {
+ "$ref": "#/$defs/PaymentRequired"
+ },
+ {
+ "$ref": "#/$defs/CreditTopupRequired"
+ }
+ ]
+}Input schema / $defs / PaymentRequirementsAdded 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"
+}Input schema / $defs / ResponseMetaAdded 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"
+}Input schema / $defs / SuccessResponseAdded value: +{
+ "additionalProperties": false,
+ "properties": {
+ "data": {},
+ "meta": {
+ "$ref": "#/$defs/ResponseMeta"
+ }
+ },
+ "required": [
+ "data",
+ "meta"
+ ],
+ "type": "object"
+}Input schema / $defsAdded value: +{
+ "RedditResponse": {
+ "additionalProperties": true,
+ "type": "object"
+ }
+}Input schema / additionalPropertiesAdded value: +falseInput schema / properties / id / descriptionAdded value: +"path parameter"Input schema / properties / language / descriptionAdded value: +"query parameter"Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden. It does disclose a real behavioral prerequisite (API key or OAuth token required), but says nothing about read-only semantics, credit/billing cost, rate limits, or what the payload contains — and the auth line reads like gateway boilerplate shared across all tools rather than tool-specific context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with no padding, but the content is under-specified rather than concise — the space saved buys no useful information about the operation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description is the only place an agent could learn what a playlist response includes and whether the call is a safe read. It provides only an auth note and a route, leaving the core contract undocumented.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers both parameters, but only with placeholders ("path parameter", "query parameter"), so the structured data says little. The description adds nothing about what `id` identifies or how `language` affects results; per the high-coverage rule this stays at baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description never says in words what the tool does; it only echoes the name back as an HTTP route ("GET /v1/youtube/playlist/{id}"). An agent can infer 'fetch a playlist by id', but nothing distinguishes it from siblings like youtube_video, youtube_channel or youtube_related.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to call this versus youtube_search, youtube_video, or youtube_channel, and no preconditions beyond the auth note. The agent must infer usage entirely from the route string.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.