{
  "ok": true,
  "data": {
    "name": "The Build Journal API",
    "description": "Public, read-only API surface for Abhinav Raj's portfolio. Every public field on the site (profile, projects, credentials, research, skills, socials, notes) is reachable here.",
    "version": "1.0.0",
    "build": "2026-05-08",
    "profile": {
      "name": "Abhinav Raj",
      "role": "Product Engineer",
      "site": "https://abhnv.in",
      "email": "hello@abhnv.in"
    },
    "endpoints": [
      {
        "method": "GET",
        "path": "/api",
        "description": "API index, available commands, version",
        "url": "https://abhnv.in/api"
      },
      {
        "method": "GET",
        "path": "/api/profile",
        "description": "Public profile and summary",
        "url": "https://abhnv.in/api/profile"
      },
      {
        "method": "GET",
        "path": "/api/skills",
        "description": "Skills grouped by domain",
        "url": "https://abhnv.in/api/skills"
      },
      {
        "method": "GET",
        "path": "/api/projects",
        "description": "All shipped projects",
        "url": "https://abhnv.in/api/projects"
      },
      {
        "method": "GET",
        "path": "/api/projects/:slug",
        "description": "One project by slug",
        "url": "https://abhnv.in/api/projects/:slug"
      },
      {
        "method": "GET",
        "path": "/api/certifications",
        "description": "All credentials, grouped by issuer",
        "url": "https://abhnv.in/api/certifications"
      },
      {
        "method": "GET",
        "path": "/api/certifications/:idOrSlug",
        "description": "One credential by 1-based id or title slug",
        "url": "https://abhnv.in/api/certifications/:idOrSlug"
      },
      {
        "method": "GET",
        "path": "/api/research",
        "description": "Research papers",
        "url": "https://abhnv.in/api/research"
      },
      {
        "method": "GET",
        "path": "/api/research/:slug",
        "description": "One research paper by slug",
        "url": "https://abhnv.in/api/research/:slug"
      },
      {
        "method": "GET",
        "path": "/api/socials",
        "description": "Social profile links",
        "url": "https://abhnv.in/api/socials"
      },
      {
        "method": "GET",
        "path": "/api/notes",
        "description": "Notes from the bench",
        "url": "https://abhnv.in/api/notes"
      },
      {
        "method": "GET",
        "path": "/api/summary",
        "description": "Compact profile, counts, featured links, and tag summary",
        "url": "https://abhnv.in/api/summary"
      },
      {
        "method": "GET",
        "path": "/api/links",
        "description": "All public links grouped by socials, projects, research, credentials, repos, and case studies",
        "url": "https://abhnv.in/api/links"
      },
      {
        "method": "GET",
        "path": "/api/tags",
        "description": "All project, research, certification, and skill tags with counts",
        "url": "https://abhnv.in/api/tags"
      },
      {
        "method": "GET",
        "path": "/api/search?q=<query>",
        "description": "Search public portfolio records by text, tag, title, issuer, or URL",
        "url": "https://abhnv.in/api/search?q=<query>"
      },
      {
        "method": "GET",
        "path": "/api/assets",
        "description": "Image, logo, favicon, and social preview asset manifest",
        "url": "https://abhnv.in/api/assets"
      },
      {
        "method": "GET",
        "path": "/api/health",
        "description": "API health, version, Cloudflare request metadata, and data counts",
        "url": "https://abhnv.in/api/health"
      },
      {
        "method": "GET",
        "path": "/api/cloudflare",
        "description": "Cloudflare Pages Functions routes, headers, cache policy, and wrangler/curl commands",
        "url": "https://abhnv.in/api/cloudflare"
      },
      {
        "method": "GET",
        "path": "/api/command?cmd=<name>",
        "description": "Command-style read endpoint",
        "url": "https://abhnv.in/api/command?cmd=<name>"
      },
      {
        "method": "POST",
        "path": "/api/contact",
        "description": "Send a portfolio enquiry (existing endpoint)",
        "url": "https://abhnv.in/api/contact"
      }
    ],
    "commands": [
      "profile",
      "skills",
      "projects",
      "certifications",
      "research",
      "socials",
      "notes",
      "marquee",
      "version",
      "endpoints",
      "stats",
      "summary",
      "links",
      "tags",
      "search",
      "assets",
      "health",
      "cloudflare",
      "help"
    ],
    "examples": [
      "https://abhnv.in/api/profile",
      "https://abhnv.in/api/projects",
      "https://abhnv.in/api/projects/clex-ai",
      "https://abhnv.in/api/certifications",
      "https://abhnv.in/api/research",
      "https://abhnv.in/api/summary",
      "https://abhnv.in/api/links",
      "https://abhnv.in/api/tags",
      "https://abhnv.in/api/search?q=ai",
      "https://abhnv.in/api/health",
      "https://abhnv.in/api/cloudflare",
      "https://abhnv.in/api/command?cmd=summary",
      "https://abhnv.in/api/command?cmd=help"
    ],
    "poweredBy": "Cloudflare Pages Functions",
    "consumers": [
      "lnch.in",
      "Other Abhinav projects that need a single source of portfolio truth"
    ]
  },
  "meta": {
    "version": "1.0.0",
    "build": "2026-05-08",
    "generatedAt": "2026-05-07T20:52:42.969Z",
    "source": "abhnv.in/api",
    "docs": "https://abhnv.in/api.html",
    "counts": {
      "projects": 5,
      "certifications": 27,
      "research": 2,
      "socials": 4,
      "notes": 3,
      "skillGroups": 5,
      "skills": 34,
      "commands": 19,
      "endpoints": 20,
      "tags": 72,
      "publicLinks": 69,
      "assets": 25
    }
  }
}