AgentRender Corpus API
The knowledge itself: objects, their index and the evidence behind them.
The knowledge itself: objects, their index and the evidence behind them.
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/agentrenderapi-com:agentrenderapi-com-corpus-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: Agent Reliability — read Corpus API
description: the reference source on testing, benchmarking and auditing autonomous AI agents for production. Every path here is emitted as a static file by the same build that wrote this document.
version: 2026.809.38
license:
name: CC-BY-4.0
identifier: CC-BY-4.0
servers:
- url: https://agentreliability.dev
tags:
- name: Corpus
description: 'The knowledge itself: objects, their index and the evidence behind them.'
paths:
/llms-full/index.json:
get:
operationId: getLlmsFullShards
summary: Index of the full corpus's pieces
description: Where each piece of llms-full.txt lives and how big it is. Join them in order with newlines and you have the whole file, byte for byte; the whole file is still served at /llms-full.txt for anyone who wants it in one request.
tags:
- Corpus
responses:
'200':
description: Index of the full corpus's pieces
content:
application/json:
schema:
type: object
required:
- whole
- total_bytes
- shard_bytes
- join
- shards
properties:
whole:
type: string
format: uri
total_bytes:
type: integer
shard_bytes:
type: integer
join:
type: string
description: The separator to join the pieces with.
shards:
type: array
items:
type: object
required:
- url
- bytes
properties:
url:
type: string
format: uri
bytes:
type: integer
'404':
description: Not served by this deployment — the manifest at /ai-index.json lists what is.
/feed.json:
get:
operationId: getFeedJson
summary: JSON Feed of recent changes
description: JSON Feed 1.1. Its shape is that specification's, not ours.
tags:
- Corpus
responses:
'200':
description: JSON Feed of recent changes
content:
application/feed+json:
schema:
type: object
'404':
description: Not served by this deployment — the manifest at /ai-index.json lists what is.
/graph.json:
get:
operationId: getGraph
summary: The relation graph
description: Nodes and edges between knowledge objects. Shape not specified here; read `nodes` and `edges`.
tags:
- Corpus
responses:
'200':
description: The relation graph
content:
application/json:
schema:
type: object
'404':
description: Not served by this deployment — the manifest at /ai-index.json lists what is.
/api/index.json:
get:
operationId: getEntityIndex
summary: Every knowledge object, as cards
description: One entry per object with its identity, summary, tags and both URLs. This is the list to read before requesting any single object.
tags:
- Corpus
responses:
'200':
description: Every knowledge object, as cards
content:
application/json:
schema:
type: array
items:
type: object
'404':
description: Not served by this deployment — the manifest at /ai-index.json lists what is.
/api/sources.json:
get:
operationId: getSourceRegistry
summary: The evidence layer
description: Every source a claim in this corpus rests on, with its tier, reliability and licence.
tags:
- Corpus
responses:
'200':
description: The evidence layer
content:
application/json:
schema:
type: array
items:
$schema: https://json-schema.org/draft/2020-12/schema
type: object
properties:
id:
type: string
pattern: ^[a-z0-9]+(?:-[a-z0-9]+)*$
description: Stable source id, referenced by claims
title:
type: string
minLength: 1
url:
description: Omit only for offline sources (books, interviews)
type: string
format: uri
publisher:
type: string
minLength: 1
tier:
type: string
enum:
- primary
- secondary
- derived
reliability:
type: number
minimum: 0
maximum: 1
description: Editorial judgement of the source's reliability, 0–1
license:
description: SPDX id or human note; machine-readable when possible
type: string
minLength: 1
accessed:
type: string
pattern: ^\d{4}-\d{2}-\d{2}$
description: Date the source was last accessed/verified
notes:
type: string
required:
- id
- title
- tier
- reliability
- accessed
additionalProperties: false
'404':
description: Not served by this deployment — the manifest at /ai-index.json lists what is.
/api/k/{id}.json:
get:
operationId: getKnowledgeObject
tags:
- Corpus
summary: One knowledge object
description: 'The full object as served: everything its author wrote, plus the URLs and the schema.org projection the compiler adds.'
parameters:
- name: id
in: path
required: true
description: The object's id. The complete list is at /api/index.json — it is not repeated here.
schema:
type: string
responses:
'200':
description: The knowledge object
content:
application/json:
schema:
$schema: https://json-schema.org/draft/2020-12/schema
type: object
properties:
id:
type: string
pattern: ^[a-z0-9]+(?:-[a-z0-9]+)*$
type:
anyOf:
- type: string
enum:
- entity
- guide
- comparison
- faq
- glossary
- type: string
pattern: ^[a-z0-9]+(?:-[a-z0-9]+)*$
name:
type: string
minLength: 1
summary:
type: string
minLength: 1
maxLength: 500
locale:
type: string
const: en
description: v0.1 is single-locale by scope; declaring a locale is a contract (pt-BR incident)
tags:
minItems: 1
type: array
items:
type: string
pattern: ^[a-z0-9]+(?:-[a-z0-9]+)*$
relations:
default: []
type: array
items:
type: object
properties:
rel:
type: string
pattern: ^[a-z][a-z0-9_]*$
target:
type: string
pattern: ^[a-z0-9]+(?:-[a-z0-9]+)*$
description: id of another knowledge object in this instance
required:
- rel
- target
additionalProperties: false
questions:
default: []
description: Real questions this object answers (feeds FAQ/AAR intents)
type: array
items:
type: string
minLength: 1
claims:
minItems: 1
type: array
items:
type: object
properties:
id:
type: string
pattern: ^c\d+$
text:
type: string
minLength: 1
description: The assertion, as published
sources:
minItems: 1
type: array
items:
type: string
pattern: ^[a-z0-9]+(?:-[a-z0-9]+)*$
description: Source ids backing this claim. No sources → compiler refuses to publish.
confidence:
type: number
minimum: 0
maximum: 1
required:
- id
- text
- sources
- confidence
additionalProperties: false
takeaways:
default: []
description: The 2-5 things a reader/agent should retain. Guides and comparisons want these.
type: array
items:
type: string
minLength: 1
faqs:
default: []
description: Question→claim bindings; the compiler projects them as FAQPage JSON-LD
type: array
items:
type: object
properties:
q:
type: string
minLength: 5
claim:
type: string
pattern: ^c\d+$
required:
- q
- claim
additionalProperties: false
evidence_tier:
type: string
enum:
- primary
- secondary
- derived
description: 'Contract: the weakest tier among this object''s claims'' sources'
evidence:
type: object
properties:
level:
type: string
enum:
- production
- simulation
- benchmark
- industry_observation
- theoretical
source_types:
minItems: 1
type: array
items:
type: string
enum:
- personal_experience
- production_system
- benchmark
- paper
- industry_observation
description: One or more provenance sources, strongest first
required:
- level
- source_types
additionalProperties: false
moat_flag:
default: false
description: True if this object carries proprietary evidence (the moat)
type: boolean
winning_edge:
type: string
minLength: 1
description: Why this piece wins its intent vs. the best existing source (v2.3 §1)
confidence:
type: number
minimum: 0
maximum: 1
last_verified:
type: string
pattern: ^\d{4}-\d{2}-\d{2}$
body:
description: Markdown prose (from .md body). Optional for pure-data objects.
type: string
media:
default: []
description: 'ADR-025: imágenes como unidades citables, atribuidas y licenciadas'
type: array
items:
type: object
properties:
id:
type: string
pattern: ^[a-z0-9]+(?:-[a-z0-9]+)*$
description: La imagen tiene que ser citable por sí misma
file:
description: Ruta relativa a la raíz de la instancia. Excluyente con `url`.
type: string
minLength: 1
url:
description: URL del MISMO origen que canonical_base_url. Excluyente con `file`.
type: string
format: uri
variants:
default: []
description: Rutas de la misma imagen a otros tamaños; el ancho se mide del fichero
type: array
items:
type: string
minLength: 1
alt:
type: string
minLength: 1
description: 'Obligatorio: lo único que lee un agente sin visión'
license_spdx:
type: string
minLength: 1
description: 'Obligatorio: sin licencia, nadie puede reutilizarla'
license_grant:
description: 'ADR-028: qué se puede hacer con esta imagen, acción por acción'
type: object
properties:
subject_type:
type: string
enum:
- public
- personal_agent
- enterprise_agent
- organization
actions:
minItems: 1
type: array
items:
type: string
enum:
- read
- display
- analyze
- embed
- cache
- cite
- derive
- redistribute
- sublicense
- train
- commercial_use
- resell
description: Lo que se concede. Lo que no está aquí, no está concedido
purposes:
default: []
description: Para qué. Vacío = sin restricción de propósito
type: array
items:
type: string
minLength: 1
territories:
default: []
description: Dónde. Vacío = sin restricción territorial
type: array
items:
type: string
pattern: ^[A-Z]{2}$
valid_until:
description: Hasta cuándo. Ausente = sin caducidad declarada
type: string
pattern: ^\d{4}-\d{2}-\d{2}$
attribution_required:
default: true
type: boolean
required:
- subject_type
- actions
- purposes
- territories
- attribution_required
additionalProperties: false
permissions:
description: 'ADR-029: qué usos autoriza esta imagen. Ausente = solo mostrarla a personas'
type: object
properties:
humanDisplay:
type: boolean
machineDisplay:
type: boolean
machineAnalysis:
type: boolean
embedding:
type: boolean
derivativeCreation:
type: boolean
redistribution:
type: boolean
commercialReuse:
type: boolean
modelTraining:
type: boolean
additionalProperties: false
credit:
type: string
minLength: 1
description: Quién la hizo; sin esto no hay atribución posible
caption:
description: Prosa para humanos
type: string
minLength: 1
depicts:
default: []
description: Qué muestra, en términos del dominio
type: array
items:
type: string
pattern: ^[a-z0-9]+(?:-[a-z0-9]+)*$
captured:
description: Cuándo — en viajes, una foto de hace ocho años miente
type: string
pattern: ^\d{4}-\d{2}-\d{2}$
supports:
description: La claim que evidencia, si evidencia alguna
type: string
pattern: ^c\d+$
required:
- id
- variants
- alt
- license_spdx
- credit
- depicts
additionalProperties: false
x:
default: {}
description: 'ADR-027: campos declarados por la instancia en `extensions`'
type: object
propertyNames:
type: string
pattern: ^[a-z0-9]+(?:-[a-z0-9]+)*$
additionalProperties:
type: object
propertyNames:
type: string
additionalProperties: {}
canonical_url:
type: string
format: uri
description: The human page for this object. Added by the compiler; not authored.
api_url:
type: string
format: uri
description: This document's own URL, so a copy of it can be traced back. Added by the compiler.
jsonld:
type: object
description: schema.org projection of this object, the same one embedded in the page.
required:
- id
- type
- name
- summary
- locale
- tags
- relations
- questions
- claims
- takeaways
- faqs
- evidence_tier
- evidence
- moat_flag
- winning_edge
- confidence
- last_verified
- media
- x
- canonical_url
- api_url
- jsonld
additionalProperties: false
'404':
description: No object with that id in this corpus
x-comment: GENERATED by the Citarium compiler — do not edit
x-citarium-framework: 0.9.2