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.
Live → Recently observed
Added "request_prepaid_key" and "send_feedback"; changed the definition of "cancel_comparison", "capture_screenshot", "discover_pages" and 7 more (10 tools before, 12 now)
⟨27 unchanged words⟩ when the job was created. Optional when therequestrequest’scarriesHTTPtheheadersprepaidcarry the key that paid thejob (Authorization: Bearer dck_…).job.","maxLength":200,"minLength":20,"type ⟨5 unchanged words⟩
Free 3 times a day per client address, no key needed. Full-page PNG of oneURL.URLReturnsat theimagegiven(orviewport width,forreturnedainlinelargewhenonesmall, else as links.file to fetch with thejobToken)jobToken.plusCall it for ajobId/jobTokenone-off
ListFree 3 times a day per client address (at most 50 pages each), no key needed. Lists the pages of Site A (sitemap, robots.txt,or crawl), mapped onto Site B when given.PaidCallinitUSDCto(thesee402whichchallengepagesnamesathecomparisonnetwork),would cover orfromto
⟨7 unchanged words⟩ ledger entries of the key the request carriesasin its Authorization: Bearerdck_…orX-DiffiCat-Key.X-DiffiCat-Key header. Call it to check what a key can still pay for; request_prepaid_key is the way to obtain a key. For a Pro account’s key the balance is ⟨19 unchanged words⟩
⟨27 unchanged words⟩ when the job was created. Optional when therequestrequest’scarriesHTTPtheheadersprepaidcarry the key that paid thejob (Authorization: Bearer dck_…).job.","maxLength":200,"minLength":20,"type ⟨5 unchanged words⟩
⟨19 unchanged words⟩ failed, while summary still covers every page. Each result is { path, status, failedChecks } by default; responseFormat: "detailed" returns the full per-check fields, diffs and screenshot names. WithoutitfailedOnly, a slice of every page's result (offset ⟨33 unchanged words⟩ limit: 1 returns the summary with one result. view: "digest" returns one small object per page with its issues and diff percentage and a one-line-per-page text block. Do not call it while the job runs: wait_for_comparison first. Free.
⟨75 unchanged words⟩ when the job was created. Optional when therequestrequest’scarriesHTTPtheheadersprepaidcarry the key that paid the
⟨41 unchanged words⟩ when the job was created. Optional when therequestrequest’scarriesHTTPtheheadersprepaidcarry the key that paid thejob (Authorization: Bearer dck_…).job.","maxLength":200,"minLength":20,"type ⟨6 unchanged words⟩
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"allowanceRemaining":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"bytes":{"maximum":9007199254740991,"minimum":-9007199254740991, ⟨32 unchanged words⟩ ["file"],"type":"object"},"pagesCharged":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"payment":{"anyOf":[{"additionalProperties":false,
⟨12 unchanged words⟩ with a new jobToken that replaces the oldone.one;Foror, when the request carries a key and _meta no credential, the latest job that key paidcallforwhose(no jobToken: the key reads it). Call it when a paid call’s result never arrived. Do not call it for a free run, which records no credential. Free.
⟨21 unchanged words⟩ links":{"additionalProperties":false,"properties":{"cancel":{"type":"string"},"file":{"type":"string"},"report":{"type":"string"},"requiredself
CompareFree up to 10 pages a day per client address, no key needed; sample report: https://difficat.com/agents/sample/report.json. Compares Site A against Site B on page existence, content and visualregression. Charged upfront. Paidregression,inpricedUSDCon(the402 challengepagesnamesitthecompares.network),Calloritfromfor aprepaid balance when themigration
⟨27 unchanged words⟩ when the job was created. Optional when therequestrequest’scarriesHTTPtheheadersprepaidcarry the key that paid thejob (Authorization: Bearer dck_…).job.","maxLength":200,"minLength":20,"type ⟨32 unchanged words⟩
Request a prepaid key — Mints a prepaid key and a Checkout link for a human to pay by card, so later paid calls are debited from its balance instead of challenged. Call it when a call was refused for payment and your human prefers a card to a wallet; with a key already on the request it tops that key up instead. Do not call it to learn a price (use start_comparison with dryRun) or while the free allowance still covers the work. Example: { "amountUsd": 10 }. Free.
Send feedback — Sends one message to the people who run this service: why a price, a payment path or a result did not fit. Call it when you stop short of a paid call or a result was not what the task needed; a person reads every message. Do not call it to report a job failure you can retry. Example: { "topic": "price", "message": "Too expensive for 200 pages", "quotedAmount": "3.00", "pages": 200 }. Free.
Changed the definition of "capture_screenshot", "discover_pages", "get_balance" and 2 more
⟨44 unchanged words⟩ ,"type":"object"},"payment":{"anyOf":[{"additionalProperties":false,"properties":{"amount":{" ⟨18 unchanged words⟩ "rail","balance"],"type":"object"},{"additionalProperties":false,"properties":{"allowanceRemaining":{"type":"number"},"amount":{"type":"string"},"currency":{"const":"USD","type":"string"},"pagesFromAllowance":{"type":"number"},"rail":{"const":"subscription","type":"string"}},"required":["amount","currency","rail","pagesFromAllowance","allowanceRemaining"],"type":"object"}]},"url":{"type":"string"}} ⟨2 unchanged words⟩
⟨31 unchanged words⟩ ,"type":"array"},"payment":{"
Changed the definition of "capture_screenshot", "get_balance", "get_screenshot" and 1 more
⟨10 unchanged words⟩ the page.","properties":{"password":{"description":"Password for HTTP basic auth.","maxLength":512,"type":"string"},"username":{"description":"Username for HTTP basic auth.","maxLength":512,"type":"string"}}, ⟨35 unchanged words⟩
⟨11 unchanged words⟩ key the request carries as Authorization: Bearerdck_….dck_… or X-DiffiCat-Key. Free.
Changed the definition of "cancel_comparison", "get_comparison", "get_report" and 2 more
{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"jobId":{"description":"The jobId returned when the job was created, e.g. web-1a2b3c.","pattern":"^web-[a-z0-9-]+$","type":" ⟨37 unchanged words⟩
{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"jobId":{"description":"The jobId returned when the job was created, e.g. web-1a2b3c.","pattern":"^web-[a-z0-9-]+$","type":" ⟨37 unchanged words⟩
Changed the definition of "cancel_comparison", "capture_screenshot", "discover_pages" and 7 more
before
—after
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"},"status":{"const":"cancelling","type":"string"}},"type":"object"}before
—after
{"destructiveHint":true,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":false}—
Changed the definition of "capture_screenshot", "discover_pages" and "start_comparison"
⟨42 unchanged words⟩ Authorization: Bearer dck_…: 0.02 USD per call. Answers with jobId, jobToken, filename, url, dimensions, bytes and links.file.
⟨34 unchanged words⟩ Authorization: Bearer dck_…: 0.05 USD per call. Answers with pages (sourceUrl, targetUrl, path) and strategy.
Added "wait_for_comparison"; changed the definition of "get_comparison", "get_report" and "start_comparison" (9 tools before, 10 now)
Status and progress of ajob.job and, once it is terminal, its summary: passed, failed and issuesBySeverity. Free.
The finishedreportreport. Call it first with failedOnly: true: results, total, nextOffset and text then cover only the pages that failed, while summaryoverstill covers
Certificate recorded, valid to 2026-11-28
Authorization not required
Unknown → Live
First tool surface recorded: 9 tools (server version 3.28.0)
https://app.difficat.com/mcp (mcp_streamable_http) — from mcp_registry, with the record
Showing the latest 13 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed
⟨37 unchanged words⟩ ,"password"],"type":"object"},"idempotencyKey":{"description":"Optional opaque string a retry repeats: under a prepaid balance the same value within 24 hours is not charged again and answers DUPLICATE_REQUEST with the jobId of the first call.","maxLength":255,"minLength":1,"type":"string"},"url":{"description":"Page to capture ( ⟨25 unchanged words⟩
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"allowanceRemaining":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"bytes":{"maximum":9007199254740991,"minimum":-9007199254740991, ⟨32 unchanged words⟩ ["file"],"type":"object"},"pagesCharged":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"payment":{"anyOf":[{"additionalProperties":false, ⟨51 unchanged words⟩ ","allowanceRemaining"],"type":"object"}]},"sample":{"type":"boolean"},"url":{"type":"string"}} ⟨2 unchanged words⟩
⟨5 unchanged words⟩ ":{"description":"Stop after this manypages.pages (default and at most 5000).","maximum":90071992547409915000,"minimum":1,"type":"integer"}, ⟨49 unchanged words⟩
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"allowanceRemaining":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"code":{"type":"string"},"error" ⟨78 unchanged words⟩ allowanceRemaining"],"type":"object"}]},"sample":{"type":"boolean"},"strategy":{"type":"string"},"truncated":{"type":"boolean"}},"type":"object"}
⟨25 unchanged words⟩ "integer"},"results":{"items":{"anyOf":[{"additionalProperties":false,"properties":{"failedChecks":{"items":{"type":"string"},"type":"array"},"path":{"type":"string"},"status":{"type":"string"}},"required":["path","status","failedChecks"],"type":"object"},{"additionalProperties":{},"propertyNames":{"type":"string"},"type":"object"}]},"type":"array"},"status":{ ⟨21 unchanged words⟩
⟨4 unchanged words⟩ "callbackUrl":{"description":"Optional https URL (port 443) that receives one JSON POST when the job ⟨29 unchanged words⟩ "minLength":1,"type":"string"},"checkMode":{"description":"What each page is checked on: full (existence, content and visual, the default) or text-only (existence and content, no screenshots).","enum":["full","text-only"],"type":"string"},"dryRun":{"description":"Quote only: runs ⟨11 unchanged words⟩ exact amount. Nothing is charged, the freesampleallowance is not used and no job starts; the ⟨8 unchanged words⟩ retained result.","type":"boolean"},"idempotencyKey":{"description":"Optional opaque string a retry repeats: under a prepaid balance the same value within 24 hours is not charged again and answers DUPLICATE_REQUEST with the jobId of the first call.","maxLength":255,"minLength":1,"type":"string"},"maxPages":{"description":"Optional ceiling on the ⟨227 unchanged words⟩ ":{"description":"Explicit page pairs tocompare;compare (at most 50000); skips discovery and is priced per pair. One ⟨40 unchanged words⟩ source","target"],"type":"object"},"maxItems":50000,"minItems":1,"type":"array"}, ⟨14 unchanged words⟩
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"allowanceRemaining":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"amount":{"type":"string"},"code" ⟨103 unchanged words⟩
⟨14 unchanged words⟩ carries as Authorization: Bearer dck_… or X-DiffiCat-Key. For a Pro account’s key the balance is 0.00 and allowance (included pages, pages used, reset time) and overage (amount this period, cap) are returned instead. Free.
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"allowance":{"additionalProperties":false,"properties":{"includedPages":{"type":"number"},"pagesUsed":{"type":"number"},"resetsAt":{"type":"string"}},"required":["includedPages","pagesUsed","resetsAt"],"type":"object"},"balance":{"type":"string"},"code" ⟨9 unchanged words⟩ "string"},"keyId":{"type":"string"},"overage":{"additionalProperties":false,"properties":{"amount":{"type":"string"},"capUsd":{"type":"string"}},"required":["amount","capUsd"],"type":"object"},"recent":{"items":{"additionalProperties" ⟨27 unchanged words⟩
⟨44 unchanged words⟩ ,"type":"object"},"payment":{"anyOf":[{"additionalProperties":false,"properties":{"amount":{" ⟨18 unchanged words⟩ "rail","balance"],"type":"object"},{"additionalProperties":false,"properties":{"allowanceRemaining":{"type":"number"},"amount":{"type":"string"},"currency":{"const":"USD","type":"string"},"pagesFromAllowance":{"type":"number"},"rail":{"const":"subscription","type":"string"}},"required":["amount","currency","rail","pagesFromAllowance","allowanceRemaining"],"type":"object"}]},"url":{"type":"string"}} ⟨2 unchanged words⟩
⟨43 unchanged words⟩ ,"type":"integer"},"payment":{"anyOf":[{"additionalProperties":false,"properties":{"amount":{" ⟨18 unchanged words⟩ "rail","balance"],"type":"object"},{"additionalProperties":false,"properties":{"allowanceRemaining":{"type":"number"},"amount":{"type":"string"},"currency":{"const":"USD","type":"string"},"pagesFromAllowance":{"type":"number"},"rail":{"const":"subscription","type":"string"}},"required":["amount","currency","rail","pagesFromAllowance","allowanceRemaining"],"type":"object"}]},"sample":{"type":"boolean"}, ⟨7 unchanged words⟩
AFetch one screenshot PNGnamedbyinfilename.theCallreportit when a get_report page result orreturnedabycapture_screenshotcapture_screenshot;result names alargescreenshotoneyou want to see; a PNG over the inline cap comes back as links.file to fetch with the jobToken. Free.
⟨186 unchanged words⟩ Site A.","properties":{"password":{"description":"Password for HTTP basic auth.","maxLength":512,"type":"string"},"username":{"description":"Username for HTTP basic auth.","maxLength":512,"type":"string"}}," ⟨32 unchanged words⟩ Site B.","properties":{"password":{"description":"Password for HTTP basic auth.","maxLength":512,"type":"string"},"username":{"description":"Username for HTTP basic auth.","maxLength":512,"type":"string"}}," ⟨82 unchanged words⟩ "items":{"properties":{"source":{"description":"Page URL on Site A.","maxLength":2048,"minLength":1,"type":"string"},"target":{"description":"The same page's URL on Site B.","maxLength":2048,"minLength":1,"type": ⟨24 unchanged words⟩
⟨50 unchanged words⟩ ,"type":"boolean"},"jobId":{"description":"The jobId returned when the job was created, e.g. web-1a2b3c.","pattern":"^web-[a-z0-9-]+$","type":" ⟨74 unchanged words⟩
⟨16 unchanged words⟩ ,"type":"string"},"jobId":{"description":"The jobId returned when the job was created, e.g. web-1a2b3c.","pattern":"^web-[a-z0-9-]+$","type":" ⟨38 unchanged words⟩
{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"jobId":{"description":"The jobId returned when the job was created, e.g. web-1a2b3c.","pattern":"^web-[a-z0-9-]+$","type":" ⟨64 unchanged words⟩
after
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"bytes":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"code":{"type":"string"},"dimensions":{"additionalProperties":{},"propertyNames":{"type":"string"},"type":"object"},"error":{"type":"string"},"filename":{"type":"string"},"jobId":{"type":"string"},"jobToken":{"type":"string"},"links":{"additionalProperties":false,"properties":{"file":{"type":"string"}},"required":["file"],"type":"object"},"payment":{"additionalProperties":false,"properties":{"amount":{"type":"string"},"balance":{"type":"string"},"currency":{"const":"USD","type":"string"},"rail":{"const":"prepaid","type":"string"}},"required":["amount","currency","rail","balance"],"type":"object"},"url":{"type":"string"}},"type":"object"}before
—after
{"destructiveHint":false,"idempotentHint":false,"openWorldHint":true,"readOnlyHint":false}before
—after
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"},"pages":{"items":{"additionalProperties":false,"properties":{"path":{"type":"string"},"sourceUrl":{"type":"string"},"targetUrl":{"type":"string"}},"required":["sourceUrl","path"],"type":"object"},"type":"array"},"payment":{"additionalProperties":false,"properties":{"amount":{"type":"string"},"balance":{"type":"string"},"currency":{"const":"USD","type":"string"},"rail":{"const":"prepaid","type":"string"}},"required":["amount","currency","rail","balance"],"type":"object"},"strategy":{"type":"string"}},"type":"object"}before
—after
{"destructiveHint":false,"idempotentHint":false,"openWorldHint":true,"readOnlyHint":false}before
—after
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"balance":{"type":"string"},"code":{"type":"string"},"currency":{"const":"USD","type":"string"},"error":{"type":"string"},"keyId":{"type":"string"},"recent":{"items":{"additionalProperties":false,"properties":{"amount":{"type":"string"},"at":{"type":"string"},"jobId":{"type":"string"},"kind":{"type":"string"},"type":{"type":"string"}},"required":["at","type","amount"],"type":"object"},"type":"array"}},"type":"object"}before
—after
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true}⟨11 unchanged words⟩ , its summary: passed, failed and issuesBySeverity. To wait for the end, call wait_for_comparison instead. Free.
before
—after
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"},"jobId":{"type":"string"},"progress":{"additionalProperties":{},"propertyNames":{"type":"string"},"type":"object"},"status":{"type":"string"},"summary":{"additionalProperties":{},"propertyNames":{"type":"string"},"type":"object"}},"type":"object"}before
—after
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true}The finished report. Call it first with failedOnly: true: results, total,nextOffsetandtextnextOffset then cover only the pages that failed, ⟨22 unchanged words⟩ most 5000; nextOffset points at the next slice).andThe text block is the plain-text report overthattheslice.slice; includeText: true also puts it in structuredContent.text. limit: 1 returns the summary with one result. Free.
⟨27 unchanged words⟩ every page.","type":"boolean"},"includeText":{"description":"Also return the plain-text report over the slice as structuredContent.text; the text block carries it either way.","type":"boolean"},"jobId":{"pattern":"^web-[a-z0-9-]+$", ⟨75 unchanged words⟩
before
—after
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"cancelled":{"type":"boolean"},"code":{"type":"string"},"error":{"type":["string","null"]},"jobId":{"type":"string"},"nextOffset":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"results":{"items":{"additionalProperties":{},"propertyNames":{"type":"string"},"type":"object"},"type":"array"},"status":{"type":"string"},"summary":{"additionalProperties":{},"propertyNames":{"type":"string"},"type":"object"},"text":{"type":"string"},"total":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"type":"object"}before
—after
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true}before
—after
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"bytes":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"code":{"type":"string"},"dimensions":{"additionalProperties":{},"propertyNames":{"type":"string"},"type":"object"},"error":{"type":"string"},"filename":{"type":"string"},"jobId":{"type":"string"},"jobToken":{"type":"string"},"links":{"additionalProperties":false,"properties":{"file":{"type":"string"}},"required":["file"],"type":"object"},"payment":{"additionalProperties":false,"properties":{"amount":{"type":"string"},"balance":{"type":"string"},"currency":{"const":"USD","type":"string"},"rail":{"const":"prepaid","type":"string"}},"required":["amount","currency","rail","balance"],"type":"object"},"url":{"type":"string"}},"type":"object"}before
—after
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true}before
—after
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"},"filename":{"type":"string"},"jobId":{"type":"string"},"jobToken":{"type":"string"},"links":{"additionalProperties":false,"properties":{"file":{"type":"string"}},"required":["file"],"type":"object"},"status":{"type":"string"}},"type":"object"}before
—after
{"destructiveHint":false,"idempotentHint":false,"openWorldHint":false,"readOnlyHint":false}⟨43 unchanged words⟩ 1000 pages and 0.01 USD per page beyond.maxPages is optional: a ceiling, not a reservation. A job is priced on the pages it compares (the urls list, or the pages discovery finds, at most maxPages), the challenge names the count, and there is no page limit. A single-page comparison is a urls list with one pair (preferred), or maxPages: 1 with the page URLs as sourceUrl and targetUrl; either is priced as one page and runs no discovery.One single-page comparison per client address per day is freewhen the request carrieswithoutnoa payment credentialand noor prepaidkey: the response is the normal 201 with sample: true and pagesCharged: 0, and once the allowance is used the same request is challenged as usual. Akey; sample reportover three pages, produced by this API, is at: https://difficat.com/agents/sample/report.json.ThedryRun:discoverytruethatanswerspricestheapagejobcountwithoutandurlsexactisamountnotwithoutcharged;chargingdiscover_pagesorisstarting aseparate, optional purchase for callers who want the page list itself. Setjob. maxPriceUsdto refuserefuses a job priced aboveyour budgetit before any challenge. A settled charge is final ⟨3 unchanged words⟩ job or partial results do not reduce it.recover_comparison returns a job whose result was lost, given the same payment credential.Then wait_for_comparison holds until the jobends (timeoutSeconds, at most 300), or give callbackUrl to receive one JSON POST when it does; a terminal statusends;carriesits summary.issuesBySeverity,is theverdict.verdict,Calland get_report with failedOnly: truefirst forlists thepages thatfailed,then the rest paged with offset and limit.pages. Answers with jobId, jobToken, status and pagesCharged ⟨6 unchanged words⟩
⟨46 unchanged words⟩ "minLength":1,"type":"string"},"dryRun":{"description":"Quote only: runs every check and the pricing, then answers the page count and exact amount. Nothing is charged, the free sample is not used and no job starts; the same body without dryRun is priced from the retained result.","type":"boolean"},"maxPages":{"description":"Optional ceiling on the ⟨265 unchanged words⟩
before
—after
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"amount":{"type":"string"},"code":{"type":"string"},"currency":{"const":"USD","type":"string"},"dryRun":{"const":true,"type":"boolean"},"error":{"type":"string"},"jobId":{"type":"string"},"jobToken":{"type":"string"},"pagesCharged":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"pagesPriced":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"payment":{"additionalProperties":false,"properties":{"amount":{"type":"string"},"balance":{"type":"string"},"currency":{"const":"USD","type":"string"},"rail":{"const":"prepaid","type":"string"}},"required":["amount","currency","rail","balance"],"type":"object"},"sample":{"type":"boolean"},"status":{"const":"running","type":"string"}},"type":"object"}before
—after
{"destructiveHint":false,"idempotentHint":false,"openWorldHint":true,"readOnlyHint":false}before
—after
{"$schema":"http://json-schema.org/draft-07/schema#","additionalProperties":false,"properties":{"code":{"type":"string"},"error":{"type":"string"},"jobId":{"type":"string"},"progress":{"additionalProperties":{},"propertyNames":{"type":"string"},"type":"object"},"status":{"type":"string"},"summary":{"additionalProperties":{},"propertyNames":{"type":"string"},"type":"object"}},"type":"object"}before
—after
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"readOnlyHint":true}⟨289 unchanged words⟩ then the rest paged with offset and limit. Answers with jobId, jobToken, status and pagesCharged, plus sample on the free run.
{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"failedOnly":{"description":"Only pages whose status is fail: results, total, nextOffset and text then cover the failed pages alone, while summary still covers every page.","type":"boolean"},"jobId":{"pattern":"^web-[a-z0-9-]+$", ⟨75 unchanged words⟩
⟨242 unchanged words⟩ was lost, given the same payment credential.PollThenget_comparisonwait_for_comparison holds until the job ends (timeoutSeconds,thenat most 300), or give callbackUrl to receive one JSON POST when it does; a terminal status carries summary.issuesBySeverity, the verdict. Call get_report(with failedOnly: true first for the pages that failed, then the rest paged with offset andlimit).limit.
{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"callbackUrl":{"description":"Optional https URL that receives one JSON POST when the job ends (jobId, status, summary, links; never the jobToken), a nudge to read the job. Public hosts only, no redirects followed, retried twice; delivery never affects the job.","maxLength":2048,"minLength":1,"type":"string"},"maxPages":{"description":"Optional ceiling on the ⟨265 unchanged words⟩
Wait for comparison — Waits until the job reaches a terminal status (completed, failed or cancelled) or timeoutSeconds pass (default 60, at most 300), then answers like get_comparison: status, progress and, once terminal, the summary with passed, failed and issuesBySeverity. A wait that runs out answers status "running"; call it again. Free.