{"openapi":"3.1.0","info":{"title":"Suleman Tariq Portfolio API","version":"1.0.0","description":"Public, cacheable, machine-readable API for Suleman Tariq portfolio data, projects, skills, and role-fit evidence."},"servers":[{"url":"https://suleman.me"}],"tags":[{"name":"Portfolio","description":"Public portfolio profile and project data."}],"paths":{"/api/profile":{"get":{"tags":["Portfolio"],"summary":"Get the structured public profile.","operationId":"getProfile","responses":{"200":{"description":"Successful JSON response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicProfileResponse"}}}}}}},"/api/projects":{"get":{"tags":["Portfolio"],"summary":"Get projects with optional domain filtering.","operationId":"getProjects","parameters":[{"name":"domain","in":"query","required":false,"description":"Filter projects by a normalized domain slug.","schema":{"type":"string","enum":["ai","api","crypto","data","ecommerce","fintech","infra","leadership","mobile","payments","realtime","saas"]}}],"responses":{"200":{"description":"Successful JSON response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicProjectsResponse"}}}}}}},"/api/skills":{"get":{"tags":["Portfolio"],"summary":"Get grouped skills.","operationId":"getSkills","responses":{"200":{"description":"Successful JSON response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicSkillsResponse"}}}}}}},"/api/hireability":{"get":{"tags":["Portfolio"],"summary":"Get role-fit evidence.","operationId":"getHireability","responses":{"200":{"description":"Successful JSON response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicHireabilityResponse"}}}}}}},"/api/openapi.json":{"get":{"tags":["Portfolio"],"summary":"Get this OpenAPI document.","operationId":"getOpenApiDocument","responses":{"200":{"description":"OpenAPI 3.1 JSON document.","content":{"application/json":{"schema":{"type":"object"}}}}}}}},"components":{"schemas":{"ApiMeta":{"type":"object","required":["version","generatedAt","source","cache"],"properties":{"version":{"type":"string"},"generatedAt":{"type":"string","format":"date-time"},"source":{"type":"string"},"cache":{"type":"object","additionalProperties":{"type":"number"}}}},"PublicLink":{"type":"object","required":["label","href"],"properties":{"label":{"type":"string"},"href":{"type":"string"}}},"PublicProject":{"type":"object","required":["id","name","slug","href","caseStudyUrl","summary","description","role","outcome","stack","domains","links","source"],"properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string"},"href":{"type":"string"},"caseStudyUrl":{"type":"string"},"summary":{"type":"string"},"description":{"type":"string"},"role":{"type":"string"},"outcome":{"type":"string"},"stack":{"type":"array","items":{"type":"string"}},"domains":{"type":"array","items":{"type":"string"}},"links":{"type":"array","items":{"$ref":"#/components/schemas/PublicLink"}},"source":{"$ref":"#/components/schemas/PublicLink"}}},"PublicProfileResponse":{"type":"object","required":["meta","identity","contact","projects","experience","skills","api"],"properties":{"meta":{"$ref":"#/components/schemas/ApiMeta"},"identity":{"type":"object"},"contact":{"type":"object"},"projects":{"type":"array","items":{"$ref":"#/components/schemas/PublicProject"}},"experience":{"type":"array","items":{"type":"object"}},"skills":{"type":"object"},"api":{"type":"object"}}},"PublicProjectsResponse":{"type":"object","required":["meta","query","filters","data"],"properties":{"meta":{"$ref":"#/components/schemas/ApiMeta"},"query":{"type":"object"},"filters":{"type":"object"},"data":{"type":"array","items":{"$ref":"#/components/schemas/PublicProject"}}}},"PublicSkillsResponse":{"type":"object","required":["meta","data"],"properties":{"meta":{"$ref":"#/components/schemas/ApiMeta"},"data":{"type":"object"}}},"PublicHireabilityResponse":{"type":"object","required":["meta","data"],"properties":{"meta":{"$ref":"#/components/schemas/ApiMeta"},"data":{"type":"object"}}}}}}