API reference

The published OpenAPI 3.1 document describes 15 operations, all of them GETs of documents that really exist at the URLs given. This page is a rendering of that document, not a second source: the tables and the spec come from one list, so a path cannot be documented here without also being declared there.

Base URL

One origin, no version prefix in the path. The API version is carried in the document.

https://ravicha2.github.io

Every path below is relative to it. There is no api. subdomain: the documents are served from the same origin as the pages that describe them, which is what lets the discovery files and the pages cite each other without a cross-origin hop.

Authentication

Required: no. Documented anyway, because an agent should not have to prove that by trying.

Public and read-only. See /auth.md for the walkthrough. The spec publishes no securitySchemes and no operation declares a security requirement, so a conforming client will send no credential and will be answered in full. The walkthrough an agent is expected to read first is at /auth.md; the machine-readable equivalent is at /.well-known/oauth-protected-resource.

Conventions

Four things an agent can rely on without checking, and one it cannot.

  • Read-only. No POST, PUT, PATCH or DELETE is implemented on any path. A write method is answered the way an unknown path is.
  • Content types are real. GitHub Pages derives the type from the file extension, so .json is served as application/json and .md as text/markdown. The types in the tables are the types on the wire.
  • Errors are HTML. An unmatched path returns the site 404 document as text/html, not JSON. That is the one convention this API breaks, and the reason is the host rather than the design — see the named gap on the developer portal.
  • No pagination. No operation returns a collection large enough to page. The lists inside documents are complete.

Discovery operations

What to fetch to learn what is here. Each one is a document an agent can act on without a human reading it first.

GET /openapi.json

The OpenAPI document for this API Returns this document, as json. as application/json. operationId: getOpenApiDocument.

Request
curl -sS -i https://ravicha2.github.io/openapi.json

GET /.well-known/mcp/server-card.json

MCP Server Card for the published MCP server Returns a server card. as application/json. operationId: getMcpServerCard.

Request
curl -sS -i https://ravicha2.github.io/.well-known/mcp/server-card.json

GET /.well-known/agent-skills/index.json

Agent Skills index Returns the skills index. as application/json. operationId: getAgentSkillsIndex.

Request
curl -sS -i https://ravicha2.github.io/.well-known/agent-skills/index.json

GET /.well-known/agent-card.json

A2A agent card Returns the agent card. as application/json. operationId: getAgentCard.

Request
curl -sS -i https://ravicha2.github.io/.well-known/agent-card.json

GET /.well-known/api-catalog

RFC 9727 API catalog Returns a linkset with one item per service description. as application/octet-stream. operationId: getApiCatalog.

Request
curl -sS -i https://ravicha2.github.io/.well-known/api-catalog

GET /.well-known/oauth-protected-resource

OAuth 2.0 protected resource metadata Returns protected resource metadata. as application/octet-stream. operationId: getProtectedResourceMetadata.

Request
curl -sS -i https://ravicha2.github.io/.well-known/oauth-protected-resource

GET /.well-known/ard.json

Agentic Resource Discovery catalog Returns the ard catalog. as application/json. operationId: getArdCatalog.

Request
curl -sS -i https://ravicha2.github.io/.well-known/ard.json

Context operations

What to fetch to learn what the work is. These are the ones worth reading in full.

GET /llms.txt

Concise agent guide Returns a plain-text markdown index. as text/plain. operationId: getLlmsTxt.

Request
curl -sS -i https://ravicha2.github.io/llms.txt

GET /llms-full.txt

Full agent dossier Returns a plain-text markdown dossier. as text/plain. operationId: getLlmsFullTxt.

Request
curl -sS -i https://ravicha2.github.io/llms-full.txt

GET /agents.md

When to use this site, and how Returns a markdown guide. as text/markdown. operationId: getAgentsMd.

Request
curl -sS -i https://ravicha2.github.io/agents.md

GET /auth.md

How to authenticate, as prose Returns a markdown walkthrough. as text/markdown. operationId: getAuthMd.

Request
curl -sS -i https://ravicha2.github.io/auth.md

GET /index.md

The homepage as markdown Returns a markdown rendering of the homepage. as text/markdown. operationId: getMarkdownHome.

Request
curl -sS -i https://ravicha2.github.io/index.md

GET /.well-known/agent-skills/portfolio/SKILL.md

The portfolio knowledge skill, as markdown Returns a markdown skill document. as text/markdown. operationId: getPortfolioSkill.

Request
curl -sS -i https://ravicha2.github.io/.well-known/agent-skills/portfolio/SKILL.md

GET /sitemap.xml

Sitemap Returns a sitemap. as application/xml. operationId: getSitemap.

Request
curl -sS -i https://ravicha2.github.io/sitemap.xml

GET /cv.pdf

Curriculum vitae as PDF Returns a pdf. as application/pdf. operationId: getCurriculumVitae.

Request
curl -sS -i https://ravicha2.github.io/cv.pdf

Schemas

Five documents are JSON; the rest are prose. The five have shapes, and every shape is named in the spec.

The declared component schemas, and the operation that returns each one.
SchemaRequired fieldsServed at
Problemtype, title, statusnot served
McpServerCard$schema, name, version, description/.well-known/mcp/server-card.json
Linksetlinkset/.well-known/api-catalog
AgentSkillsIndex$schema, skills/.well-known/agent-skills/index.json
AgentCardname, description, supportedInterfaces, version, capabilities, defaultInputModes, defaultOutputModes, skills/.well-known/agent-card.json
ProtectedResourceMetadataresource/.well-known/oauth-protected-resource