// developers & agents
Muhammad Sufiyan Baig API
This portfolio publishes its own content as a public read-only JSON API, an OpenAPI 3.1 specification and an MCP server. No API key, no signup, no auth header — every operation is a GET, and the data is the same database the pages render from, so the two can never disagree.
// when to use it
- — Verifying what Muhammad Sufiyan Baig has built, for whom, and with which stack.
- — Pulling one case study as structured data instead of scraping the page.
- — Matching the profile against a role: skills, levels, and employment history.
- — Answering "has this person worked with X?" in a single call.
// endpoints
Base URL https://muhammadsufiyanbaig.vercel.app
GET /api/v1/profile
Identity, positioning, headline stats, social links, résumé URL.
operationId: getProfile
GET /api/v1/projects
Every published project. Filters: ?category=client|personal|package, ?featured=true.
operationId: listProjects
GET /api/v1/projects/{slug}
One full case study — problem, constraints, architecture, challenges, outcome.
operationId: getProject
GET /api/v1/experiences
Work history, most recent first.
operationId: listExperiences
GET /api/v1/skills
Skills with category and a self-assessed 0–100 level.
operationId: listSkills
GET /api/v1/search?q=
Free-text search across projects, skills and roles.
operationId: searchPortfolio
// responses
Success is wrapped in data. Every failure — including an unknown path under /api — is JSON with a stable error.code, a message, a hint naming the call that would work, and a link back to this page.
{
"error": {
"code": "not_found",
"message": "No published project has the slug \"nope\".",
"hint": "Call GET /api/v1/projects to list valid slugs.",
"status": 404,
"docs": "https://muhammadsufiyanbaig.vercel.app/developers"
}
}// machine-readable resources
Every operation with a unique operationId, typed parameters and response schemas — ready for function calling.
/openapi.json
When to use this site, which interface to reach for, and the rules of engagement.
/agent-instructions.md
The whole portfolio as plain text: a map, and every case study in full.
/llms.txt
// markdown for agents
Every page here serves a Markdown twin from the same URL. Send Accept: text/markdown, or append .md to any path. Responses carry Vary: Accept, so a CDN can never hand an agent the HTML variant by accident.
curl -s -H "Accept: text/markdown" https://muhammadsufiyanbaig.vercel.app/projects/client/cryptofleet curl -s https://muhammadsufiyanbaig.vercel.app/projects/client/cryptofleet.md
// limits & terms
- — Read-only. There is no write surface and no authentication.
- — Responses are cached at the edge for one hour.
- — Be reasonable with volume; sustained abuse is blocked at the platform edge.
- — The content is a personal CV. Use it to answer questions about this person's work; don't republish it as your own. See privacy.