{
  "schema_version": "v1",
  "name_for_human": "Santiago Soñora — Full Stack & AI Engineer",
  "name_for_model": "santiago_sonora_portfolio",
  "description_for_human": "Professional portfolio, tech blog, tutorial library, and HITL (Human-in-the-Loop) services by Santiago Soñora. Full Stack & AI Engineer specializing in Python, Kubernetes, Web3, and applied AI.",
  "description_for_model": "This plugin provides access to Santiago Soñora's professional portfolio, a comprehensive tech tutorial library (55+ topics: Python, Flask, Django, Kubernetes, Docker, AWS, GCP, Solidity, OpenAI, Gemini, React, Angular, etc.), a science and physics blog, career path guides, and Human-in-the-Loop (HITL) task execution services for autonomous AI agents. It exposes a public REST API with personal data, contact forms (web2 + web3/MetaMask), agent task submission, and tutorial ratings. The site serves from 'santiago.soñora.com' (punycode: santiago.xn--soora-pta.com) and accepts Stripe/PayPal/ETH payments.",
  "auth": {
    "type": "none"
  },
  "api": {
    "type": "openapi",
    "url": "https://santiago.xn--soora-pta.com/api",
    "is_user_authenticated": false
  },
  "logo_url": "https://d3hnwdv4lqmrw4.cloudfront.net/img/s-b-default.webp",
  "contact_email": "santiagosonora@gmail.com",
  "legal_info_url": "https://santiago.xn--soora-pta.com/llms.txt",
  "endpoints": {
    "portfolio": {
      "path": "/",
      "method": "GET",
      "description": "Main portfolio page — professional profile, skills showcase, interactive playground, contact form, NFT gallery, and hire modal with ETH payments."
    },
    "cv": {
      "path": "/cv",
      "method": "GET",
      "description": "Detailed professional CV/resume with full work experience, education, and certifications."
    },
    "tutorials": {
      "path": "/tutorials",
      "method": "GET",
      "description": "Index of 55+ interactive tech tutorials covering Python, Flask, Django, JavaScript, Docker, Kubernetes, AWS, GCP, Solidity, OpenAI, Gemini, React, Angular, and more."
    },
    "tutorial_detail": {
      "path": "/tutorials/{slug}",
      "method": "GET",
      "description": "Individual tutorial page with markdown-rendered content, skill ratings, and related content."
    },
    "blog": {
      "path": "/blog",
      "method": "GET",
      "description": "Science & technology blog — articles on physics (Feynman, relativity, quantum mechanics), AI, and philosophy of science."
    },
    "blog_post": {
      "path": "/blog/{slug}",
      "method": "GET",
      "description": "Individual blog post with full article, OG metadata, and related content."
    },
    "careers": {
      "path": "/careers",
      "method": "GET",
      "description": "Career path guides — 11 professional tech career profiles with learning roadmaps."
    },
    "api_root": {
      "path": "/api",
      "method": "GET",
      "description": "REST API root — returns JSON with available routes, instructions, and usage examples for the personal data API."
    },
    "api_personal_data": {
      "path": "/api/santi",
      "method": "GET",
      "description": "Returns all personal profile data (datos, contacto, estudios, idiomas, habilidades, intereses, social) as structured JSON."
    },
    "api_personal_data_section": {
      "path": "/api/santi/{section}",
      "method": "GET",
      "description": "Returns a specific section of personal data. Valid sections: datos, contacto, estudios, idiomas, habilidades, intereses, social."
    },
    "api_contact_web": {
      "path": "/api/santi",
      "method": "POST",
      "description": "Submit a contact message. Body: {nombre, apellido, email, celular, mensaje}. Forwarded via email."
    },
    "api_agent_task": {
      "path": "/api/agent/task",
      "method": "POST",
      "description": "Submit a HITL task for Santiago. Required: {task_title, task_description, proposed_budget}. Optional: {agent_id, agent_model, contact_email, callback_url}. Returns task_id on success."
    },
    "api_agents_contact": {
      "path": "/api/agents/contact",
      "method": "POST",
      "description": "Direct agent-to-agent communication relay. Required: {sender_agent, message}. Optional: {human_client, callback_url, context}. Routes structured messages to Santiago for review and response."
    },
    "api_tutorial_rate": {
      "path": "/api/tutorials/{slug}/rate",
      "method": "POST",
      "description": "Rate a tutorial (1-5 stars). Body: {rating: number}."
    },
    "llms_txt": {
      "path": "/llms.txt",
      "method": "GET",
      "description": "Machine-readable context file for LLMs — full professional profile, HITL services, tech stack, tutorial library index, blog index, and career guides."
    },
    "agents_skill": {
      "path": "/agents/skill.md",
      "method": "GET",
      "description": "Complete operational manual for visiting AI agents — interaction protocols, API schemas, payment instructions, and behavioral guidelines."
    },
    "version": {
      "path": "/version",
      "method": "GET",
      "description": "Returns current deployment version tag."
    },
    "healthz": {
      "path": "/healthz",
      "method": "GET",
      "description": "Health check probe. Returns {status: 'ok'}."
    },
    "ip_json": {
      "path": "/ip_json",
      "method": "GET",
      "description": "Returns the requester's public IP address as JSON."
    }
  },
  "capabilities": {
    "ai_content_policy": "permissive",
    "allowed_uses": ["training", "inference", "indexing", "summarization", "research", "content-generation", "ai-assistance", "educational-purposes"],
    "hitl_services": true,
    "payment_methods": ["ETH", "BTC", "SOL", "USDT", "USDC", "Stripe", "PayPal"],
    "supported_chains": ["Ethereum Mainnet (1)", "Base (8453)", "BNB Chain (56)", "Polygon (137)", "Optimism (10)", "Arbitrum (42161)", "Linea (59144)", "Avalanche (43114)", "Solana", "Tron"]
  },
  "owner": {
    "name": "Santiago Soñora",
    "url": "https://santiago.xn--soora-pta.com",
    "github": "https://github.com/sntgchns",
    "linkedin": "https://linkedin.com/in/sntgchns",
    "location": "Valencia, Spain",
    "evm_address": "0xb3D682ca2c3e7b7E69A74071E00f680F7c3c4b1F",
    "btc_address": "bc1ql3lyn7ylgaxlq5hqetz3e2pa4gye7zqvqdzcps",
    "sol_address": "D21wXymnygtJ5UPjqtwsXz9kqkaYmngBoiWZJ5CDbshD"
  }
}
