{"openapi":"3.1.0","info":{"title":"AlphaFold Adaptive API","description":"Adaptive protein intelligence with morphic simulations and ESM-2 embeddings.","version":"1.0.0"},"paths":{"/health":{"get":{"summary":"Health","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/structure/{uniprot_id}":{"get":{"summary":"Get Structure","description":"Fetch AlphaFold structure summary and UniProt metadata.","operationId":"get_structure_structure__uniprot_id__get","parameters":[{"name":"uniprot_id","in":"path","required":true,"schema":{"type":"string","title":"Uniprot Id"}},{"name":"session_id","in":"query","required":false,"schema":{"type":"string","default":"","title":"Session Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/analyze":{"post":{"summary":"Analyze Protein","description":"Full protein analysis: structure + ESM-2 embeddings + disorder prediction\n+ adaptive context injection for the custom GPT.","operationId":"analyze_protein_analyze_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalyzeRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/context":{"post":{"summary":"Get Adaptive Context","description":"Return the current adaptive system prompt context for a session.","operationId":"get_adaptive_context_context_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContextRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/simulate":{"post":{"summary":"Simulate Json","description":"Return morphic simulation as base64-encoded PNG in JSON.","operationId":"simulate_json_simulate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SimulateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/simulate/image/{uniprot_id}":{"get":{"summary":"Simulate Image","description":"Return morphic simulation PNG directly (for img src use).","operationId":"simulate_image_simulate_image__uniprot_id__get","parameters":[{"name":"uniprot_id","in":"path","required":true,"schema":{"type":"string","title":"Uniprot Id"}},{"name":"plddt","in":"query","required":false,"schema":{"type":"number","default":75.0,"title":"Plddt"}},{"name":"length","in":"query","required":false,"schema":{"type":"integer","default":300,"title":"Length"}},{"name":"function","in":"query","required":false,"schema":{"type":"string","default":"unknown","title":"Function"}},{"name":"name","in":"query","required":false,"schema":{"type":"string","default":"","title":"Name"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/simulate/heatmap/{uniprot_id}":{"get":{"summary":"Simulate Heatmap","description":"Fetch live pLDDT scores and return per-residue heatmap PNG.","operationId":"simulate_heatmap_simulate_heatmap__uniprot_id__get","parameters":[{"name":"uniprot_id","in":"path","required":true,"schema":{"type":"string","title":"Uniprot Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/":{"get":{"summary":"Ui","operationId":"ui__get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}}},"components":{"schemas":{"AnalyzeRequest":{"properties":{"uniprot_id":{"type":"string","title":"Uniprot Id","description":"UniProt accession number (e.g. P04637)"},"session_id":{"type":"string","title":"Session Id","description":"Session ID for adaptive context tracking","default":""},"query":{"type":"string","title":"Query","description":"User's current question for expertise calibration","default":""}},"type":"object","required":["uniprot_id"],"title":"AnalyzeRequest"},"ContextRequest":{"properties":{"session_id":{"type":"string","title":"Session Id","description":"Session ID","default":""},"query":{"type":"string","title":"Query","description":"Current user query","default":""}},"type":"object","title":"ContextRequest"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"SimulateRequest":{"properties":{"uniprot_id":{"type":"string","title":"Uniprot Id","description":"UniProt accession number"},"plddt":{"type":"number","maximum":100.0,"minimum":0.0,"title":"Plddt","default":75.0},"length":{"type":"integer","minimum":1.0,"title":"Length","default":300},"function":{"type":"string","title":"Function","default":"unknown"},"protein_name":{"type":"string","title":"Protein Name","default":""}},"type":"object","required":["uniprot_id"],"title":"SimulateRequest"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}