WritersLogic Verifiable AI Agent Hub Pipelines API
The Pipelines API from WritersLogic Verifiable AI Agent Hub — 3 operation(s) for pipelines.
The Pipelines API from WritersLogic Verifiable AI Agent Hub — 3 operation(s) for pipelines.
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-pipelines-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 Pipelines 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: Pipelines
paths:
/api/v1/pipelines/cra-readiness:
post:
operationId: cra_readiness
summary: EU CRA Readiness Check
description: 'Repository or manifests in, EU Cyber Resilience Act Art. 14 position out: dependency-advisor resolves every declared package to its locked version (deterministic, no model), those versions go to cra-exploit-clock as package URLs (OSV, CISA KEV, EPSS, EUVD), and each actively exploited component is joined back to the manifest that declares it with the fixed versions and the advisor''s findings. Reports the 24 h / 72 h / 14 day reporting deadlines from the awareness time. Charged once, dependency-advisor + cra-exploit-clock at 20% below their combined list price; not charged when a required step fails.
Price: 1.92 USDC on Base (x402).'
x-x402-price-usdc: '1.92'
x-x402-amount: '1920000'
x-payment-info:
protocols:
- x402
price:
mode: fixed
currency: USD
amount: '1.92'
x-audience: developer
x-sample-url: https://agents.writerslogic.com/api/v1/samples/cra-readiness
security:
- x402: []
- apiKey: []
requestBody:
required: true
content:
application/json:
schema:
type: object
additionalProperties: false
properties:
repo:
type: string
minLength: 3
maxLength: 200
description: 'Public GitHub repository: owner/repo, https://github.com/owner/repo[/tree/ref], a commit URL, or a pull request URL (analyzed at the PR head).'
ref:
type: string
maxLength: 200
description: Branch, tag or commit; defaults to the default branch.
files:
type: array
maxItems: 600
description: 'Alternative to repo: manifests (package.json, lockfile, pyproject.toml, requirements.txt, Cargo.toml) and source files with repository-relative paths.'
items:
type: object
additionalProperties: false
required:
- path
- content
properties:
path:
type: string
minLength: 1
maxLength: 300
content:
type: string
maxLength: 400000
ecosystems:
type: array
maxItems: 3
items:
type: string
enum:
- npm
- pypi
- cargo
description: Restrict the analysis; default all detected.
repoLicense:
type: string
maxLength: 100
description: SPDX id of the repository's license, for alternative ranking; detected from manifests or LICENSE when absent.
product:
type: object
additionalProperties: false
required:
- name
description: Your product with digital elements; used only to fill the draft fields (defaults to the SBOM's own product name).
properties:
name:
type: string
minLength: 1
maxLength: 200
version:
type: string
maxLength: 100
awareness_time:
type: string
maxLength: 40
description: When the manufacturer became aware, ISO 8601 with UTC offset (e.g. 2026-11-04T09:30:00Z). Defaults to now. Taken as given; this agent cannot verify it.
fix_available_at:
type: string
maxLength: 40
description: When a corrective or mitigating measure became available, ISO 8601 with UTC offset; sets the Art. 14(2)(c) final-report date.
example:
repo: star7th/htq
product:
name: htq
responses:
'200':
description: Paid result with provenance
content:
application/json:
schema:
type: object
properties:
data:
type: object
properties:
readiness:
type: string
enum:
- REPORTABLE_CANDIDATES
- NO_EXPLOITED_EVIDENCE
- INSUFFICIENT_EVIDENCE
- NO_RESOLVED_VERSIONS
description: REPORTABLE_CANDIDATES when an exploited vulnerability affects a resolved dependency; NO_EXPLOITED_EVIDENCE only when every resolved dependency was fully checked and none was unresolved.
fixPlan:
type: array
items:
type: object
description: 'Per exploited component: purl, package, manifest, range, usageFiles, kevDateAdded, cves, fixedVersions, advisorFindings.'
deadlines:
anyOf:
- type: object
description: cra-exploit-clock's Art. 14(2) deadlines, or null when it did not run.
- type: 'null'
nextStep:
description: cra-exploit-clock's next_step, or null.
unresolved:
type: array
items:
type: object
description: Declared packages with no resolved version (no lockfile entry); not checked for exploitation.
results:
type: object
description: 'Each executed member step''s full result, keyed by step id (forEach steps: one entry per item).'
steps:
type: object
description: 'Per step: status (ok | skipped | failed), reason, attempts, ms, inputSha256, outputSha256, and the output hashes of the upstream steps its input was derived from.'
partial:
type: boolean
description: True when an optional step was missing or a member returned its own partial result.
missing:
type: array
items:
type: object
description: '{step, reason, impact}'
deterministic:
type: boolean
description: True only when every executed member answered without a model.
required:
- results
- steps
- partial
- missing
- deterministic
_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:
- Pipelines
/api/v1/pipelines/citation-audit:
post:
operationId: citation_audit
summary: Citation Audit
description: 'Bibliography in, evidence audit out: reference-verifier checks every reference (fabricated, mis-cited, retracted, corrected); the top DOI-bearing references (corrections first, then the most cited in the manuscript) get a replication-auditor pass on the sentence that cites them; when a target is contested, paper-contradictions compares it with the studies against it. The contradiction check is optional: if it cannot finish the call still answers, marked partial. Charged once, reference-verifier + replication-auditor + paperContradictions at 20% below their combined list price; not charged when a required step fails.
Price: 2.40 USDC on Base (x402).'
x-x402-price-usdc: '2.40'
x-x402-amount: '2400000'
x-payment-info:
protocols:
- x402
price:
mode: fixed
currency: USD
amount: '2.40'
x-audience: research
x-sample-url: https://agents.writerslogic.com/api/v1/samples/citation-audit
security:
- x402: []
- apiKey: []
requestBody:
required: true
content:
application/json:
schema:
type: object
additionalProperties: false
properties:
bibtex:
type: string
minLength: 10
maxLength: 400000
description: BibTeX/BibLaTeX text (the contents of a .bib file).
latex:
type: string
minLength: 10
maxLength: 400000
description: LaTeX source with a thebibliography environment (\bibitem) or embedded filecontents .bib; \cite commands supply citation contexts and are checked against the entries.
references:
type: string
minLength: 10
maxLength: 200000
description: Plain-text reference list (numbered, blank-line separated, or one per line; APA, IEEE, Vancouver, Chicago).
arxivId:
type: string
minLength: 4
maxLength: 80
description: arXiv id or URL; references are read from the ar5iv HTML (.ltx_bibitem), falling back to the PDF.
pdfUrl:
type: string
minLength: 8
maxLength: 2000
description: Public PDF URL. Text extraction is best-effort (Word and Google Docs exports work best).
identifiers:
type: array
minItems: 1
maxItems: 150
items:
type: string
minLength: 3
maxLength: 300
description: 'Bare identifiers instead of a bibliography: up to 150 DOIs (bare, doi: or doi.org URL), arXiv ids or URLs, or PMIDs (bare, PMID: or PubMed URL), mixed freely. Each is resolved and checked for retraction, correction and a published version of record.'
manuscript:
type: string
minLength: 10
maxLength: 400000
description: 'Optional manuscript text (LaTeX or plain) that supplies citation contexts: \cite keys, [n] numbers or Author (year) citations.'
claim:
type: string
minLength: 10
maxLength: 2000
description: The claim the bibliography supports; used for the replication and contradiction checks instead of the citing sentence.
topK:
type: integer
minimum: 1
maximum: 2
description: References to audit for replication (default 2).
example:
references: '[1] Wakefield AJ, Murch SH, Anthony A, et al. Ileal-lymphoid-nodular hyperplasia, non-specific colitis, and pervasive developmental disorder in children. Lancet. 1998;351(9103):637-41.
[2] Abbott BP, et al. Observation of gravitational waves from a binary black hole merger. arXiv:1602.03837'
responses:
'200':
description: Paid result with provenance
content:
application/json:
schema:
type: object
properties:
data:
type: object
properties:
verdict:
type: string
description: reference-verifier's verdict on the bibliography.
audited:
type: array
items:
type: object
description: 'Per audited reference: index, doi, title, status, replication verdict and risk score (or the error).'
contradictions:
description: paper-contradictions' headline and top findings, or null when it did not run.
results:
type: object
description: 'Each executed member step''s full result, keyed by step id (forEach steps: one entry per item).'
steps:
type: object
description: 'Per step: status (ok | skipped | failed), reason, attempts, ms, inputSha256, outputSha256, and the output hashes of the upstream steps its input was derived from.'
partial:
type: boolean
description: True when an optional step was missing or a member returned its own partial result.
missing:
type: array
items:
type: object
description: '{step, reason, impact}'
deterministic:
type: boolean
description: True only when every executed member answered without a model.
required:
- results
- steps
- partial
- missing
- deterministic
_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:
- Pipelines
/api/v1/pipelines/token-vault-ladder:
post:
operationId: token_vault_ladder
summary: Token and Vault Exit Ladder
description: 'One decision on holding a Base token and a vault position: token-trap-detector (live bytecode, proxy slots, honeypot simulation) and vault-exit-lawyer (redeem limits, queue, admin powers, eth_call simulation) run in parallel; contract-auditor then audits the token''s verified source at the proxy implementation the trap step read, and is skipped on a honeypot or unverified source. Returns the worst of the three verdicts as block | review | proceed and which leg set it. Charged once, token-trap-detector + contract-auditor + vault-exit-lawyer at 20% below their combined list price; not charged when a required step fails.
Price: 1.20 USDC on Base (x402).'
x-x402-price-usdc: '1.20'
x-x402-amount: '1200000'
x-payment-info:
protocols:
- x402
price:
mode: fixed
currency: USD
amount: '1.20'
x-audience: crypto
x-sample-url: https://agents.writerslogic.com/api/v1/samples/token-vault-ladder
security:
- x402: []
- apiKey: []
requestBody:
required: true
content:
application/json:
schema:
type: object
additionalProperties: false
required:
- tokenAddress
- chain
- vault
- exit
properties:
tokenAddress:
type: string
pattern: ^0x[0-9a-fA-F]{40}$
description: Token contract address on Base.
chain:
type: string
enum:
- ethereum
- base
- polygon
- arbitrum
- optimism
description: Chain the vault lives on.
vault:
type: string
pattern: ^0x[0-9a-fA-F]{40}$
description: ERC-4626 or ERC-7540 vault address.
exit:
type: object
additionalProperties: false
description: Exactly one of shares or assets, as base-unit integer strings. shares may be "max" (needs holder).
properties:
shares:
type: string
pattern: ^([0-9]{1,78}|max)$
description: Vault shares to redeem (base units), or "max" for the holder's whole balance.
assets:
type: string
pattern: ^[0-9]{1,78}$
description: Underlying assets to receive (base units).
holder:
type: string
pattern: ^0x[0-9a-fA-F]{40}$
description: Address that holds the shares. Enables an exact eth_call redeem simulation and per-holder limits.
docsUrls:
type: array
maxItems: 4
items:
type: string
maxLength: 2000
description: Public documentation pages whose redemption claims are checked against the contract.
example:
tokenAddress: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
chain: ethereum
vault: '0xBEEF01735c132Ada46AA9aA4c54623cAA92A64CB'
exit:
shares: '1000000000000000000000'
responses:
'200':
description: Paid result with provenance
content:
application/json:
schema:
type: object
properties:
data:
type: object
properties:
decision:
type: string
enum:
- block
- review
- proceed
description: Worst of the trap, audit and vault verdicts.
decidedBy:
type: array
items:
type: string
description: Legs whose verdict set the decision (empty when it is proceed).
votes:
type: array
items:
type: object
description: '{leg, verdict, decision} per leg that ran.'
results:
type: object
description: 'Each executed member step''s full result, keyed by step id (forEach steps: one entry per item).'
steps:
type: object
description: 'Per step: status (ok | skipped | failed), reason, attempts, ms, inputSha256, outputSha256, and the output hashes of the upstream steps its input was derived from.'
partial:
type: boolean
description: True when an optional step was missing or a member returned its own partial result.
missing:
type: array
items:
type: object
description: '{step, reason, impact}'
deterministic:
type: boolean
description: True only when every executed member answered without a model.
required:
- results
- steps
- partial
- missing
- deterministic
_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:
- Pipelines
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