WritersLogic Verifiable AI Agent Hub Find Contradictions API
The Find Contradictions API from WritersLogic Verifiable AI Agent Hub — 1 operation(s) for find contradictions.
The Find Contradictions API from WritersLogic Verifiable AI Agent Hub — 1 operation(s) for find contradictions.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/writerslogic-com:writerslogic-com-find-contradictions-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: WritersLogic Verifiable AI Agent Hub Find Contradictions API
version: 2.0.0
description: Pay-per-call agents settled in USDC on Base via x402. Every response carries a signed provenance envelope.
contact:
name: WritersLogic
url: https://writerslogic.com/agents
email: agents@writerslogic.com
servers:
- url: https://agents.writerslogic.com
tags:
- name: Find Contradictions
paths:
/api/v1/find-contradictions:
post:
operationId: paperContradictions
summary: Paper Contradiction Finder
description: 'Takes 2 to 4 papers (DOI, arXiv id, PMID or their URLs) on a shared question and answers whether their reported numbers conflict: a verdict (CONTRADICTION_FOUND / NO_CONTRADICTION_FOUND / INCONCLUSIVE) with confidence, a one-line headline, the decisive quotes side by side and a next step, then the full evidence. Fetches the best available text (ar5iv, Europe PMC full text, else abstract), extracts quantitative claims with exact quote spans (hazard/odds/risk ratios, relative changes, differences, confidence intervals, P-values, sample sizes, units), pairs claims by shared outcome vocabulary (at most 24 pairs), and tests each pair the model confirms as the same quantity in comparable populations: opposite directions, non-overlapping intervals, the difference test from CI-derived standard errors, and a significant-versus-powered-null check, after unit normalization. Classifies each pair CONTRADICTS / CONSISTENT / DIFFERENT_POPULATIONS_OR_MEASURES / INSUFFICIENT_INFO and reports a per-paper trust summary (retraction and correction status, replication signals, sample size, preregistration, funding and conflict statements, how often the paper is contradicted) by a documented formula. Author-prestige metrics are excluded on purpose. mode "fast" makes no model call and tests only identical outcome phrases. If a paper cannot be found or an upstream lookup fails, the result is returned marked partial with the gaps named; abstract-only papers lower the stated confidence. A screening aid for reading, not a systematic review; CONTRADICTS does not say which paper is right.
Price: 1.00 USDC on Base (x402).'
x-x402-price-usdc: '1.00'
x-x402-amount: '1000000'
x-payment-info:
protocols:
- x402
price:
mode: fixed
currency: USD
amount: '1.00'
x-audience: research
x-sample-url: https://agents.writerslogic.com/api/v1/samples/paperContradictions
security:
- x402: []
- apiKey: []
requestBody:
required: true
content:
application/json:
schema:
type: object
additionalProperties: false
required:
- papers
properties:
papers:
type: array
minItems: 2
maxItems: 4
items:
type: string
minLength: 3
maxLength: 300
description: '2 to 4 papers on a shared question, each a DOI (bare, doi: or doi.org URL), an arXiv id or arxiv.org URL, or a PMID (bare, PMID:n, or a pubmed.ncbi.nlm.nih.gov or europepmc.org URL).'
claim:
type: string
minLength: 3
maxLength: 2000
description: Optional claim or question to focus on; claims about it are paired first.
mode:
type: string
enum:
- full
- fast
description: 'full (default): one model call judges whether candidate claim pairs measure the same quantity in comparable populations. fast: no model call; only pairs with identical normalized outcome phrases are tested.'
example:
papers:
- 10.1056/NEJM199608153350701
- 10.1001/jama.288.3.321
claim: Does postmenopausal estrogen plus progestin therapy reduce coronary heart disease risk?
mode: full
responses:
'200':
description: Paid result with provenance
content:
application/json:
schema:
type: object
properties:
data:
type: object
properties:
verdict:
type: string
enum:
- CONTRADICTION_FOUND
- NO_CONTRADICTION_FOUND
- INCONCLUSIVE
description: 'Headline result across all tested pairs: CONTRADICTION_FOUND, NO_CONTRADICTION_FOUND (some pairs tested and consistent), or INCONCLUSIVE (nothing could be tested as the same quantity; not evidence of agreement).'
confidence:
type: integer
description: 0-100, by the documented rule in confidenceBasis.
headline:
type: string
description: One sentence naming the papers and the kind of conflict; read this first.
humanSummary:
type: string
description: The decisive quotes side by side, the difference-test p-value, and what was not counted. (summary holds the pair counts.)
nextStep:
type: string
description: The single most useful action for the buyer.
topFindings:
type: array
items:
type: object
description: pairId, kind, decidedBy, the two papers with the quote from each, and the difference test (z, p) when applicable.
description: Up to 3 most decisive contradictions, model-confirmed ones first.
partial:
type: boolean
description: True when a paper was not found, the model call failed, or upstream lookups were skipped or rate-limited; the result is still signed and missing says what was not seen.
missing:
type: array
items:
type: string
confidenceBasis:
type: string
mode:
type: string
enum:
- full
- fast
deterministic:
type: boolean
description: True when no model call was made.
llmCalls:
type: integer
description: 0 in fast mode or when no candidate pairs exist; otherwise 1.
decidedBy:
type: object
description: 'Pairs by what decided them: code (identical outcome phrase, statistics), llm (model said not the same quantity), llm+code (model said same, code ran the tests), none (undecided).'
degraded:
anyOf:
- type: string
- type: 'null'
description: Set when the model call failed and only identical-outcome pairs were tested.
focus:
anyOf:
- type: string
- type: 'null'
summary:
type: object
description: Pair counts per classification (CONTRADICTS, CONSISTENT, DIFFERENT_POPULATIONS_OR_MEASURES, INSUFFICIENT_INFO) and pairsTested.
papers:
type: array
items:
type: object
description: 'Per paper: resolved metadata, text level, integrity (retraction, correction), replication signals, sample size, preregistration, funding and conflict-of-interest cues with quotes, and the trust summary.'
claims:
type: array
items:
type: object
description: Quantitative claims with exact quote spans (offsets into the paper text), measure, value, confidence interval, P, unit, direction word and normalized outcome phrase.
pairs:
type: array
items:
type: object
description: Candidate claim pairs with classification, contradiction kind, the statistical tests with details, who decided, and the verified model quotes.
trustMethod:
type: object
description: Trust formula, weights, and the author-prestige metrics excluded on purpose.
coverage:
type: object
description: Counts, caps, upstream call budget, elapsed time and failed sources.
caveats:
type: array
items:
type: string
_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
tags:
- Find Contradictions
components:
securitySchemes:
x402:
type: apiKey
in: header
name: PAYMENT-SIGNATURE
description: x402 v2 payment payload (base64) sent after a 402 challenge
apiKey:
type: apiKey
in: header
name: X-API-KEY