← Back

rowan-kendal.com API & Agent Documentation

Machine-readable resources for developers and AI agents

Resources

OpenAPI 3.1 specification — the full public API surface with typed schemas and operation IDs.llms.txt — guidance for AI agents, including when to use this site.sitemap.xml — all indexable URLs with last-modified dates.robots.txt — crawler policy. All major AI crawlers are welcome.

Authentication

The public API requires no authentication. Endpoints are open, rate-limited per client IP, and safe to call from agents and scripts.

Versioning & deprecation

The API is version 1; every /api/* response carries an X-API-Version: 1 header. Endpoints, request shapes, and response fields documented in the OpenAPI spec will not change incompatibly within a version. Before any breaking change, affected endpoints will return Deprecation and Sunset headers (RFC 8594) at least 90 days before removal, and the OpenAPI spec will mark the operation deprecated. New fields may be added at any time; treat unknown response fields as forward-compatible.

MCP server

An MCP (Model Context Protocol) server with Streamable HTTP transport is available at https://www.rowan-kendal.com/api/mcp (alias /mcp). It exposes read-only tools: get_profile, get_about, and get_contact. No authentication required.{ "mcpServers": { "rowan-kendal": { "url": "https://www.rowan-kendal.com/api/mcp" } } }

CLI

The official CLI, rowan-kendal-cli (npm), scripts these endpoints without custom integration code:npx rowan-kendal-cli profile # profile as markdown npx rowan-kendal-cli contact # contact channels npx rowan-kendal-cli openapi # OpenAPI 3.1 spec

Errors

All API error responses are structured JSON — never HTML. Every error carries a human-readable error message, a machine-readable code, and, where useful, a hint describing how to resolve it:{ "error": "Not found", "code": "not_found", "hint": "Unknown API path. See https://www.rowan-kendal.com/openapi.json for the available endpoints." }Unknown API paths return this JSON 404 with code not_found.

Rate limits

Rate-limited endpoints return RFC RateLimit headers on every response so clients can self-throttle in real time, and a Retry-After header on HTTP 429:RateLimit-Policy: 60;w=60 RateLimit-Limit: 60 RateLimit-Remaining: 59 RateLimit-Reset: 42Each endpoint's limit is listed in the OpenAPI spec.

Markdown content negotiation

The pages /, /about, /contact, /docs, /privacy, and /testing-phases serve a Markdown variant when requested with Accept: text/markdown (the acceptmarkdown.com convention). Responses include Vary: Accept so caches keep the variants apart.curl -s -H 'Accept: text/markdown' https://www.rowan-kendal.com/