Every change Wellknown observed on this MCP server, newest first, with what it was before and what it became. Tool-surface changes carry the definition diff. Nothing here is edited after the fact.
Authorization not required, issuer https://mcp.squirrelscan.com
Changed the definition of "get_report"
⟨336 unchanged words⟩ is absent the seed did not redirect off-site. `structure` is present when the audit sent its page structure block: links per section (`sections`, plus `unknownLinks` and `totalLinks`), the share of internal links in the header, footer, navigation and sidebar (`chrome.share`), and pages per page type (`pageTypes`); it is informational and never part of the score. A FAILED or BLOCKED audit also carries `status`, ⟨272 unchanged words⟩
Authorization not required, issuer https://mcp.squirrelscan.com
Changed the definition of "get_credit_balance" and "run_audit"
⟨47 unchanged words⟩ plus 1 per distinct external link the cloudchecksverifies when external link checking ison.on (a link it cannot verify costs nothing). A balance under 52 (a one-page audit) ⟨17 unchanged words⟩
⟨232 unchanged words⟩ external_links turns them off; each distinct external linkcheckedthe cloud verifies
Authorization not required, issuer https://mcp.squirrelscan.com
Changed the definition of "get_audit_status", "list_audits" and "run_audit"
⟨5 unchanged words⟩ run_id (from run_audit or list_audits). Statuspending/runningqueued/pending/running means keep polling (every 15-30 seconds): ⟨6 unchanged words⟩ (phase, message, page/link counts) when available. Status queued means cloud audits are busy and the run is waiting for a slot: it starts by itself, and its queue field gives its position, a rough eta_minutes (null when unknown) and a message to pass on. Do not start the audit again. Status completed means the report is ready: ⟨238 unchanged words⟩
List the organization's audit runs: currently active (Changed the definition of "get_website_settings", "list_notifications" and "update_website_settings"
⟨31 unchanged words⟩ scope, include/exclude patterns and internal link checks, whether broken link alerts are on (broken_link_alerts, Pro and Team), and its recurring-audit schedule. runs_as is how the ⟨70 unchanged words⟩
⟨17 unchanged words⟩ looked. Categories include audit_complete, issues_detected, audit_failed, broken_links, schedule_paused. Use this to catch up at the ⟨96 unchanged words⟩
Authorization not required, issuer https://mcp.squirrelscan.com
Changed the definition of "get_website_settings", "run_audit" and "update_website_settings"
⟨25 unchanged words⟩ it sets, the crawl depth, crawl scopeand, include/exclude patterns and internal link checks, and its recurring-audit schedule. runs_as is how ⟨71 unchanged words⟩
⟨205 unchanged words⟩ (a new website starts on surface). Surface and full check external links, quick does not, unless the website's external link setting or this run's external_links says otherwise; each distinct external link checked costs 1 credit, at most one per page of the page budget, and the estimate includes it.
Changed the definition of "get_report"
⟨198 unchanged words⟩ show red only from carried pages pending re-check. `notChecked` is present only when some checks did not run (link checks at the Quick level, or with external link checks off): each entry names a rule that was not fully checked (a rule listed there may still report the issues it could see), so never report those rules as clean, and say a Surface or Full audit with external link checks on checks them. `seedRedirect` is present ONLY when the audited URL ⟨345 unchanged words⟩
Added "get_website_settings" and "update_website_settings"; changed the definition of "add_website", "delete_website", "get_audit_status" and 1 more (25 tools before, 27 now)
⟨74 unchanged words⟩ costs credits: tell the user before callingthis, and point them atthis;theupdate_website_settingssite'swith schedulesettings to"off"turnturnsitthem off. The result's scheduled_audits field reports what was actually set.
Changed the definition of "add_website", "comment_on_issue", "compare_audits" and 22 more
{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":{},"properties":{"kind":{"description":"Classify ⟨43 unchanged words⟩ reclassifies it.","enum":["owned","prospect"],"type":"string"},"scope":{"description":"The website's stored crawl scope, used by every later audit of it. 'discover' follows links; 'sitemap' audits only the URLs the sitemap publishes. Omit to leave an existing site's setting unchanged (a new site starts on 'discover'). Re-calling with a different value updates it.","enum":["discover","sitemap"],"type":"string"},"url": ⟨17 unchanged words⟩
{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":{},"Changed the definition of "compare_audits", "get_issue" and "get_report"
⟨42 unchanged words⟩ unchanged (both audits published it), still_open (still there, but one audit did not list it: the evidence store says it isstill thereopenbutalthough the newer audit did not republish it, or the older audit's capped report sampled it out; `sampledOut` marks a clipped one, which is never counted as new; a sampled class that fails more often is listed in `sampledClassGrowth` and still counts as a change), or not_crawled (the page was not ⟨64 unchanged words⟩
Authorization not required, issuer https://mcp.squirrelscan.com
Changed the definition of "list_rules" and "run_audit"
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
Browse the catalog of260+300+ audit rules that run during an audit, ⟨35 unchanged words⟩
Only numbers and dates differ: this server embeds live figures in the definition, so the text moves without the contract changing.
Run a cloud audit of a website (crawl +260+300+ rule analysis + report). Credits are spent ⟨270 unchanged words⟩
Changed the definition of "comment_on_issue", "get_report", "get_rule" and 4 more
Post a comment on a website issue— use itto record analysis, a proposed fix, or ⟨16 unchanged words⟩
⟨112 unchanged words⟩ re-crawled this run (not a fresh result),—so check `lastSeenAt` for when it was last actually ⟨338 unchanged words⟩
Changed the definition of "run_audit"
⟨120 unchanged words⟩ retry with confirm: true, which is refused. Pick the audit with level: quick (25 pages from the seed and sitemaps, without the cloud checks), surface (100 pages, one per URL pattern, with the cloud checks and external link checks) or full (500 pages, every page it can reach; Pro and Team only: on the Free plan a full request crawls one page per URL pattern instead, up to the plan's page ceiling, and says so in level_notice). Without level the website's own level applies (a new website starts on surface). Use max_pages to size the crawl (max_pages: ⟨69 unchanged words⟩
⟨39 unchanged words⟩ :"boolean"},"coverage":{"description":"CrawlDeprecated,coverageuseprofilelevel.
Authorization not required, issuer https://mcp.squirrelscan.com
Authorization not required, issuer https://mcp.squirrelscan.com
Changed the definition of "get_credit_balance", "get_entity_graph", "list_entities" and 1 more
⟨77 unchanged words⟩ fewer pages than requested starts a smaller audit.Pro is $19 a month (or $190 a year) and includes 3,000 credits a month, daily scheduled audits on every site (free schedules one site weekly), faster crawls, and up to 2,000 pages per audit. Upgrade or top up at https://squirrelscan.com/upgrade?src=mcp.Read-only.
⟨75 unchanged words⟩ description":"Only entities declared on a pagewhose URL CONTAINSmatching one of thesestrings.values.
Changed the definition of "add_website", "comment_on_issue", "compare_audits" and 22 more
{"$schema":"httphttps://json-schema.org/draft-07/schema#","additionalProperties//json-schema.org/draft/2020-12/schema":false,"properties":{"kind":{"description":" ⟨69 unchanged words⟩
{"$schema":"httphttps://json-schema.org/draft-07/schema#","additionalProperties
Authorization not required, issuer https://mcp.squirrelscan.com
Changed the definition of "get_credit_balance"
⟨24 unchanged words⟩ run; run_audit shows an upper-bound estimate before starting.EveryAn auditstarts atcosts 50 credits plus 2 perrenderedaudited page,sohoweverathe page is fetched, plus 1 per distinct external link the cloud checks when external link checking is on. A balance under5052 (a one-page audit) cannot startone.one, and a balance that covers fewer pages than requested starts a smaller audit.
Certificate changed, valid to 2026-12-28
Authorization not required, issuer https://mcp.squirrelscan.com
Changed the definition of "get_audit_status"
⟨63 unchanged words⟩ timeout, http_4xx, http_5xx, redirect, robots, audit_timeout, stalled, unknown) and failure_next_step, so you can act on the cause rather than parsing the errorsentence;sentence,aplus failure_diagnostics: attribution (target_site, squirrelscan, mixed or unknown; never guess past it), category, stage, the observations that support it, what remains uncertain, and the bounded list of fetch attempts; legacy is true when the run predates recorded evidence. A cancelled run hasneithernone of these, because it was stopped rather than defeated ⟨126 unchanged words⟩
Authorization not required, issuer https://mcp.squirrelscan.com
Authorization not required, issuer https://mcp.squirrelscan.com
Authorization not required, issuer https://mcp.squirrelscan.com
Authorization not required, issuer https://mcp.squirrelscan.com
Authorization not required, issuer https://mcp.squirrelscan.com
Authorization not required, issuer https://mcp.squirrelscan.com
Authorization not required, issuer https://mcp.squirrelscan.com
Added "compare_entities", "get_entity", "get_entity_findings" and 2 more (20 tools before, 25 now)
Compare two audits' entities — Compare two audits of a site and get the change set: entities added and removed, entities that gained or lost an @id, occurrence changes, new and resolved conflicts and dangling references, summary deltas, and the pages each audit saw that the other did not. Defaults to the previous audit versus the latest. An entity is only reported as removed when every page that declared it was crawled again; anything unproven is reported separately as not crawled, so a smaller crawl never reads as a site that deleted its structured data. Each gainedId and lostId entry carries a coverage field saying wheth…
Get one declared entity — Get one entity as the map recorded it: the properties the map keeps (name, url, logo, image, sameAs, telephone, email, address, description), the pages that declare it, the properties whose values disagree between those pages, and the references in and out of it. The map keeps those nine and @type and nothing else, so a property missing here may still be in the page's JSON-LD, and a disagreement in a property outside that set is not detected. Accepts the entity key, its @id, or its name. Use this after list_entities to see why an entity was flagged, before deciding what to change. Edges and d…
Get the entity rule findings — Get the schema/entity-* rule verdicts for an audit: what is wrong with the site's entity graph, which entity keys and pages each finding affects, and the fix text for each. Use this instead of re-deriving the problems from the graph yourself. Each finding names one problem across the whole site rather than one per entity, so a count of 1 can still mean hundreds of pages. The keys and pages on a finding are a SAMPLE: the rule that produced it clipped its own lists before this tool saw them, so the pages listed are never the complete affected set and no field reports how many were left out. Use…
Authorization not required, issuer https://mcp.squirrelscan.com
Changed the definition of "get_audit_status" and "run_audit"
⟨12 unchanged words⟩ pending/running means keep polling (every 15-30 seconds)—: the response includes a progress field (phase, ⟨105 unchanged words⟩ unreachable site: that audit has no meaningful grade. A completed run also carries a schedule field describing the website's recurring audits: state is off, active, capped, unschedulable or paused, cadence_label reads as a sentence, settings_url is where the user changes the cadence or turns it off, and cap says how many scheduled sites the plan funds and how many are spent. Recurring audits turn on by themselves after a site's first successful audit and each run costs credits, so pass that on rather than leaving the user to discover the charge.
Changed the definition of "run_audit"
⟨310 unchanged words⟩ per page.","type":"boolean"},"scope":{"description":"Which URLs to audit. 'discover' (the default) follows links from the pages it finds. 'sitemap' audits only the URLs the site's sitemap publishes, which is what you want when the sitemap is the list the user cares about and link discovery would spend the budget elsewhere. Overrides the website's stored setting for this run only.","enum":["discover","sitemap"],"type":"string"},"url":{"description":"Website URL to audit ⟨12 unchanged words⟩
Certificate recorded, valid to 2026-10-30
Authorization not required, issuer https://mcp.squirrelscan.com
First tool surface recorded: 20 tools (server version 0.0.1)
Showing the latest 40 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed
⟨188 unchanged words⟩ the website's setting). Each distinct external linkcheckedthe cloud verifies costs 1 credit (a link it cannot verify costs nothing), at most one per page of the ⟨369 unchanged words⟩
⟨132 unchanged words⟩ quick (25 pages from the seed and sitemaps with external link checks, without the cloud checks), surface (100 ⟨59 unchanged words⟩ (a new website starts on surface).Surface andEveryfulllevelcheckchecks external links, quickdoes notincluded, unless the website's external link setting or this run's external_linkssaysturnsotherwise;them off; each distinct external link checked costs 1 credit ⟨123 unchanged words⟩
⟨10 unchanged words⟩ max_depth, scope, include_patterns, exclude_patterns and internal_links, broken_link_alerts (Pro and Team; switching it off is allowed on every plan), and schedule (off, daily, weekly or monthly ⟨92 unchanged words⟩
{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":{},"properties":{"broken_link_alerts":{"description":"Alert the website's owner, after each scheduled audit, about links it reports broken that the previous scheduled audit did not find broken (one email and one notification per audit; links that could not be verified never count). On by default on Pro and Team; turning it on is refused on Free. Costs nothing.","type":"boolean"},"confirm":{"description":"Approve a change that ⟨376 unchanged words⟩
⟨165 unchanged words⟩ ephemeral: false.","type":"boolean"},"external_links":{"description":"Check links to other sites for this run: true at any level, false to skip them (default: the website's setting). Each distinct external link checked costs 1 credit, at most one per page of the run's page budget, and the estimate includes that. Skipped links are listed as not checked in the report.","type":"boolean"},"internal_links":{"description":"Status-check internal link targets the crawl did not fetch (a HEAD request each, a one-byte GET only when the server refuses HEAD, following redirects that stay in scope; free; it never requests links that look like actions or carry a token). Default: the website's setting, on unless switched off. Pass false for a site whose links change state when requested.","type":"boolean"},"kind":{"description":"Classify the site: ⟨279 unchanged words⟩
⟨7 unchanged words⟩ max_pages, render, external_links, max_depth, scope, include_patterns, exclude_patterns andexclude_patternsinternal_links, and schedule (off, daily, weekly or ⟨93 unchanged words⟩
⟨122 unchanged words⟩ "maxItems":200,"type":"array"},"internal_links":{"description":"Status-check internal link targets the crawl did not fetch (a HEAD request each, a one-byte GET only when the server refuses HEAD; free; never links that look like actions or carry a token). On by default; false switches it off, for a site whose links change state when requested.","type":"boolean"},"level":{"description":"Audit level preset. Setting ⟨201 unchanged words⟩
⟨32 unchanged words⟩ id from list_websites, run_audit, or add_website.","pattern":"^(?:[0-9A-HJKMNP-TV-Z]{8}|[0-9A-HJKMNP-TV-Z]{26})$","type":"string"}},"required":["website_id ⟨2 unchanged words⟩
⟨226 unchanged words⟩ the plan funds and how many are spent. estimated_cost is the most those runs spend per run, week and month. Recurring audits turn on by themselves after a ⟨22 unchanged words⟩
⟨280 unchanged words⟩ settings_url is where the user turns them off. pending_first_audit: true means they switch on by themselves after this site's first successful audit, estimated_cost is the most they spend per run, week and month, and update_website_settings with schedule "off" turns them off.
Get website settings — Read one website's stored audit settings: its audit level (quick, surface, full or custom) with the page cap, crawl strategy, rendering and external link checks it sets, the crawl depth, crawl scope and include/exclude patterns, and its recurring-audit schedule. runs_as is how the next audit runs on the organization's plan (a level or page cap the plan does not run is held to the plan there, with a notice) and credits_per_run_max is the most one audit of it can cost. schedule says whether recurring audits are on; pending_first_audit: true means they switch on by themselves after the site's fi…
Update website settings — Change one website's stored audit settings: level, max_pages, render, external_links, max_depth, scope, include_patterns and exclude_patterns, and schedule (off, daily, weekly or monthly) for its recurring audits. Omitted fields are left unchanged. Values are checked the same way the dashboard's settings are and held to the organization's plan; the result reports what is stored afterwards, which fields were applied, and any plan clamp. Turning recurring audits on, changing their cadence, or a change that raises the most one audit can cost returns status "confirmation_required" with the estima…
{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":{},"properties":{"base":{"description":"Older ⟨84 unchanged words⟩
{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":{},"properties":{"from_run_id":{"description":"The ⟨198 unchanged words⟩
{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":{},"properties":{"expires_in_days":{"description":"Expire ⟨72 unchanged words⟩
{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":{},"properties":{"confirm":{"description":"Approve ⟨36 unchanged words⟩
{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":{},"properties":{"confirm":{"description":"Approve ⟨51 unchanged words⟩
{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":{},"properties":{"run_id":{"description":"Run ⟨14 unchanged words⟩
{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":{},"properties":{},"type":"object"}
{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":{},"properties":{"key":{"description":"The ⟨183 unchanged words⟩
{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":{},"properties":{"run_id":{"description":"A ⟨124 unchanged words⟩
{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":{},"properties":{"format":{"description":"How ⟨369 unchanged words⟩
{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":{},"properties":{"issue_number":{"description":"Issue ⟨41 unchanged words⟩
⟨73 unchanged words⟩ it affects and `pages` is a sample of at most 5 of them (`affectedPagesHasMore` when clipped) and `items` at most 3, so read "affects N pages" from the count, not the rowtotal.total, and use get_issue for every occurrence. Each row also carries `provenance`: "carried" means ⟨221 unchanged words⟩ is clean. Also includes a `history` array of the 3 most recent prior audits of this website with score/issue deltas ⟨80 unchanged words⟩ a sample of its pages and items (at mosta10few pages and5items) beside its true counts, so read ⟨101 unchanged words⟩
{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":{},"properties":{"format":{"description":"summary ⟨57 unchanged words⟩
{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":{},"properties":{"rule_id":{"description":"Rule ⟨12 unchanged words⟩
{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":{},"properties":{"limit":{"description":"Max ⟨59 unchanged words⟩
{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":{},"properties":{"cursor":{"description":"Opaque ⟨28 unchanged words⟩
{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":{},"properties":{"include_page_local":{"description":"Include ⟨406 unchanged words⟩
⟨20 unchanged words⟩ numbered per website). Returns issues sorted byseverityseverity. `total`,plus`returned`severityand `has_more` describe the issues matching YOUR filters; `website_totals` (by_status, active_by_severity: open andstatusin_progress)summaries.always counts the whole website regardless of filters, so the two can differ (it replaces the earlier `severity_summary` and `status_counts` fields). Rows omit the long `recommendation` (use get_rule with the row's rule_id, or get_issue, or pass include_recommendation: true). Use the issue number with get_issue for full ⟨74 unchanged words⟩
{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":{},"properties":{"category":{"description":"Filter ⟨6 unchanged words⟩ , performance, security).","type":"string"},"include_recommendation":{"description":"Include each issue's full recommendation text (default false; see get_rule).","type":"boolean"},"limit":{"description":"Page size ⟨68 unchanged words⟩
{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":{},"properties":{"after":{"description":"Opaque ⟨92 unchanged words⟩
{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":{},"properties":{"category":{"description":"Filter ⟨8 unchanged words⟩ in the response).","type":"string"},"include_categories":{"description":"Include the categories list (code, name, rule_count). Default: included only when no category or search filter is given.","type":"boolean"},"search":{"description":"Case-insensitive keyword ⟨11 unchanged words⟩
{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":{},"properties":{"kind":{"description":"Filter ⟨54 unchanged words⟩
{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":{},"properties":{"confirm":{"description":"Approve ⟨445 unchanged words⟩
{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":{},"properties":{"category":{"description":"bug_report ⟨127 unchanged words⟩
{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":{},"properties":{},"type":"object"}
⟨399 unchanged words⟩ with summary, then pull llm or markdownwhenforyoumoreneedofeveryeach issue. A published report is a capped summary: each issue keeps a sample of its pages andpageitemsdetail.(at most 10 pages and 5 items) beside its true counts, so read totals from `affectedPagesCount`, `occurrences` and `details.additional`, never from a list length. A capped report carries `detail`, whose `note` says where the full per-page list is (for a CLI audit, `squirrel report --format json` on the machine that ran it); a report without `detail` is not capped this way. This report is the source of truth for ⟨44 unchanged words⟩
Fetch one audit rule by id (e.g. "meta/title-lengthcore/meta-title"), including what it checks, how to ⟨29 unchanged words⟩
⟨6 unchanged words⟩ grants (signup/monthly/pack/promo), debits (audit_base 50cr +renderaudit_page2cr/page2cr per audited page + external_link 1cr per checked link + folded 0-costservicesservices; older audits carry render rows instead of audit_page), refunds, and adjustments—, newest first, paginated. Each debit/refund carries `run_id` ⟨36 unchanged words⟩
⟨31 unchanged words⟩ completed run whose report has not been deleted)—.passPass last_report_run_id to get_report to read a website's newest ⟨78 unchanged words⟩
Send feedbackabout squirrelscanto the squirrelscan team: a bug, a missing feature, what worked,somethingwhat was confusing, missing report data, or tool ergonomics. Use it when the useraskswants to reportsomething.something or share their experience. Works with any authenticated credentials, including read-only API keys.
⟨5 unchanged words⟩ description":"bug_report (a defect in squirrelscan itself—: wrong or missing rule result, crash, broken ⟨115 unchanged words⟩
⟨13 unchanged words⟩ the plan, and the current credit balance.CallUsefulthisatfirsttheinstart of a session, toorientseeyourselfwhichbeforeorganizationrunningtheaudits.other tools act for.
⟨124 unchanged words⟩ and are hidden unless include_page_local is true. Returns the site-wide summary (it does not change with the filters), a filteredsummaryblock with the node and edge counts that survived them, a page of nodes, total, and ⟨126 unchanged words⟩
⟨112 unchanged words⟩ description":"Only entities declared on a pagewhose URL CONTAINSmatching one of thesestrings.values.NotA value that is an absolute http(s) URL or starts with \"/\" is aprefixPREFIXtestmatch: the full URL for the first, the page path andnotqueryaforglobthe second, so \"/blog\" matches https://example.com/blog/postandbut not https://example.com/tag/blog//example.com/tag/blog.alike.Any other value is a SUBSTRING match against the URL, so \"blog\" matches both. Case-sensitive. Not a glob. Several values are an OR."},"problem" ⟨222 unchanged words⟩
Report yourSendexperiencefeedbackusingabout squirrelscanmid-sessionto the team: a bug, a missing feature, what worked,what confusedsomethingyouconfusing, missing report data, or tool ergonomics.Reviewed by the team to improve the product — useUse itany time something surprises you, not just atwhen theenduserofasksatosession.report something. Works with any authenticated credentials, including read-only API keys.
{"$schema":"httphttps://json-schema.org/draft-07/schema#","additionalProperties//json-schema.org/draft/2020-12/schema":false,"properties":{"base":{"description":" ⟨85 unchanged words⟩
{"$schema":"httphttps://json-schema.org/draft-07/schema#","additionalProperties//json-schema.org/draft/2020-12/schema":false,"properties":{"from_run_id":{"description":" ⟨100 unchanged words⟩ @id are reported whatever this is set to.","maximum":9007199254740991,"minimum":1,"type":"integer"}, ⟨85 unchanged words⟩
{"$schema":"httphttps://json-schema.org/draft-07/schema#","additionalProperties//json-schema.org/draft/2020-12/schema":false,"properties":{"expires_in_days":{"description":" ⟨73 unchanged words⟩
{"$schema":"httphttps://json-schema.org/draft-07/schema#","additionalProperties//json-schema.org/draft/2020-12/schema":false,"properties":{"confirm":{"description":" ⟨37 unchanged words⟩
{"$schema":"httphttps://json-schema.org/draft-07/schema#","additionalProperties//json-schema.org/draft/2020-12/schema":false,"properties":{"confirm":{"description":" ⟨52 unchanged words⟩
{"$schema":"httphttps://json-schema.org/draft-07/schema#","additionalProperties//json-schema.org/draft/2020-12/schema":false,"properties":{"run_id":{"description":" ⟨15 unchanged words⟩
{"$schema":"httphttps://json-schema.org/draft-07/schema#//json-schema.org/draft/2020-12/schema","properties":{},"type":"object"}
{"$schema":"httphttps://json-schema.org/draft-07/schema#","additionalProperties//json-schema.org/draft/2020-12/schema":false,"properties":{"key":{"description":" ⟨184 unchanged words⟩
{"$schema":"httphttps://json-schema.org/draft-07/schema#","additionalProperties//json-schema.org/draft/2020-12/schema":false,"properties":{"run_id":{"description":" ⟨125 unchanged words⟩
{"$schema":"httphttps://json-schema.org/draft-07/schema#","additionalProperties//json-schema.org/draft/2020-12/schema":false,"properties":{"format":{"description":" ⟨60 unchanged words⟩ "type":"string"},{"items":{"$refmaxLength":2048,"#/properties/page/anyOf/0type":"string"},"type":"array"}],"description": ⟨44 unchanged words⟩ "type":"string"},{"items":{"$refenum":["#/properties/problem/anyOf/0no-id","conflict","dangling","single-page","split-identity"],"type":"string"},"type":"array"}],"description": ⟨116 unchanged words⟩ "type":"string"},{"items":{"$refmaxLength":2048,"#/properties/type/anyOf/0type":"string"},"type":"array"}],"description" ⟨75 unchanged words⟩
{"$schema":"httphttps://json-schema.org/draft-07/schema#","additionalProperties//json-schema.org/draft/2020-12/schema":false,"properties":{"issue_number":{"description":"Issue number from list_issues.","maximum":9007199254740991,"minimum":1,"type":"integer"}, ⟨32 unchanged words⟩
{"$schema":"httphttps://json-schema.org/draft-07/schema#","additionalProperties//json-schema.org/draft/2020-12/schema":false,"properties":{"format":{"description":" ⟨58 unchanged words⟩
{"$schema":"httphttps://json-schema.org/draft-07/schema#","additionalProperties//json-schema.org/draft/2020-12/schema":false,"properties":{"rule_id":{"description":" ⟨13 unchanged words⟩
{"$schema":"httphttps://json-schema.org/draft-07/schema#","additionalProperties//json-schema.org/draft/2020-12/schema":false,"properties":{"limit":{"description":" ⟨23 unchanged words⟩ runs (default 0). Use with total/has_more.","maximum":9007199254740991,"minimum":0,"type":"integer"}, ⟨24 unchanged words⟩
{"$schema":"httphttps://json-schema.org/draft-07/schema#","additionalProperties//json-schema.org/draft/2020-12/schema":false,"properties":{"cursor":{"description":" ⟨29 unchanged words⟩
{"$schema":"httphttps://json-schema.org/draft-07/schema#","additionalProperties//json-schema.org/draft/2020-12/schema":false,"properties":{"include_page_local":{"description":" ⟨80 unchanged words⟩ does not repeat or skip a row.","maximum":9007199254740991,"minimum":0,"type":"integer"},"page ⟨3 unchanged words⟩ "type":"string"},{"items":{"$refmaxLength":2048,"#/properties/page/anyOf/0type":"string"},"type":"array"}],"description": ⟨44 unchanged words⟩ "type":"string"},{"items":{"$refenum":["#/properties/problem/anyOf/0no-id","conflict","dangling","single-page","split-identity"],"type":"string"},"type":"array"}],"description": ⟨116 unchanged words⟩ "type":"string"},{"items":{"$refmaxLength":2048,"#/properties/type/anyOf/0type":"string"},"type":"array"}],"description" ⟨75 unchanged words⟩
{"$schema":"httphttps://json-schema.org/draft-07/schema#","additionalProperties//json-schema.org/draft/2020-12/schema":false,"properties":{"category":{"description":" ⟨26 unchanged words⟩ "description":"Pagination offset (default 0).","maximum":9007199254740991,"minimum":0,"type":"integer"}, ⟨46 unchanged words⟩
⟨86 unchanged words⟩ what nobody has looked at yet. Paginated withlimit/offset.limit/offset, or poll for new events: every response carries next_cursor, and passing it back as after returns only notifications created since, oldest first (offset is ignored). Read-only: this never marks anything read.
{"$schema":"httphttps://json-schema.org/draft-07/schema#//json-schema.org/draft/2020-12/schema","additionalPropertiesproperties":false,{"propertiesafter":{"description":"Opaque cursor from a previous response's next_cursor. Returns only newer notifications, oldest first.","maxLength":512,"minLength":1,"type":"string"},"category":{"description":"Restrict to these categories ⟨40 unchanged words⟩ ":"Rows to skip (default 0).","maximum":9007199254740991,"minimum":0,"type":"integer"}, ⟨16 unchanged words⟩
{"$schema":"httphttps://json-schema.org/draft-07/schema#","additionalProperties//json-schema.org/draft/2020-12/schema":false,"properties":{"category":{"description":" ⟨30 unchanged words⟩
{"$schema":"httphttps://json-schema.org/draft-07/schema#","additionalProperties//json-schema.org/draft/2020-12/schema":false,"properties":{"kind":{"description":" ⟨41 unchanged words⟩ "description":"Pagination offset (default 0).","maximum":9007199254740991,"minimum":0,"type":"integer"}} ⟨2 unchanged words⟩
{"$schema":"httphttps://json-schema.org/draft-07/schema#","additionalProperties//json-schema.org/draft/2020-12/schema":false,"properties":{"confirm":{"description":" ⟨221 unchanged words⟩ exceeds this many credits.","exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"max_pages":{"description" ⟨43 unchanged words⟩ reported back in a notice, not rejected.","maximum":9007199254740991,"minimum":1,"type":"integer"}, ⟨101 unchanged words⟩
{"$schema":"httphttps://json-schema.org/draft-07/schema#","additionalProperties//json-schema.org/draft/2020-12/schema":false,"properties":{"category":{"description":" ⟨129 unchanged words⟩
{"$schema":"httphttps://json-schema.org/draft-07/schema#//json-schema.org/draft/2020-12/schema","properties":{},"type":"object"}
Export the entity graph — Get the whole entity graph, or a filtered part of it, in a chosen format: json for the canonical document, jsonld for a validator, mermaid or markdown to read in a conversation, dot or graphml for a graph tool. Defaults to json. Takes the same filters as list_entities. mermaid caps declared entities at 150 and markdown caps rows at 50, and both say so in truncation; json, jsonld, dot and graphml apply no node cap. No cap is not the same as complete: every format renders the stored map, and on the local server that map carries no per-edge page list and no per-page reference list, so those arra…
List declared entities — List the entities a site declares in its JSON-LD, collapsed across every crawled page into one graph, so an Organization declared identically on 60 pages is one row rather than 60. Declarations collapse by resolved @id, or by type and name when there is no @id, so the SAME real-world thing can still occupy several rows when its declared identity differs between pages: a relative @id such as "#organization" resolves against each page and yields one row per page. That is the split-identity problem, not a quirk of this tool. Filter by @type, by declaring page, by problem class, or by a text matc…