{"id":"syndication-hint","title":"Detect near-duplicate passages (syndicated or copied text) so repeated sources are not counted as independent","description":"Compares up to 30 passages an agent collected and reports which pairs share word-shingle content (Jaccard and containment), grouping them into clusters of probable copies so the number of independent sources can be stated honestly. Does not establish who copied whom, does not detect paraphrase or translation, and does not fetch anything; a high similarity is a hint that sources are not independent.","roi":"Stops five reprints of one wire story being counted as five sources. 30 passages per $0.005 call.","audience":"agent-infra","package":"context-evidence-kit","channels":["x402","mcp"],"endpoint":{"method":"POST","url":"https://agents.writerslogic.com/api/v1/syndication-hint","path":"/api/v1/syndication-hint","contentType":"application/json"},"price":{"amount":"0.005","currency":"USDC","network":"base","perCall":true,"failedCallsCharged":false},"inputSchema":{"type":"object","additionalProperties":false,"required":["passages"],"properties":{"passages":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","maxLength":100,"minLength":1,"description":"Unique id."},"text":{"type":"string","maxLength":50000,"minLength":1,"description":"Passage text."},"url":{"type":"string","maxLength":2000}},"required":["id","text"]},"maxItems":30,"minItems":2,"description":"Up to 30; 300000 characters in total."},"shingleWords":{"type":"integer","minimum":2,"maximum":12,"description":"Words per shingle. Default 5."},"jaccardThreshold":{"type":"number","minimum":0.05,"maximum":1,"description":"Pairs at or above this Jaccard similarity are flagged. Default 0.5."},"containmentThreshold":{"type":"number","minimum":0.05,"maximum":1,"description":"Pairs where this share of the smaller passage's shingles appear in the other are flagged (catches an excerpt of a longer copy). Default 0.8."}}},"resultSchema":{"type":"object","properties":{"status":{"type":"string","enum":["pass","fail","unknown","unsupported"],"description":"pass: every rule held. fail: a rule was violated (see witnesses). unknown: the input lacks the evidence to decide. unsupported: outside what this engine covers. Missing evidence is never a pass."},"pairs":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"a":{"type":"string"},"b":{"type":"string"},"jaccard":{"type":"number"},"containment":{"type":"number"},"sharedShingles":{"type":"integer"}}},"maxItems":435,"description":"Flagged pairs only, most similar first."},"clusters":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"ids":{"type":"array","items":{"type":"string","maxLength":100},"maxItems":30}}},"maxItems":30,"description":"Groups of passages linked by flagged pairs; singletons included."},"independentGroups":{"type":"integer","description":"Number of clusters: the independent-source count after collapsing copies."},"tooShort":{"type":"array","items":{"type":"string","maxLength":100},"maxItems":30,"description":"Passages with fewer words than one shingle; they cannot be compared."},"witnesses":{"type":"array","items":{"type":"object","properties":{"ruleId":{"type":"string"},"detail":{"type":"string"},"path":{"type":"string","description":"JSON pointer or dotted path into the input."},"offset":{"type":"integer"},"index":{"type":"integer"},"expected":{"description":"What the rule required."},"actual":{"description":"What the input had."}}}},"versions":{"type":"object","description":"Every semantic dependency of this answer (engine, tables and their as-of dates, tokenizer, calendar, rounding profile)."},"limits":{"type":"array","items":{"type":"string"}},"deterministic":{"type":"boolean","description":"Always true: pure code, no model."}}},"outputSchema":{"type":"object","properties":{"data":{"type":"object","properties":{"status":{"type":"string","enum":["pass","fail","unknown","unsupported"],"description":"pass: every rule held. fail: a rule was violated (see witnesses). unknown: the input lacks the evidence to decide. unsupported: outside what this engine covers. Missing evidence is never a pass."},"pairs":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"a":{"type":"string"},"b":{"type":"string"},"jaccard":{"type":"number"},"containment":{"type":"number"},"sharedShingles":{"type":"integer"}}},"maxItems":435,"description":"Flagged pairs only, most similar first."},"clusters":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"ids":{"type":"array","items":{"type":"string","maxLength":100},"maxItems":30}}},"maxItems":30,"description":"Groups of passages linked by flagged pairs; singletons included."},"independentGroups":{"type":"integer","description":"Number of clusters: the independent-source count after collapsing copies."},"tooShort":{"type":"array","items":{"type":"string","maxLength":100},"maxItems":30,"description":"Passages with fewer words than one shingle; they cannot be compared."},"witnesses":{"type":"array","items":{"type":"object","properties":{"ruleId":{"type":"string"},"detail":{"type":"string"},"path":{"type":"string","description":"JSON pointer or dotted path into the input."},"offset":{"type":"integer"},"index":{"type":"integer"},"expected":{"description":"What the rule required."},"actual":{"description":"What the input had."}}}},"versions":{"type":"object","description":"Every semantic dependency of this answer (engine, tables and their as-of dates, tokenizer, calendar, rounding profile)."},"limits":{"type":"array","items":{"type":"string"}},"deterministic":{"type":"boolean","description":"Always true: pure code, no model."}}},"_provenance":{"type":"object","description":"C2PA-aligned manifest and W3C VC 2.0 (eddsa-jcs-2022) issued by the hub DID; verify at POST /api/v1/verify-provenance"}},"required":["data","_provenance"]},"example":{"passages":[{"id":"wire","text":"The central bank raised interest rates by a quarter point on Wednesday, citing persistent inflation in services and a tight labor market."},{"id":"reprint","text":"Reuters: The central bank raised interest rates by a quarter point on Wednesday, citing persistent inflation in services and a tight labor market. Shares fell."},{"id":"other","text":"Economists at three universities published a study of regional housing prices and commuting patterns over the last decade."}]},"openapiOperation":{"operationId":"syndication_hint","summary":"Detect near-duplicate passages (syndicated or copied text) so repeated sources are not counted as independent","description":"Compares up to 30 passages an agent collected and reports which pairs share word-shingle content (Jaccard and containment), grouping them into clusters of probable copies so the number of independent sources can be stated honestly. Does not establish who copied whom, does not detect paraphrase or translation, and does not fetch anything; a high similarity is a hint that sources are not independent.\n\nPrice: 0.005 USDC on Base (x402).","x-x402-price-usdc":"0.005","x-x402-amount":"5000","x-payment-info":{"protocols":["x402"],"price":{"mode":"fixed","currency":"USD","amount":"0.005"}},"x-audience":"agent-infra","x-sample-url":"https://agents.writerslogic.com/api/v1/samples/syndication-hint","security":[{"x402":[]},{"apiKey":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["passages"],"properties":{"passages":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","maxLength":100,"minLength":1,"description":"Unique id."},"text":{"type":"string","maxLength":50000,"minLength":1,"description":"Passage text."},"url":{"type":"string","maxLength":2000}},"required":["id","text"]},"maxItems":30,"minItems":2,"description":"Up to 30; 300000 characters in total."},"shingleWords":{"type":"integer","minimum":2,"maximum":12,"description":"Words per shingle. Default 5."},"jaccardThreshold":{"type":"number","minimum":0.05,"maximum":1,"description":"Pairs at or above this Jaccard similarity are flagged. Default 0.5."},"containmentThreshold":{"type":"number","minimum":0.05,"maximum":1,"description":"Pairs where this share of the smaller passage's shingles appear in the other are flagged (catches an excerpt of a longer copy). Default 0.8."}}},"example":{"passages":[{"id":"wire","text":"The central bank raised interest rates by a quarter point on Wednesday, citing persistent inflation in services and a tight labor market."},{"id":"reprint","text":"Reuters: The central bank raised interest rates by a quarter point on Wednesday, citing persistent inflation in services and a tight labor market. Shares fell."},{"id":"other","text":"Economists at three universities published a study of regional housing prices and commuting patterns over the last decade."}]}}}},"responses":{"200":{"description":"Paid result with provenance","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"status":{"type":"string","enum":["pass","fail","unknown","unsupported"],"description":"pass: every rule held. fail: a rule was violated (see witnesses). unknown: the input lacks the evidence to decide. unsupported: outside what this engine covers. Missing evidence is never a pass."},"pairs":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"a":{"type":"string"},"b":{"type":"string"},"jaccard":{"type":"number"},"containment":{"type":"number"},"sharedShingles":{"type":"integer"}}},"maxItems":435,"description":"Flagged pairs only, most similar first."},"clusters":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"ids":{"type":"array","items":{"type":"string","maxLength":100},"maxItems":30}}},"maxItems":30,"description":"Groups of passages linked by flagged pairs; singletons included."},"independentGroups":{"type":"integer","description":"Number of clusters: the independent-source count after collapsing copies."},"tooShort":{"type":"array","items":{"type":"string","maxLength":100},"maxItems":30,"description":"Passages with fewer words than one shingle; they cannot be compared."},"witnesses":{"type":"array","items":{"type":"object","properties":{"ruleId":{"type":"string"},"detail":{"type":"string"},"path":{"type":"string","description":"JSON pointer or dotted path into the input."},"offset":{"type":"integer"},"index":{"type":"integer"},"expected":{"description":"What the rule required."},"actual":{"description":"What the input had."}}}},"versions":{"type":"object","description":"Every semantic dependency of this answer (engine, tables and their as-of dates, tokenizer, calendar, rounding profile)."},"limits":{"type":"array","items":{"type":"string"}},"deterministic":{"type":"boolean","description":"Always true: pure code, no model."}}},"_provenance":{"type":"object","description":"C2PA-aligned manifest and W3C VC 2.0 (eddsa-jcs-2022) issued by the hub DID; verify at POST /api/v1/verify-provenance"}},"required":["data","_provenance"]}}}},"400":{"description":"Invalid request (no payment consumed)","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string"}}}}}},"401":{"description":"Invalid X-API-KEY","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string"}}}}}},"402":{"description":"Payment required or invalid","content":{"application/json":{"schema":{"type":"object","description":"x402 v2 PaymentRequired (also base64 in the PAYMENT-REQUIRED header)","properties":{"x402Version":{"type":"integer"},"error":{"type":"string"},"code":{"type":"string"},"resource":{"type":"object"},"accepts":{"type":"array","items":{"type":"object"}},"extensions":{"type":"object"}}}}}},"502":{"description":"Upstream failure; the payment is released or not settled","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"code":{"type":"string"}}}}}}}},"links":{"docs":"https://agents.writerslogic.com/docs/syndication-hint/","docsJson":"https://agents.writerslogic.com/docs/syndication-hint.json","sample":"https://agents.writerslogic.com/api/v1/samples/syndication-hint","openapi":"https://agents.writerslogic.com/openapi.json","catalog":"https://agents.writerslogic.com/api/v1/catalog","verifyProvenance":"https://agents.writerslogic.com/api/v1/verify-provenance","index":"https://agents.writerslogic.com/docs/index.json"}}