Developer documentation — yaduraj.me API

A public, read-only JSON API describing the engineering portfolio of Yaduraj Singh. Built for automated agents and integrations that need structured data instead of scraped HTML.

At a glance

Endpoints

MethodPathOperationDescription
GET/api/healthgetHealthService availability.
GET/api/profilegetProfileBiography, contact links, stats, experience, current work.
GET/api/projectslistProjectsAll projects. Filter with ?featured=true or ?live=true.
GET/api/projects/{id}getProjectByIdOne project including metrics and full case study.
GET/api/stackgetStackTechnologies grouped by layer.

Valid project ids: raunak, aarogya-setu, tollgate, muhdikhai, cortx, gbu-timetable, maakosh, bolonyay.

Example request

curl -s https://yaduraj.me/api/projects/raunak

Errors

Every failure returns JSON — never an HTML error page — with a stable code and a hint describing how to fix the request.

{
  "error": {
    "status": 404,
    "code": "project_not_found",
    "message": "No project exists with id 'nope'.",
    "hint": "Valid ids: ... List them at /api/projects.",
    "documentation": "https://yaduraj.me/docs",
    "specification": "https://yaduraj.me/openapi.json"
  }
}

Error codes: invalid_parameter, project_not_found, endpoint_not_found, method_not_allowed.

Markdown content negotiation

Send Accept: text/markdown to this page, the homepage, /about, /contact or /privacy and the markdown source is returned instead of HTML, per acceptmarkdown.com. Responses carry Vary: Accept so caches keep the variants separate.

curl -H "Accept: text/markdown" https://yaduraj.me/about

Function calling

The OpenAPI document is 3.1.0, and every operation has a unique operationId, a description, typed parameters and a response schema — so it can be converted directly into LLM tool definitions.