---
title: API Documentation
description: Public API and A2A integration documentation for David Bueno Vallejo's
  website.
url: https://davidbuenov.com/api-docs.html
---

# API Documentation

<div class="container my-5 pt-5">
    <div class="row justify-content-center">
        <div class="col-md-9">
            <h1 class="mb-4">API Documentation</h1>
            <p class="lead">Welcome to the API Documentation for <code>davidbuenov.com</code>. This site offers public JSON endpoints and Model Context Protocol (MCP) integrations to support AI agents and applications.</p>
            
            <hr class="my-5">

            <section class="mb-5">
                <h2>1. Public Data API</h2>
                <p>We provide a comprehensive data catalog containing David Bueno Vallejo's portfolio, blog posts, projects, awards, publications, and professional background.</p>
                <div class="card bg-light border-0 shadow-sm p-4 my-3">
                    <h5 class="card-title text-primary">Fetch Portfolio Data</h5>
                    <ul class="list-unstyled">
                        <li><strong>Endpoint:</strong> <code>https://davidbuenov.com/api/data.json</code></li>
                        <li><strong>Method:</strong> <code>GET</code></li>
                        <li><strong>Headers:</strong> <code>Accept: application/json</code></li>
                    </ul>
                    <p class="mb-0"><strong>Description:</strong> Returns all projects, blog articles, awards, conference list, professional services, and training sessions in a structured JSON schema.</p>
                </div>
            </section>

            <section class="mb-5">
                <h2>2. Model Context Protocol (MCP)</h2>
                <p>This site exposes an MCP server for agents to query and search David's professional materials programmatically.</p>
                <div class="card bg-light border-0 shadow-sm p-4 my-3">
                    <h5 class="card-title text-primary">MCP Configuration</h5>
                    <ul class="list-unstyled">
                        <li><strong>Server Discovery URI:</strong> <code>/.well-known/mcp.json</code></li>
                        <li><strong>Specification Version:</strong> 1.0.0</li>
                    </ul>
                    <h6 class="mt-3">Available MCP Tools</h6>
                    <ul class="mb-0">
                        <li><code>getPortfolio</code>: Retrieve all portfolio items, projects, and conferences.</li>
                        <li><code>searchPortfolio</code>: Search projects, articles, and training sessions by query keywords (parameter: <code>query</code>).</li>
                    </ul>
                </div>
            </section>

            <section class="mb-5">
                <h2>3. Agent-to-Agent (A2A) Discovery</h2>
                <p>To help AI agents understand the capabilities and metadata of this website, we publish standard discovery cards and headers:</p>
                <div class="card bg-light border-0 shadow-sm p-4 my-3">
                    <ul class="list-unstyled mb-0">
                        <li><strong>Agent Card:</strong> <code>/.well-known/agent.json</code> and <code>/.well-known/agent-card.json</code></li>
                        <li><strong>RFC 8288 Link Headers:</strong>
                            <ul class="mt-2">
                                <li><code>agent-skills</code>: <code>https://davidbuenov.com/.well-known/agent-skills/index.json</code></li>
                                <li><code>mcp-server</code>: <code>https://davidbuenov.com/.well-known/mcp.json</code></li>
                                <li><code>agent</code>: <code>https://davidbuenov.com/.well-known/agent-card.json</code></li>
                                <li><code>api-catalog</code>: <code>https://davidbuenov.com/.well-known/api-catalog</code></li>
                            </ul>
                        </li>
                    </ul>
                </div>
            </section>
        </div>
    </div>
</div>
