WritersLogic Verifiable AI Agent Hub Audit Replication API
The Audit Replication API from WritersLogic Verifiable AI Agent Hub — 1 operation(s) for audit replication.
The Audit Replication API from WritersLogic Verifiable AI Agent Hub — 1 operation(s) for audit replication.
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-audit-replication-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 Audit Replication 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: Audit Replication
paths:
/api/v1/audit-replication:
post:
operationId: replication_auditor
summary: Scientific Consensus & Replication Failure Auditor
description: 'Give a DOI, arXiv id, PMID, URL, title or a free-text claim and get a verdict-first screen of whether the finding has been retracted, contradicted or failed to replicate: ROBUST / CONTESTED / UNREPLICABLE_HYPE / INSUFFICIENT_EVIDENCE with a 0-100 replicationRiskScore, confidence, a DO_NOT_RELY / VERIFY_BEFORE_RELYING / RELY_WITH_CAVEATS action, a one-line headline and a next step. Checks Crossref, Europe PMC and OpenAlex for retraction, expression of concern and correction (a retraction is decided in code with no model call, and the notice is returned as evidence), mines citing works and citation-context sentences from Semantic Scholar, OpenAlex and Europe PMC, and reports scite.ai tallies separately. Every contradicting study carries a verbatim quote verified against the source text. If a source is down the result is still returned, marked partial with the gaps named. Screening aid based on indexed citing literature, not a substitute for reading the papers; not scientific, legal or medical advice.
Price: 0.75 USDC on Base (x402).'
x-x402-price-usdc: '0.75'
x-x402-amount: '750000'
x-payment-info:
protocols:
- x402
price:
mode: fixed
currency: USD
amount: '0.75'
x-audience: research
x-sample-url: https://agents.writerslogic.com/api/v1/samples/replication-auditor
security:
- x402: []
- apiKey: []
requestBody:
required: true
content:
application/json:
schema:
type: object
additionalProperties: false
properties:
paperTitleOrDoi:
type: string
minLength: 3
maxLength: 500
description: DOI (10.xxxx/..., bare or doi.org URL), arXiv or PubMed URL, or title of the paper to audit.
doi:
type: string
minLength: 7
maxLength: 300
description: 'DOI of the paper to audit (bare, doi: or doi.org URL). Takes precedence over paperTitleOrDoi.'
arxivId:
type: string
minLength: 4
maxLength: 80
description: arXiv id or arxiv.org URL (2106.09685, arXiv:1706.03762, hep-th/9901001). Resolved through Semantic Scholar and OpenAlex.
pmid:
type: string
minLength: 1
maxLength: 60
description: PubMed id (digits) or pubmed.ncbi.nlm.nih.gov URL. Mapped to the DOI through Europe PMC.
url:
type: string
minLength: 8
maxLength: 500
description: A doi.org, arxiv.org or pubmed.ncbi.nlm.nih.gov URL for the paper.
scientificClaim:
type: string
minLength: 10
maxLength: 2000
description: Free-text claim; the originating and closely related works are located by search. Used as context when a paper is also given.
example:
doi: 10.1016/S0140-6736(97)11096-0
responses:
'200':
description: Paid result with provenance
content:
application/json:
schema:
type: object
properties:
data:
type: object
properties:
action:
type: string
enum:
- DO_NOT_RELY
- VERIFY_BEFORE_RELYING
- RELY_WITH_CAVEATS
- INSUFFICIENT_DATA
description: 'Machine-readable recommendation: DO_NOT_RELY (retracted or UNREPLICABLE_HYPE), VERIFY_BEFORE_RELYING (CONTESTED, or ROBUST with an integrity or coverage caveat), RELY_WITH_CAVEATS, INSUFFICIENT_DATA.'
headline:
type: string
description: One-sentence verdict with score and confidence; read this first.
summary:
type: string
description: Two-sentence plain-language reading of the evidence, including what the verdict does and does not mean.
nextStep:
type: string
description: The single most useful action for the buyer.
partial:
type: boolean
description: True when a source or verification pass was unavailable or skipped; the result is still signed and `missing` names what was not seen. Confidence is capped at 70 unless retracted.
missing:
type: array
items:
type: string
description: Plain-words list of what the audit could not see.
topEvidence:
type: array
items:
type: object
description: 'At most 3: type, summary, quote (verbatim, verified; null for notices), url.'
description: The retraction notices or heaviest contradicting quotes behind the verdict.
disclaimer:
type: string
target:
type: object
description: 'Resolved work: title, doi, year, venue, authors, url, citedByCount, resolved, resolvedVia.'
supportingStudiesCount:
type: integer
description: Distinct works with a verified supporting quote.
contradictingStudies:
type: array
items:
type: object
properties:
title:
type: string
doi:
type: string
year:
type: integer
url:
type: string
label:
type: string
enum:
- contradicts
- failed-replication
- methodological-critique
quote:
type: string
description: Verbatim, verified against the fetched citation context or abstract.
weight:
type: number
agreement:
type: number
decidedBy:
type: string
enum:
- lexicon
- model
description: 'lexicon: a plain replication statement in the citation context, decided in code; cue is the matched phrase.'
cue:
anyOf:
- type: string
description: The matched phrase when decidedBy is lexicon, else null.
- type: 'null'
methodologicalRedFlags:
type: array
items:
type: object
properties:
kind:
type: string
quote:
type: string
source:
type: string
explanation:
type: string
deterministic:
type: boolean
integrity:
type: object
description: Retraction/erratum/expression-of-concern status from Crossref, Europe PMC and OpenAlex, sample-size hints, citation velocity.
independentSignals:
anyOf:
- type: object
description: scite.ai supporting/contradicting/mentioning tallies for the target DOI (null when unavailable). Reported separately; not part of replicationRiskScore.
- type: 'null'
decision:
type: object
description: 'basis "retraction" (deterministic: no model call was needed; evidence lists the retraction notices) or "classified-evidence".'
replicationRiskScore:
type: integer
description: 0-100; 100 when retracted.
scoreComponents:
type: object
verdict:
type: string
enum:
- ROBUST
- CONTESTED
- UNREPLICABLE_HYPE
- INSUFFICIENT_EVIDENCE
confidence:
type: integer
description: 0-100.
wouldChangeVerdict:
type: array
items:
type: string
coverage:
type: object
description: Sources reached, items assessed, quote verification rates, failures.
_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:
- Audit Replication
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