WritersLogic Verifiable AI Agent Hub Mine Future Work API
The Mine Future Work API from WritersLogic Verifiable AI Agent Hub — 1 operation(s) for mine future work.
The Mine Future Work API from WritersLogic Verifiable AI Agent Hub — 1 operation(s) for mine future work.
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-mine-future-work-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 Mine Future Work 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: Mine Future Work
paths:
/api/v1/mine-future-work:
post:
operationId: future_work_miner
summary: Open Research Opportunity Miner
description: 'Leads with a verdict (OPEN_GAPS_FOUND, NO_CLEAR_OPEN_GAPS or NO_GAPS_EXTRACTED), a confidence, a headline naming the top gap with its quoted evidence, and the next step. Collects papers for a topic or seed list (arXiv ids or URLs, DOIs, PMIDs; arXiv and OpenAlex search), reads full text from ar5iv or Europe PMC, and extracts future-work, limitation and open-question sentences in code with exact section spans. Near-duplicates are clustered across papers, then each cluster is checked against later citing works (OpenAlex cites, Semantic Scholar citation contexts) and marked OPEN, POSSIBLY_ADDRESSED or ADDRESSED. Scores combine recurrence across independent author groups, recency, citation momentum and openness with documented formulas. mode "fast" makes zero model calls; the default makes two (cluster wording, addressed judgment) and lets them move a status at most one level. OPEN means no scanned citing paper covered the theme, not that nobody has: the check reads titles, abstracts and citation contexts of up to a few hundred citing works, not their full text. Papers without open full text contribute only abstracts.
Price: 1.50 USDC on Base (x402).'
x-x402-price-usdc: '1.50'
x-x402-amount: '1500000'
x-payment-info:
protocols:
- x402
price:
mode: fixed
currency: USD
amount: '1.50'
x-audience: research
x-sample-url: https://agents.writerslogic.com/api/v1/samples/future-work-miner
security:
- x402: []
- apiKey: []
requestBody:
required: true
content:
application/json:
schema:
type: object
additionalProperties: false
properties:
query:
type: string
minLength: 3
maxLength: 300
description: Research topic, e.g. "parameter-efficient fine-tuning of language models".
seeds:
type: array
maxItems: 25
items:
type: string
minLength: 5
maxLength: 200
description: 'Seed papers you already have: arXiv ids or URLs (2106.09685, arXiv:1706.03762, arxiv.org/abs/...), DOIs or doi.org URLs, or PMIDs (PMID:12345678 or a PubMed URL). Always analysed, not date-filtered.'
fromDate:
type: string
minLength: 10
maxLength: 10
pattern: ^\d{4}-\d{2}-\d{2}$
description: Only topic-search papers published on or after this date (YYYY-MM-DD).
toDate:
type: string
minLength: 10
maxLength: 10
pattern: ^\d{4}-\d{2}-\d{2}$
description: Only topic-search papers published on or before this date (YYYY-MM-DD).
maxPapers:
type: integer
minimum: 1
maximum: 25
description: Papers to analyse, at most 25 (default 10); seeds count toward it.
field:
type: string
minLength: 2
maxLength: 80
description: Field or discipline keyword added to the topic search, e.g. "machine learning".
mode:
type: string
enum:
- fast
- full
description: 'fast: zero model calls (lexical clustering and lexical addressed-check). full (default): one clustering call and one judging call, bounded to one status level.'
example:
query: parameter-efficient fine-tuning of large language models
maxPapers: 8
mode: fast
responses:
'200':
description: Paid result with provenance
content:
application/json:
schema:
type: object
properties:
data:
type: object
properties:
verdict:
type: string
enum:
- OPEN_GAPS_FOUND
- NO_CLEAR_OPEN_GAPS
- NO_GAPS_EXTRACTED
description: 'OPEN_GAPS_FOUND: at least one theme no scanned citing paper covers. NO_CLEAR_OPEN_GAPS: themes found but each looks addressed. NO_GAPS_EXTRACTED: no future-work statements found.'
confidence:
type: integer
description: 0-100 = 50 x share of papers read in full text + 50 x mean share of each theme's source papers whose citing works were retrieved. Evidence depth, not the odds a gap is real.
headline:
type: string
description: One-sentence human summary led by the top opportunity.
nextStep:
type: string
description: The concrete next action.
topOpportunity:
anyOf:
- type: object
description: id, title, status, score, independentPapers, and the first supporting quote with its paper title and URL.
- type: 'null'
partial:
type: boolean
description: True when the request deadline was reached or citing works could not be retrieved for most themes; see coverage.failures.
query:
type: object
description: Echo of query, seeds, field and date range.
mode:
type: string
enum:
- fast
- full
papers:
type: array
description: Analysed source papers with where their text came from (ar5iv, europepmc or abstract only) and how many statements each yielded.
items:
type: object
properties:
title:
type: string
doi:
anyOf:
- type: string
- type: 'null'
arxivId:
anyOf:
- type: string
- type: 'null'
year:
anyOf:
- type: integer
- type: 'null'
authors:
type: array
items:
type: string
citedByCount:
anyOf:
- type: integer
- type: 'null'
url:
type: string
seed:
type: boolean
textSource:
type: string
enum:
- ar5iv
- europepmc
- abstract
statements:
type: integer
citingChecked:
type: boolean
opportunities:
type: array
description: Clusters of future-work statements, best score first.
items:
type: object
properties:
id:
type: string
title:
type: string
description: One-line opportunity title (model-written in full mode, else the strongest member sentence).
titleBy:
type: string
enum:
- model
- lexical
status:
type: string
enum:
- OPEN
- POSSIBLY_ADDRESSED
- ADDRESSED
description: Computed in code from lexical overlap with later citing papers; a verified model verdict moves it at most one level.
score:
type: integer
description: '0-100: 100 x openFactor x (0.2 + 0.8 x (0.4 recurrence + 0.3 recency + 0.3 momentum)); openFactor 1 / 0.5 / 0.1 for OPEN / POSSIBLY_ADDRESSED / ADDRESSED.'
scoreParts:
type: object
description: recurrence, recency, momentum, quality, openFactor.
independentPapers:
type: integer
description: Source papers with pairwise disjoint author sets.
sourcePapers:
type: integer
statusDecidedBy:
type: string
enum:
- lexical
- lexical+judge
statusNote:
anyOf:
- type: string
- type: 'null'
addressedCheck:
type: object
description: 'papersChecked / papersTotal and citingWorksScanned: how much citing evidence backs an OPEN status.'
evidence:
type: array
description: Exact sentences with paper, section and character span (section text slice(start, end) equals quote).
items:
type: object
properties:
statementId:
type: string
paper:
type: object
section:
type: object
span:
type: object
quote:
type: string
cue:
type: string
basis:
type: string
candidateCitingPapers:
type: array
description: Later citing papers with lexical coverage, shared terms and the judge verdict with its verified quote.
items:
type: object
llmCalls:
type: integer
description: 'Model requests issued: 0 in fast mode, at most 2 in full mode.'
decidedBy:
type: string
enum:
- code
- code+model
description: code+model when a verified model output (clustering or judgment) was used.
coverage:
type: object
description: Papers analysed, full-text count, statements, clusters, citing works scanned, quote verification, upstream call budget, 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:
- Mine Future Work
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