{"uid":"cap_fjZ2BgZo0SKb3jLd0GAu7","slug":"halowerk-terms-diff-contract-version-comparison-be75e5b3","name":"Halowerk Terms Diff — Contract Version Comparison","description":"Takes two contract versions as text, public URLs or inline base64 — PDF, DOCX, ODT, HTML and Markdown are read — and reports what is different. Which passages changed is decided by a Myers shortest-edit-script over the paragraphs, not by a model: the deterministic comparison is the source of truth, and only afterwards is a model asked what changed in substance at those specific places. That order is the point.","url":"https://buero.halowerk.com/v1/terms-diff?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"a":{"type":"object","properties":{"url":{"type":"string","maxLength":2048,"description":"Public http(s) URL of a PDF, DOCX, ODT, HTML or text file. Private and local addresses are refused."},"text":{"type":"string","maxLength":200000,"description":"The text directly. Cheapest and clearest — its length is billed as counted here."},"format":{"enum":["auto","pdf","docx","odt","html","markdown","rtf","text"],"type":"string","default":"auto","description":"Override the detected format. \"auto\" reads it from the bytes."},"filename":{"type":"string","maxLength":260,"description":"Only consulted when the bytes carry no recognisable signature."},"content_base64":{"type":"string","maxLength":4000000,"description":"The file inline, base64."}},"description":"The earlier version. Exactly one of text, url or content_base64.","additionalProperties":false},"b":{"type":"object","properties":{"url":{"type":"string","maxLength":2048,"description":"Public http(s) URL of a PDF, DOCX, ODT, HTML or text file. Private and local addresses are refused."},"text":{"type":"string","maxLength":200000,"description":"The text directly. Cheapest and clearest — its length is billed as counted here."},"format":{"enum":["auto","pdf","docx","odt","html","markdown","rtf","text"],"type":"string","default":"auto","description":"Override the detected format. \"auto\" reads it from the bytes."},"filename":{"type":"string","maxLength":260,"description":"Only consulted when the bytes carry no recognisable signature."},"content_base64":{"type":"string","maxLength":4000000,"description":"The file inline, base64."}},"description":"The later version. Same shape as a.","additionalProperties":false},"document_chars":{"type":"integer","maximum":24000,"minimum":1,"description":"Only needed when a version arrives by url or content_base64: the combined length of both versions in characters, which is what you are billed for. Longer text is refused with the real length and nothing is charged."},"ignore_whitespace":{"type":"boolean","default":true,"description":"Treat runs of spaces and tabs as one space before comparing."},"max_changes_described":{"type":"integer","default":25,"maximum":60,"minimum":1,"description":"How many changed passages the model describes. Beyond this the passages still come back with their before and after text, only without a description — what is dropped is counted, never silently cut."},"include_unchanged_count":{"type":"boolean","default":true,"description":"Report how many paragraphs stayed identical."}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.004","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.004/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.004","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.004","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_JNxBY6iixRWphp3LhO8BX","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.004","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Compares two versions of a contract or terms document and reports exactly what changed, using deterministic diff first and LLM-based substance analysis second.","exampleAgentPrompt":"Compare these two contract drafts and tell me what actually changed — I'm giving you the old version as a PDF URL (https://example.com/contract-v1.pdf) and the new version inline as a DOCX base64 string — I need to know which paragraphs were modified and what the substantive differences are.","exampleUseCases":[{"title":"Vendor contract renewal review","prompt":"I just got the renewal from our SaaS vendor — can you compare last year's contract (https://example.com/contract-2023.pdf) with the new one they sent (https://example.com/contract-2024.pdf) and tell me what clauses actually changed, especially anything that affects liability or payment terms?"},{"title":"Terms of service update audit","prompt":"Our legal team updated the terms of service — compare the old version at https://example.com/tos-old.html with the new Markdown version I'm pasting inline and tell me which paragraphs changed and what's substantively different."},{"title":"NDA redlining between negotiation rounds","prompt":"We're on round two of NDA negotiations — here's the version we sent them (base64 DOCX) and the version they sent back (base64 DOCX). What did they actually change? Flag any new restrictions or removed protections."}],"resultDescription":"Returns a structured report of which paragraphs changed (based on a Myers shortest-edit-script diff), along with an LLM-generated summary of what changed in substance at those specific locations — giving both a deterministic source of truth for what changed and a natural-language explanation of the implications.","failureModes":["Unsupported file format or corrupted document returns a parsing error","URL is inaccessible or returns non-200 status — endpoint cannot fetch the document","Base64 encoding is malformed — decoding fails","Documents are too large and exceed processing limits","Payment of 0.004 USDC not completed — request is rejected via x402 protocol","Identical documents return an empty diff with no changes reported"],"whenToPreferThis":"Choose this endpoint when you need reliable, deterministic contract or terms-document comparison — particularly when you need to trust the diff itself (not just a model's impression of what changed). The Myers-diff-first approach means the changed paragraphs are identified deterministically before any LLM interpretation, making it more trustworthy than asking a model to compare documents directly. Prefer this over general-purpose LLM document comparison when accuracy and auditability of the diff matter, or when documents are in mixed formats (PDF, DOCX, ODT, HTML, Markdown).","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-13T00:37:50.398Z","isFirstParty":false,"canonicalSlug":"halowerk-terms-diff-contract-version-comparison-be75e5b3"}