M
Back to Portfolio

// 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

Streamable HTTP transport, six read-only tools. Manifest at /.well-known/mcp.

/api/mcp

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.