ReplyNodes
Server Details
Web MCP: scrape/crawl sites, web search, brand assets, app stores, YouTube, Reddit, Hacker News.
- Status
- Healthy
- Uptime
- 85.5% over 29 days
- Last Tested
- Transport
- Streamable HTTP ยท MCP 2025-11-25
- URL
- Repository
- replynodes/replynodes-mcp
- GitHub Stars
- 4
- Server Listing
- @replynodes/mcp
TDQS
Scored across 66 tools
Tools like brand_retrieve, brand_logo, brand_fonts, brand_styleguide, and webcontext_brand overlap in brand extraction, while generic App Store names (app, search, list, reviews) require reading descriptions to distinguish from other domains. Descriptions mostly clarify boundaries, so misselection is possible but not rampant.
All names use snake_case, and many domains have consistent prefixes (googleplay_, hackernews_, youtube_, monitor_). However, App Store and Reddit tools lack domain prefixes, and verb styles mix (app vs. get_company_events vs. monitor_create vs. web_search), so consistency is only moderate.
66 tools is far above the typical 3-15 range and exceeds the 25+ threshold for 'too many'; while the server aggregates many providers, a single MCP surface this large is unwieldy and should be split. Each endpoint may earn its place individually, but the overall set is excessive for one server.
Coverage is broad across app stores, brand/webcontext, Hacker News, YouTube, monitors, and company intelligence, but notable gaps exist: Reddit lacks comments, Hacker News lacks user submissions, and monitors lack delete (pause is only via update). These are workable but significant omissions.
Available Tools
70 toolsanonymous_brandInspect
Read public brand intelligence
Already-anonymous Brand gateway route for canonical capability brand-kit (fixed Tier A: 20 valid requests per trusted client-IP bucket per UTC calendar day). Domain validation occurs before admission; cache hits and upstream failures consume one unit. X-RateLimit-Limit is the effective fixed tier limit, X-RateLimit-Remaining is the capability bucket balance, and X-RateLimit-Reset is the next UTC midnight Unix timestamp.
HTTP: GET /{domain}
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | path parameter |
anonymous_company_researchInspect
Run the anonymous company-research workflow
Top-level anonymous company-research workflow for canonical capability company-research (fixed Tier C: 3 valid requests per trusted client-IP bucket per UTC calendar day). A valid request is admitted once, before the read-only server-side fan-out; the url-to-markdown, brand-kit, and brand-logo primitives composed inside the workflow are server-owned and never charged a second anonymous bucket. Malformed input is rejected before admission; admitted provider failures consume one unit. X-RateLimit-Limit is 3, X-RateLimit-Remaining is the Tier C bucket balance, and X-RateLimit-Reset is the next UTC midnight Unix timestamp. Redis failure returns 503 degraded.
HTTP: GET /v1/company-research
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | query parameter |
anonymous_competitor_researchInspect
Run the anonymous competitor-research workflow
Top-level anonymous competitor-research workflow for canonical capability competitor-research (fixed Tier C: 3 valid requests per trusted client-IP bucket per UTC calendar day). One admitted request fans out read-only to the company domain plus up to 5 competitor domains; the whole composition is charged once and primitives are never charged a second anonymous bucket. Malformed input (missing/invalid domain, empty/invalid/oversized competitor list) is rejected before admission. See /v1/company-research for the shared quota-header contract.
HTTP: GET /v1/competitor-research
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | query parameter | |
| competitors | Yes | query parameter |
anonymous_markdownInspect
Read a public URL as Markdown
Already-anonymous Markdown gateway route for canonical capability url-to-markdown (fixed Tier A: 20 valid requests per trusted client-IP bucket per UTC calendar day). Admission occurs after method and target/SSRF validation and before cache/upstream work; cache hits and upstream failures consume one unit. X-RateLimit-Limit is the effective fixed tier limit, X-RateLimit-Remaining is the capability bucket balance, and X-RateLimit-Reset is the next UTC midnight Unix timestamp. Redis failure returns 503 degraded.
HTTP: GET /md/{target}
| Name | Required | Description | Default |
|---|---|---|---|
| target | Yes | path parameter |
appInspect
Look up one public App Store application
Look up one public App Store application. Returns the normalized public contract; raw provider records are internal to the runtime boundary and never cross the public gateway.
HTTP: GET /v1/appstore/app
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Numeric track id; provide this or appId. | |
| lang | No | Language code. | |
| appId | No | Bundle id; provide this or id. | |
| country | No | Two-letter storefront code. | |
| ratings | No | Include ratings information. |
brand_fontsInspect
Get Fonts
Extract the typography and font stack of a website by domain or URL.
HTTP: GET /v1/brand/fonts
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | One specific page URL to extract font information from instead of the whole domain. | |
| domain | No | Website domain to extract font information from, e.g. replynodes.com. One of domain or url is required. |
brand_logoInspect
Get Brand Logo
Fetch the brand logo kit for one company domain: primary logo URL, candidate logo variants, favicon, and og_image.
HTTP: GET /v1/brand/logo
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Company domain to resolve, e.g. stripe.com. A bare domain only: no scheme, port, path, or credentials. |
brand_retrieveInspect
Retrieve Brand
Resolve the full brand profile of a company by domain, or extract brand details from one specific page URL: name, description, primary logo, logos, colors, fonts, social links, favicon, and og_image.
HTTP: GET /v1/brand/retrieve
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | One specific page URL to extract brand details from instead of the whole domain. | |
| domain | No | Company domain to resolve, e.g. apple.com. One of domain or url is required. |
brand_searchInspect
Search Brand
Fuzzy brand or company search by name or domain; returns up to 10 lightweight matches with domain, name, and logo.
HTTP: GET /v1/brand/search
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of matches to return (default and maximum 10). | |
| query | Yes | Brand name or domain to search for. |
brand_styleguideInspect
Get Styleguide
Extract the design system of a website by domain or URL: colors, typography, spacing, and more.
HTTP: GET /v1/brand/styleguide
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | One specific page URL to extract a styleguide from instead of the whole domain. | |
| domain | No | Website domain to extract a styleguide from, e.g. replynodes.com. One of domain or url is required. |
developerInspect
List applications by developer
List applications by developer. Returns the normalized public contract; raw provider records are internal to the runtime boundary and never cross the public gateway.
HTTP: GET /v1/appstore/developer
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Language code. | |
| devId | Yes | public developer identifier. | |
| country | No | Two-letter storefront code. |
get_company_eventsInspect
List Company Changes events for an Entity
Lists Events for a domain when the organization has a current or retained Watch topic subscription; unentitled Entities return 404.
HTTP: GET /v1/entities/{domain}/events
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | query parameter | |
| limit | No | query parameter | |
| since | No | RFC3339 or a relative 24h/30d window | |
| topic | No | query parameter | |
| until | No | RFC3339 or a relative 24h/30d window | |
| cursor | No | query parameter | |
| domain | Yes | Canonical registrable domain. | |
| watch_id | No | query parameter |
get_company_historyInspect
Retrieve entitled Entity topic history
Returns retained canonical topic history for an entitled Entity, including history older than a Watch; unentitled access returns 404.
HTTP: GET /v1/entities/{domain}/history/{topic}
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | query parameter | |
| topic | Yes | path parameter | |
| cursor | No | query parameter | |
| domain | Yes | Canonical registrable domain. |
get_company_intelligenceInspect
Retrieve entitled Company Changes intelligence
Returns only entitled topic state and recent events plus shared coverage, never internal Entity scheduling.
HTTP: GET /v1/intelligence/{domain}
| Name | Required | Description | Default |
|---|---|---|---|
| domain | Yes | Canonical registrable domain. |
get_fetcher_healthzInspect
Health check
HTTP: GET /fetcher/healthz
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
get_fetcher_readyzInspect
Readiness (auth/db status)
HTTP: GET /fetcher/readyz
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
get_recent_company_eventsInspect
List entitled Company Changes events
Lists canonical Events covered by the organization's current or retained Watch topic subscriptions.
HTTP: GET /v1/events
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | query parameter | |
| limit | No | query parameter | |
| since | No | RFC3339 or a relative 24h/30d window | |
| topic | No | query parameter | |
| until | No | RFC3339 or a relative 24h/30d window | |
| cursor | No | query parameter | |
| entity | No | query parameter | |
| watch_id | No | query parameter |
get_v1_hackernews_capabilitiesInspect
List available operations
HTTP: GET /v1/hackernews/capabilities
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
googleplay_app_detailsInspect
Fetch a single Google Play app's public detail record
Fetch a single Google Play app's public detail record. Returns the normalized public contract; raw provider records are internal to the runtime boundary and never cross the public gateway.
HTTP: GET /v1/googleplay/app_details/{id}
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Google Play package id (e.g. com.nike.snkrs). | |
| country | No | Two-letter storefront code. | |
| language | No | Language code. |
googleplay_availabilityInspect
Fetch a Google Play app's per-storefront availability
Fetch a Google Play app's per-storefront availability. Returns the normalized public contract; raw provider records are internal to the runtime boundary and never cross the public gateway.
HTTP: GET /v1/googleplay/availability/{id}
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Google Play package id (e.g. com.nike.snkrs). | |
| country | No | Two-letter storefront code. | |
| language | No | Language code. | |
| countries | No | Comma-separated storefront codes. |
googleplay_categoriesInspect
List available Google Play category identifiers
List available Google Play category identifiers. Returns the normalized public contract; raw provider records are internal to the runtime boundary and never cross the public gateway.
HTTP: GET /v1/googleplay/categories
| Name | Required | Description | Default |
|---|---|---|---|
| country | No | Two-letter storefront code. | |
| language | No | Language code. |
googleplay_category_appsInspect
Fetch top public apps in a Google Play category
Fetch top public apps in a Google Play category. Returns the normalized public contract; raw provider records are internal to the runtime boundary and never cross the public gateway.
HTTP: GET /v1/googleplay/category_apps/{category}
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of results; values outside 1..50 are rejected. | |
| country | No | Two-letter storefront code. | |
| category | Yes | Google Play category identifier (e.g. GAME, SHOPPING). | |
| language | No | Language code. |
googleplay_data_safetyInspect
Fetch a Google Play app's declared data-safety disclosure
Fetch a Google Play app's declared data-safety disclosure. Returns the normalized public contract; raw provider records are internal to the runtime boundary and never cross the public gateway.
HTTP: GET /v1/googleplay/data_safety/{id}
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Google Play package id (e.g. com.nike.snkrs). | |
| country | No | Two-letter storefront code. | |
| language | No | Language code. |
googleplay_developerInspect
Fetch public apps published by a Google Play developer
Fetch public apps published by a Google Play developer. Returns the normalized public contract; raw provider records are internal to the runtime boundary and never cross the public gateway.
HTTP: GET /v1/googleplay/developer
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of results; values outside 1..50 are rejected. | |
| dev_id | Yes | Google Play developer id. | |
| country | No | Two-letter storefront code. | |
| language | No | Language code. |
googleplay_permissionsInspect
Fetch a Google Play app's declared permissions
Fetch a Google Play app's declared permissions. Returns the normalized public contract; raw provider records are internal to the runtime boundary and never cross the public gateway.
HTTP: GET /v1/googleplay/permissions/{id}
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Google Play package id (e.g. com.nike.snkrs). | |
| country | No | Two-letter storefront code. | |
| language | No | Language code. |
googleplay_reviewsInspect
Fetch public reviews for a Google Play app
Fetch public reviews for a Google Play app. Returns the normalized public contract; raw provider records are internal to the runtime boundary and never cross the public gateway.
HTTP: GET /v1/googleplay/reviews/{id}
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Google Play package id (e.g. com.nike.snkrs). | |
| sort | No | Upstream review sort order. | |
| limit | No | Maximum number of results; values outside 1..50 are rejected. | |
| score | No | Filter reviews to this star rating (1..5). | |
| country | No | Two-letter storefront code. | |
| language | No | Language code. | |
| next_token | No | Pagination token from a previous reviews response. |
googleplay_searchInspect
Search public Google Play applications by term
Search public Google Play applications by term. Returns the normalized public contract; raw provider records are internal to the runtime boundary and never cross the public gateway.
HTTP: GET /v1/googleplay/search
| Name | Required | Description | Default |
|---|---|---|---|
| term | Yes | Search term. | |
| limit | No | Maximum number of results; values outside 1..50 are rejected. | |
| country | No | Two-letter storefront code. | |
| language | No | Language code. |
googleplay_similar_appsInspect
Fetch apps similar to a given Google Play package
Fetch apps similar to a given Google Play package. Returns the normalized public contract; raw provider records are internal to the runtime boundary and never cross the public gateway.
HTTP: GET /v1/googleplay/similar_apps/{id}
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Google Play package id (e.g. com.nike.snkrs). | |
| limit | No | Maximum number of results; values outside 1..50 are rejected. | |
| country | No | Two-letter storefront code. | |
| language | No | Language code. |
googleplay_suggestInspect
Fetch Google Play search-term suggestions
Fetch Google Play search-term suggestions. Returns the normalized public contract; raw provider records are internal to the runtime boundary and never cross the public gateway.
HTTP: GET /v1/googleplay/suggest
| Name | Required | Description | Default |
|---|---|---|---|
| term | Yes | Search term. | |
| limit | No | Maximum number of results; values outside 1..50 are rejected. | |
| country | No | Two-letter storefront code. | |
| language | No | Language code. |
hackernews_itemInspect
Fetch a single Hacker News item and its comment tree
Fetch a single Hacker News item and its comment tree. Returns the normalized public contract; raw provider records are internal to the runtime boundary and never cross the public gateway.
HTTP: GET /v1/hackernews/item/{id}
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Hacker News item id. | |
| depth | No | Maximum comment-tree depth to resolve; values outside 1..10 are rejected. |
hackernews_searchInspect
Search Hacker News via Algolia
Search Hacker News via Algolia. Returns the normalized public contract; raw provider records are internal to the runtime boundary and never cross the public gateway.
HTTP: GET /v1/hackernews/search
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Search query. | |
| page | No | Result page. | |
| tags | No | Algolia HN Search tag filter (e.g. story, comment, ask_hn). | |
| limit | No | Maximum number of results; values outside 1..100 are rejected. |
hackernews_stories_askInspect
Fetch current Ask HN stories
Fetch current Ask HN stories. Returns the normalized public contract; raw provider records are internal to the runtime boundary and never cross the public gateway.
HTTP: GET /v1/hackernews/stories_ask
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Result page. | |
| limit | No | Maximum number of results; values outside 1..100 are rejected. |
hackernews_stories_bestInspect
Fetch current Hacker News best stories
Fetch current Hacker News best stories. Returns the normalized public contract; raw provider records are internal to the runtime boundary and never cross the public gateway.
HTTP: GET /v1/hackernews/stories_best
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Result page. | |
| limit | No | Maximum number of results; values outside 1..100 are rejected. |
hackernews_stories_jobInspect
Fetch current Hacker News job postings
Fetch current Hacker News job postings. Returns the normalized public contract; raw provider records are internal to the runtime boundary and never cross the public gateway.
HTTP: GET /v1/hackernews/stories_job
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Result page. | |
| limit | No | Maximum number of results; values outside 1..100 are rejected. |
hackernews_stories_newInspect
Fetch current Hacker News new stories
Fetch current Hacker News new stories. Returns the normalized public contract; raw provider records are internal to the runtime boundary and never cross the public gateway.
HTTP: GET /v1/hackernews/stories_new
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Result page. | |
| limit | No | Maximum number of results; values outside 1..100 are rejected. |
hackernews_stories_showInspect
Fetch current Show HN stories
Fetch current Show HN stories. Returns the normalized public contract; raw provider records are internal to the runtime boundary and never cross the public gateway.
HTTP: GET /v1/hackernews/stories_show
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Result page. | |
| limit | No | Maximum number of results; values outside 1..100 are rejected. |
hackernews_stories_topInspect
Fetch current Hacker News top stories
Fetch current Hacker News top stories. Returns the normalized public contract; raw provider records are internal to the runtime boundary and never cross the public gateway.
HTTP: GET /v1/hackernews/stories_top
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Result page. | |
| limit | No | Maximum number of results; values outside 1..100 are rejected. |
hackernews_userInspect
Fetch a public Hacker News user profile
Fetch a public Hacker News user profile. Returns the normalized public contract; raw provider records are internal to the runtime boundary and never cross the public gateway.
HTTP: GET /v1/hackernews/user/{handle}
| Name | Required | Description | Default |
|---|---|---|---|
| handle | Yes | Hacker News username. |
listInspect
List applications from an iTunes collection
List applications from an iTunes collection. Returns the normalized public contract; raw provider records are internal to the runtime boundary and never cross the public gateway.
HTTP: GET /v1/appstore/list
| Name | Required | Description | Default |
|---|---|---|---|
| num | No | Number of applications; values outside 1..200 are rejected. | |
| lang | No | Language code. | |
| country | No | Two-letter storefront code. | |
| category | No | Provider category constant. | |
| collection | No | Provider collection constant. | |
| fullDetail | No | Request detail enrichment. |
monitor_changesInspect
List monitor changes
HTTP: GET /v1/monitors/{id}/changes
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | path parameter | |
| limit | No | query parameter | |
| cursor | No | query parameter |
monitor_createInspect
Create a monitor asynchronously
HTTP: POST /v1/monitors
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| Idempotency-Key | Yes | header parameter |
monitor_getInspect
Get a monitor
HTTP: GET /v1/monitors/{id}
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | path parameter |
monitor_listInspect
List monitors for the authenticated organization
HTTP: GET /v1/monitors
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | query parameter | |
| cursor | No | query parameter |
monitor_runsInspect
List monitor runs
HTTP: GET /v1/monitors/{id}/runs
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | path parameter | |
| limit | No | query parameter | |
| cursor | No | query parameter |
monitor_updateInspect
Update frequency, pause state, or webhook
Update frequency, pause state, or webhook configuration. The change is recorded immediately in the monitor service database (scheduling authority) and the external changedetection watch is reconciled asynchronously and with bounded retries; the response monitor object carries sync_state/sync_next_retry_at/sync_error_reason so a degraded engine (for example, a failed pause) is truthful and visible rather than silently dropped.
HTTP: PATCH /v1/monitors/{id}
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | path parameter | |
| body | Yes |
post_by_idInspect
HTTP: GET /v1/reddit/post_by_id/{id}
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | path parameter |
post_by_permalinkInspect
HTTP: GET /v1/reddit/post_by_permalink
| Name | Required | Description | Default |
|---|---|---|---|
| permalink | Yes | query parameter |
privacyInspect
Read public App Store privacy details
Read public App Store privacy details. Returns the normalized public contract; raw provider records are internal to the runtime boundary and never cross the public gateway.
HTTP: GET /v1/appstore/privacy
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | public application identifier. |
ratingsInspect
Read public app ratings
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
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | public application identifier; provide this or appId. | |
| appId | No | Bundle id; provide this or id. | |
| country | No | Two-letter storefront code. |
read_documentInspect
Read a public PDF as Markdown for AI agents
Direct public HTTP POST to https://pdf.replynodes.com/ requires no account, API key, or cookie. POST converts one public PDF URL to Markdown. GET and HEAD on the root are documentation-only; allowed methods are GET, HEAD, POST. This PDF to Markdown response is designed for read PDF, PDF for AI agents, extract PDF text, and PDF context workflows. The MCP read_document / tools/call at https://mcp.replynodes.com/mcp requires the existing MCP authorization boundary; MCP is not anonymous. Limits: 10 MiB source/download, 50 pages, 60 seconds, 20 conversions/IP/hour, 2 active conversions/IP, and a maximum encoded JSON response of 1 MiB including the trailing newline. MCP discovery identifies the sole read_document tool at https://mcp.replynodes.com/mcp.
HTTP: POST https://pdf.replynodes.com/
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public PDF URL to read. |
reviewsInspect
Read a page of public app reviews
Read a page of public app reviews. Returns the normalized public contract; raw provider records are internal to the runtime boundary and never cross the public gateway.
HTTP: GET /v1/appstore/reviews
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | public application identifier; provide this or appId. | |
| page | No | Review page; values outside 1..10 are rejected. | |
| sort | No | Provider review sort constant. | |
| appId | No | Bundle id; provide this or id. | |
| country | No | Two-letter storefront code. |
searchInspect
Search public App Store applications by term
Search public App Store applications by term. Returns the normalized public contract; raw provider records are internal to the runtime boundary and never cross the public gateway.
HTTP: GET /v1/appstore/search
| Name | Required | Description | Default |
|---|---|---|---|
| num | No | Number of results; values outside 1..50 are rejected. | |
| lang | No | Language code. | |
| page | No | Result page. | |
| term | Yes | Search term. | |
| country | No | Two-letter storefront code. | |
| idsOnly | No | Return ids without detail lookups. |
search_postsInspect
HTTP: GET /v1/reddit/search_posts
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | query parameter | |
| limit | No | query parameter | |
| query | Yes | query parameter |
similarInspect
List apps related to an application
List apps related to an application. Returns the normalized public contract; raw provider records are internal to the runtime boundary and never cross the public gateway.
HTTP: GET /v1/appstore/similar
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | public application identifier; provide this or appId. | |
| appId | No | Bundle id; provide this or id. |
subreddit_postsInspect
HTTP: GET /v1/reddit/subreddit_posts/{subreddit}
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | query parameter | |
| category | No | query parameter | |
| subreddit | Yes | path parameter | |
| time_filter | No | query parameter |
suggestInspect
Suggest public App Store search terms
Suggest public App Store search terms. Returns the normalized public contract; raw provider records are internal to the runtime boundary and never cross the public gateway.
HTTP: GET /v1/appstore/suggest
| Name | Required | Description | Default |
|---|---|---|---|
| term | Yes | Search term. |
user_activityInspect
HTTP: GET /v1/reddit/user_activity/{username}
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | query parameter | |
| username | Yes | path parameter |
user_postsInspect
HTTP: GET /v1/reddit/user_posts/{username}
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | query parameter | |
| category | No | query parameter | |
| username | Yes | path parameter | |
| time_filter | No | query parameter |
webcontext_brandInspect
Extract public brand identity for a site
Lightweight brand snapshot for one site URL: logos, colors, fonts, and basic public metadata. Prefer brand_retrieve for a fuller normalized brand profile or brand_search for fuzzy company-name discovery.
HTTP: GET /v1/webcontext/brand
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Target URL to fetch. Rejected if it is malformed, uses a disallowed scheme, or resolves to a private/loopback/link-local/cloud-metadata address. |
webcontext_crawlInspect
Crawl same-origin links from a URL
Crawl same-origin links starting from a URL and return normalized page results. max_pages/max_depth are clamped server-side regardless of the requested value.
HTTP: GET /v1/webcontext/crawl
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Target URL to fetch. Rejected if it is malformed, uses a disallowed scheme, or resolves to a private/loopback/link-local/cloud-metadata address. | |
| max_depth | No | Maximum link depth; clamped to 1..3. | |
| max_pages | No | Maximum pages to crawl; clamped to 1..50. |
webcontext_mapInspect
Discover URLs belonging to a site
Discover URLs belonging to a site without extracting page content. Results are deduplicated.
HTTP: GET /v1/webcontext/map
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Target URL to fetch. Rejected if it is malformed, uses a disallowed scheme, or resolves to a private/loopback/link-local/cloud-metadata address. |
webcontext_scrapeInspect
Fetch one URL as clean Markdown
Fetch one URL and return clean, main-content Markdown plus normalized metadata, links, and images. Backed by a privately deployed webclaw-server instance; upstream implementation details are never exposed.
HTTP: GET /v1/webcontext/scrape
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Target URL to fetch. Rejected if it is malformed, uses a disallowed scheme, or resolves to a private/loopback/link-local/cloud-metadata address. | |
| exclude_selectors | No | Comma-separated CSS selectors to exclude (e.g. "nav,.sidebar,footer"). | |
| include_selectors | No | Comma-separated CSS selectors to include (e.g. "article,.content"). |
web_searchInspect
Search the public web
Search the public web through the normalized Web Search provider contract.
HTTP: GET /v1/web/search
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Provider date filter. | |
| lang | No | Language code. | |
| site | No | Restrict results to a site or domain. | |
| text | Yes | Search query text. | |
| limit | No | Maximum number of results; values outside 1..100 are rejected. | |
| start | No | Zero-based result offset. | |
| region | No | Search region. | |
| engines | No | Comma-separated search engines. |
youtube_channelInspect
HTTP: GET /v1/youtube/channel/{id}
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | path parameter | |
| language | No | query parameter |
youtube_commentsInspect
HTTP: GET /v1/youtube/comments/{id}
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | path parameter | |
| limit | No | query parameter |
youtube_playlistInspect
HTTP: GET /v1/youtube/playlist/{id}
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | path parameter | |
| language | No | query parameter |
youtube_searchInspect
HTTP: GET /v1/youtube/search
| Name | Required | Description | Default |
|---|---|---|---|
| term | Yes | query parameter | |
| limit | No | query parameter | |
| language | No | query parameter |
youtube_transcriptInspect
HTTP: GET /v1/youtube/transcript/{id}
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | path parameter | |
| language | No | query parameter |
youtube_videoInspect
HTTP: GET /v1/youtube/video/{id}
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | path parameter | |
| language | No | query parameter |
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
70 tool updates
- Added
anonymous_brand - Added
anonymous_company_research - Added
anonymous_competitor_research - Added
anonymous_markdown - Changed
app8 fields changed- added
Input schema / $defs / AnonymousContinuationAdded value: +{ + "properties": { + "url": { + "const": "https://replynodes.com/auth.md", + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorDetail / properties / detailAdded value: +{ + "description": "Safe, actionable guidance. Emitted only for error codes that define it (currently source_excluded).", + "type": "string" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / ResearchWorkflowResponseAdded value: +{ + "properties": { + "data": { + "$ref": "#/$defs/ResearchWorkflowData" + }, + "meta": { + "additionalProperties": true, + "type": "object" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +}
- Changed
brand_fonts8 fields changed- added
Input schema / $defs / AnonymousContinuationAdded value: +{ + "properties": { + "url": { + "const": "https://replynodes.com/auth.md", + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorDetail / properties / detailAdded value: +{ + "description": "Safe, actionable guidance. Emitted only for error codes that define it (currently source_excluded).", + "type": "string" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / ResearchWorkflowResponseAdded value: +{ + "properties": { + "data": { + "$ref": "#/$defs/ResearchWorkflowData" + }, + "meta": { + "additionalProperties": true, + "type": "object" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +}
- Changed
brand_logo8 fields changed- added
Input schema / $defs / AnonymousContinuationAdded value: +{ + "properties": { + "url": { + "const": "https://replynodes.com/auth.md", + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorDetail / properties / detailAdded value: +{ + "description": "Safe, actionable guidance. Emitted only for error codes that define it (currently source_excluded).", + "type": "string" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / ResearchWorkflowResponseAdded value: +{ + "properties": { + "data": { + "$ref": "#/$defs/ResearchWorkflowData" + }, + "meta": { + "additionalProperties": true, + "type": "object" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +}
- Changed
brand_retrieve8 fields changed- added
Input schema / $defs / AnonymousContinuationAdded value: +{ + "properties": { + "url": { + "const": "https://replynodes.com/auth.md", + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorDetail / properties / detailAdded value: +{ + "description": "Safe, actionable guidance. Emitted only for error codes that define it (currently source_excluded).", + "type": "string" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / ResearchWorkflowResponseAdded value: +{ + "properties": { + "data": { + "$ref": "#/$defs/ResearchWorkflowData" + }, + "meta": { + "additionalProperties": true, + "type": "object" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +}
- Changed
brand_search8 fields changed- added
Input schema / $defs / AnonymousContinuationAdded value: +{ + "properties": { + "url": { + "const": "https://replynodes.com/auth.md", + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorDetail / properties / detailAdded value: +{ + "description": "Safe, actionable guidance. Emitted only for error codes that define it (currently source_excluded).", + "type": "string" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / ResearchWorkflowResponseAdded value: +{ + "properties": { + "data": { + "$ref": "#/$defs/ResearchWorkflowData" + }, + "meta": { + "additionalProperties": true, + "type": "object" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +}
- Changed
brand_styleguide8 fields changed- added
Input schema / $defs / AnonymousContinuationAdded value: +{ + "properties": { + "url": { + "const": "https://replynodes.com/auth.md", + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorDetail / properties / detailAdded value: +{ + "description": "Safe, actionable guidance. Emitted only for error codes that define it (currently source_excluded).", + "type": "string" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / ResearchWorkflowResponseAdded value: +{ + "properties": { + "data": { + "$ref": "#/$defs/ResearchWorkflowData" + }, + "meta": { + "additionalProperties": true, + "type": "object" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +}
- Changed
developer8 fields changed- added
Input schema / $defs / AnonymousContinuationAdded value: +{ + "properties": { + "url": { + "const": "https://replynodes.com/auth.md", + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorDetail / properties / detailAdded value: +{ + "description": "Safe, actionable guidance. Emitted only for error codes that define it (currently source_excluded).", + "type": "string" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / ResearchWorkflowResponseAdded value: +{ + "properties": { + "data": { + "$ref": "#/$defs/ResearchWorkflowData" + }, + "meta": { + "additionalProperties": true, + "type": "object" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +}
- Changed
get_company_events8 fields changed- added
Input schema / $defs / AnonymousContinuationAdded value: +{ + "properties": { + "url": { + "const": "https://replynodes.com/auth.md", + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorDetail / properties / detailAdded value: +{ + "description": "Safe, actionable guidance. Emitted only for error codes that define it (currently source_excluded).", + "type": "string" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / ResearchWorkflowResponseAdded value: +{ + "properties": { + "data": { + "$ref": "#/$defs/ResearchWorkflowData" + }, + "meta": { + "additionalProperties": true, + "type": "object" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +}
- Changed
get_company_history8 fields changed- added
Input schema / $defs / AnonymousContinuationAdded value: +{ + "properties": { + "url": { + "const": "https://replynodes.com/auth.md", + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorDetail / properties / detailAdded value: +{ + "description": "Safe, actionable guidance. Emitted only for error codes that define it (currently source_excluded).", + "type": "string" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / ResearchWorkflowResponseAdded value: +{ + "properties": { + "data": { + "$ref": "#/$defs/ResearchWorkflowData" + }, + "meta": { + "additionalProperties": true, + "type": "object" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +}
- Changed
get_company_intelligence8 fields changed- added
Input schema / $defs / AnonymousContinuationAdded value: +{ + "properties": { + "url": { + "const": "https://replynodes.com/auth.md", + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorDetail / properties / detailAdded value: +{ + "description": "Safe, actionable guidance. Emitted only for error codes that define it (currently source_excluded).", + "type": "string" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / ResearchWorkflowResponseAdded value: +{ + "properties": { + "data": { + "$ref": "#/$defs/ResearchWorkflowData" + }, + "meta": { + "additionalProperties": true, + "type": "object" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +}
- Changed
get_fetcher_healthz8 fields changed- added
Input schema / $defs / AnonymousContinuationAdded value: +{ + "properties": { + "url": { + "const": "https://replynodes.com/auth.md", + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorDetail / properties / detailAdded value: +{ + "description": "Safe, actionable guidance. Emitted only for error codes that define it (currently source_excluded).", + "type": "string" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / ResearchWorkflowResponseAdded value: +{ + "properties": { + "data": { + "$ref": "#/$defs/ResearchWorkflowData" + }, + "meta": { + "additionalProperties": true, + "type": "object" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +}
- Changed
get_fetcher_readyz8 fields changed- added
Input schema / $defs / AnonymousContinuationAdded value: +{ + "properties": { + "url": { + "const": "https://replynodes.com/auth.md", + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorDetail / properties / detailAdded value: +{ + "description": "Safe, actionable guidance. Emitted only for error codes that define it (currently source_excluded).", + "type": "string" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / ResearchWorkflowResponseAdded value: +{ + "properties": { + "data": { + "$ref": "#/$defs/ResearchWorkflowData" + }, + "meta": { + "additionalProperties": true, + "type": "object" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +}
- Changed
get_recent_company_events8 fields changed- added
Input schema / $defs / AnonymousContinuationAdded value: +{ + "properties": { + "url": { + "const": "https://replynodes.com/auth.md", + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorDetail / properties / detailAdded value: +{ + "description": "Safe, actionable guidance. Emitted only for error codes that define it (currently source_excluded).", + "type": "string" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / ResearchWorkflowResponseAdded value: +{ + "properties": { + "data": { + "$ref": "#/$defs/ResearchWorkflowData" + }, + "meta": { + "additionalProperties": true, + "type": "object" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +}
- Changed
get_v1_hackernews_capabilities8 fields changed- added
Input schema / $defs / AnonymousContinuationAdded value: +{ + "properties": { + "url": { + "const": "https://replynodes.com/auth.md", + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorDetail / properties / detailAdded value: +{ + "description": "Safe, actionable guidance. Emitted only for error codes that define it (currently source_excluded).", + "type": "string" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / ResearchWorkflowResponseAdded value: +{ + "properties": { + "data": { + "$ref": "#/$defs/ResearchWorkflowData" + }, + "meta": { + "additionalProperties": true, + "type": "object" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +}
- Changed
googleplay_app_details8 fields changed- added
Input schema / $defs / AnonymousContinuationAdded value: +{ + "properties": { + "url": { + "const": "https://replynodes.com/auth.md", + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorDetail / properties / detailAdded value: +{ + "description": "Safe, actionable guidance. Emitted only for error codes that define it (currently source_excluded).", + "type": "string" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / ResearchWorkflowResponseAdded value: +{ + "properties": { + "data": { + "$ref": "#/$defs/ResearchWorkflowData" + }, + "meta": { + "additionalProperties": true, + "type": "object" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +}
- Changed
googleplay_availability8 fields changed- added
Input schema / $defs / AnonymousContinuationAdded value: +{ + "properties": { + "url": { + "const": "https://replynodes.com/auth.md", + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorDetail / properties / detailAdded value: +{ + "description": "Safe, actionable guidance. Emitted only for error codes that define it (currently source_excluded).", + "type": "string" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / ResearchWorkflowResponseAdded value: +{ + "properties": { + "data": { + "$ref": "#/$defs/ResearchWorkflowData" + }, + "meta": { + "additionalProperties": true, + "type": "object" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +}
- Changed
googleplay_categories8 fields changed- added
Input schema / $defs / AnonymousContinuationAdded value: +{ + "properties": { + "url": { + "const": "https://replynodes.com/auth.md", + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorDetail / properties / detailAdded value: +{ + "description": "Safe, actionable guidance. Emitted only for error codes that define it (currently source_excluded).", + "type": "string" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / ResearchWorkflowResponseAdded value: +{ + "properties": { + "data": { + "$ref": "#/$defs/ResearchWorkflowData" + }, + "meta": { + "additionalProperties": true, + "type": "object" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +}
- Changed
googleplay_category_apps8 fields changed- added
Input schema / $defs / AnonymousContinuationAdded value: +{ + "properties": { + "url": { + "const": "https://replynodes.com/auth.md", + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorDetail / properties / detailAdded value: +{ + "description": "Safe, actionable guidance. Emitted only for error codes that define it (currently source_excluded).", + "type": "string" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / ResearchWorkflowResponseAdded value: +{ + "properties": { + "data": { + "$ref": "#/$defs/ResearchWorkflowData" + }, + "meta": { + "additionalProperties": true, + "type": "object" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +}
- Changed
googleplay_data_safety8 fields changed- added
Input schema / $defs / AnonymousContinuationAdded value: +{ + "properties": { + "url": { + "const": "https://replynodes.com/auth.md", + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorDetail / properties / detailAdded value: +{ + "description": "Safe, actionable guidance. Emitted only for error codes that define it (currently source_excluded).", + "type": "string" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / ResearchWorkflowResponseAdded value: +{ + "properties": { + "data": { + "$ref": "#/$defs/ResearchWorkflowData" + }, + "meta": { + "additionalProperties": true, + "type": "object" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +}
- Changed
googleplay_developer8 fields changed- added
Input schema / $defs / AnonymousContinuationAdded value: +{ + "properties": { + "url": { + "const": "https://replynodes.com/auth.md", + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorDetail / properties / detailAdded value: +{ + "description": "Safe, actionable guidance. Emitted only for error codes that define it (currently source_excluded).", + "type": "string" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / ResearchWorkflowResponseAdded value: +{ + "properties": { + "data": { + "$ref": "#/$defs/ResearchWorkflowData" + }, + "meta": { + "additionalProperties": true, + "type": "object" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +}
- Changed
googleplay_permissions8 fields changed- added
Input schema / $defs / AnonymousContinuationAdded value: +{ + "properties": { + "url": { + "const": "https://replynodes.com/auth.md", + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorDetail / properties / detailAdded value: +{ + "description": "Safe, actionable guidance. Emitted only for error codes that define it (currently source_excluded).", + "type": "string" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / ResearchWorkflowResponseAdded value: +{ + "properties": { + "data": { + "$ref": "#/$defs/ResearchWorkflowData" + }, + "meta": { + "additionalProperties": true, + "type": "object" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +}
- Changed
googleplay_reviews8 fields changed- added
Input schema / $defs / AnonymousContinuationAdded value: +{ + "properties": { + "url": { + "const": "https://replynodes.com/auth.md", + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorDetail / properties / detailAdded value: +{ + "description": "Safe, actionable guidance. Emitted only for error codes that define it (currently source_excluded).", + "type": "string" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / ResearchWorkflowResponseAdded value: +{ + "properties": { + "data": { + "$ref": "#/$defs/ResearchWorkflowData" + }, + "meta": { + "additionalProperties": true, + "type": "object" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +}
- Changed
googleplay_search8 fields changed- added
Input schema / $defs / AnonymousContinuationAdded value: +{ + "properties": { + "url": { + "const": "https://replynodes.com/auth.md", + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorDetail / properties / detailAdded value: +{ + "description": "Safe, actionable guidance. Emitted only for error codes that define it (currently source_excluded).", + "type": "string" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / ResearchWorkflowResponseAdded value: +{ + "properties": { + "data": { + "$ref": "#/$defs/ResearchWorkflowData" + }, + "meta": { + "additionalProperties": true, + "type": "object" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +}
- Changed
googleplay_similar_apps8 fields changed- added
Input schema / $defs / AnonymousContinuationAdded value: +{ + "properties": { + "url": { + "const": "https://replynodes.com/auth.md", + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorDetail / properties / detailAdded value: +{ + "description": "Safe, actionable guidance. Emitted only for error codes that define it (currently source_excluded).", + "type": "string" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / ResearchWorkflowResponseAdded value: +{ + "properties": { + "data": { + "$ref": "#/$defs/ResearchWorkflowData" + }, + "meta": { + "additionalProperties": true, + "type": "object" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +}
- Changed
googleplay_suggest8 fields changed- added
Input schema / $defs / AnonymousContinuationAdded value: +{ + "properties": { + "url": { + "const": "https://replynodes.com/auth.md", + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorDetail / properties / detailAdded value: +{ + "description": "Safe, actionable guidance. Emitted only for error codes that define it (currently source_excluded).", + "type": "string" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / ResearchWorkflowResponseAdded value: +{ + "properties": { + "data": { + "$ref": "#/$defs/ResearchWorkflowData" + }, + "meta": { + "additionalProperties": true, + "type": "object" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +}
- Changed
hackernews_item8 fields changed- added
Input schema / $defs / AnonymousContinuationAdded value: +{ + "properties": { + "url": { + "const": "https://replynodes.com/auth.md", + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorDetail / properties / detailAdded value: +{ + "description": "Safe, actionable guidance. Emitted only for error codes that define it (currently source_excluded).", + "type": "string" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / ResearchWorkflowResponseAdded value: +{ + "properties": { + "data": { + "$ref": "#/$defs/ResearchWorkflowData" + }, + "meta": { + "additionalProperties": true, + "type": "object" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +}
- Changed
hackernews_search8 fields changed- added
Input schema / $defs / AnonymousContinuationAdded value: +{ + "properties": { + "url": { + "const": "https://replynodes.com/auth.md", + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorDetail / properties / detailAdded value: +{ + "description": "Safe, actionable guidance. Emitted only for error codes that define it (currently source_excluded).", + "type": "string" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / ResearchWorkflowResponseAdded value: +{ + "properties": { + "data": { + "$ref": "#/$defs/ResearchWorkflowData" + }, + "meta": { + "additionalProperties": true, + "type": "object" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +}
- Changed
hackernews_stories_ask8 fields changed- added
Input schema / $defs / AnonymousContinuationAdded value: +{ + "properties": { + "url": { + "const": "https://replynodes.com/auth.md", + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorDetail / properties / detailAdded value: +{ + "description": "Safe, actionable guidance. Emitted only for error codes that define it (currently source_excluded).", + "type": "string" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / ResearchWorkflowResponseAdded value: +{ + "properties": { + "data": { + "$ref": "#/$defs/ResearchWorkflowData" + }, + "meta": { + "additionalProperties": true, + "type": "object" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +}
- Changed
hackernews_stories_best8 fields changed- added
Input schema / $defs / AnonymousContinuationAdded value: +{ + "properties": { + "url": { + "const": "https://replynodes.com/auth.md", + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorDetail / properties / detailAdded value: +{ + "description": "Safe, actionable guidance. Emitted only for error codes that define it (currently source_excluded).", + "type": "string" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / ResearchWorkflowResponseAdded value: +{ + "properties": { + "data": { + "$ref": "#/$defs/ResearchWorkflowData" + }, + "meta": { + "additionalProperties": true, + "type": "object" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +}
- Changed
hackernews_stories_job8 fields changed- added
Input schema / $defs / AnonymousContinuationAdded value: +{ + "properties": { + "url": { + "const": "https://replynodes.com/auth.md", + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorDetail / properties / detailAdded value: +{ + "description": "Safe, actionable guidance. Emitted only for error codes that define it (currently source_excluded).", + "type": "string" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / ResearchWorkflowResponseAdded value: +{ + "properties": { + "data": { + "$ref": "#/$defs/ResearchWorkflowData" + }, + "meta": { + "additionalProperties": true, + "type": "object" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +}
- Changed
hackernews_stories_new8 fields changed- added
Input schema / $defs / AnonymousContinuationAdded value: +{ + "properties": { + "url": { + "const": "https://replynodes.com/auth.md", + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorDetail / properties / detailAdded value: +{ + "description": "Safe, actionable guidance. Emitted only for error codes that define it (currently source_excluded).", + "type": "string" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / ResearchWorkflowResponseAdded value: +{ + "properties": { + "data": { + "$ref": "#/$defs/ResearchWorkflowData" + }, + "meta": { + "additionalProperties": true, + "type": "object" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +}
- Changed
hackernews_stories_show8 fields changed- added
Input schema / $defs / AnonymousContinuationAdded value: +{ + "properties": { + "url": { + "const": "https://replynodes.com/auth.md", + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorDetail / properties / detailAdded value: +{ + "description": "Safe, actionable guidance. Emitted only for error codes that define it (currently source_excluded).", + "type": "string" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / ResearchWorkflowResponseAdded value: +{ + "properties": { + "data": { + "$ref": "#/$defs/ResearchWorkflowData" + }, + "meta": { + "additionalProperties": true, + "type": "object" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +}
- Changed
hackernews_stories_top8 fields changed- added
Input schema / $defs / AnonymousContinuationAdded value: +{ + "properties": { + "url": { + "const": "https://replynodes.com/auth.md", + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorDetail / properties / detailAdded value: +{ + "description": "Safe, actionable guidance. Emitted only for error codes that define it (currently source_excluded).", + "type": "string" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / ResearchWorkflowResponseAdded value: +{ + "properties": { + "data": { + "$ref": "#/$defs/ResearchWorkflowData" + }, + "meta": { + "additionalProperties": true, + "type": "object" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +}
- Changed
hackernews_user8 fields changed- added
Input schema / $defs / AnonymousContinuationAdded value: +{ + "properties": { + "url": { + "const": "https://replynodes.com/auth.md", + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorDetail / properties / detailAdded value: +{ + "description": "Safe, actionable guidance. Emitted only for error codes that define it (currently source_excluded).", + "type": "string" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / ResearchWorkflowResponseAdded value: +{ + "properties": { + "data": { + "$ref": "#/$defs/ResearchWorkflowData" + }, + "meta": { + "additionalProperties": true, + "type": "object" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +}
- Changed
list8 fields changed- added
Input schema / $defs / AnonymousContinuationAdded value: +{ + "properties": { + "url": { + "const": "https://replynodes.com/auth.md", + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorDetail / properties / detailAdded value: +{ + "description": "Safe, actionable guidance. Emitted only for error codes that define it (currently source_excluded).", + "type": "string" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / ResearchWorkflowResponseAdded value: +{ + "properties": { + "data": { + "$ref": "#/$defs/ResearchWorkflowData" + }, + "meta": { + "additionalProperties": true, + "type": "object" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +}
- Changed
monitor_changes8 fields changed- added
Input schema / $defs / AnonymousContinuationAdded value: +{ + "properties": { + "url": { + "const": "https://replynodes.com/auth.md", + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorDetail / properties / detailAdded value: +{ + "description": "Safe, actionable guidance. Emitted only for error codes that define it (currently source_excluded).", + "type": "string" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / ResearchWorkflowResponseAdded value: +{ + "properties": { + "data": { + "$ref": "#/$defs/ResearchWorkflowData" + }, + "meta": { + "additionalProperties": true, + "type": "object" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +}
- Changed
monitor_create8 fields changed- added
Input schema / $defs / AnonymousContinuationAdded value: +{ + "properties": { + "url": { + "const": "https://replynodes.com/auth.md", + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorDetail / properties / detailAdded value: +{ + "description": "Safe, actionable guidance. Emitted only for error codes that define it (currently source_excluded).", + "type": "string" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / ResearchWorkflowResponseAdded value: +{ + "properties": { + "data": { + "$ref": "#/$defs/ResearchWorkflowData" + }, + "meta": { + "additionalProperties": true, + "type": "object" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +}
- Changed
monitor_get8 fields changed- added
Input schema / $defs / AnonymousContinuationAdded value: +{ + "properties": { + "url": { + "const": "https://replynodes.com/auth.md", + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorDetail / properties / detailAdded value: +{ + "description": "Safe, actionable guidance. Emitted only for error codes that define it (currently source_excluded).", + "type": "string" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / ResearchWorkflowResponseAdded value: +{ + "properties": { + "data": { + "$ref": "#/$defs/ResearchWorkflowData" + }, + "meta": { + "additionalProperties": true, + "type": "object" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +}
- Changed
monitor_list8 fields changed- added
Input schema / $defs / AnonymousContinuationAdded value: +{ + "properties": { + "url": { + "const": "https://replynodes.com/auth.md", + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorDetail / properties / detailAdded value: +{ + "description": "Safe, actionable guidance. Emitted only for error codes that define it (currently source_excluded).", + "type": "string" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / ResearchWorkflowResponseAdded value: +{ + "properties": { + "data": { + "$ref": "#/$defs/ResearchWorkflowData" + }, + "meta": { + "additionalProperties": true, + "type": "object" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +}
- Changed
monitor_runs8 fields changed- added
Input schema / $defs / AnonymousContinuationAdded value: +{ + "properties": { + "url": { + "const": "https://replynodes.com/auth.md", + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorDetail / properties / detailAdded value: +{ + "description": "Safe, actionable guidance. Emitted only for error codes that define it (currently source_excluded).", + "type": "string" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / ResearchWorkflowResponseAdded value: +{ + "properties": { + "data": { + "$ref": "#/$defs/ResearchWorkflowData" + }, + "meta": { + "additionalProperties": true, + "type": "object" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +}
- Changed
monitor_update8 fields changed- added
Input schema / $defs / AnonymousContinuationAdded value: +{ + "properties": { + "url": { + "const": "https://replynodes.com/auth.md", + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorDetail / properties / detailAdded value: +{ + "description": "Safe, actionable guidance. Emitted only for error codes that define it (currently source_excluded).", + "type": "string" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / ResearchWorkflowResponseAdded value: +{ + "properties": { + "data": { + "$ref": "#/$defs/ResearchWorkflowData" + }, + "meta": { + "additionalProperties": true, + "type": "object" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +}
- Changed
post_by_id8 fields changed- added
Input schema / $defs / AnonymousContinuationAdded value: +{ + "properties": { + "url": { + "const": "https://replynodes.com/auth.md", + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorDetail / properties / detailAdded value: +{ + "description": "Safe, actionable guidance. Emitted only for error codes that define it (currently source_excluded).", + "type": "string" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / ResearchWorkflowResponseAdded value: +{ + "properties": { + "data": { + "$ref": "#/$defs/ResearchWorkflowData" + }, + "meta": { + "additionalProperties": true, + "type": "object" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +}
- Changed
post_by_permalink8 fields changed- added
Input schema / $defs / AnonymousContinuationAdded value: +{ + "properties": { + "url": { + "const": "https://replynodes.com/auth.md", + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorDetail / properties / detailAdded value: +{ + "description": "Safe, actionable guidance. Emitted only for error codes that define it (currently source_excluded).", + "type": "string" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / ResearchWorkflowResponseAdded value: +{ + "properties": { + "data": { + "$ref": "#/$defs/ResearchWorkflowData" + }, + "meta": { + "additionalProperties": true, + "type": "object" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +}
- Changed
privacy8 fields changed- added
Input schema / $defs / AnonymousContinuationAdded value: +{ + "properties": { + "url": { + "const": "https://replynodes.com/auth.md", + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorDetail / properties / detailAdded value: +{ + "description": "Safe, actionable guidance. Emitted only for error codes that define it (currently source_excluded).", + "type": "string" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / ResearchWorkflowResponseAdded value: +{ + "properties": { + "data": { + "$ref": "#/$defs/ResearchWorkflowData" + }, + "meta": { + "additionalProperties": true, + "type": "object" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +}
- Changed
ratings8 fields changed- added
Input schema / $defs / AnonymousContinuationAdded value: +{ + "properties": { + "url": { + "const": "https://replynodes.com/auth.md", + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorDetail / properties / detailAdded value: +{ + "description": "Safe, actionable guidance. Emitted only for error codes that define it (currently source_excluded).", + "type": "string" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / ResearchWorkflowResponseAdded value: +{ + "properties": { + "data": { + "$ref": "#/$defs/ResearchWorkflowData" + }, + "meta": { + "additionalProperties": true, + "type": "object" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +}
- Changed
read_document8 fields changed- added
Input schema / $defs / AnonymousContinuationAdded value: +{ + "properties": { + "url": { + "const": "https://replynodes.com/auth.md", + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorDetail / properties / detailAdded value: +{ + "description": "Safe, actionable guidance. Emitted only for error codes that define it (currently source_excluded).", + "type": "string" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / ResearchWorkflowResponseAdded value: +{ + "properties": { + "data": { + "$ref": "#/$defs/ResearchWorkflowData" + }, + "meta": { + "additionalProperties": true, + "type": "object" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +}
- Changed
reviews8 fields changed- added
Input schema / $defs / AnonymousContinuationAdded value: +{ + "properties": { + "url": { + "const": "https://replynodes.com/auth.md", + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorDetail / properties / detailAdded value: +{ + "description": "Safe, actionable guidance. Emitted only for error codes that define it (currently source_excluded).", + "type": "string" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / ResearchWorkflowResponseAdded value: +{ + "properties": { + "data": { + "$ref": "#/$defs/ResearchWorkflowData" + }, + "meta": { + "additionalProperties": true, + "type": "object" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +}
- Changed
search8 fields changed- added
Input schema / $defs / AnonymousContinuationAdded value: +{ + "properties": { + "url": { + "const": "https://replynodes.com/auth.md", + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorDetail / properties / detailAdded value: +{ + "description": "Safe, actionable guidance. Emitted only for error codes that define it (currently source_excluded).", + "type": "string" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / ResearchWorkflowResponseAdded value: +{ + "properties": { + "data": { + "$ref": "#/$defs/ResearchWorkflowData" + }, + "meta": { + "additionalProperties": true, + "type": "object" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +}
- Changed
search_posts8 fields changed- added
Input schema / $defs / AnonymousContinuationAdded value: +{ + "properties": { + "url": { + "const": "https://replynodes.com/auth.md", + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorDetail / properties / detailAdded value: +{ + "description": "Safe, actionable guidance. Emitted only for error codes that define it (currently source_excluded).", + "type": "string" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / ResearchWorkflowResponseAdded value: +{ + "properties": { + "data": { + "$ref": "#/$defs/ResearchWorkflowData" + }, + "meta": { + "additionalProperties": true, + "type": "object" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +}
- Changed
similar8 fields changed- added
Input schema / $defs / AnonymousContinuationAdded value: +{ + "properties": { + "url": { + "const": "https://replynodes.com/auth.md", + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorDetail / properties / detailAdded value: +{ + "description": "Safe, actionable guidance. Emitted only for error codes that define it (currently source_excluded).", + "type": "string" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / ResearchWorkflowResponseAdded value: +{ + "properties": { + "data": { + "$ref": "#/$defs/ResearchWorkflowData" + }, + "meta": { + "additionalProperties": true, + "type": "object" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +}
- Changed
subreddit_posts8 fields changed- added
Input schema / $defs / AnonymousContinuationAdded value: +{ + "properties": { + "url": { + "const": "https://replynodes.com/auth.md", + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorDetail / properties / detailAdded value: +{ + "description": "Safe, actionable guidance. Emitted only for error codes that define it (currently source_excluded).", + "type": "string" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / ResearchWorkflowResponseAdded value: +{ + "properties": { + "data": { + "$ref": "#/$defs/ResearchWorkflowData" + }, + "meta": { + "additionalProperties": true, + "type": "object" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +}
- Changed
suggest8 fields changed- added
Input schema / $defs / AnonymousContinuationAdded value: +{ + "properties": { + "url": { + "const": "https://replynodes.com/auth.md", + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorDetail / properties / detailAdded value: +{ + "description": "Safe, actionable guidance. Emitted only for error codes that define it (currently source_excluded).", + "type": "string" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / ResearchWorkflowResponseAdded value: +{ + "properties": { + "data": { + "$ref": "#/$defs/ResearchWorkflowData" + }, + "meta": { + "additionalProperties": true, + "type": "object" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +}
- Changed
user_activity8 fields changed- added
Input schema / $defs / AnonymousContinuationAdded value: +{ + "properties": { + "url": { + "const": "https://replynodes.com/auth.md", + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorDetail / properties / detailAdded value: +{ + "description": "Safe, actionable guidance. Emitted only for error codes that define it (currently source_excluded).", + "type": "string" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / ResearchWorkflowResponseAdded value: +{ + "properties": { + "data": { + "$ref": "#/$defs/ResearchWorkflowData" + }, + "meta": { + "additionalProperties": true, + "type": "object" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +}
- Changed
user_posts8 fields changed- added
Input schema / $defs / AnonymousContinuationAdded value: +{ + "properties": { + "url": { + "const": "https://replynodes.com/auth.md", + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorDetail / properties / detailAdded value: +{ + "description": "Safe, actionable guidance. Emitted only for error codes that define it (currently source_excluded).", + "type": "string" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / ResearchWorkflowResponseAdded value: +{ + "properties": { + "data": { + "$ref": "#/$defs/ResearchWorkflowData" + }, + "meta": { + "additionalProperties": true, + "type": "object" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +}
- Changed
web_search8 fields changed- added
Input schema / $defs / AnonymousContinuationAdded value: +{ + "properties": { + "url": { + "const": "https://replynodes.com/auth.md", + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorDetail / properties / detailAdded value: +{ + "description": "Safe, actionable guidance. Emitted only for error codes that define it (currently source_excluded).", + "type": "string" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / ResearchWorkflowResponseAdded value: +{ + "properties": { + "data": { + "$ref": "#/$defs/ResearchWorkflowData" + }, + "meta": { + "additionalProperties": true, + "type": "object" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +}
- Changed
webcontext_brand8 fields changed- added
Input schema / $defs / AnonymousContinuationAdded value: +{ + "properties": { + "url": { + "const": "https://replynodes.com/auth.md", + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorDetail / properties / detailAdded value: +{ + "description": "Safe, actionable guidance. Emitted only for error codes that define it (currently source_excluded).", + "type": "string" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / ResearchWorkflowResponseAdded value: +{ + "properties": { + "data": { + "$ref": "#/$defs/ResearchWorkflowData" + }, + "meta": { + "additionalProperties": true, + "type": "object" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +}
- Changed
webcontext_crawl8 fields changed- added
Input schema / $defs / AnonymousContinuationAdded value: +{ + "properties": { + "url": { + "const": "https://replynodes.com/auth.md", + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorDetail / properties / detailAdded value: +{ + "description": "Safe, actionable guidance. Emitted only for error codes that define it (currently source_excluded).", + "type": "string" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / ResearchWorkflowResponseAdded value: +{ + "properties": { + "data": { + "$ref": "#/$defs/ResearchWorkflowData" + }, + "meta": { + "additionalProperties": true, + "type": "object" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +}
- Changed
webcontext_map8 fields changed- added
Input schema / $defs / AnonymousContinuationAdded value: +{ + "properties": { + "url": { + "const": "https://replynodes.com/auth.md", + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorDetail / properties / detailAdded value: +{ + "description": "Safe, actionable guidance. Emitted only for error codes that define it (currently source_excluded).", + "type": "string" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / ResearchWorkflowResponseAdded value: +{ + "properties": { + "data": { + "$ref": "#/$defs/ResearchWorkflowData" + }, + "meta": { + "additionalProperties": true, + "type": "object" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +}
- Changed
webcontext_scrape8 fields changed- added
Input schema / $defs / AnonymousContinuationAdded value: +{ + "properties": { + "url": { + "const": "https://replynodes.com/auth.md", + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorDetail / properties / detailAdded value: +{ + "description": "Safe, actionable guidance. Emitted only for error codes that define it (currently source_excluded).", + "type": "string" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / ResearchWorkflowResponseAdded value: +{ + "properties": { + "data": { + "$ref": "#/$defs/ResearchWorkflowData" + }, + "meta": { + "additionalProperties": true, + "type": "object" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +}
- Changed
youtube_channel8 fields changed- added
Input schema / $defs / AnonymousContinuationAdded value: +{ + "properties": { + "url": { + "const": "https://replynodes.com/auth.md", + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorDetail / properties / detailAdded value: +{ + "description": "Safe, actionable guidance. Emitted only for error codes that define it (currently source_excluded).", + "type": "string" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / ResearchWorkflowResponseAdded value: +{ + "properties": { + "data": { + "$ref": "#/$defs/ResearchWorkflowData" + }, + "meta": { + "additionalProperties": true, + "type": "object" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +}
- Changed
youtube_comments8 fields changed- added
Input schema / $defs / AnonymousContinuationAdded value: +{ + "properties": { + "url": { + "const": "https://replynodes.com/auth.md", + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorDetail / properties / detailAdded value: +{ + "description": "Safe, actionable guidance. Emitted only for error codes that define it (currently source_excluded).", + "type": "string" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / ResearchWorkflowResponseAdded value: +{ + "properties": { + "data": { + "$ref": "#/$defs/ResearchWorkflowData" + }, + "meta": { + "additionalProperties": true, + "type": "object" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +}
- Changed
youtube_playlist8 fields changed- added
Input schema / $defs / AnonymousContinuationAdded value: +{ + "properties": { + "url": { + "const": "https://replynodes.com/auth.md", + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorDetail / properties / detailAdded value: +{ + "description": "Safe, actionable guidance. Emitted only for error codes that define it (currently source_excluded).", + "type": "string" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / ResearchWorkflowResponseAdded value: +{ + "properties": { + "data": { + "$ref": "#/$defs/ResearchWorkflowData" + }, + "meta": { + "additionalProperties": true, + "type": "object" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +}
- Changed
youtube_related8 fields changed- added
Input schema / $defs / AnonymousContinuationAdded value: +{ + "properties": { + "url": { + "const": "https://replynodes.com/auth.md", + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorDetail / properties / detailAdded value: +{ + "description": "Safe, actionable guidance. Emitted only for error codes that define it (currently source_excluded).", + "type": "string" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / ResearchWorkflowResponseAdded value: +{ + "properties": { + "data": { + "$ref": "#/$defs/ResearchWorkflowData" + }, + "meta": { + "additionalProperties": true, + "type": "object" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +}
- Changed
youtube_search8 fields changed- added
Input schema / $defs / AnonymousContinuationAdded value: +{ + "properties": { + "url": { + "const": "https://replynodes.com/auth.md", + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorDetail / properties / detailAdded value: +{ + "description": "Safe, actionable guidance. Emitted only for error codes that define it (currently source_excluded).", + "type": "string" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / ResearchWorkflowResponseAdded value: +{ + "properties": { + "data": { + "$ref": "#/$defs/ResearchWorkflowData" + }, + "meta": { + "additionalProperties": true, + "type": "object" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +}
- Changed
youtube_transcript8 fields changed- added
Input schema / $defs / AnonymousContinuationAdded value: +{ + "properties": { + "url": { + "const": "https://replynodes.com/auth.md", + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorDetail / properties / detailAdded value: +{ + "description": "Safe, actionable guidance. Emitted only for error codes that define it (currently source_excluded).", + "type": "string" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / ResearchWorkflowResponseAdded value: +{ + "properties": { + "data": { + "$ref": "#/$defs/ResearchWorkflowData" + }, + "meta": { + "additionalProperties": true, + "type": "object" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +}
- Changed
youtube_video8 fields changed- added
Input schema / $defs / AnonymousContinuationAdded value: +{ + "properties": { + "url": { + "const": "https://replynodes.com/auth.md", + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorDetail / properties / detailAdded value: +{ + "description": "Safe, actionable guidance. Emitted only for error codes that define it (currently source_excluded).", + "type": "string" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / ResearchWorkflowResponseAdded value: +{ + "properties": { + "data": { + "$ref": "#/$defs/ResearchWorkflowData" + }, + "meta": { + "additionalProperties": true, + "type": "object" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +}
66 tool updates
- Changed
app31 fields changed- added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIEventEntityAdded value: +{ + "additionalProperties": false, + "properties": { + "domain": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id", + "domain" + ], + "type": "object" +} - added
Input schema / $defs / CCIEventEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIEvent" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIEventPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/CCIEvent" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIIntelligenceEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIIntelligence" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / CCIMoneyAdded value: +{ + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "currency": { + "type": "string" + }, + "period": { + "type": "string" + } + }, + "required": [ + "amount", + "currency", + "period" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIRequestMetaAdded value: +{ + "additionalProperties": false, + "properties": { + "request_id": { + "type": "string" + } + }, + "required": [ + "request_id" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/Watch" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchFrequencyAdded value: +{ + "enum": [ + "24h", + "6h" + ], + "type": "string" +} - added
Input schema / $defs / WatchPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Watch" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchStatusAdded value: +{ + "enum": [ + "active", + "paused", + "archived" + ], + "type": "string" +} - added
Input schema / $defs / WatchTopicAdded value: +{ + "enum": [ + "pricing", + "product", + "integrations", + "customers", + "positioning" + ], + "type": "string" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchWebhookAdded value: +{ + "additionalProperties": false, + "properties": { + "secret": { + "type": "string", + "writeOnly": true + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "secret" + ], + "type": "object" +} - added
Input schema / $defs / WatchWebhookConfigAdded value: +{ + "additionalProperties": false, + "properties": { + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +}
- Changed
brand_fonts31 fields changed- added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIEventEntityAdded value: +{ + "additionalProperties": false, + "properties": { + "domain": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id", + "domain" + ], + "type": "object" +} - added
Input schema / $defs / CCIEventEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIEvent" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIEventPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/CCIEvent" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIIntelligenceEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIIntelligence" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / CCIMoneyAdded value: +{ + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "currency": { + "type": "string" + }, + "period": { + "type": "string" + } + }, + "required": [ + "amount", + "currency", + "period" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIRequestMetaAdded value: +{ + "additionalProperties": false, + "properties": { + "request_id": { + "type": "string" + } + }, + "required": [ + "request_id" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/Watch" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchFrequencyAdded value: +{ + "enum": [ + "24h", + "6h" + ], + "type": "string" +} - added
Input schema / $defs / WatchPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Watch" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchStatusAdded value: +{ + "enum": [ + "active", + "paused", + "archived" + ], + "type": "string" +} - added
Input schema / $defs / WatchTopicAdded value: +{ + "enum": [ + "pricing", + "product", + "integrations", + "customers", + "positioning" + ], + "type": "string" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchWebhookAdded value: +{ + "additionalProperties": false, + "properties": { + "secret": { + "type": "string", + "writeOnly": true + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "secret" + ], + "type": "object" +} - added
Input schema / $defs / WatchWebhookConfigAdded value: +{ + "additionalProperties": false, + "properties": { + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +}
- Changed
brand_logo31 fields changed- added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIEventEntityAdded value: +{ + "additionalProperties": false, + "properties": { + "domain": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id", + "domain" + ], + "type": "object" +} - added
Input schema / $defs / CCIEventEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIEvent" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIEventPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/CCIEvent" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIIntelligenceEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIIntelligence" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / CCIMoneyAdded value: +{ + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "currency": { + "type": "string" + }, + "period": { + "type": "string" + } + }, + "required": [ + "amount", + "currency", + "period" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIRequestMetaAdded value: +{ + "additionalProperties": false, + "properties": { + "request_id": { + "type": "string" + } + }, + "required": [ + "request_id" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/Watch" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchFrequencyAdded value: +{ + "enum": [ + "24h", + "6h" + ], + "type": "string" +} - added
Input schema / $defs / WatchPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Watch" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchStatusAdded value: +{ + "enum": [ + "active", + "paused", + "archived" + ], + "type": "string" +} - added
Input schema / $defs / WatchTopicAdded value: +{ + "enum": [ + "pricing", + "product", + "integrations", + "customers", + "positioning" + ], + "type": "string" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchWebhookAdded value: +{ + "additionalProperties": false, + "properties": { + "secret": { + "type": "string", + "writeOnly": true + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "secret" + ], + "type": "object" +} - added
Input schema / $defs / WatchWebhookConfigAdded value: +{ + "additionalProperties": false, + "properties": { + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +}
- Changed
brand_retrieve31 fields changed- added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIEventEntityAdded value: +{ + "additionalProperties": false, + "properties": { + "domain": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id", + "domain" + ], + "type": "object" +} - added
Input schema / $defs / CCIEventEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIEvent" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIEventPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/CCIEvent" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIIntelligenceEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIIntelligence" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / CCIMoneyAdded value: +{ + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "currency": { + "type": "string" + }, + "period": { + "type": "string" + } + }, + "required": [ + "amount", + "currency", + "period" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIRequestMetaAdded value: +{ + "additionalProperties": false, + "properties": { + "request_id": { + "type": "string" + } + }, + "required": [ + "request_id" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/Watch" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchFrequencyAdded value: +{ + "enum": [ + "24h", + "6h" + ], + "type": "string" +} - added
Input schema / $defs / WatchPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Watch" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchStatusAdded value: +{ + "enum": [ + "active", + "paused", + "archived" + ], + "type": "string" +} - added
Input schema / $defs / WatchTopicAdded value: +{ + "enum": [ + "pricing", + "product", + "integrations", + "customers", + "positioning" + ], + "type": "string" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchWebhookAdded value: +{ + "additionalProperties": false, + "properties": { + "secret": { + "type": "string", + "writeOnly": true + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "secret" + ], + "type": "object" +} - added
Input schema / $defs / WatchWebhookConfigAdded value: +{ + "additionalProperties": false, + "properties": { + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +}
- Changed
brand_search31 fields changed- added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIEventEntityAdded value: +{ + "additionalProperties": false, + "properties": { + "domain": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id", + "domain" + ], + "type": "object" +} - added
Input schema / $defs / CCIEventEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIEvent" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIEventPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/CCIEvent" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIIntelligenceEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIIntelligence" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / CCIMoneyAdded value: +{ + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "currency": { + "type": "string" + }, + "period": { + "type": "string" + } + }, + "required": [ + "amount", + "currency", + "period" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIRequestMetaAdded value: +{ + "additionalProperties": false, + "properties": { + "request_id": { + "type": "string" + } + }, + "required": [ + "request_id" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/Watch" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchFrequencyAdded value: +{ + "enum": [ + "24h", + "6h" + ], + "type": "string" +} - added
Input schema / $defs / WatchPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Watch" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchStatusAdded value: +{ + "enum": [ + "active", + "paused", + "archived" + ], + "type": "string" +} - added
Input schema / $defs / WatchTopicAdded value: +{ + "enum": [ + "pricing", + "product", + "integrations", + "customers", + "positioning" + ], + "type": "string" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchWebhookAdded value: +{ + "additionalProperties": false, + "properties": { + "secret": { + "type": "string", + "writeOnly": true + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "secret" + ], + "type": "object" +} - added
Input schema / $defs / WatchWebhookConfigAdded value: +{ + "additionalProperties": false, + "properties": { + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +}
- Changed
brand_styleguide31 fields changed- added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIEventEntityAdded value: +{ + "additionalProperties": false, + "properties": { + "domain": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id", + "domain" + ], + "type": "object" +} - added
Input schema / $defs / CCIEventEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIEvent" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIEventPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/CCIEvent" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIIntelligenceEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIIntelligence" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / CCIMoneyAdded value: +{ + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "currency": { + "type": "string" + }, + "period": { + "type": "string" + } + }, + "required": [ + "amount", + "currency", + "period" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIRequestMetaAdded value: +{ + "additionalProperties": false, + "properties": { + "request_id": { + "type": "string" + } + }, + "required": [ + "request_id" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/Watch" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchFrequencyAdded value: +{ + "enum": [ + "24h", + "6h" + ], + "type": "string" +} - added
Input schema / $defs / WatchPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Watch" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchStatusAdded value: +{ + "enum": [ + "active", + "paused", + "archived" + ], + "type": "string" +} - added
Input schema / $defs / WatchTopicAdded value: +{ + "enum": [ + "pricing", + "product", + "integrations", + "customers", + "positioning" + ], + "type": "string" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchWebhookAdded value: +{ + "additionalProperties": false, + "properties": { + "secret": { + "type": "string", + "writeOnly": true + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "secret" + ], + "type": "object" +} - added
Input schema / $defs / WatchWebhookConfigAdded value: +{ + "additionalProperties": false, + "properties": { + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +}
- Changed
developer31 fields changed- added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIEventEntityAdded value: +{ + "additionalProperties": false, + "properties": { + "domain": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id", + "domain" + ], + "type": "object" +} - added
Input schema / $defs / CCIEventEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIEvent" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIEventPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/CCIEvent" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIIntelligenceEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIIntelligence" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / CCIMoneyAdded value: +{ + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "currency": { + "type": "string" + }, + "period": { + "type": "string" + } + }, + "required": [ + "amount", + "currency", + "period" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIRequestMetaAdded value: +{ + "additionalProperties": false, + "properties": { + "request_id": { + "type": "string" + } + }, + "required": [ + "request_id" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/Watch" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchFrequencyAdded value: +{ + "enum": [ + "24h", + "6h" + ], + "type": "string" +} - added
Input schema / $defs / WatchPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Watch" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchStatusAdded value: +{ + "enum": [ + "active", + "paused", + "archived" + ], + "type": "string" +} - added
Input schema / $defs / WatchTopicAdded value: +{ + "enum": [ + "pricing", + "product", + "integrations", + "customers", + "positioning" + ], + "type": "string" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchWebhookAdded value: +{ + "additionalProperties": false, + "properties": { + "secret": { + "type": "string", + "writeOnly": true + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "secret" + ], + "type": "object" +} - added
Input schema / $defs / WatchWebhookConfigAdded value: +{ + "additionalProperties": false, + "properties": { + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +}
- Added
get_company_events - Added
get_company_history - Added
get_company_intelligence - Changed
get_fetcher_healthz31 fields changed- added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIEventEntityAdded value: +{ + "additionalProperties": false, + "properties": { + "domain": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id", + "domain" + ], + "type": "object" +} - added
Input schema / $defs / CCIEventEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIEvent" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIEventPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/CCIEvent" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIIntelligenceEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIIntelligence" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / CCIMoneyAdded value: +{ + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "currency": { + "type": "string" + }, + "period": { + "type": "string" + } + }, + "required": [ + "amount", + "currency", + "period" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIRequestMetaAdded value: +{ + "additionalProperties": false, + "properties": { + "request_id": { + "type": "string" + } + }, + "required": [ + "request_id" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/Watch" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchFrequencyAdded value: +{ + "enum": [ + "24h", + "6h" + ], + "type": "string" +} - added
Input schema / $defs / WatchPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Watch" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchStatusAdded value: +{ + "enum": [ + "active", + "paused", + "archived" + ], + "type": "string" +} - added
Input schema / $defs / WatchTopicAdded value: +{ + "enum": [ + "pricing", + "product", + "integrations", + "customers", + "positioning" + ], + "type": "string" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchWebhookAdded value: +{ + "additionalProperties": false, + "properties": { + "secret": { + "type": "string", + "writeOnly": true + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "secret" + ], + "type": "object" +} - added
Input schema / $defs / WatchWebhookConfigAdded value: +{ + "additionalProperties": false, + "properties": { + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +}
- Changed
get_fetcher_readyz31 fields changed- added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIEventEntityAdded value: +{ + "additionalProperties": false, + "properties": { + "domain": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id", + "domain" + ], + "type": "object" +} - added
Input schema / $defs / CCIEventEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIEvent" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIEventPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/CCIEvent" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIIntelligenceEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIIntelligence" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / CCIMoneyAdded value: +{ + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "currency": { + "type": "string" + }, + "period": { + "type": "string" + } + }, + "required": [ + "amount", + "currency", + "period" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIRequestMetaAdded value: +{ + "additionalProperties": false, + "properties": { + "request_id": { + "type": "string" + } + }, + "required": [ + "request_id" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/Watch" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchFrequencyAdded value: +{ + "enum": [ + "24h", + "6h" + ], + "type": "string" +} - added
Input schema / $defs / WatchPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Watch" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchStatusAdded value: +{ + "enum": [ + "active", + "paused", + "archived" + ], + "type": "string" +} - added
Input schema / $defs / WatchTopicAdded value: +{ + "enum": [ + "pricing", + "product", + "integrations", + "customers", + "positioning" + ], + "type": "string" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchWebhookAdded value: +{ + "additionalProperties": false, + "properties": { + "secret": { + "type": "string", + "writeOnly": true + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "secret" + ], + "type": "object" +} - added
Input schema / $defs / WatchWebhookConfigAdded value: +{ + "additionalProperties": false, + "properties": { + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +}
- Added
get_recent_company_events - Changed
get_v1_hackernews_capabilities31 fields changed- added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIEventEntityAdded value: +{ + "additionalProperties": false, + "properties": { + "domain": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id", + "domain" + ], + "type": "object" +} - added
Input schema / $defs / CCIEventEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIEvent" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIEventPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/CCIEvent" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIIntelligenceEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIIntelligence" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / CCIMoneyAdded value: +{ + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "currency": { + "type": "string" + }, + "period": { + "type": "string" + } + }, + "required": [ + "amount", + "currency", + "period" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIRequestMetaAdded value: +{ + "additionalProperties": false, + "properties": { + "request_id": { + "type": "string" + } + }, + "required": [ + "request_id" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/Watch" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchFrequencyAdded value: +{ + "enum": [ + "24h", + "6h" + ], + "type": "string" +} - added
Input schema / $defs / WatchPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Watch" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchStatusAdded value: +{ + "enum": [ + "active", + "paused", + "archived" + ], + "type": "string" +} - added
Input schema / $defs / WatchTopicAdded value: +{ + "enum": [ + "pricing", + "product", + "integrations", + "customers", + "positioning" + ], + "type": "string" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchWebhookAdded value: +{ + "additionalProperties": false, + "properties": { + "secret": { + "type": "string", + "writeOnly": true + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "secret" + ], + "type": "object" +} - added
Input schema / $defs / WatchWebhookConfigAdded value: +{ + "additionalProperties": false, + "properties": { + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +}
- Changed
googleplay_app_details31 fields changed- added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIEventEntityAdded value: +{ + "additionalProperties": false, + "properties": { + "domain": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id", + "domain" + ], + "type": "object" +} - added
Input schema / $defs / CCIEventEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIEvent" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIEventPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/CCIEvent" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIIntelligenceEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIIntelligence" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / CCIMoneyAdded value: +{ + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "currency": { + "type": "string" + }, + "period": { + "type": "string" + } + }, + "required": [ + "amount", + "currency", + "period" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIRequestMetaAdded value: +{ + "additionalProperties": false, + "properties": { + "request_id": { + "type": "string" + } + }, + "required": [ + "request_id" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/Watch" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchFrequencyAdded value: +{ + "enum": [ + "24h", + "6h" + ], + "type": "string" +} - added
Input schema / $defs / WatchPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Watch" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchStatusAdded value: +{ + "enum": [ + "active", + "paused", + "archived" + ], + "type": "string" +} - added
Input schema / $defs / WatchTopicAdded value: +{ + "enum": [ + "pricing", + "product", + "integrations", + "customers", + "positioning" + ], + "type": "string" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchWebhookAdded value: +{ + "additionalProperties": false, + "properties": { + "secret": { + "type": "string", + "writeOnly": true + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "secret" + ], + "type": "object" +} - added
Input schema / $defs / WatchWebhookConfigAdded value: +{ + "additionalProperties": false, + "properties": { + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +}
- Changed
googleplay_availability31 fields changed- added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIEventEntityAdded value: +{ + "additionalProperties": false, + "properties": { + "domain": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id", + "domain" + ], + "type": "object" +} - added
Input schema / $defs / CCIEventEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIEvent" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIEventPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/CCIEvent" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIIntelligenceEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIIntelligence" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / CCIMoneyAdded value: +{ + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "currency": { + "type": "string" + }, + "period": { + "type": "string" + } + }, + "required": [ + "amount", + "currency", + "period" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIRequestMetaAdded value: +{ + "additionalProperties": false, + "properties": { + "request_id": { + "type": "string" + } + }, + "required": [ + "request_id" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/Watch" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchFrequencyAdded value: +{ + "enum": [ + "24h", + "6h" + ], + "type": "string" +} - added
Input schema / $defs / WatchPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Watch" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchStatusAdded value: +{ + "enum": [ + "active", + "paused", + "archived" + ], + "type": "string" +} - added
Input schema / $defs / WatchTopicAdded value: +{ + "enum": [ + "pricing", + "product", + "integrations", + "customers", + "positioning" + ], + "type": "string" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchWebhookAdded value: +{ + "additionalProperties": false, + "properties": { + "secret": { + "type": "string", + "writeOnly": true + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "secret" + ], + "type": "object" +} - added
Input schema / $defs / WatchWebhookConfigAdded value: +{ + "additionalProperties": false, + "properties": { + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +}
- Changed
googleplay_categories31 fields changed- added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIEventEntityAdded value: +{ + "additionalProperties": false, + "properties": { + "domain": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id", + "domain" + ], + "type": "object" +} - added
Input schema / $defs / CCIEventEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIEvent" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIEventPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/CCIEvent" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIIntelligenceEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIIntelligence" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / CCIMoneyAdded value: +{ + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "currency": { + "type": "string" + }, + "period": { + "type": "string" + } + }, + "required": [ + "amount", + "currency", + "period" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIRequestMetaAdded value: +{ + "additionalProperties": false, + "properties": { + "request_id": { + "type": "string" + } + }, + "required": [ + "request_id" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/Watch" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchFrequencyAdded value: +{ + "enum": [ + "24h", + "6h" + ], + "type": "string" +} - added
Input schema / $defs / WatchPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Watch" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchStatusAdded value: +{ + "enum": [ + "active", + "paused", + "archived" + ], + "type": "string" +} - added
Input schema / $defs / WatchTopicAdded value: +{ + "enum": [ + "pricing", + "product", + "integrations", + "customers", + "positioning" + ], + "type": "string" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchWebhookAdded value: +{ + "additionalProperties": false, + "properties": { + "secret": { + "type": "string", + "writeOnly": true + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "secret" + ], + "type": "object" +} - added
Input schema / $defs / WatchWebhookConfigAdded value: +{ + "additionalProperties": false, + "properties": { + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +}
- Changed
googleplay_category_apps31 fields changed- added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIEventEntityAdded value: +{ + "additionalProperties": false, + "properties": { + "domain": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id", + "domain" + ], + "type": "object" +} - added
Input schema / $defs / CCIEventEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIEvent" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIEventPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/CCIEvent" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIIntelligenceEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIIntelligence" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / CCIMoneyAdded value: +{ + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "currency": { + "type": "string" + }, + "period": { + "type": "string" + } + }, + "required": [ + "amount", + "currency", + "period" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIRequestMetaAdded value: +{ + "additionalProperties": false, + "properties": { + "request_id": { + "type": "string" + } + }, + "required": [ + "request_id" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/Watch" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchFrequencyAdded value: +{ + "enum": [ + "24h", + "6h" + ], + "type": "string" +} - added
Input schema / $defs / WatchPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Watch" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchStatusAdded value: +{ + "enum": [ + "active", + "paused", + "archived" + ], + "type": "string" +} - added
Input schema / $defs / WatchTopicAdded value: +{ + "enum": [ + "pricing", + "product", + "integrations", + "customers", + "positioning" + ], + "type": "string" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchWebhookAdded value: +{ + "additionalProperties": false, + "properties": { + "secret": { + "type": "string", + "writeOnly": true + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "secret" + ], + "type": "object" +} - added
Input schema / $defs / WatchWebhookConfigAdded value: +{ + "additionalProperties": false, + "properties": { + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +}
- Changed
googleplay_data_safety31 fields changed- added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIEventEntityAdded value: +{ + "additionalProperties": false, + "properties": { + "domain": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id", + "domain" + ], + "type": "object" +} - added
Input schema / $defs / CCIEventEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIEvent" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIEventPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/CCIEvent" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIIntelligenceEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIIntelligence" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / CCIMoneyAdded value: +{ + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "currency": { + "type": "string" + }, + "period": { + "type": "string" + } + }, + "required": [ + "amount", + "currency", + "period" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIRequestMetaAdded value: +{ + "additionalProperties": false, + "properties": { + "request_id": { + "type": "string" + } + }, + "required": [ + "request_id" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/Watch" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchFrequencyAdded value: +{ + "enum": [ + "24h", + "6h" + ], + "type": "string" +} - added
Input schema / $defs / WatchPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Watch" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchStatusAdded value: +{ + "enum": [ + "active", + "paused", + "archived" + ], + "type": "string" +} - added
Input schema / $defs / WatchTopicAdded value: +{ + "enum": [ + "pricing", + "product", + "integrations", + "customers", + "positioning" + ], + "type": "string" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchWebhookAdded value: +{ + "additionalProperties": false, + "properties": { + "secret": { + "type": "string", + "writeOnly": true + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "secret" + ], + "type": "object" +} - added
Input schema / $defs / WatchWebhookConfigAdded value: +{ + "additionalProperties": false, + "properties": { + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +}
- Changed
googleplay_developer31 fields changed- added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIEventEntityAdded value: +{ + "additionalProperties": false, + "properties": { + "domain": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id", + "domain" + ], + "type": "object" +} - added
Input schema / $defs / CCIEventEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIEvent" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIEventPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/CCIEvent" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIIntelligenceEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIIntelligence" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / CCIMoneyAdded value: +{ + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "currency": { + "type": "string" + }, + "period": { + "type": "string" + } + }, + "required": [ + "amount", + "currency", + "period" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIRequestMetaAdded value: +{ + "additionalProperties": false, + "properties": { + "request_id": { + "type": "string" + } + }, + "required": [ + "request_id" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/Watch" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchFrequencyAdded value: +{ + "enum": [ + "24h", + "6h" + ], + "type": "string" +} - added
Input schema / $defs / WatchPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Watch" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchStatusAdded value: +{ + "enum": [ + "active", + "paused", + "archived" + ], + "type": "string" +} - added
Input schema / $defs / WatchTopicAdded value: +{ + "enum": [ + "pricing", + "product", + "integrations", + "customers", + "positioning" + ], + "type": "string" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchWebhookAdded value: +{ + "additionalProperties": false, + "properties": { + "secret": { + "type": "string", + "writeOnly": true + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "secret" + ], + "type": "object" +} - added
Input schema / $defs / WatchWebhookConfigAdded value: +{ + "additionalProperties": false, + "properties": { + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +}
- Changed
googleplay_permissions31 fields changed- added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIEventEntityAdded value: +{ + "additionalProperties": false, + "properties": { + "domain": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id", + "domain" + ], + "type": "object" +} - added
Input schema / $defs / CCIEventEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIEvent" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIEventPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/CCIEvent" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIIntelligenceEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIIntelligence" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / CCIMoneyAdded value: +{ + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "currency": { + "type": "string" + }, + "period": { + "type": "string" + } + }, + "required": [ + "amount", + "currency", + "period" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIRequestMetaAdded value: +{ + "additionalProperties": false, + "properties": { + "request_id": { + "type": "string" + } + }, + "required": [ + "request_id" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/Watch" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchFrequencyAdded value: +{ + "enum": [ + "24h", + "6h" + ], + "type": "string" +} - added
Input schema / $defs / WatchPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Watch" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchStatusAdded value: +{ + "enum": [ + "active", + "paused", + "archived" + ], + "type": "string" +} - added
Input schema / $defs / WatchTopicAdded value: +{ + "enum": [ + "pricing", + "product", + "integrations", + "customers", + "positioning" + ], + "type": "string" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchWebhookAdded value: +{ + "additionalProperties": false, + "properties": { + "secret": { + "type": "string", + "writeOnly": true + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "secret" + ], + "type": "object" +} - added
Input schema / $defs / WatchWebhookConfigAdded value: +{ + "additionalProperties": false, + "properties": { + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +}
- Changed
googleplay_reviews31 fields changed- added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIEventEntityAdded value: +{ + "additionalProperties": false, + "properties": { + "domain": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id", + "domain" + ], + "type": "object" +} - added
Input schema / $defs / CCIEventEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIEvent" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIEventPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/CCIEvent" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIIntelligenceEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIIntelligence" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / CCIMoneyAdded value: +{ + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "currency": { + "type": "string" + }, + "period": { + "type": "string" + } + }, + "required": [ + "amount", + "currency", + "period" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIRequestMetaAdded value: +{ + "additionalProperties": false, + "properties": { + "request_id": { + "type": "string" + } + }, + "required": [ + "request_id" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/Watch" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchFrequencyAdded value: +{ + "enum": [ + "24h", + "6h" + ], + "type": "string" +} - added
Input schema / $defs / WatchPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Watch" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchStatusAdded value: +{ + "enum": [ + "active", + "paused", + "archived" + ], + "type": "string" +} - added
Input schema / $defs / WatchTopicAdded value: +{ + "enum": [ + "pricing", + "product", + "integrations", + "customers", + "positioning" + ], + "type": "string" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchWebhookAdded value: +{ + "additionalProperties": false, + "properties": { + "secret": { + "type": "string", + "writeOnly": true + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "secret" + ], + "type": "object" +} - added
Input schema / $defs / WatchWebhookConfigAdded value: +{ + "additionalProperties": false, + "properties": { + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +}
- Changed
googleplay_search31 fields changed- added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIEventEntityAdded value: +{ + "additionalProperties": false, + "properties": { + "domain": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id", + "domain" + ], + "type": "object" +} - added
Input schema / $defs / CCIEventEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIEvent" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIEventPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/CCIEvent" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIIntelligenceEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIIntelligence" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / CCIMoneyAdded value: +{ + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "currency": { + "type": "string" + }, + "period": { + "type": "string" + } + }, + "required": [ + "amount", + "currency", + "period" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIRequestMetaAdded value: +{ + "additionalProperties": false, + "properties": { + "request_id": { + "type": "string" + } + }, + "required": [ + "request_id" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/Watch" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchFrequencyAdded value: +{ + "enum": [ + "24h", + "6h" + ], + "type": "string" +} - added
Input schema / $defs / WatchPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Watch" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchStatusAdded value: +{ + "enum": [ + "active", + "paused", + "archived" + ], + "type": "string" +} - added
Input schema / $defs / WatchTopicAdded value: +{ + "enum": [ + "pricing", + "product", + "integrations", + "customers", + "positioning" + ], + "type": "string" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchWebhookAdded value: +{ + "additionalProperties": false, + "properties": { + "secret": { + "type": "string", + "writeOnly": true + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "secret" + ], + "type": "object" +} - added
Input schema / $defs / WatchWebhookConfigAdded value: +{ + "additionalProperties": false, + "properties": { + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +}
- Changed
googleplay_similar_apps31 fields changed- added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIEventEntityAdded value: +{ + "additionalProperties": false, + "properties": { + "domain": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id", + "domain" + ], + "type": "object" +} - added
Input schema / $defs / CCIEventEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIEvent" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIEventPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/CCIEvent" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIIntelligenceEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIIntelligence" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / CCIMoneyAdded value: +{ + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "currency": { + "type": "string" + }, + "period": { + "type": "string" + } + }, + "required": [ + "amount", + "currency", + "period" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIRequestMetaAdded value: +{ + "additionalProperties": false, + "properties": { + "request_id": { + "type": "string" + } + }, + "required": [ + "request_id" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/Watch" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchFrequencyAdded value: +{ + "enum": [ + "24h", + "6h" + ], + "type": "string" +} - added
Input schema / $defs / WatchPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Watch" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchStatusAdded value: +{ + "enum": [ + "active", + "paused", + "archived" + ], + "type": "string" +} - added
Input schema / $defs / WatchTopicAdded value: +{ + "enum": [ + "pricing", + "product", + "integrations", + "customers", + "positioning" + ], + "type": "string" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchWebhookAdded value: +{ + "additionalProperties": false, + "properties": { + "secret": { + "type": "string", + "writeOnly": true + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "secret" + ], + "type": "object" +} - added
Input schema / $defs / WatchWebhookConfigAdded value: +{ + "additionalProperties": false, + "properties": { + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +}
- Changed
googleplay_suggest31 fields changed- added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIEventEntityAdded value: +{ + "additionalProperties": false, + "properties": { + "domain": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id", + "domain" + ], + "type": "object" +} - added
Input schema / $defs / CCIEventEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIEvent" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIEventPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/CCIEvent" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIIntelligenceEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIIntelligence" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / CCIMoneyAdded value: +{ + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "currency": { + "type": "string" + }, + "period": { + "type": "string" + } + }, + "required": [ + "amount", + "currency", + "period" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIRequestMetaAdded value: +{ + "additionalProperties": false, + "properties": { + "request_id": { + "type": "string" + } + }, + "required": [ + "request_id" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/Watch" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchFrequencyAdded value: +{ + "enum": [ + "24h", + "6h" + ], + "type": "string" +} - added
Input schema / $defs / WatchPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Watch" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchStatusAdded value: +{ + "enum": [ + "active", + "paused", + "archived" + ], + "type": "string" +} - added
Input schema / $defs / WatchTopicAdded value: +{ + "enum": [ + "pricing", + "product", + "integrations", + "customers", + "positioning" + ], + "type": "string" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchWebhookAdded value: +{ + "additionalProperties": false, + "properties": { + "secret": { + "type": "string", + "writeOnly": true + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "secret" + ], + "type": "object" +} - added
Input schema / $defs / WatchWebhookConfigAdded value: +{ + "additionalProperties": false, + "properties": { + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +}
- Changed
hackernews_item31 fields changed- added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIEventEntityAdded value: +{ + "additionalProperties": false, + "properties": { + "domain": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id", + "domain" + ], + "type": "object" +} - added
Input schema / $defs / CCIEventEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIEvent" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIEventPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/CCIEvent" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIIntelligenceEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIIntelligence" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / CCIMoneyAdded value: +{ + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "currency": { + "type": "string" + }, + "period": { + "type": "string" + } + }, + "required": [ + "amount", + "currency", + "period" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIRequestMetaAdded value: +{ + "additionalProperties": false, + "properties": { + "request_id": { + "type": "string" + } + }, + "required": [ + "request_id" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/Watch" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchFrequencyAdded value: +{ + "enum": [ + "24h", + "6h" + ], + "type": "string" +} - added
Input schema / $defs / WatchPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Watch" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchStatusAdded value: +{ + "enum": [ + "active", + "paused", + "archived" + ], + "type": "string" +} - added
Input schema / $defs / WatchTopicAdded value: +{ + "enum": [ + "pricing", + "product", + "integrations", + "customers", + "positioning" + ], + "type": "string" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchWebhookAdded value: +{ + "additionalProperties": false, + "properties": { + "secret": { + "type": "string", + "writeOnly": true + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "secret" + ], + "type": "object" +} - added
Input schema / $defs / WatchWebhookConfigAdded value: +{ + "additionalProperties": false, + "properties": { + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +}
- Changed
hackernews_search31 fields changed- added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIEventEntityAdded value: +{ + "additionalProperties": false, + "properties": { + "domain": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id", + "domain" + ], + "type": "object" +} - added
Input schema / $defs / CCIEventEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIEvent" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIEventPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/CCIEvent" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIIntelligenceEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIIntelligence" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / CCIMoneyAdded value: +{ + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "currency": { + "type": "string" + }, + "period": { + "type": "string" + } + }, + "required": [ + "amount", + "currency", + "period" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIRequestMetaAdded value: +{ + "additionalProperties": false, + "properties": { + "request_id": { + "type": "string" + } + }, + "required": [ + "request_id" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/Watch" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchFrequencyAdded value: +{ + "enum": [ + "24h", + "6h" + ], + "type": "string" +} - added
Input schema / $defs / WatchPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Watch" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchStatusAdded value: +{ + "enum": [ + "active", + "paused", + "archived" + ], + "type": "string" +} - added
Input schema / $defs / WatchTopicAdded value: +{ + "enum": [ + "pricing", + "product", + "integrations", + "customers", + "positioning" + ], + "type": "string" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchWebhookAdded value: +{ + "additionalProperties": false, + "properties": { + "secret": { + "type": "string", + "writeOnly": true + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "secret" + ], + "type": "object" +} - added
Input schema / $defs / WatchWebhookConfigAdded value: +{ + "additionalProperties": false, + "properties": { + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +}
- Changed
hackernews_stories_ask31 fields changed- added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIEventEntityAdded value: +{ + "additionalProperties": false, + "properties": { + "domain": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id", + "domain" + ], + "type": "object" +} - added
Input schema / $defs / CCIEventEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIEvent" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIEventPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/CCIEvent" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIIntelligenceEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIIntelligence" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / CCIMoneyAdded value: +{ + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "currency": { + "type": "string" + }, + "period": { + "type": "string" + } + }, + "required": [ + "amount", + "currency", + "period" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIRequestMetaAdded value: +{ + "additionalProperties": false, + "properties": { + "request_id": { + "type": "string" + } + }, + "required": [ + "request_id" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/Watch" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchFrequencyAdded value: +{ + "enum": [ + "24h", + "6h" + ], + "type": "string" +} - added
Input schema / $defs / WatchPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Watch" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchStatusAdded value: +{ + "enum": [ + "active", + "paused", + "archived" + ], + "type": "string" +} - added
Input schema / $defs / WatchTopicAdded value: +{ + "enum": [ + "pricing", + "product", + "integrations", + "customers", + "positioning" + ], + "type": "string" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchWebhookAdded value: +{ + "additionalProperties": false, + "properties": { + "secret": { + "type": "string", + "writeOnly": true + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "secret" + ], + "type": "object" +} - added
Input schema / $defs / WatchWebhookConfigAdded value: +{ + "additionalProperties": false, + "properties": { + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +}
- Changed
hackernews_stories_best31 fields changed- added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIEventEntityAdded value: +{ + "additionalProperties": false, + "properties": { + "domain": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id", + "domain" + ], + "type": "object" +} - added
Input schema / $defs / CCIEventEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIEvent" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIEventPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/CCIEvent" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIIntelligenceEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIIntelligence" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / CCIMoneyAdded value: +{ + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "currency": { + "type": "string" + }, + "period": { + "type": "string" + } + }, + "required": [ + "amount", + "currency", + "period" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIRequestMetaAdded value: +{ + "additionalProperties": false, + "properties": { + "request_id": { + "type": "string" + } + }, + "required": [ + "request_id" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/Watch" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchFrequencyAdded value: +{ + "enum": [ + "24h", + "6h" + ], + "type": "string" +} - added
Input schema / $defs / WatchPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Watch" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchStatusAdded value: +{ + "enum": [ + "active", + "paused", + "archived" + ], + "type": "string" +} - added
Input schema / $defs / WatchTopicAdded value: +{ + "enum": [ + "pricing", + "product", + "integrations", + "customers", + "positioning" + ], + "type": "string" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchWebhookAdded value: +{ + "additionalProperties": false, + "properties": { + "secret": { + "type": "string", + "writeOnly": true + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "secret" + ], + "type": "object" +} - added
Input schema / $defs / WatchWebhookConfigAdded value: +{ + "additionalProperties": false, + "properties": { + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +}
- Changed
hackernews_stories_job31 fields changed- added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIEventEntityAdded value: +{ + "additionalProperties": false, + "properties": { + "domain": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id", + "domain" + ], + "type": "object" +} - added
Input schema / $defs / CCIEventEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIEvent" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIEventPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/CCIEvent" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIIntelligenceEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIIntelligence" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / CCIMoneyAdded value: +{ + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "currency": { + "type": "string" + }, + "period": { + "type": "string" + } + }, + "required": [ + "amount", + "currency", + "period" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIRequestMetaAdded value: +{ + "additionalProperties": false, + "properties": { + "request_id": { + "type": "string" + } + }, + "required": [ + "request_id" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/Watch" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchFrequencyAdded value: +{ + "enum": [ + "24h", + "6h" + ], + "type": "string" +} - added
Input schema / $defs / WatchPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Watch" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchStatusAdded value: +{ + "enum": [ + "active", + "paused", + "archived" + ], + "type": "string" +} - added
Input schema / $defs / WatchTopicAdded value: +{ + "enum": [ + "pricing", + "product", + "integrations", + "customers", + "positioning" + ], + "type": "string" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchWebhookAdded value: +{ + "additionalProperties": false, + "properties": { + "secret": { + "type": "string", + "writeOnly": true + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "secret" + ], + "type": "object" +} - added
Input schema / $defs / WatchWebhookConfigAdded value: +{ + "additionalProperties": false, + "properties": { + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +}
- Changed
hackernews_stories_new31 fields changed- added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIEventEntityAdded value: +{ + "additionalProperties": false, + "properties": { + "domain": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id", + "domain" + ], + "type": "object" +} - added
Input schema / $defs / CCIEventEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIEvent" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIEventPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/CCIEvent" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIIntelligenceEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIIntelligence" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / CCIMoneyAdded value: +{ + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "currency": { + "type": "string" + }, + "period": { + "type": "string" + } + }, + "required": [ + "amount", + "currency", + "period" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIRequestMetaAdded value: +{ + "additionalProperties": false, + "properties": { + "request_id": { + "type": "string" + } + }, + "required": [ + "request_id" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/Watch" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchFrequencyAdded value: +{ + "enum": [ + "24h", + "6h" + ], + "type": "string" +} - added
Input schema / $defs / WatchPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Watch" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchStatusAdded value: +{ + "enum": [ + "active", + "paused", + "archived" + ], + "type": "string" +} - added
Input schema / $defs / WatchTopicAdded value: +{ + "enum": [ + "pricing", + "product", + "integrations", + "customers", + "positioning" + ], + "type": "string" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchWebhookAdded value: +{ + "additionalProperties": false, + "properties": { + "secret": { + "type": "string", + "writeOnly": true + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "secret" + ], + "type": "object" +} - added
Input schema / $defs / WatchWebhookConfigAdded value: +{ + "additionalProperties": false, + "properties": { + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +}
- Changed
hackernews_stories_show31 fields changed- added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIEventEntityAdded value: +{ + "additionalProperties": false, + "properties": { + "domain": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id", + "domain" + ], + "type": "object" +} - added
Input schema / $defs / CCIEventEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIEvent" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIEventPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/CCIEvent" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIIntelligenceEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIIntelligence" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / CCIMoneyAdded value: +{ + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "currency": { + "type": "string" + }, + "period": { + "type": "string" + } + }, + "required": [ + "amount", + "currency", + "period" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIRequestMetaAdded value: +{ + "additionalProperties": false, + "properties": { + "request_id": { + "type": "string" + } + }, + "required": [ + "request_id" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/Watch" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchFrequencyAdded value: +{ + "enum": [ + "24h", + "6h" + ], + "type": "string" +} - added
Input schema / $defs / WatchPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Watch" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchStatusAdded value: +{ + "enum": [ + "active", + "paused", + "archived" + ], + "type": "string" +} - added
Input schema / $defs / WatchTopicAdded value: +{ + "enum": [ + "pricing", + "product", + "integrations", + "customers", + "positioning" + ], + "type": "string" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchWebhookAdded value: +{ + "additionalProperties": false, + "properties": { + "secret": { + "type": "string", + "writeOnly": true + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "secret" + ], + "type": "object" +} - added
Input schema / $defs / WatchWebhookConfigAdded value: +{ + "additionalProperties": false, + "properties": { + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +}
- Changed
hackernews_stories_top31 fields changed- added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIEventEntityAdded value: +{ + "additionalProperties": false, + "properties": { + "domain": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id", + "domain" + ], + "type": "object" +} - added
Input schema / $defs / CCIEventEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIEvent" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIEventPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/CCIEvent" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIIntelligenceEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIIntelligence" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / CCIMoneyAdded value: +{ + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "currency": { + "type": "string" + }, + "period": { + "type": "string" + } + }, + "required": [ + "amount", + "currency", + "period" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIRequestMetaAdded value: +{ + "additionalProperties": false, + "properties": { + "request_id": { + "type": "string" + } + }, + "required": [ + "request_id" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/Watch" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchFrequencyAdded value: +{ + "enum": [ + "24h", + "6h" + ], + "type": "string" +} - added
Input schema / $defs / WatchPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Watch" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchStatusAdded value: +{ + "enum": [ + "active", + "paused", + "archived" + ], + "type": "string" +} - added
Input schema / $defs / WatchTopicAdded value: +{ + "enum": [ + "pricing", + "product", + "integrations", + "customers", + "positioning" + ], + "type": "string" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchWebhookAdded value: +{ + "additionalProperties": false, + "properties": { + "secret": { + "type": "string", + "writeOnly": true + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "secret" + ], + "type": "object" +} - added
Input schema / $defs / WatchWebhookConfigAdded value: +{ + "additionalProperties": false, + "properties": { + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +}
- Changed
hackernews_user31 fields changed- added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIEventEntityAdded value: +{ + "additionalProperties": false, + "properties": { + "domain": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id", + "domain" + ], + "type": "object" +} - added
Input schema / $defs / CCIEventEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIEvent" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIEventPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/CCIEvent" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIIntelligenceEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIIntelligence" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / CCIMoneyAdded value: +{ + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "currency": { + "type": "string" + }, + "period": { + "type": "string" + } + }, + "required": [ + "amount", + "currency", + "period" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIRequestMetaAdded value: +{ + "additionalProperties": false, + "properties": { + "request_id": { + "type": "string" + } + }, + "required": [ + "request_id" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/Watch" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchFrequencyAdded value: +{ + "enum": [ + "24h", + "6h" + ], + "type": "string" +} - added
Input schema / $defs / WatchPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Watch" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchStatusAdded value: +{ + "enum": [ + "active", + "paused", + "archived" + ], + "type": "string" +} - added
Input schema / $defs / WatchTopicAdded value: +{ + "enum": [ + "pricing", + "product", + "integrations", + "customers", + "positioning" + ], + "type": "string" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchWebhookAdded value: +{ + "additionalProperties": false, + "properties": { + "secret": { + "type": "string", + "writeOnly": true + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "secret" + ], + "type": "object" +} - added
Input schema / $defs / WatchWebhookConfigAdded value: +{ + "additionalProperties": false, + "properties": { + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +}
- Changed
list31 fields changed- added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIEventEntityAdded value: +{ + "additionalProperties": false, + "properties": { + "domain": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id", + "domain" + ], + "type": "object" +} - added
Input schema / $defs / CCIEventEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIEvent" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIEventPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/CCIEvent" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIIntelligenceEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIIntelligence" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / CCIMoneyAdded value: +{ + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "currency": { + "type": "string" + }, + "period": { + "type": "string" + } + }, + "required": [ + "amount", + "currency", + "period" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIRequestMetaAdded value: +{ + "additionalProperties": false, + "properties": { + "request_id": { + "type": "string" + } + }, + "required": [ + "request_id" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/Watch" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchFrequencyAdded value: +{ + "enum": [ + "24h", + "6h" + ], + "type": "string" +} - added
Input schema / $defs / WatchPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Watch" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchStatusAdded value: +{ + "enum": [ + "active", + "paused", + "archived" + ], + "type": "string" +} - added
Input schema / $defs / WatchTopicAdded value: +{ + "enum": [ + "pricing", + "product", + "integrations", + "customers", + "positioning" + ], + "type": "string" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchWebhookAdded value: +{ + "additionalProperties": false, + "properties": { + "secret": { + "type": "string", + "writeOnly": true + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "secret" + ], + "type": "object" +} - added
Input schema / $defs / WatchWebhookConfigAdded value: +{ + "additionalProperties": false, + "properties": { + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +}
- Changed
monitor_changes31 fields changed- added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIEventEntityAdded value: +{ + "additionalProperties": false, + "properties": { + "domain": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id", + "domain" + ], + "type": "object" +} - added
Input schema / $defs / CCIEventEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIEvent" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIEventPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/CCIEvent" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIIntelligenceEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIIntelligence" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / CCIMoneyAdded value: +{ + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "currency": { + "type": "string" + }, + "period": { + "type": "string" + } + }, + "required": [ + "amount", + "currency", + "period" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIRequestMetaAdded value: +{ + "additionalProperties": false, + "properties": { + "request_id": { + "type": "string" + } + }, + "required": [ + "request_id" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/Watch" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchFrequencyAdded value: +{ + "enum": [ + "24h", + "6h" + ], + "type": "string" +} - added
Input schema / $defs / WatchPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Watch" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchStatusAdded value: +{ + "enum": [ + "active", + "paused", + "archived" + ], + "type": "string" +} - added
Input schema / $defs / WatchTopicAdded value: +{ + "enum": [ + "pricing", + "product", + "integrations", + "customers", + "positioning" + ], + "type": "string" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchWebhookAdded value: +{ + "additionalProperties": false, + "properties": { + "secret": { + "type": "string", + "writeOnly": true + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "secret" + ], + "type": "object" +} - added
Input schema / $defs / WatchWebhookConfigAdded value: +{ + "additionalProperties": false, + "properties": { + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +}
- Changed
monitor_create31 fields changed- added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIEventEntityAdded value: +{ + "additionalProperties": false, + "properties": { + "domain": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id", + "domain" + ], + "type": "object" +} - added
Input schema / $defs / CCIEventEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIEvent" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIEventPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/CCIEvent" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIIntelligenceEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIIntelligence" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / CCIMoneyAdded value: +{ + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "currency": { + "type": "string" + }, + "period": { + "type": "string" + } + }, + "required": [ + "amount", + "currency", + "period" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIRequestMetaAdded value: +{ + "additionalProperties": false, + "properties": { + "request_id": { + "type": "string" + } + }, + "required": [ + "request_id" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/Watch" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchFrequencyAdded value: +{ + "enum": [ + "24h", + "6h" + ], + "type": "string" +} - added
Input schema / $defs / WatchPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Watch" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchStatusAdded value: +{ + "enum": [ + "active", + "paused", + "archived" + ], + "type": "string" +} - added
Input schema / $defs / WatchTopicAdded value: +{ + "enum": [ + "pricing", + "product", + "integrations", + "customers", + "positioning" + ], + "type": "string" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchWebhookAdded value: +{ + "additionalProperties": false, + "properties": { + "secret": { + "type": "string", + "writeOnly": true + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "secret" + ], + "type": "object" +} - added
Input schema / $defs / WatchWebhookConfigAdded value: +{ + "additionalProperties": false, + "properties": { + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +}
- Changed
monitor_get31 fields changed- added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIEventEntityAdded value: +{ + "additionalProperties": false, + "properties": { + "domain": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id", + "domain" + ], + "type": "object" +} - added
Input schema / $defs / CCIEventEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIEvent" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIEventPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/CCIEvent" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIIntelligenceEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIIntelligence" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / CCIMoneyAdded value: +{ + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "currency": { + "type": "string" + }, + "period": { + "type": "string" + } + }, + "required": [ + "amount", + "currency", + "period" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIRequestMetaAdded value: +{ + "additionalProperties": false, + "properties": { + "request_id": { + "type": "string" + } + }, + "required": [ + "request_id" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/Watch" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchFrequencyAdded value: +{ + "enum": [ + "24h", + "6h" + ], + "type": "string" +} - added
Input schema / $defs / WatchPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Watch" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchStatusAdded value: +{ + "enum": [ + "active", + "paused", + "archived" + ], + "type": "string" +} - added
Input schema / $defs / WatchTopicAdded value: +{ + "enum": [ + "pricing", + "product", + "integrations", + "customers", + "positioning" + ], + "type": "string" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchWebhookAdded value: +{ + "additionalProperties": false, + "properties": { + "secret": { + "type": "string", + "writeOnly": true + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "secret" + ], + "type": "object" +} - added
Input schema / $defs / WatchWebhookConfigAdded value: +{ + "additionalProperties": false, + "properties": { + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +}
- Changed
monitor_list31 fields changed- added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIEventEntityAdded value: +{ + "additionalProperties": false, + "properties": { + "domain": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id", + "domain" + ], + "type": "object" +} - added
Input schema / $defs / CCIEventEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIEvent" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIEventPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/CCIEvent" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIIntelligenceEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIIntelligence" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / CCIMoneyAdded value: +{ + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "currency": { + "type": "string" + }, + "period": { + "type": "string" + } + }, + "required": [ + "amount", + "currency", + "period" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIRequestMetaAdded value: +{ + "additionalProperties": false, + "properties": { + "request_id": { + "type": "string" + } + }, + "required": [ + "request_id" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/Watch" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchFrequencyAdded value: +{ + "enum": [ + "24h", + "6h" + ], + "type": "string" +} - added
Input schema / $defs / WatchPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Watch" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchStatusAdded value: +{ + "enum": [ + "active", + "paused", + "archived" + ], + "type": "string" +} - added
Input schema / $defs / WatchTopicAdded value: +{ + "enum": [ + "pricing", + "product", + "integrations", + "customers", + "positioning" + ], + "type": "string" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchWebhookAdded value: +{ + "additionalProperties": false, + "properties": { + "secret": { + "type": "string", + "writeOnly": true + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "secret" + ], + "type": "object" +} - added
Input schema / $defs / WatchWebhookConfigAdded value: +{ + "additionalProperties": false, + "properties": { + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +}
- Changed
monitor_runs31 fields changed- added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIEventEntityAdded value: +{ + "additionalProperties": false, + "properties": { + "domain": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id", + "domain" + ], + "type": "object" +} - added
Input schema / $defs / CCIEventEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIEvent" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIEventPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/CCIEvent" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIIntelligenceEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIIntelligence" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / CCIMoneyAdded value: +{ + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "currency": { + "type": "string" + }, + "period": { + "type": "string" + } + }, + "required": [ + "amount", + "currency", + "period" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIRequestMetaAdded value: +{ + "additionalProperties": false, + "properties": { + "request_id": { + "type": "string" + } + }, + "required": [ + "request_id" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/Watch" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchFrequencyAdded value: +{ + "enum": [ + "24h", + "6h" + ], + "type": "string" +} - added
Input schema / $defs / WatchPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Watch" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchStatusAdded value: +{ + "enum": [ + "active", + "paused", + "archived" + ], + "type": "string" +} - added
Input schema / $defs / WatchTopicAdded value: +{ + "enum": [ + "pricing", + "product", + "integrations", + "customers", + "positioning" + ], + "type": "string" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchWebhookAdded value: +{ + "additionalProperties": false, + "properties": { + "secret": { + "type": "string", + "writeOnly": true + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "secret" + ], + "type": "object" +} - added
Input schema / $defs / WatchWebhookConfigAdded value: +{ + "additionalProperties": false, + "properties": { + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +}
- Changed
monitor_update31 fields changed- added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIEventEntityAdded value: +{ + "additionalProperties": false, + "properties": { + "domain": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id", + "domain" + ], + "type": "object" +} - added
Input schema / $defs / CCIEventEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIEvent" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIEventPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/CCIEvent" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIIntelligenceEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIIntelligence" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / CCIMoneyAdded value: +{ + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "currency": { + "type": "string" + }, + "period": { + "type": "string" + } + }, + "required": [ + "amount", + "currency", + "period" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIRequestMetaAdded value: +{ + "additionalProperties": false, + "properties": { + "request_id": { + "type": "string" + } + }, + "required": [ + "request_id" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/Watch" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchFrequencyAdded value: +{ + "enum": [ + "24h", + "6h" + ], + "type": "string" +} - added
Input schema / $defs / WatchPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Watch" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchStatusAdded value: +{ + "enum": [ + "active", + "paused", + "archived" + ], + "type": "string" +} - added
Input schema / $defs / WatchTopicAdded value: +{ + "enum": [ + "pricing", + "product", + "integrations", + "customers", + "positioning" + ], + "type": "string" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchWebhookAdded value: +{ + "additionalProperties": false, + "properties": { + "secret": { + "type": "string", + "writeOnly": true + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "secret" + ], + "type": "object" +} - added
Input schema / $defs / WatchWebhookConfigAdded value: +{ + "additionalProperties": false, + "properties": { + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +}
- Changed
post_by_id31 fields changed- added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIEventEntityAdded value: +{ + "additionalProperties": false, + "properties": { + "domain": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id", + "domain" + ], + "type": "object" +} - added
Input schema / $defs / CCIEventEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIEvent" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIEventPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/CCIEvent" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIIntelligenceEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIIntelligence" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / CCIMoneyAdded value: +{ + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "currency": { + "type": "string" + }, + "period": { + "type": "string" + } + }, + "required": [ + "amount", + "currency", + "period" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIRequestMetaAdded value: +{ + "additionalProperties": false, + "properties": { + "request_id": { + "type": "string" + } + }, + "required": [ + "request_id" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/Watch" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchFrequencyAdded value: +{ + "enum": [ + "24h", + "6h" + ], + "type": "string" +} - added
Input schema / $defs / WatchPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Watch" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchStatusAdded value: +{ + "enum": [ + "active", + "paused", + "archived" + ], + "type": "string" +} - added
Input schema / $defs / WatchTopicAdded value: +{ + "enum": [ + "pricing", + "product", + "integrations", + "customers", + "positioning" + ], + "type": "string" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchWebhookAdded value: +{ + "additionalProperties": false, + "properties": { + "secret": { + "type": "string", + "writeOnly": true + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "secret" + ], + "type": "object" +} - added
Input schema / $defs / WatchWebhookConfigAdded value: +{ + "additionalProperties": false, + "properties": { + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +}
- Changed
post_by_permalink31 fields changed- added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIEventEntityAdded value: +{ + "additionalProperties": false, + "properties": { + "domain": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id", + "domain" + ], + "type": "object" +} - added
Input schema / $defs / CCIEventEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIEvent" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIEventPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/CCIEvent" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIIntelligenceEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIIntelligence" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / CCIMoneyAdded value: +{ + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "currency": { + "type": "string" + }, + "period": { + "type": "string" + } + }, + "required": [ + "amount", + "currency", + "period" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIRequestMetaAdded value: +{ + "additionalProperties": false, + "properties": { + "request_id": { + "type": "string" + } + }, + "required": [ + "request_id" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/Watch" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchFrequencyAdded value: +{ + "enum": [ + "24h", + "6h" + ], + "type": "string" +} - added
Input schema / $defs / WatchPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Watch" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchStatusAdded value: +{ + "enum": [ + "active", + "paused", + "archived" + ], + "type": "string" +} - added
Input schema / $defs / WatchTopicAdded value: +{ + "enum": [ + "pricing", + "product", + "integrations", + "customers", + "positioning" + ], + "type": "string" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchWebhookAdded value: +{ + "additionalProperties": false, + "properties": { + "secret": { + "type": "string", + "writeOnly": true + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "secret" + ], + "type": "object" +} - added
Input schema / $defs / WatchWebhookConfigAdded value: +{ + "additionalProperties": false, + "properties": { + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +}
- Changed
privacy31 fields changed- added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIEventEntityAdded value: +{ + "additionalProperties": false, + "properties": { + "domain": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id", + "domain" + ], + "type": "object" +} - added
Input schema / $defs / CCIEventEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIEvent" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIEventPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/CCIEvent" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIIntelligenceEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIIntelligence" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / CCIMoneyAdded value: +{ + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "currency": { + "type": "string" + }, + "period": { + "type": "string" + } + }, + "required": [ + "amount", + "currency", + "period" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIRequestMetaAdded value: +{ + "additionalProperties": false, + "properties": { + "request_id": { + "type": "string" + } + }, + "required": [ + "request_id" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/Watch" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchFrequencyAdded value: +{ + "enum": [ + "24h", + "6h" + ], + "type": "string" +} - added
Input schema / $defs / WatchPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Watch" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchStatusAdded value: +{ + "enum": [ + "active", + "paused", + "archived" + ], + "type": "string" +} - added
Input schema / $defs / WatchTopicAdded value: +{ + "enum": [ + "pricing", + "product", + "integrations", + "customers", + "positioning" + ], + "type": "string" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchWebhookAdded value: +{ + "additionalProperties": false, + "properties": { + "secret": { + "type": "string", + "writeOnly": true + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "secret" + ], + "type": "object" +} - added
Input schema / $defs / WatchWebhookConfigAdded value: +{ + "additionalProperties": false, + "properties": { + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +}
- Changed
ratings31 fields changed- added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIEventEntityAdded value: +{ + "additionalProperties": false, + "properties": { + "domain": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id", + "domain" + ], + "type": "object" +} - added
Input schema / $defs / CCIEventEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIEvent" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIEventPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/CCIEvent" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIIntelligenceEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIIntelligence" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / CCIMoneyAdded value: +{ + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "currency": { + "type": "string" + }, + "period": { + "type": "string" + } + }, + "required": [ + "amount", + "currency", + "period" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIRequestMetaAdded value: +{ + "additionalProperties": false, + "properties": { + "request_id": { + "type": "string" + } + }, + "required": [ + "request_id" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/Watch" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchFrequencyAdded value: +{ + "enum": [ + "24h", + "6h" + ], + "type": "string" +} - added
Input schema / $defs / WatchPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Watch" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchStatusAdded value: +{ + "enum": [ + "active", + "paused", + "archived" + ], + "type": "string" +} - added
Input schema / $defs / WatchTopicAdded value: +{ + "enum": [ + "pricing", + "product", + "integrations", + "customers", + "positioning" + ], + "type": "string" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchWebhookAdded value: +{ + "additionalProperties": false, + "properties": { + "secret": { + "type": "string", + "writeOnly": true + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "secret" + ], + "type": "object" +} - added
Input schema / $defs / WatchWebhookConfigAdded value: +{ + "additionalProperties": false, + "properties": { + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +}
- Changed
read_document31 fields changed- added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIEventEntityAdded value: +{ + "additionalProperties": false, + "properties": { + "domain": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id", + "domain" + ], + "type": "object" +} - added
Input schema / $defs / CCIEventEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIEvent" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIEventPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/CCIEvent" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIIntelligenceEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIIntelligence" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / CCIMoneyAdded value: +{ + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "currency": { + "type": "string" + }, + "period": { + "type": "string" + } + }, + "required": [ + "amount", + "currency", + "period" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIRequestMetaAdded value: +{ + "additionalProperties": false, + "properties": { + "request_id": { + "type": "string" + } + }, + "required": [ + "request_id" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/Watch" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchFrequencyAdded value: +{ + "enum": [ + "24h", + "6h" + ], + "type": "string" +} - added
Input schema / $defs / WatchPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Watch" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchStatusAdded value: +{ + "enum": [ + "active", + "paused", + "archived" + ], + "type": "string" +} - added
Input schema / $defs / WatchTopicAdded value: +{ + "enum": [ + "pricing", + "product", + "integrations", + "customers", + "positioning" + ], + "type": "string" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchWebhookAdded value: +{ + "additionalProperties": false, + "properties": { + "secret": { + "type": "string", + "writeOnly": true + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "secret" + ], + "type": "object" +} - added
Input schema / $defs / WatchWebhookConfigAdded value: +{ + "additionalProperties": false, + "properties": { + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +}
- Changed
reviews31 fields changed- added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIEventEntityAdded value: +{ + "additionalProperties": false, + "properties": { + "domain": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id", + "domain" + ], + "type": "object" +} - added
Input schema / $defs / CCIEventEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIEvent" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIEventPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/CCIEvent" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIIntelligenceEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIIntelligence" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / CCIMoneyAdded value: +{ + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "currency": { + "type": "string" + }, + "period": { + "type": "string" + } + }, + "required": [ + "amount", + "currency", + "period" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIRequestMetaAdded value: +{ + "additionalProperties": false, + "properties": { + "request_id": { + "type": "string" + } + }, + "required": [ + "request_id" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/Watch" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchFrequencyAdded value: +{ + "enum": [ + "24h", + "6h" + ], + "type": "string" +} - added
Input schema / $defs / WatchPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Watch" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchStatusAdded value: +{ + "enum": [ + "active", + "paused", + "archived" + ], + "type": "string" +} - added
Input schema / $defs / WatchTopicAdded value: +{ + "enum": [ + "pricing", + "product", + "integrations", + "customers", + "positioning" + ], + "type": "string" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchWebhookAdded value: +{ + "additionalProperties": false, + "properties": { + "secret": { + "type": "string", + "writeOnly": true + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "secret" + ], + "type": "object" +} - added
Input schema / $defs / WatchWebhookConfigAdded value: +{ + "additionalProperties": false, + "properties": { + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +}
- Changed
search31 fields changed- added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIEventEntityAdded value: +{ + "additionalProperties": false, + "properties": { + "domain": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id", + "domain" + ], + "type": "object" +} - added
Input schema / $defs / CCIEventEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIEvent" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIEventPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/CCIEvent" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIIntelligenceEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIIntelligence" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / CCIMoneyAdded value: +{ + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "currency": { + "type": "string" + }, + "period": { + "type": "string" + } + }, + "required": [ + "amount", + "currency", + "period" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIRequestMetaAdded value: +{ + "additionalProperties": false, + "properties": { + "request_id": { + "type": "string" + } + }, + "required": [ + "request_id" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/Watch" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchFrequencyAdded value: +{ + "enum": [ + "24h", + "6h" + ], + "type": "string" +} - added
Input schema / $defs / WatchPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Watch" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchStatusAdded value: +{ + "enum": [ + "active", + "paused", + "archived" + ], + "type": "string" +} - added
Input schema / $defs / WatchTopicAdded value: +{ + "enum": [ + "pricing", + "product", + "integrations", + "customers", + "positioning" + ], + "type": "string" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchWebhookAdded value: +{ + "additionalProperties": false, + "properties": { + "secret": { + "type": "string", + "writeOnly": true + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "secret" + ], + "type": "object" +} - added
Input schema / $defs / WatchWebhookConfigAdded value: +{ + "additionalProperties": false, + "properties": { + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +}
- Changed
search_posts31 fields changed- added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIEventEntityAdded value: +{ + "additionalProperties": false, + "properties": { + "domain": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id", + "domain" + ], + "type": "object" +} - added
Input schema / $defs / CCIEventEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIEvent" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIEventPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/CCIEvent" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIIntelligenceEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIIntelligence" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / CCIMoneyAdded value: +{ + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "currency": { + "type": "string" + }, + "period": { + "type": "string" + } + }, + "required": [ + "amount", + "currency", + "period" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIRequestMetaAdded value: +{ + "additionalProperties": false, + "properties": { + "request_id": { + "type": "string" + } + }, + "required": [ + "request_id" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/Watch" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchFrequencyAdded value: +{ + "enum": [ + "24h", + "6h" + ], + "type": "string" +} - added
Input schema / $defs / WatchPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Watch" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchStatusAdded value: +{ + "enum": [ + "active", + "paused", + "archived" + ], + "type": "string" +} - added
Input schema / $defs / WatchTopicAdded value: +{ + "enum": [ + "pricing", + "product", + "integrations", + "customers", + "positioning" + ], + "type": "string" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchWebhookAdded value: +{ + "additionalProperties": false, + "properties": { + "secret": { + "type": "string", + "writeOnly": true + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "secret" + ], + "type": "object" +} - added
Input schema / $defs / WatchWebhookConfigAdded value: +{ + "additionalProperties": false, + "properties": { + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +}
- Changed
similar31 fields changed- added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIEventEntityAdded value: +{ + "additionalProperties": false, + "properties": { + "domain": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id", + "domain" + ], + "type": "object" +} - added
Input schema / $defs / CCIEventEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIEvent" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIEventPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/CCIEvent" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIIntelligenceEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIIntelligence" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / CCIMoneyAdded value: +{ + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "currency": { + "type": "string" + }, + "period": { + "type": "string" + } + }, + "required": [ + "amount", + "currency", + "period" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIRequestMetaAdded value: +{ + "additionalProperties": false, + "properties": { + "request_id": { + "type": "string" + } + }, + "required": [ + "request_id" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/Watch" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchFrequencyAdded value: +{ + "enum": [ + "24h", + "6h" + ], + "type": "string" +} - added
Input schema / $defs / WatchPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Watch" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchStatusAdded value: +{ + "enum": [ + "active", + "paused", + "archived" + ], + "type": "string" +} - added
Input schema / $defs / WatchTopicAdded value: +{ + "enum": [ + "pricing", + "product", + "integrations", + "customers", + "positioning" + ], + "type": "string" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchWebhookAdded value: +{ + "additionalProperties": false, + "properties": { + "secret": { + "type": "string", + "writeOnly": true + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "secret" + ], + "type": "object" +} - added
Input schema / $defs / WatchWebhookConfigAdded value: +{ + "additionalProperties": false, + "properties": { + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +}
- Changed
subreddit_posts31 fields changed- added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIEventEntityAdded value: +{ + "additionalProperties": false, + "properties": { + "domain": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id", + "domain" + ], + "type": "object" +} - added
Input schema / $defs / CCIEventEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIEvent" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIEventPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/CCIEvent" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIIntelligenceEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIIntelligence" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / CCIMoneyAdded value: +{ + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "currency": { + "type": "string" + }, + "period": { + "type": "string" + } + }, + "required": [ + "amount", + "currency", + "period" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIRequestMetaAdded value: +{ + "additionalProperties": false, + "properties": { + "request_id": { + "type": "string" + } + }, + "required": [ + "request_id" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/Watch" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchFrequencyAdded value: +{ + "enum": [ + "24h", + "6h" + ], + "type": "string" +} - added
Input schema / $defs / WatchPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Watch" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchStatusAdded value: +{ + "enum": [ + "active", + "paused", + "archived" + ], + "type": "string" +} - added
Input schema / $defs / WatchTopicAdded value: +{ + "enum": [ + "pricing", + "product", + "integrations", + "customers", + "positioning" + ], + "type": "string" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchWebhookAdded value: +{ + "additionalProperties": false, + "properties": { + "secret": { + "type": "string", + "writeOnly": true + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "secret" + ], + "type": "object" +} - added
Input schema / $defs / WatchWebhookConfigAdded value: +{ + "additionalProperties": false, + "properties": { + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +}
- Changed
suggest31 fields changed- added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIEventEntityAdded value: +{ + "additionalProperties": false, + "properties": { + "domain": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id", + "domain" + ], + "type": "object" +} - added
Input schema / $defs / CCIEventEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIEvent" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIEventPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/CCIEvent" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIIntelligenceEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIIntelligence" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / CCIMoneyAdded value: +{ + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "currency": { + "type": "string" + }, + "period": { + "type": "string" + } + }, + "required": [ + "amount", + "currency", + "period" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIRequestMetaAdded value: +{ + "additionalProperties": false, + "properties": { + "request_id": { + "type": "string" + } + }, + "required": [ + "request_id" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/Watch" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchFrequencyAdded value: +{ + "enum": [ + "24h", + "6h" + ], + "type": "string" +} - added
Input schema / $defs / WatchPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Watch" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchStatusAdded value: +{ + "enum": [ + "active", + "paused", + "archived" + ], + "type": "string" +} - added
Input schema / $defs / WatchTopicAdded value: +{ + "enum": [ + "pricing", + "product", + "integrations", + "customers", + "positioning" + ], + "type": "string" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchWebhookAdded value: +{ + "additionalProperties": false, + "properties": { + "secret": { + "type": "string", + "writeOnly": true + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "secret" + ], + "type": "object" +} - added
Input schema / $defs / WatchWebhookConfigAdded value: +{ + "additionalProperties": false, + "properties": { + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +}
- Changed
user_activity31 fields changed- added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIEventEntityAdded value: +{ + "additionalProperties": false, + "properties": { + "domain": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id", + "domain" + ], + "type": "object" +} - added
Input schema / $defs / CCIEventEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIEvent" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIEventPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/CCIEvent" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIIntelligenceEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIIntelligence" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / CCIMoneyAdded value: +{ + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "currency": { + "type": "string" + }, + "period": { + "type": "string" + } + }, + "required": [ + "amount", + "currency", + "period" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIRequestMetaAdded value: +{ + "additionalProperties": false, + "properties": { + "request_id": { + "type": "string" + } + }, + "required": [ + "request_id" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/Watch" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchFrequencyAdded value: +{ + "enum": [ + "24h", + "6h" + ], + "type": "string" +} - added
Input schema / $defs / WatchPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Watch" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchStatusAdded value: +{ + "enum": [ + "active", + "paused", + "archived" + ], + "type": "string" +} - added
Input schema / $defs / WatchTopicAdded value: +{ + "enum": [ + "pricing", + "product", + "integrations", + "customers", + "positioning" + ], + "type": "string" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchWebhookAdded value: +{ + "additionalProperties": false, + "properties": { + "secret": { + "type": "string", + "writeOnly": true + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "secret" + ], + "type": "object" +} - added
Input schema / $defs / WatchWebhookConfigAdded value: +{ + "additionalProperties": false, + "properties": { + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +}
- Changed
user_posts31 fields changed- added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIEventEntityAdded value: +{ + "additionalProperties": false, + "properties": { + "domain": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id", + "domain" + ], + "type": "object" +} - added
Input schema / $defs / CCIEventEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIEvent" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIEventPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/CCIEvent" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIIntelligenceEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIIntelligence" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / CCIMoneyAdded value: +{ + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "currency": { + "type": "string" + }, + "period": { + "type": "string" + } + }, + "required": [ + "amount", + "currency", + "period" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIRequestMetaAdded value: +{ + "additionalProperties": false, + "properties": { + "request_id": { + "type": "string" + } + }, + "required": [ + "request_id" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/Watch" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchFrequencyAdded value: +{ + "enum": [ + "24h", + "6h" + ], + "type": "string" +} - added
Input schema / $defs / WatchPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Watch" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchStatusAdded value: +{ + "enum": [ + "active", + "paused", + "archived" + ], + "type": "string" +} - added
Input schema / $defs / WatchTopicAdded value: +{ + "enum": [ + "pricing", + "product", + "integrations", + "customers", + "positioning" + ], + "type": "string" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchWebhookAdded value: +{ + "additionalProperties": false, + "properties": { + "secret": { + "type": "string", + "writeOnly": true + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "secret" + ], + "type": "object" +} - added
Input schema / $defs / WatchWebhookConfigAdded value: +{ + "additionalProperties": false, + "properties": { + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +}
- Changed
web_search31 fields changed- added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIEventEntityAdded value: +{ + "additionalProperties": false, + "properties": { + "domain": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id", + "domain" + ], + "type": "object" +} - added
Input schema / $defs / CCIEventEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIEvent" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIEventPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/CCIEvent" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIIntelligenceEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIIntelligence" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / CCIMoneyAdded value: +{ + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "currency": { + "type": "string" + }, + "period": { + "type": "string" + } + }, + "required": [ + "amount", + "currency", + "period" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIRequestMetaAdded value: +{ + "additionalProperties": false, + "properties": { + "request_id": { + "type": "string" + } + }, + "required": [ + "request_id" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/Watch" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchFrequencyAdded value: +{ + "enum": [ + "24h", + "6h" + ], + "type": "string" +} - added
Input schema / $defs / WatchPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Watch" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchStatusAdded value: +{ + "enum": [ + "active", + "paused", + "archived" + ], + "type": "string" +} - added
Input schema / $defs / WatchTopicAdded value: +{ + "enum": [ + "pricing", + "product", + "integrations", + "customers", + "positioning" + ], + "type": "string" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchWebhookAdded value: +{ + "additionalProperties": false, + "properties": { + "secret": { + "type": "string", + "writeOnly": true + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "secret" + ], + "type": "object" +} - added
Input schema / $defs / WatchWebhookConfigAdded value: +{ + "additionalProperties": false, + "properties": { + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +}
- Changed
webcontext_brand31 fields changed- added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIEventEntityAdded value: +{ + "additionalProperties": false, + "properties": { + "domain": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id", + "domain" + ], + "type": "object" +} - added
Input schema / $defs / CCIEventEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIEvent" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIEventPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/CCIEvent" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIIntelligenceEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIIntelligence" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / CCIMoneyAdded value: +{ + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "currency": { + "type": "string" + }, + "period": { + "type": "string" + } + }, + "required": [ + "amount", + "currency", + "period" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIRequestMetaAdded value: +{ + "additionalProperties": false, + "properties": { + "request_id": { + "type": "string" + } + }, + "required": [ + "request_id" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/Watch" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchFrequencyAdded value: +{ + "enum": [ + "24h", + "6h" + ], + "type": "string" +} - added
Input schema / $defs / WatchPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Watch" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchStatusAdded value: +{ + "enum": [ + "active", + "paused", + "archived" + ], + "type": "string" +} - added
Input schema / $defs / WatchTopicAdded value: +{ + "enum": [ + "pricing", + "product", + "integrations", + "customers", + "positioning" + ], + "type": "string" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchWebhookAdded value: +{ + "additionalProperties": false, + "properties": { + "secret": { + "type": "string", + "writeOnly": true + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "secret" + ], + "type": "object" +} - added
Input schema / $defs / WatchWebhookConfigAdded value: +{ + "additionalProperties": false, + "properties": { + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +}
- Changed
webcontext_crawl31 fields changed- added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIEventEntityAdded value: +{ + "additionalProperties": false, + "properties": { + "domain": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id", + "domain" + ], + "type": "object" +} - added
Input schema / $defs / CCIEventEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIEvent" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIEventPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/CCIEvent" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIIntelligenceEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIIntelligence" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / CCIMoneyAdded value: +{ + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "currency": { + "type": "string" + }, + "period": { + "type": "string" + } + }, + "required": [ + "amount", + "currency", + "period" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIRequestMetaAdded value: +{ + "additionalProperties": false, + "properties": { + "request_id": { + "type": "string" + } + }, + "required": [ + "request_id" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/Watch" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchFrequencyAdded value: +{ + "enum": [ + "24h", + "6h" + ], + "type": "string" +} - added
Input schema / $defs / WatchPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Watch" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchStatusAdded value: +{ + "enum": [ + "active", + "paused", + "archived" + ], + "type": "string" +} - added
Input schema / $defs / WatchTopicAdded value: +{ + "enum": [ + "pricing", + "product", + "integrations", + "customers", + "positioning" + ], + "type": "string" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchWebhookAdded value: +{ + "additionalProperties": false, + "properties": { + "secret": { + "type": "string", + "writeOnly": true + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "secret" + ], + "type": "object" +} - added
Input schema / $defs / WatchWebhookConfigAdded value: +{ + "additionalProperties": false, + "properties": { + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +}
- Changed
webcontext_map31 fields changed- added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIEventEntityAdded value: +{ + "additionalProperties": false, + "properties": { + "domain": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id", + "domain" + ], + "type": "object" +} - added
Input schema / $defs / CCIEventEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIEvent" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIEventPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/CCIEvent" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIIntelligenceEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIIntelligence" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / CCIMoneyAdded value: +{ + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "currency": { + "type": "string" + }, + "period": { + "type": "string" + } + }, + "required": [ + "amount", + "currency", + "period" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIRequestMetaAdded value: +{ + "additionalProperties": false, + "properties": { + "request_id": { + "type": "string" + } + }, + "required": [ + "request_id" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/Watch" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchFrequencyAdded value: +{ + "enum": [ + "24h", + "6h" + ], + "type": "string" +} - added
Input schema / $defs / WatchPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Watch" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchStatusAdded value: +{ + "enum": [ + "active", + "paused", + "archived" + ], + "type": "string" +} - added
Input schema / $defs / WatchTopicAdded value: +{ + "enum": [ + "pricing", + "product", + "integrations", + "customers", + "positioning" + ], + "type": "string" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchWebhookAdded value: +{ + "additionalProperties": false, + "properties": { + "secret": { + "type": "string", + "writeOnly": true + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "secret" + ], + "type": "object" +} - added
Input schema / $defs / WatchWebhookConfigAdded value: +{ + "additionalProperties": false, + "properties": { + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +}
- Changed
webcontext_scrape31 fields changed- added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIEventEntityAdded value: +{ + "additionalProperties": false, + "properties": { + "domain": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id", + "domain" + ], + "type": "object" +} - added
Input schema / $defs / CCIEventEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIEvent" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIEventPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/CCIEvent" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIIntelligenceEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIIntelligence" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / CCIMoneyAdded value: +{ + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "currency": { + "type": "string" + }, + "period": { + "type": "string" + } + }, + "required": [ + "amount", + "currency", + "period" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIRequestMetaAdded value: +{ + "additionalProperties": false, + "properties": { + "request_id": { + "type": "string" + } + }, + "required": [ + "request_id" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/Watch" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchFrequencyAdded value: +{ + "enum": [ + "24h", + "6h" + ], + "type": "string" +} - added
Input schema / $defs / WatchPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Watch" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchStatusAdded value: +{ + "enum": [ + "active", + "paused", + "archived" + ], + "type": "string" +} - added
Input schema / $defs / WatchTopicAdded value: +{ + "enum": [ + "pricing", + "product", + "integrations", + "customers", + "positioning" + ], + "type": "string" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchWebhookAdded value: +{ + "additionalProperties": false, + "properties": { + "secret": { + "type": "string", + "writeOnly": true + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "secret" + ], + "type": "object" +} - added
Input schema / $defs / WatchWebhookConfigAdded value: +{ + "additionalProperties": false, + "properties": { + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +}
- Changed
youtube_channel31 fields changed- added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIEventEntityAdded value: +{ + "additionalProperties": false, + "properties": { + "domain": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id", + "domain" + ], + "type": "object" +} - added
Input schema / $defs / CCIEventEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIEvent" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIEventPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/CCIEvent" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIIntelligenceEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIIntelligence" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / CCIMoneyAdded value: +{ + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "currency": { + "type": "string" + }, + "period": { + "type": "string" + } + }, + "required": [ + "amount", + "currency", + "period" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIRequestMetaAdded value: +{ + "additionalProperties": false, + "properties": { + "request_id": { + "type": "string" + } + }, + "required": [ + "request_id" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/Watch" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchFrequencyAdded value: +{ + "enum": [ + "24h", + "6h" + ], + "type": "string" +} - added
Input schema / $defs / WatchPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Watch" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchStatusAdded value: +{ + "enum": [ + "active", + "paused", + "archived" + ], + "type": "string" +} - added
Input schema / $defs / WatchTopicAdded value: +{ + "enum": [ + "pricing", + "product", + "integrations", + "customers", + "positioning" + ], + "type": "string" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchWebhookAdded value: +{ + "additionalProperties": false, + "properties": { + "secret": { + "type": "string", + "writeOnly": true + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "secret" + ], + "type": "object" +} - added
Input schema / $defs / WatchWebhookConfigAdded value: +{ + "additionalProperties": false, + "properties": { + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +}
- Changed
youtube_comments31 fields changed- added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIEventEntityAdded value: +{ + "additionalProperties": false, + "properties": { + "domain": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id", + "domain" + ], + "type": "object" +} - added
Input schema / $defs / CCIEventEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIEvent" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIEventPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/CCIEvent" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIIntelligenceEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIIntelligence" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / CCIMoneyAdded value: +{ + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "currency": { + "type": "string" + }, + "period": { + "type": "string" + } + }, + "required": [ + "amount", + "currency", + "period" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIRequestMetaAdded value: +{ + "additionalProperties": false, + "properties": { + "request_id": { + "type": "string" + } + }, + "required": [ + "request_id" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/Watch" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchFrequencyAdded value: +{ + "enum": [ + "24h", + "6h" + ], + "type": "string" +} - added
Input schema / $defs / WatchPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Watch" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchStatusAdded value: +{ + "enum": [ + "active", + "paused", + "archived" + ], + "type": "string" +} - added
Input schema / $defs / WatchTopicAdded value: +{ + "enum": [ + "pricing", + "product", + "integrations", + "customers", + "positioning" + ], + "type": "string" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchWebhookAdded value: +{ + "additionalProperties": false, + "properties": { + "secret": { + "type": "string", + "writeOnly": true + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "secret" + ], + "type": "object" +} - added
Input schema / $defs / WatchWebhookConfigAdded value: +{ + "additionalProperties": false, + "properties": { + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +}
- Changed
youtube_playlist31 fields changed- added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIEventEntityAdded value: +{ + "additionalProperties": false, + "properties": { + "domain": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id", + "domain" + ], + "type": "object" +} - added
Input schema / $defs / CCIEventEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIEvent" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIEventPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/CCIEvent" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIIntelligenceEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIIntelligence" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / CCIMoneyAdded value: +{ + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "currency": { + "type": "string" + }, + "period": { + "type": "string" + } + }, + "required": [ + "amount", + "currency", + "period" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIRequestMetaAdded value: +{ + "additionalProperties": false, + "properties": { + "request_id": { + "type": "string" + } + }, + "required": [ + "request_id" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/Watch" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchFrequencyAdded value: +{ + "enum": [ + "24h", + "6h" + ], + "type": "string" +} - added
Input schema / $defs / WatchPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Watch" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchStatusAdded value: +{ + "enum": [ + "active", + "paused", + "archived" + ], + "type": "string" +} - added
Input schema / $defs / WatchTopicAdded value: +{ + "enum": [ + "pricing", + "product", + "integrations", + "customers", + "positioning" + ], + "type": "string" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchWebhookAdded value: +{ + "additionalProperties": false, + "properties": { + "secret": { + "type": "string", + "writeOnly": true + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "secret" + ], + "type": "object" +} - added
Input schema / $defs / WatchWebhookConfigAdded value: +{ + "additionalProperties": false, + "properties": { + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +}
- Changed
youtube_related31 fields changed- added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIEventEntityAdded value: +{ + "additionalProperties": false, + "properties": { + "domain": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id", + "domain" + ], + "type": "object" +} - added
Input schema / $defs / CCIEventEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIEvent" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIEventPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/CCIEvent" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIIntelligenceEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIIntelligence" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / CCIMoneyAdded value: +{ + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "currency": { + "type": "string" + }, + "period": { + "type": "string" + } + }, + "required": [ + "amount", + "currency", + "period" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIRequestMetaAdded value: +{ + "additionalProperties": false, + "properties": { + "request_id": { + "type": "string" + } + }, + "required": [ + "request_id" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/Watch" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchFrequencyAdded value: +{ + "enum": [ + "24h", + "6h" + ], + "type": "string" +} - added
Input schema / $defs / WatchPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Watch" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchStatusAdded value: +{ + "enum": [ + "active", + "paused", + "archived" + ], + "type": "string" +} - added
Input schema / $defs / WatchTopicAdded value: +{ + "enum": [ + "pricing", + "product", + "integrations", + "customers", + "positioning" + ], + "type": "string" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchWebhookAdded value: +{ + "additionalProperties": false, + "properties": { + "secret": { + "type": "string", + "writeOnly": true + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "secret" + ], + "type": "object" +} - added
Input schema / $defs / WatchWebhookConfigAdded value: +{ + "additionalProperties": false, + "properties": { + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +}
- Changed
youtube_search31 fields changed- added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIEventEntityAdded value: +{ + "additionalProperties": false, + "properties": { + "domain": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id", + "domain" + ], + "type": "object" +} - added
Input schema / $defs / CCIEventEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIEvent" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIEventPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/CCIEvent" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIIntelligenceEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIIntelligence" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / CCIMoneyAdded value: +{ + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "currency": { + "type": "string" + }, + "period": { + "type": "string" + } + }, + "required": [ + "amount", + "currency", + "period" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIRequestMetaAdded value: +{ + "additionalProperties": false, + "properties": { + "request_id": { + "type": "string" + } + }, + "required": [ + "request_id" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/Watch" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchFrequencyAdded value: +{ + "enum": [ + "24h", + "6h" + ], + "type": "string" +} - added
Input schema / $defs / WatchPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Watch" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchStatusAdded value: +{ + "enum": [ + "active", + "paused", + "archived" + ], + "type": "string" +} - added
Input schema / $defs / WatchTopicAdded value: +{ + "enum": [ + "pricing", + "product", + "integrations", + "customers", + "positioning" + ], + "type": "string" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchWebhookAdded value: +{ + "additionalProperties": false, + "properties": { + "secret": { + "type": "string", + "writeOnly": true + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "secret" + ], + "type": "object" +} - added
Input schema / $defs / WatchWebhookConfigAdded value: +{ + "additionalProperties": false, + "properties": { + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +}
- Changed
youtube_transcript31 fields changed- added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIEventEntityAdded value: +{ + "additionalProperties": false, + "properties": { + "domain": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id", + "domain" + ], + "type": "object" +} - added
Input schema / $defs / CCIEventEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIEvent" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIEventPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/CCIEvent" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIIntelligenceEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIIntelligence" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / CCIMoneyAdded value: +{ + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "currency": { + "type": "string" + }, + "period": { + "type": "string" + } + }, + "required": [ + "amount", + "currency", + "period" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIRequestMetaAdded value: +{ + "additionalProperties": false, + "properties": { + "request_id": { + "type": "string" + } + }, + "required": [ + "request_id" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/Watch" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchFrequencyAdded value: +{ + "enum": [ + "24h", + "6h" + ], + "type": "string" +} - added
Input schema / $defs / WatchPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Watch" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchStatusAdded value: +{ + "enum": [ + "active", + "paused", + "archived" + ], + "type": "string" +} - added
Input schema / $defs / WatchTopicAdded value: +{ + "enum": [ + "pricing", + "product", + "integrations", + "customers", + "positioning" + ], + "type": "string" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchWebhookAdded value: +{ + "additionalProperties": false, + "properties": { + "secret": { + "type": "string", + "writeOnly": true + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "secret" + ], + "type": "object" +} - added
Input schema / $defs / WatchWebhookConfigAdded value: +{ + "additionalProperties": false, + "properties": { + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +}
- Changed
youtube_video31 fields changed- added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIEventEntityAdded value: +{ + "additionalProperties": false, + "properties": { + "domain": { + "type": "string" + }, + "id": { + "type": "string" + } + }, + "required": [ + "id", + "domain" + ], + "type": "object" +} - added
Input schema / $defs / CCIEventEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIEvent" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIEventPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/CCIEvent" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / CCIIntelligenceEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/CCIIntelligence" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / CCIMoneyAdded value: +{ + "additionalProperties": false, + "properties": { + "amount": { + "type": "number" + }, + "currency": { + "type": "string" + }, + "period": { + "type": "string" + } + }, + "required": [ + "amount", + "currency", + "period" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / CCIRequestMetaAdded value: +{ + "additionalProperties": false, + "properties": { + "request_id": { + "type": "string" + } + }, + "required": [ + "request_id" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchEnvelopeAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/Watch" + }, + "meta": { + "$ref": "#/$defs/CCIRequestMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchFrequencyAdded value: +{ + "enum": [ + "24h", + "6h" + ], + "type": "string" +} - added
Input schema / $defs / WatchPageAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Watch" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/CCIPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / WatchStatusAdded value: +{ + "enum": [ + "active", + "paused", + "archived" + ], + "type": "string" +} - added
Input schema / $defs / WatchTopicAdded value: +{ + "enum": [ + "pricing", + "product", + "integrations", + "customers", + "positioning" + ], + "type": "string" +} - added
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" +} - added
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" +} - added
Input schema / $defs / WatchWebhookAdded value: +{ + "additionalProperties": false, + "properties": { + "secret": { + "type": "string", + "writeOnly": true + }, + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url", + "secret" + ], + "type": "object" +} - added
Input schema / $defs / WatchWebhookConfigAdded value: +{ + "additionalProperties": false, + "properties": { + "url": { + "format": "uri", + "type": "string" + } + }, + "required": [ + "url" + ], + "type": "object" +}
1 tool update
- Added
read_document
61 tool updates
- Changed
app2 fields changed- added
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" +} - added
Input schema / $defs / BrandLogoResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandLogoData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
brand_fonts2 fields changed- added
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" +} - added
Input schema / $defs / BrandLogoResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandLogoData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Added
brand_logo - Changed
brand_retrieve2 fields changed- added
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" +} - added
Input schema / $defs / BrandLogoResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandLogoData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
brand_search2 fields changed- added
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" +} - added
Input schema / $defs / BrandLogoResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandLogoData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
brand_styleguide2 fields changed- added
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" +} - added
Input schema / $defs / BrandLogoResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandLogoData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
developer2 fields changed- added
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" +} - added
Input schema / $defs / BrandLogoResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandLogoData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
get_fetcher_healthz2 fields changed- added
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" +} - added
Input schema / $defs / BrandLogoResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandLogoData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
get_fetcher_readyz2 fields changed- added
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" +} - added
Input schema / $defs / BrandLogoResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandLogoData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
get_v1_hackernews_capabilities2 fields changed- added
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" +} - added
Input schema / $defs / BrandLogoResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandLogoData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
googleplay_app_details2 fields changed- added
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" +} - added
Input schema / $defs / BrandLogoResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandLogoData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
googleplay_availability2 fields changed- added
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" +} - added
Input schema / $defs / BrandLogoResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandLogoData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
googleplay_categories2 fields changed- added
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" +} - added
Input schema / $defs / BrandLogoResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandLogoData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
googleplay_category_apps2 fields changed- added
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" +} - added
Input schema / $defs / BrandLogoResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandLogoData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
googleplay_data_safety2 fields changed- added
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" +} - added
Input schema / $defs / BrandLogoResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandLogoData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
googleplay_developer2 fields changed- added
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" +} - added
Input schema / $defs / BrandLogoResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandLogoData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
googleplay_permissions2 fields changed- added
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" +} - added
Input schema / $defs / BrandLogoResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandLogoData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
googleplay_reviews2 fields changed- added
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" +} - added
Input schema / $defs / BrandLogoResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandLogoData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
googleplay_search2 fields changed- added
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" +} - added
Input schema / $defs / BrandLogoResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandLogoData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
googleplay_similar_apps2 fields changed- added
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" +} - added
Input schema / $defs / BrandLogoResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandLogoData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
googleplay_suggest2 fields changed- added
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" +} - added
Input schema / $defs / BrandLogoResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandLogoData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
hackernews_item2 fields changed- added
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" +} - added
Input schema / $defs / BrandLogoResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandLogoData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
hackernews_search2 fields changed- added
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" +} - added
Input schema / $defs / BrandLogoResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandLogoData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
hackernews_stories_ask2 fields changed- added
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" +} - added
Input schema / $defs / BrandLogoResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandLogoData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
hackernews_stories_best2 fields changed- added
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" +} - added
Input schema / $defs / BrandLogoResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandLogoData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
hackernews_stories_job2 fields changed- added
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" +} - added
Input schema / $defs / BrandLogoResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandLogoData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
hackernews_stories_new2 fields changed- added
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" +} - added
Input schema / $defs / BrandLogoResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandLogoData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
hackernews_stories_show2 fields changed- added
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" +} - added
Input schema / $defs / BrandLogoResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandLogoData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
hackernews_stories_top2 fields changed- added
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" +} - added
Input schema / $defs / BrandLogoResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandLogoData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
hackernews_user2 fields changed- added
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" +} - added
Input schema / $defs / BrandLogoResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandLogoData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
list2 fields changed- added
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" +} - added
Input schema / $defs / BrandLogoResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandLogoData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
monitor_changes2 fields changed- added
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" +} - added
Input schema / $defs / BrandLogoResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandLogoData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
monitor_create2 fields changed- added
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" +} - added
Input schema / $defs / BrandLogoResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandLogoData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
monitor_get2 fields changed- added
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" +} - added
Input schema / $defs / BrandLogoResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandLogoData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
monitor_list2 fields changed- added
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" +} - added
Input schema / $defs / BrandLogoResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandLogoData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
monitor_runs2 fields changed- added
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" +} - added
Input schema / $defs / BrandLogoResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandLogoData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
monitor_update2 fields changed- added
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" +} - added
Input schema / $defs / BrandLogoResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandLogoData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
post_by_id2 fields changed- added
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" +} - added
Input schema / $defs / BrandLogoResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandLogoData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
post_by_permalink2 fields changed- added
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" +} - added
Input schema / $defs / BrandLogoResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandLogoData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
privacy2 fields changed- added
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" +} - added
Input schema / $defs / BrandLogoResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandLogoData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
ratings2 fields changed- added
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" +} - added
Input schema / $defs / BrandLogoResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandLogoData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
reviews2 fields changed- added
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" +} - added
Input schema / $defs / BrandLogoResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandLogoData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
search2 fields changed- added
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" +} - added
Input schema / $defs / BrandLogoResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandLogoData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
search_posts2 fields changed- added
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" +} - added
Input schema / $defs / BrandLogoResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandLogoData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
similar2 fields changed- added
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" +} - added
Input schema / $defs / BrandLogoResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandLogoData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
subreddit_posts2 fields changed- added
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" +} - added
Input schema / $defs / BrandLogoResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandLogoData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
suggest2 fields changed- added
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" +} - added
Input schema / $defs / BrandLogoResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandLogoData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
user_activity2 fields changed- added
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" +} - added
Input schema / $defs / BrandLogoResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandLogoData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
user_posts2 fields changed- added
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" +} - added
Input schema / $defs / BrandLogoResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandLogoData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
web_search2 fields changed- added
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" +} - added
Input schema / $defs / BrandLogoResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandLogoData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
webcontext_brand2 fields changed- added
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" +} - added
Input schema / $defs / BrandLogoResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandLogoData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
webcontext_crawl2 fields changed- added
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" +} - added
Input schema / $defs / BrandLogoResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandLogoData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
webcontext_map2 fields changed- added
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" +} - added
Input schema / $defs / BrandLogoResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandLogoData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
webcontext_scrape2 fields changed- added
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" +} - added
Input schema / $defs / BrandLogoResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandLogoData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
youtube_channel2 fields changed- added
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" +} - added
Input schema / $defs / BrandLogoResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandLogoData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
youtube_comments2 fields changed- added
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" +} - added
Input schema / $defs / BrandLogoResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandLogoData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
youtube_playlist2 fields changed- added
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" +} - added
Input schema / $defs / BrandLogoResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandLogoData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
youtube_related2 fields changed- added
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" +} - added
Input schema / $defs / BrandLogoResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandLogoData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
youtube_search2 fields changed- added
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" +} - added
Input schema / $defs / BrandLogoResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandLogoData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
youtube_transcript2 fields changed- added
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" +} - added
Input schema / $defs / BrandLogoResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandLogoData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
youtube_video2 fields changed- added
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" +} - added
Input schema / $defs / BrandLogoResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandLogoData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
60 tool updates
- Changed
app24 fields changed- added
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" +} - added
Input schema / $defs / BrandFontsResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandFontsData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorAdded value: +{ + "properties": { + "error": { + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "error": { + "$ref": "#/$defs/ErrorDetail" + } + }, + "required": [ + "error" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / MonitorHistoryPageAdded value: +{ + "properties": { + "data": { + "items": { + "$ref": "#/$defs/MonitorRun" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/MonitorPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / MonitorPageAdded value: +{ + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Monitor" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/MonitorPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / PaginationAdded value: +{ + "additionalProperties": true, + "properties": { + "has_more": { + "type": "boolean" + }, + "limit": { + "type": "integer" + }, + "next_cursor": { + "type": "string" + }, + "page": { + "type": "integer" + } + }, + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / PaymentRequiredResponseAdded value: +{ + "oneOf": [ + { + "$ref": "#/$defs/PaymentRequired" + }, + { + "$ref": "#/$defs/CreditTopupRequired" + } + ] +} - added
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" +} - added
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" +} - added
Input schema / $defs / SuccessResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": {}, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
brand_fonts24 fields changed- added
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" +} - added
Input schema / $defs / BrandFontsResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandFontsData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorAdded value: +{ + "properties": { + "error": { + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "error": { + "$ref": "#/$defs/ErrorDetail" + } + }, + "required": [ + "error" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / MonitorHistoryPageAdded value: +{ + "properties": { + "data": { + "items": { + "$ref": "#/$defs/MonitorRun" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/MonitorPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / MonitorPageAdded value: +{ + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Monitor" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/MonitorPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / PaginationAdded value: +{ + "additionalProperties": true, + "properties": { + "has_more": { + "type": "boolean" + }, + "limit": { + "type": "integer" + }, + "next_cursor": { + "type": "string" + }, + "page": { + "type": "integer" + } + }, + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / PaymentRequiredResponseAdded value: +{ + "oneOf": [ + { + "$ref": "#/$defs/PaymentRequired" + }, + { + "$ref": "#/$defs/CreditTopupRequired" + } + ] +} - added
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" +} - added
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" +} - added
Input schema / $defs / SuccessResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": {}, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
brand_retrieve24 fields changed- added
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" +} - added
Input schema / $defs / BrandFontsResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandFontsData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorAdded value: +{ + "properties": { + "error": { + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "error": { + "$ref": "#/$defs/ErrorDetail" + } + }, + "required": [ + "error" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / MonitorHistoryPageAdded value: +{ + "properties": { + "data": { + "items": { + "$ref": "#/$defs/MonitorRun" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/MonitorPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / MonitorPageAdded value: +{ + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Monitor" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/MonitorPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / PaginationAdded value: +{ + "additionalProperties": true, + "properties": { + "has_more": { + "type": "boolean" + }, + "limit": { + "type": "integer" + }, + "next_cursor": { + "type": "string" + }, + "page": { + "type": "integer" + } + }, + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / PaymentRequiredResponseAdded value: +{ + "oneOf": [ + { + "$ref": "#/$defs/PaymentRequired" + }, + { + "$ref": "#/$defs/CreditTopupRequired" + } + ] +} - added
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" +} - added
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" +} - added
Input schema / $defs / SuccessResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": {}, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
brand_search24 fields changed- added
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" +} - added
Input schema / $defs / BrandFontsResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandFontsData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorAdded value: +{ + "properties": { + "error": { + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "error": { + "$ref": "#/$defs/ErrorDetail" + } + }, + "required": [ + "error" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / MonitorHistoryPageAdded value: +{ + "properties": { + "data": { + "items": { + "$ref": "#/$defs/MonitorRun" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/MonitorPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / MonitorPageAdded value: +{ + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Monitor" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/MonitorPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / PaginationAdded value: +{ + "additionalProperties": true, + "properties": { + "has_more": { + "type": "boolean" + }, + "limit": { + "type": "integer" + }, + "next_cursor": { + "type": "string" + }, + "page": { + "type": "integer" + } + }, + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / PaymentRequiredResponseAdded value: +{ + "oneOf": [ + { + "$ref": "#/$defs/PaymentRequired" + }, + { + "$ref": "#/$defs/CreditTopupRequired" + } + ] +} - added
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" +} - added
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" +} - added
Input schema / $defs / SuccessResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": {}, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
brand_styleguide24 fields changed- added
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" +} - added
Input schema / $defs / BrandFontsResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandFontsData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorAdded value: +{ + "properties": { + "error": { + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "error": { + "$ref": "#/$defs/ErrorDetail" + } + }, + "required": [ + "error" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / MonitorHistoryPageAdded value: +{ + "properties": { + "data": { + "items": { + "$ref": "#/$defs/MonitorRun" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/MonitorPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / MonitorPageAdded value: +{ + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Monitor" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/MonitorPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / PaginationAdded value: +{ + "additionalProperties": true, + "properties": { + "has_more": { + "type": "boolean" + }, + "limit": { + "type": "integer" + }, + "next_cursor": { + "type": "string" + }, + "page": { + "type": "integer" + } + }, + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / PaymentRequiredResponseAdded value: +{ + "oneOf": [ + { + "$ref": "#/$defs/PaymentRequired" + }, + { + "$ref": "#/$defs/CreditTopupRequired" + } + ] +} - added
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" +} - added
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" +} - added
Input schema / $defs / SuccessResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": {}, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
developer24 fields changed- added
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" +} - added
Input schema / $defs / BrandFontsResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandFontsData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorAdded value: +{ + "properties": { + "error": { + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "error": { + "$ref": "#/$defs/ErrorDetail" + } + }, + "required": [ + "error" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / MonitorHistoryPageAdded value: +{ + "properties": { + "data": { + "items": { + "$ref": "#/$defs/MonitorRun" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/MonitorPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / MonitorPageAdded value: +{ + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Monitor" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/MonitorPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / PaginationAdded value: +{ + "additionalProperties": true, + "properties": { + "has_more": { + "type": "boolean" + }, + "limit": { + "type": "integer" + }, + "next_cursor": { + "type": "string" + }, + "page": { + "type": "integer" + } + }, + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / PaymentRequiredResponseAdded value: +{ + "oneOf": [ + { + "$ref": "#/$defs/PaymentRequired" + }, + { + "$ref": "#/$defs/CreditTopupRequired" + } + ] +} - added
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" +} - added
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" +} - added
Input schema / $defs / SuccessResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": {}, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
get_fetcher_healthz24 fields changed- added
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" +} - added
Input schema / $defs / BrandFontsResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandFontsData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorAdded value: +{ + "properties": { + "error": { + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "error": { + "$ref": "#/$defs/ErrorDetail" + } + }, + "required": [ + "error" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / MonitorHistoryPageAdded value: +{ + "properties": { + "data": { + "items": { + "$ref": "#/$defs/MonitorRun" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/MonitorPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / MonitorPageAdded value: +{ + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Monitor" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/MonitorPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / PaginationAdded value: +{ + "additionalProperties": true, + "properties": { + "has_more": { + "type": "boolean" + }, + "limit": { + "type": "integer" + }, + "next_cursor": { + "type": "string" + }, + "page": { + "type": "integer" + } + }, + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / PaymentRequiredResponseAdded value: +{ + "oneOf": [ + { + "$ref": "#/$defs/PaymentRequired" + }, + { + "$ref": "#/$defs/CreditTopupRequired" + } + ] +} - added
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" +} - added
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" +} - added
Input schema / $defs / SuccessResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": {}, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
get_fetcher_readyz24 fields changed- added
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" +} - added
Input schema / $defs / BrandFontsResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandFontsData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorAdded value: +{ + "properties": { + "error": { + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "error": { + "$ref": "#/$defs/ErrorDetail" + } + }, + "required": [ + "error" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / MonitorHistoryPageAdded value: +{ + "properties": { + "data": { + "items": { + "$ref": "#/$defs/MonitorRun" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/MonitorPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / MonitorPageAdded value: +{ + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Monitor" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/MonitorPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / PaginationAdded value: +{ + "additionalProperties": true, + "properties": { + "has_more": { + "type": "boolean" + }, + "limit": { + "type": "integer" + }, + "next_cursor": { + "type": "string" + }, + "page": { + "type": "integer" + } + }, + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / PaymentRequiredResponseAdded value: +{ + "oneOf": [ + { + "$ref": "#/$defs/PaymentRequired" + }, + { + "$ref": "#/$defs/CreditTopupRequired" + } + ] +} - added
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" +} - added
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" +} - added
Input schema / $defs / SuccessResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": {}, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
get_v1_hackernews_capabilities24 fields changed- added
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" +} - added
Input schema / $defs / BrandFontsResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandFontsData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorAdded value: +{ + "properties": { + "error": { + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "error": { + "$ref": "#/$defs/ErrorDetail" + } + }, + "required": [ + "error" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / MonitorHistoryPageAdded value: +{ + "properties": { + "data": { + "items": { + "$ref": "#/$defs/MonitorRun" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/MonitorPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / MonitorPageAdded value: +{ + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Monitor" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/MonitorPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / PaginationAdded value: +{ + "additionalProperties": true, + "properties": { + "has_more": { + "type": "boolean" + }, + "limit": { + "type": "integer" + }, + "next_cursor": { + "type": "string" + }, + "page": { + "type": "integer" + } + }, + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / PaymentRequiredResponseAdded value: +{ + "oneOf": [ + { + "$ref": "#/$defs/PaymentRequired" + }, + { + "$ref": "#/$defs/CreditTopupRequired" + } + ] +} - added
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" +} - added
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" +} - added
Input schema / $defs / SuccessResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": {}, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
googleplay_app_details24 fields changed- added
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" +} - added
Input schema / $defs / BrandFontsResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandFontsData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorAdded value: +{ + "properties": { + "error": { + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "error": { + "$ref": "#/$defs/ErrorDetail" + } + }, + "required": [ + "error" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / MonitorHistoryPageAdded value: +{ + "properties": { + "data": { + "items": { + "$ref": "#/$defs/MonitorRun" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/MonitorPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / MonitorPageAdded value: +{ + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Monitor" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/MonitorPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / PaginationAdded value: +{ + "additionalProperties": true, + "properties": { + "has_more": { + "type": "boolean" + }, + "limit": { + "type": "integer" + }, + "next_cursor": { + "type": "string" + }, + "page": { + "type": "integer" + } + }, + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / PaymentRequiredResponseAdded value: +{ + "oneOf": [ + { + "$ref": "#/$defs/PaymentRequired" + }, + { + "$ref": "#/$defs/CreditTopupRequired" + } + ] +} - added
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" +} - added
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" +} - added
Input schema / $defs / SuccessResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": {}, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
googleplay_availability24 fields changed- added
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" +} - added
Input schema / $defs / BrandFontsResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandFontsData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorAdded value: +{ + "properties": { + "error": { + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "error": { + "$ref": "#/$defs/ErrorDetail" + } + }, + "required": [ + "error" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / MonitorHistoryPageAdded value: +{ + "properties": { + "data": { + "items": { + "$ref": "#/$defs/MonitorRun" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/MonitorPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / MonitorPageAdded value: +{ + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Monitor" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/MonitorPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / PaginationAdded value: +{ + "additionalProperties": true, + "properties": { + "has_more": { + "type": "boolean" + }, + "limit": { + "type": "integer" + }, + "next_cursor": { + "type": "string" + }, + "page": { + "type": "integer" + } + }, + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / PaymentRequiredResponseAdded value: +{ + "oneOf": [ + { + "$ref": "#/$defs/PaymentRequired" + }, + { + "$ref": "#/$defs/CreditTopupRequired" + } + ] +} - added
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" +} - added
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" +} - added
Input schema / $defs / SuccessResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": {}, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
googleplay_categories24 fields changed- added
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" +} - added
Input schema / $defs / BrandFontsResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandFontsData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorAdded value: +{ + "properties": { + "error": { + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "error": { + "$ref": "#/$defs/ErrorDetail" + } + }, + "required": [ + "error" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / MonitorHistoryPageAdded value: +{ + "properties": { + "data": { + "items": { + "$ref": "#/$defs/MonitorRun" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/MonitorPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / MonitorPageAdded value: +{ + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Monitor" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/MonitorPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / PaginationAdded value: +{ + "additionalProperties": true, + "properties": { + "has_more": { + "type": "boolean" + }, + "limit": { + "type": "integer" + }, + "next_cursor": { + "type": "string" + }, + "page": { + "type": "integer" + } + }, + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / PaymentRequiredResponseAdded value: +{ + "oneOf": [ + { + "$ref": "#/$defs/PaymentRequired" + }, + { + "$ref": "#/$defs/CreditTopupRequired" + } + ] +} - added
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" +} - added
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" +} - added
Input schema / $defs / SuccessResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": {}, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
googleplay_category_apps24 fields changed- added
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" +} - added
Input schema / $defs / BrandFontsResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandFontsData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorAdded value: +{ + "properties": { + "error": { + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "error": { + "$ref": "#/$defs/ErrorDetail" + } + }, + "required": [ + "error" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / MonitorHistoryPageAdded value: +{ + "properties": { + "data": { + "items": { + "$ref": "#/$defs/MonitorRun" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/MonitorPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / MonitorPageAdded value: +{ + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Monitor" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/MonitorPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / PaginationAdded value: +{ + "additionalProperties": true, + "properties": { + "has_more": { + "type": "boolean" + }, + "limit": { + "type": "integer" + }, + "next_cursor": { + "type": "string" + }, + "page": { + "type": "integer" + } + }, + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / PaymentRequiredResponseAdded value: +{ + "oneOf": [ + { + "$ref": "#/$defs/PaymentRequired" + }, + { + "$ref": "#/$defs/CreditTopupRequired" + } + ] +} - added
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" +} - added
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" +} - added
Input schema / $defs / SuccessResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": {}, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
googleplay_data_safety24 fields changed- added
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" +} - added
Input schema / $defs / BrandFontsResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandFontsData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorAdded value: +{ + "properties": { + "error": { + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "error": { + "$ref": "#/$defs/ErrorDetail" + } + }, + "required": [ + "error" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / MonitorHistoryPageAdded value: +{ + "properties": { + "data": { + "items": { + "$ref": "#/$defs/MonitorRun" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/MonitorPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / MonitorPageAdded value: +{ + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Monitor" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/MonitorPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / PaginationAdded value: +{ + "additionalProperties": true, + "properties": { + "has_more": { + "type": "boolean" + }, + "limit": { + "type": "integer" + }, + "next_cursor": { + "type": "string" + }, + "page": { + "type": "integer" + } + }, + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / PaymentRequiredResponseAdded value: +{ + "oneOf": [ + { + "$ref": "#/$defs/PaymentRequired" + }, + { + "$ref": "#/$defs/CreditTopupRequired" + } + ] +} - added
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" +} - added
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" +} - added
Input schema / $defs / SuccessResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": {}, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
googleplay_developer24 fields changed- added
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" +} - added
Input schema / $defs / BrandFontsResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandFontsData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorAdded value: +{ + "properties": { + "error": { + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "error": { + "$ref": "#/$defs/ErrorDetail" + } + }, + "required": [ + "error" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / MonitorHistoryPageAdded value: +{ + "properties": { + "data": { + "items": { + "$ref": "#/$defs/MonitorRun" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/MonitorPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / MonitorPageAdded value: +{ + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Monitor" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/MonitorPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / PaginationAdded value: +{ + "additionalProperties": true, + "properties": { + "has_more": { + "type": "boolean" + }, + "limit": { + "type": "integer" + }, + "next_cursor": { + "type": "string" + }, + "page": { + "type": "integer" + } + }, + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / PaymentRequiredResponseAdded value: +{ + "oneOf": [ + { + "$ref": "#/$defs/PaymentRequired" + }, + { + "$ref": "#/$defs/CreditTopupRequired" + } + ] +} - added
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" +} - added
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" +} - added
Input schema / $defs / SuccessResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": {}, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
googleplay_permissions24 fields changed- added
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" +} - added
Input schema / $defs / BrandFontsResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandFontsData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorAdded value: +{ + "properties": { + "error": { + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "error": { + "$ref": "#/$defs/ErrorDetail" + } + }, + "required": [ + "error" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / MonitorHistoryPageAdded value: +{ + "properties": { + "data": { + "items": { + "$ref": "#/$defs/MonitorRun" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/MonitorPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / MonitorPageAdded value: +{ + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Monitor" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/MonitorPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / PaginationAdded value: +{ + "additionalProperties": true, + "properties": { + "has_more": { + "type": "boolean" + }, + "limit": { + "type": "integer" + }, + "next_cursor": { + "type": "string" + }, + "page": { + "type": "integer" + } + }, + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / PaymentRequiredResponseAdded value: +{ + "oneOf": [ + { + "$ref": "#/$defs/PaymentRequired" + }, + { + "$ref": "#/$defs/CreditTopupRequired" + } + ] +} - added
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" +} - added
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" +} - added
Input schema / $defs / SuccessResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": {}, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
googleplay_reviews24 fields changed- added
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" +} - added
Input schema / $defs / BrandFontsResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandFontsData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorAdded value: +{ + "properties": { + "error": { + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "error": { + "$ref": "#/$defs/ErrorDetail" + } + }, + "required": [ + "error" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / MonitorHistoryPageAdded value: +{ + "properties": { + "data": { + "items": { + "$ref": "#/$defs/MonitorRun" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/MonitorPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / MonitorPageAdded value: +{ + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Monitor" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/MonitorPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / PaginationAdded value: +{ + "additionalProperties": true, + "properties": { + "has_more": { + "type": "boolean" + }, + "limit": { + "type": "integer" + }, + "next_cursor": { + "type": "string" + }, + "page": { + "type": "integer" + } + }, + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / PaymentRequiredResponseAdded value: +{ + "oneOf": [ + { + "$ref": "#/$defs/PaymentRequired" + }, + { + "$ref": "#/$defs/CreditTopupRequired" + } + ] +} - added
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" +} - added
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" +} - added
Input schema / $defs / SuccessResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": {}, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
googleplay_search24 fields changed- added
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" +} - added
Input schema / $defs / BrandFontsResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandFontsData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorAdded value: +{ + "properties": { + "error": { + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "error": { + "$ref": "#/$defs/ErrorDetail" + } + }, + "required": [ + "error" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / MonitorHistoryPageAdded value: +{ + "properties": { + "data": { + "items": { + "$ref": "#/$defs/MonitorRun" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/MonitorPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / MonitorPageAdded value: +{ + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Monitor" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/MonitorPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / PaginationAdded value: +{ + "additionalProperties": true, + "properties": { + "has_more": { + "type": "boolean" + }, + "limit": { + "type": "integer" + }, + "next_cursor": { + "type": "string" + }, + "page": { + "type": "integer" + } + }, + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / PaymentRequiredResponseAdded value: +{ + "oneOf": [ + { + "$ref": "#/$defs/PaymentRequired" + }, + { + "$ref": "#/$defs/CreditTopupRequired" + } + ] +} - added
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" +} - added
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" +} - added
Input schema / $defs / SuccessResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": {}, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
googleplay_similar_apps24 fields changed- added
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" +} - added
Input schema / $defs / BrandFontsResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandFontsData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorAdded value: +{ + "properties": { + "error": { + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "error": { + "$ref": "#/$defs/ErrorDetail" + } + }, + "required": [ + "error" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / MonitorHistoryPageAdded value: +{ + "properties": { + "data": { + "items": { + "$ref": "#/$defs/MonitorRun" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/MonitorPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / MonitorPageAdded value: +{ + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Monitor" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/MonitorPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / PaginationAdded value: +{ + "additionalProperties": true, + "properties": { + "has_more": { + "type": "boolean" + }, + "limit": { + "type": "integer" + }, + "next_cursor": { + "type": "string" + }, + "page": { + "type": "integer" + } + }, + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / PaymentRequiredResponseAdded value: +{ + "oneOf": [ + { + "$ref": "#/$defs/PaymentRequired" + }, + { + "$ref": "#/$defs/CreditTopupRequired" + } + ] +} - added
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" +} - added
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" +} - added
Input schema / $defs / SuccessResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": {}, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
googleplay_suggest24 fields changed- added
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" +} - added
Input schema / $defs / BrandFontsResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandFontsData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorAdded value: +{ + "properties": { + "error": { + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "error": { + "$ref": "#/$defs/ErrorDetail" + } + }, + "required": [ + "error" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / MonitorHistoryPageAdded value: +{ + "properties": { + "data": { + "items": { + "$ref": "#/$defs/MonitorRun" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/MonitorPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / MonitorPageAdded value: +{ + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Monitor" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/MonitorPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / PaginationAdded value: +{ + "additionalProperties": true, + "properties": { + "has_more": { + "type": "boolean" + }, + "limit": { + "type": "integer" + }, + "next_cursor": { + "type": "string" + }, + "page": { + "type": "integer" + } + }, + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / PaymentRequiredResponseAdded value: +{ + "oneOf": [ + { + "$ref": "#/$defs/PaymentRequired" + }, + { + "$ref": "#/$defs/CreditTopupRequired" + } + ] +} - added
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" +} - added
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" +} - added
Input schema / $defs / SuccessResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": {}, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
hackernews_item24 fields changed- added
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" +} - added
Input schema / $defs / BrandFontsResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandFontsData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorAdded value: +{ + "properties": { + "error": { + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "error": { + "$ref": "#/$defs/ErrorDetail" + } + }, + "required": [ + "error" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / MonitorHistoryPageAdded value: +{ + "properties": { + "data": { + "items": { + "$ref": "#/$defs/MonitorRun" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/MonitorPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / MonitorPageAdded value: +{ + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Monitor" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/MonitorPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / PaginationAdded value: +{ + "additionalProperties": true, + "properties": { + "has_more": { + "type": "boolean" + }, + "limit": { + "type": "integer" + }, + "next_cursor": { + "type": "string" + }, + "page": { + "type": "integer" + } + }, + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / PaymentRequiredResponseAdded value: +{ + "oneOf": [ + { + "$ref": "#/$defs/PaymentRequired" + }, + { + "$ref": "#/$defs/CreditTopupRequired" + } + ] +} - added
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" +} - added
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" +} - added
Input schema / $defs / SuccessResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": {}, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
hackernews_search24 fields changed- added
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" +} - added
Input schema / $defs / BrandFontsResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandFontsData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorAdded value: +{ + "properties": { + "error": { + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "error": { + "$ref": "#/$defs/ErrorDetail" + } + }, + "required": [ + "error" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / MonitorHistoryPageAdded value: +{ + "properties": { + "data": { + "items": { + "$ref": "#/$defs/MonitorRun" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/MonitorPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / MonitorPageAdded value: +{ + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Monitor" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/MonitorPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / PaginationAdded value: +{ + "additionalProperties": true, + "properties": { + "has_more": { + "type": "boolean" + }, + "limit": { + "type": "integer" + }, + "next_cursor": { + "type": "string" + }, + "page": { + "type": "integer" + } + }, + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / PaymentRequiredResponseAdded value: +{ + "oneOf": [ + { + "$ref": "#/$defs/PaymentRequired" + }, + { + "$ref": "#/$defs/CreditTopupRequired" + } + ] +} - added
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" +} - added
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" +} - added
Input schema / $defs / SuccessResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": {}, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
hackernews_stories_ask24 fields changed- added
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" +} - added
Input schema / $defs / BrandFontsResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandFontsData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorAdded value: +{ + "properties": { + "error": { + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "error": { + "$ref": "#/$defs/ErrorDetail" + } + }, + "required": [ + "error" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / MonitorHistoryPageAdded value: +{ + "properties": { + "data": { + "items": { + "$ref": "#/$defs/MonitorRun" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/MonitorPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / MonitorPageAdded value: +{ + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Monitor" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/MonitorPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / PaginationAdded value: +{ + "additionalProperties": true, + "properties": { + "has_more": { + "type": "boolean" + }, + "limit": { + "type": "integer" + }, + "next_cursor": { + "type": "string" + }, + "page": { + "type": "integer" + } + }, + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / PaymentRequiredResponseAdded value: +{ + "oneOf": [ + { + "$ref": "#/$defs/PaymentRequired" + }, + { + "$ref": "#/$defs/CreditTopupRequired" + } + ] +} - added
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" +} - added
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" +} - added
Input schema / $defs / SuccessResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": {}, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
hackernews_stories_best24 fields changed- added
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" +} - added
Input schema / $defs / BrandFontsResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandFontsData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorAdded value: +{ + "properties": { + "error": { + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "error": { + "$ref": "#/$defs/ErrorDetail" + } + }, + "required": [ + "error" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / MonitorHistoryPageAdded value: +{ + "properties": { + "data": { + "items": { + "$ref": "#/$defs/MonitorRun" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/MonitorPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / MonitorPageAdded value: +{ + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Monitor" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/MonitorPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / PaginationAdded value: +{ + "additionalProperties": true, + "properties": { + "has_more": { + "type": "boolean" + }, + "limit": { + "type": "integer" + }, + "next_cursor": { + "type": "string" + }, + "page": { + "type": "integer" + } + }, + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / PaymentRequiredResponseAdded value: +{ + "oneOf": [ + { + "$ref": "#/$defs/PaymentRequired" + }, + { + "$ref": "#/$defs/CreditTopupRequired" + } + ] +} - added
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" +} - added
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" +} - added
Input schema / $defs / SuccessResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": {}, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
hackernews_stories_job24 fields changed- added
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" +} - added
Input schema / $defs / BrandFontsResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandFontsData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorAdded value: +{ + "properties": { + "error": { + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "error": { + "$ref": "#/$defs/ErrorDetail" + } + }, + "required": [ + "error" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / MonitorHistoryPageAdded value: +{ + "properties": { + "data": { + "items": { + "$ref": "#/$defs/MonitorRun" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/MonitorPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / MonitorPageAdded value: +{ + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Monitor" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/MonitorPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / PaginationAdded value: +{ + "additionalProperties": true, + "properties": { + "has_more": { + "type": "boolean" + }, + "limit": { + "type": "integer" + }, + "next_cursor": { + "type": "string" + }, + "page": { + "type": "integer" + } + }, + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / PaymentRequiredResponseAdded value: +{ + "oneOf": [ + { + "$ref": "#/$defs/PaymentRequired" + }, + { + "$ref": "#/$defs/CreditTopupRequired" + } + ] +} - added
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" +} - added
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" +} - added
Input schema / $defs / SuccessResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": {}, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
hackernews_stories_new24 fields changed- added
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" +} - added
Input schema / $defs / BrandFontsResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandFontsData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorAdded value: +{ + "properties": { + "error": { + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "error": { + "$ref": "#/$defs/ErrorDetail" + } + }, + "required": [ + "error" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / MonitorHistoryPageAdded value: +{ + "properties": { + "data": { + "items": { + "$ref": "#/$defs/MonitorRun" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/MonitorPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / MonitorPageAdded value: +{ + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Monitor" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/MonitorPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / PaginationAdded value: +{ + "additionalProperties": true, + "properties": { + "has_more": { + "type": "boolean" + }, + "limit": { + "type": "integer" + }, + "next_cursor": { + "type": "string" + }, + "page": { + "type": "integer" + } + }, + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / PaymentRequiredResponseAdded value: +{ + "oneOf": [ + { + "$ref": "#/$defs/PaymentRequired" + }, + { + "$ref": "#/$defs/CreditTopupRequired" + } + ] +} - added
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" +} - added
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" +} - added
Input schema / $defs / SuccessResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": {}, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
hackernews_stories_show24 fields changed- added
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" +} - added
Input schema / $defs / BrandFontsResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandFontsData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorAdded value: +{ + "properties": { + "error": { + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "error": { + "$ref": "#/$defs/ErrorDetail" + } + }, + "required": [ + "error" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / MonitorHistoryPageAdded value: +{ + "properties": { + "data": { + "items": { + "$ref": "#/$defs/MonitorRun" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/MonitorPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / MonitorPageAdded value: +{ + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Monitor" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/MonitorPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / PaginationAdded value: +{ + "additionalProperties": true, + "properties": { + "has_more": { + "type": "boolean" + }, + "limit": { + "type": "integer" + }, + "next_cursor": { + "type": "string" + }, + "page": { + "type": "integer" + } + }, + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / PaymentRequiredResponseAdded value: +{ + "oneOf": [ + { + "$ref": "#/$defs/PaymentRequired" + }, + { + "$ref": "#/$defs/CreditTopupRequired" + } + ] +} - added
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" +} - added
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" +} - added
Input schema / $defs / SuccessResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": {}, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
hackernews_stories_top24 fields changed- added
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" +} - added
Input schema / $defs / BrandFontsResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandFontsData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorAdded value: +{ + "properties": { + "error": { + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "error": { + "$ref": "#/$defs/ErrorDetail" + } + }, + "required": [ + "error" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / MonitorHistoryPageAdded value: +{ + "properties": { + "data": { + "items": { + "$ref": "#/$defs/MonitorRun" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/MonitorPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
Input schema / $defs / MonitorPageAdded value: +{ + "properties": { + "data": { + "items": { + "$ref": "#/$defs/Monitor" + }, + "type": "array" + }, + "meta": { + "$ref": "#/$defs/MonitorPageMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / PaginationAdded value: +{ + "additionalProperties": true, + "properties": { + "has_more": { + "type": "boolean" + }, + "limit": { + "type": "integer" + }, + "next_cursor": { + "type": "string" + }, + "page": { + "type": "integer" + } + }, + "type": "object" +} - added
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" +} - added
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" +} - added
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" +} - added
Input schema / $defs / PaymentRequiredResponseAdded value: +{ + "oneOf": [ + { + "$ref": "#/$defs/PaymentRequired" + }, + { + "$ref": "#/$defs/CreditTopupRequired" + } + ] +} - added
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" +} - added
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" +} - added
Input schema / $defs / SuccessResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": {}, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +}
- Changed
hackernews_user24 fields changed- added
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" +} - added
Input schema / $defs / BrandFontsResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/$defs/BrandFontsData" + }, + "meta": { + "$ref": "#/$defs/ResponseMeta" + } + }, + "required": [ + "data", + "meta" + ], + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorAdded value: +{ + "properties": { + "error": { + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" +} - added
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" +} - added
Input schema / $defs / ErrorResponseAdded value: +{ + "additionalProperties": false, + "properties": { + "error": { + "$ref": "#/$defs/ErrorDetail" + } + }, + "required": [ + "error" + ], + "type": "object" +} - added
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" +} - added
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":