{"openapi":"3.1.0","info":{"title":"Peptide MD API","version":"0.1.0-experimental","description":"Read-mostly REST API for Peptide MD. Public endpoints work without a key; rate limits are tighter without one.","license":{"name":"Apache-2.0"}},"servers":[{"url":"https://peptidemd.io"}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","bearerFormat":"pidx_xxx"}}},"paths":{"/api/import/pda":{"post":{"summary":"Submit a PDA-V1 bundle to the Peptide MD verifier.","security":[{"bearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PdaBundle"}}}},"responses":{"200":{"description":"Verifier verdict and import id."},"400":{"description":"Invalid bundle."}}}},"/api/export/{entity}":{"get":{"summary":"Snapshot of a top-level entity (peptides | protocols | cohorts | imports).","parameters":[{"in":"path","name":"entity","required":true,"schema":{"type":"string","enum":["peptides","protocols","cohorts","imports"]}},{"in":"query","name":"format","schema":{"type":"string","enum":["csv","json","ndjson"],"default":"json"}}],"responses":{"200":{"description":"Streamed entity rows in the requested format."}}}},"/api/dossier/{slug}":{"get":{"summary":"Audience-typed PDF dossier for a peptide.","parameters":[{"in":"path","name":"slug","required":true,"schema":{"type":"string"}},{"in":"query","name":"audience","schema":{"type":"string","enum":["researcher","clinician","patient","investor","regulator","cro","insurer","biohacker"],"default":"researcher"}}],"responses":{"200":{"description":"application/pdf"}}}}}}