Agent Entry Point

Machine mirror: /api/for-agents

JSON endpoint: /api/for-agents/json

Schema info: /api/for-agents/schema

OpenAPI: /openapi.yaml

Agent Terminal: /for-agents/terminal

Action REPL: /for-agents/repl(Constrained, secure)

Last updated:

Summary

  • Purpose: Personal portfolio and writing showcase of Will Haering - developer, entrepreneur, and writer
  • Primary entities: Article, Post, Project, Person, News Items, Photography
  • Actions: search, fetch detail, read content, explore portfolio, discover projects
  • Content types: Blog posts, photography, writing samples, project showcases, technical articles
  • Target audience: AI agents, developers, recruiters, potential collaborators, and readers interested in technology and entrepreneurship

Entities & Data Model

Stable IDs, canonical URLs, and JSON-LD types for consistent data access.

  • Article schema:Article (id, title, content, datePublished, author, url, slug, tags)
  • Person schema:Person (name, description, url, sameAs, expertise, experience)
  • CreativeWork schema:CreativeWork (id, name, description, url, dateCreated, images, technologies)
  • ImageObject schema:ImageObject (id, contentUrl, description, dateCreated, category, location)
  • NewsArticle schema:NewsArticle (title, timestamp, sourceName, url, summary)

Available Actions & APIs

  1. Search GET /api/search
    Search across all content with relevance scoring
  2. Get Posts GET /api/posts
    List all blog posts with pagination
  3. Get Post GET /api/posts/{id}
    Get specific post details and content
  4. Get Portfolio GET /api/portfolio
    Get portfolio and project information
  5. Health Check GET /api/health
    Check system health and status

See OpenAPI specification for detailed schemas, status codes, examples, and request/response formats.

Authentication & Rate Limits

  • Read access: anonymous reads allowed for all public content with generous rate limits
  • Admin access: Requires jwt-token authentication for admin functions (content management, deployment)
  • Rate limits: 100/minute, 1000/hour for anonymous users; 500/minute, 5000/hour for authenticated requests
  • Authentication: JWT tokens for admin endpoints; OAuth2 for Google Drive integration
  • Security: HTTPS only, CORS properly configured, input validation on all endpoints

Data Freshness & Caching

  • ETag and Last-Modified headers on all resources for efficient caching
  • Content updates: Posts and portfolio updates are reflected immediate with proper cache invalidation
  • Image optimization: Automatic image processing, optimization, and multiple format support (jpeg, png, webp)
  • Cache headers: Appropriate caching for static content with CDN-friendly headers
  • Real-time updates: Webhook support for content changes and deployment notifications

Contact & Service Level

  • Status page: /api/health with detailed system metrics
  • Uptime target: 99.5% with monitoring and alerting
  • Response time: < < 500ms for static content, < 500ms for API calls with performance monitoring
  • Support: Technical issues can be reported via GitHub issues or health endpoint

Usage Examples for AI Agents

Content Discovery: Use the search API to find relevant posts and projects based on keywords or topics.

Portfolio Analysis: Retrieve project details to understand technical skills, experience, and project scope.

Content Summarization: Access post content for summarization, analysis, or recommendation purposes.

Professional Context: Build comprehensive profiles by combining data from multiple endpoints.