{
  "openapi": "3.1.0",
  "info": {
    "title": "Gabriel Lopez Romero Portfolio API",
    "version": "1.0.0",
    "description": "Public machine-readable API and agent discovery interface for Gabriel Lopez Romero (Backend & Systems Engineer). Provides structured developer profile, technical projects, academic research publications, and skill sets.",
    "contact": {
      "name": "Gabriel Lopez Romero",
      "email": "gabriellopezromero@gmail.com",
      "url": "https://lopezromerogabriel.vercel.app/"
    },
    "license": {
      "name": "MIT",
      "url": "https://opensource.org/licenses/MIT"
    }
  },
  "servers": [
    {
      "url": "https://lopezromerogabriel.vercel.app",
      "description": "Production deployment on Vercel"
    }
  ],
  "paths": {
    "/": {
      "get": {
        "summary": "Portfolio Homepage",
        "description": "Returns the portfolio homepage. Supports HTTP content negotiation: requests with Accept: text/markdown receive a full markdown representation (acceptmarkdown.com compliant); requests with Accept: text/html receive standard HTML.",
        "operationId": "getHomepage",
        "responses": {
          "200": {
            "description": "Successful homepage response",
            "headers": {
              "Vary": {
                "schema": {
                  "type": "string"
                },
                "description": "Accept, Accept-Encoding"
              }
            },
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              },
              "text/markdown": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/api/profile": {
      "get": {
        "summary": "Developer Profile",
        "description": "Returns Gabriel Lopez Romero full developer profile, biography, contact information, education, and career summary.",
        "operationId": "getProfile",
        "parameters": [
          {
            "name": "lang",
            "in": "query",
            "description": "Language code for localization (en or es). Default: en",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "en",
                "es"
              ],
              "default": "en"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful profile payload",
            "content": {
              "application/json": {
                "schema": {
                  "": "#/components/schemas/Profile"
                }
              }
            }
          },
          "400": {
            "description": "Bad request or invalid parameters",
            "content": {
              "application/json": {
                "schema": {
                  "": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/projects": {
      "get": {
        "summary": "Software Projects",
        "description": "Returns the list of featured engineering projects with repository URLs, descriptions, and technical stacks.",
        "operationId": "getProjects",
        "responses": {
          "200": {
            "description": "List of featured projects",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "projects": {
                      "type": "array",
                      "items": {
                        "": "#/components/schemas/Project"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/research": {
      "get": {
        "summary": "Research Publications & Papers",
        "description": "Returns academic publications, technical reports, and scientific conference abstracts.",
        "operationId": "getResearch",
        "responses": {
          "200": {
            "description": "List of research publications and abstracts",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "research": {
                      "type": "array",
                      "items": {
                        "": "#/components/schemas/ResearchItem"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/skills": {
      "get": {
        "summary": "Categorized Technical Skills",
        "description": "Returns the complete taxonomy of technical skills categorized into Backend & Systems, Cloud & DevOps, Databases & Storage, and Observability & Tooling.",
        "operationId": "getSkills",
        "responses": {
          "200": {
            "description": "Categorized technical skill sets",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "categories": {
                      "type": "array",
                      "items": {
                        "": "#/components/schemas/SkillCategory"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/llms.txt": {
      "get": {
        "summary": "LLM Discovery Index",
        "description": "Curated LLM context following the /llms.txt specification.",
        "operationId": "getLlmsTxt",
        "responses": {
          "200": {
            "description": "llms.txt markdown index",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "text/markdown": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/llms-full.txt": {
      "get": {
        "summary": "Comprehensive Full LLM Context",
        "description": "Complete markdown document containing all profile data, project deep dives, research papers, and technical skills for LLMs.",
        "operationId": "getLlmsFullTxt",
        "responses": {
          "200": {
            "description": "Full markdown curriculum",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              },
              "text/markdown": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "Profile": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "example": "Gabriel Lopez Romero"
          },
          "title": {
            "type": "string",
            "example": "Backend Engineer | Systems, Cloud & Performance"
          },
          "email": {
            "type": "string",
            "example": "gabriellopezromero@gmail.com"
          },
          "website": {
            "type": "string",
            "example": "https://lopezromerogabriel.vercel.app/"
          },
          "bio": {
            "type": "string"
          },
          "links": {
            "type": "object",
            "properties": {
              "github": {
                "type": "string"
              },
              "linkedin": {
                "type": "string"
              },
              "orcid": {
                "type": "string"
              },
              "scholar": {
                "type": "string"
              }
            }
          },
          "education": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "degree": {
                  "type": "string"
                },
                "institution": {
                  "type": "string"
                },
                "period": {
                  "type": "string"
                }
              }
            }
          }
        },
        "required": [
          "name",
          "title",
          "email",
          "bio"
        ]
      },
      "Project": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "repositoryUrl": {
            "type": "string"
          },
          "demoUrl": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "id",
          "name",
          "description",
          "tags",
          "repositoryUrl"
        ]
      },
      "ResearchItem": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "venue": {
            "type": "string"
          },
          "abstract": {
            "type": "string"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "proceedingsUrl": {
            "type": "string",
            "nullable": true
          },
          "scholarUrl": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "id",
          "title",
          "status",
          "abstract",
          "tags"
        ]
      },
      "SkillCategory": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "skills": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "name",
          "skills"
        ]
      },
      "ErrorResponse": {
        "type": "object",
        "properties": {
          "error": {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "example": "NOT_FOUND"
              },
              "message": {
                "type": "string",
                "example": "The requested resource was not found."
              },
              "status": {
                "type": "integer",
                "example": 404
              },
              "resolution": {
                "type": "string",
                "example": "Consult /openapi.json for available endpoints or /llms.txt for site map."
              }
            },
            "required": [
              "code",
              "message",
              "status",
              "resolution"
            ]
          }
        },
        "required": [
          "error"
        ]
      }
    }
  }
}
