{"openapi":"3.1.0","jsonSchemaDialect":"https://json-schema.org/draft/2020-12/schema","info":{"title":"PeptideAgent API","version":"1","summary":"Evidence grades, regulatory status, state rules, comparisons, and costs for therapeutic peptides.","description":"Read-only JSON API over the PeptideAgent dataset. Every response is wrapped as { data, meta } and every record cites primary sources.\n\nFree tier: no key, 60 requests per minute per IP, CORS open to all origins. Responses are cached at the edge for one hour.\n\nLicense: CC BY 4.0, attribution required: PeptideAgent (https://peptideagent.ai). Records marked review_status \"draft\" are pending editorial review. Nothing here is medical advice.\n\nBulk downloads: https://peptideagent.ai/data. Human docs: https://peptideagent.ai/developers.","contact":{"name":"PeptideAgent","email":"hello@peptideagent.ai","url":"https://peptideagent.ai/developers"},"license":{"name":"CC BY 4.0","url":"https://creativecommons.org/licenses/by/4.0/"}},"servers":[{"url":"https://peptideagent.ai/api/v1"}],"externalDocs":{"description":"Developer documentation","url":"https://peptideagent.ai/developers"},"security":[{},{"bearerAuth":[]}],"tags":[{"name":"v1"}],"paths":{"/peptides":{"get":{"operationId":"listPeptides","summary":"List peptides","description":"Every peptide with a published record, in launch-list order, with its evidence grade and US regulatory and WADA status. Fetch a slug for the full record.","parameters":[{"name":"cluster","in":"query","required":false,"description":"Filter by cluster.","schema":{"type":"string","enum":["glp1","healing","longevity","cognitive","sexual_health","metabolic","immune","other"]},"example":"healing"},{"name":"evidence_grade","in":"query","required":false,"description":"Filter by overall evidence grade.","schema":{"type":"string","enum":["human_rct","human_observational","animal_only","anecdotal","none"]}},{"name":"fda_status","in":"query","required":false,"description":"Filter by US regulatory status.","schema":{"type":"string","enum":["fda_approved","503a_listed","under_review","category_2_removed","not_eligible","unscheduled","unknown"]}},{"name":"wada_status","in":"query","required":false,"description":"Filter by WADA status.","schema":{"type":"string","enum":["prohibited","not_prohibited","unclear"]}}],"responses":{"200":{"description":"Success.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/PeptideListItem"}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"429":{"$ref":"#/components/responses/Error429"},"500":{"$ref":"#/components/responses/Error500"}}}},"/peptides/{slug}":{"get":{"operationId":"getPeptide","summary":"Get a peptide","description":"The full peptide record: summary, mechanism, evidence grade and summaries, literature dosing text (ranges from cited literature only, never a recommendation), side effects, interactions, regulatory and WADA status, access path, FAQs, studies, and numbered sources.","parameters":[{"name":"slug","in":"path","required":true,"description":"Peptide slug.","schema":{"type":"string"},"example":"bpc-157"}],"responses":{"200":{"description":"Success.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/Peptide"},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"404":{"$ref":"#/components/responses/Error404"},"429":{"$ref":"#/components/responses/Error429"},"500":{"$ref":"#/components/responses/Error500"}}}},"/regulatory":{"get":{"operationId":"listRegulatoryEvents","summary":"List regulatory events","description":"Dated FDA, PCAC, Federal Register, WADA, and state board actions, newest first, each with its primary source.","parameters":[{"name":"peptide","in":"query","required":false,"description":"Filter to one peptide slug.","schema":{"type":"string"},"example":"bpc-157"}],"responses":{"200":{"description":"Success.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/RegulatoryEvent"}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"404":{"$ref":"#/components/responses/Error404"},"429":{"$ref":"#/components/responses/Error429"},"500":{"$ref":"#/components/responses/Error500"}}}},"/conditions":{"get":{"operationId":"listConditions","summary":"List conditions","description":"Conditions with the peptides studied for each, a per-condition evidence grade, standard-of-care context, and sources.","parameters":[{"name":"peptide","in":"query","required":false,"description":"Only conditions that link this peptide slug.","schema":{"type":"string"},"example":"bpc-157"}],"responses":{"200":{"description":"Success.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Condition"}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"429":{"$ref":"#/components/responses/Error429"},"500":{"$ref":"#/components/responses/Error500"}}}},"/jurisdictions":{"get":{"operationId":"listJurisdictions","summary":"List jurisdictions","description":"The federal record and all 50 states: telehealth, compounding board, and compounded GLP-1 availability at a glance.","parameters":[{"name":"kind","in":"query","required":false,"description":"Filter by kind.","schema":{"type":"string","enum":["state","federal"]},"example":"state"}],"responses":{"200":{"description":"Success.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/JurisdictionListItem"}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"429":{"$ref":"#/components/responses/Error429"},"500":{"$ref":"#/components/responses/Error500"}}}},"/jurisdictions/{slug}":{"get":{"operationId":"getJurisdiction","summary":"Get a jurisdiction","description":"The full state or federal record: telehealth rules, pharmacy board and compounding position, GLP-1 access, research peptide sales, peptide-specific notes, FAQs, and sources. Accepts a slug or a two-letter abbreviation.","parameters":[{"name":"slug","in":"path","required":true,"description":"State slug, abbreviation, or \"federal\".","schema":{"type":"string"},"example":"florida"}],"responses":{"200":{"description":"Success.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"$ref":"#/components/schemas/Jurisdiction"},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"401":{"$ref":"#/components/responses/Error401"},"404":{"$ref":"#/components/responses/Error404"},"429":{"$ref":"#/components/responses/Error429"},"500":{"$ref":"#/components/responses/Error500"}}}},"/comparisons":{"get":{"operationId":"listComparisons","summary":"List comparisons","description":"Head-to-head peptide comparisons with a verdict, the dimensions that differ, direct comparison studies, FAQs, and sources.","parameters":[{"name":"peptide","in":"query","required":false,"description":"Only comparisons that include this peptide slug.","schema":{"type":"string"},"example":"bpc-157"}],"responses":{"200":{"description":"Success.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Comparison"}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"429":{"$ref":"#/components/responses/Error429"},"500":{"$ref":"#/components/responses/Error500"}}}},"/cost":{"get":{"operationId":"listCostEntries","summary":"List cost entries","description":"Typical price ranges by channel (branded pharmacy, compounded pharmacy, telehealth bundle, clinic, insurance) with units, notes, and sources.","parameters":[{"name":"peptide","in":"query","required":false,"description":"Filter to one peptide slug.","schema":{"type":"string"},"example":"tirzepatide"}],"responses":{"200":{"description":"Success.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/CostEntry"}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"429":{"$ref":"#/components/responses/Error429"},"500":{"$ref":"#/components/responses/Error500"}}}},"/search":{"get":{"operationId":"search","summary":"Search","description":"Ranked search across peptides (names, aliases, conditions), comparisons, conditions, and jurisdictions (names and abbreviations).","parameters":[{"name":"q","in":"query","required":true,"description":"Search term, 2 to 200 characters.","schema":{"type":"string"},"example":"tendon"},{"name":"limit","in":"query","required":false,"description":"Maximum results, 1 to 50 (default 20).","schema":{"type":"string"},"example":"10"}],"responses":{"200":{"description":"Success.","headers":{"X-RateLimit-Limit":{"$ref":"#/components/headers/X-RateLimit-Limit"},"X-RateLimit-Remaining":{"$ref":"#/components/headers/X-RateLimit-Remaining"},"X-RateLimit-Reset":{"$ref":"#/components/headers/X-RateLimit-Reset"}},"content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/SearchResult"}},"meta":{"$ref":"#/components/schemas/Meta"}}}}}},"400":{"$ref":"#/components/responses/Error400"},"401":{"$ref":"#/components/responses/Error401"},"429":{"$ref":"#/components/responses/Error429"},"500":{"$ref":"#/components/responses/Error500"}}}}},"components":{"schemas":{"Meta":{"$id":"#/components/schemas/Meta","type":"object","properties":{"generated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"},"license":{"type":"string","const":"CC BY 4.0, attribution required: PeptideAgent (https://peptideagent.ai)"},"version":{"type":"string","const":"1"}},"required":["generated_at","license","version"],"additionalProperties":false},"Error":{"$id":"#/components/schemas/Error","type":"object","properties":{"error":{"type":"object","properties":{"status":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"code":{"type":"string"},"message":{"type":"string"}},"required":["status","code","message"],"additionalProperties":false},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["error","meta"],"additionalProperties":false},"Source":{"$id":"#/components/schemas/Source","type":"object","properties":{"id":{"type":"string","minLength":1},"type":{"type":"string","enum":["pubmed","fda","federal_register","wada","other"]},"title":{"type":"string","minLength":1},"url":{"type":"string","pattern":"^https?:\\/\\/"},"pmid":{"type":"string","pattern":"^\\d+$"},"year":{"type":"integer","minimum":1900,"maximum":2100}},"required":["id","type","title","url"],"additionalProperties":false},"Study":{"$id":"#/components/schemas/Study","type":"object","properties":{"pmid":{"type":"string","pattern":"^\\d+$"},"title":{"type":"string","minLength":1},"year":{"type":"integer","minimum":1900,"maximum":2100},"design":{"type":"string","minLength":1},"n":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"population":{"type":"string","minLength":1},"outcome":{"type":"string","minLength":1},"grade":{"$ref":"#/components/schemas/EvidenceGrade"},"url":{"type":"string","pattern":"^https?:\\/\\/"}},"required":["pmid","title","year","design","population","outcome","grade","url"],"additionalProperties":false},"Faq":{"$id":"#/components/schemas/Faq","type":"object","properties":{"q":{"type":"string","minLength":1},"a":{"type":"string","minLength":1},"source_ids":{"type":"array","items":{"type":"string","minLength":1}}},"required":["q","a","source_ids"],"additionalProperties":false},"EvidenceGrade":{"$id":"#/components/schemas/EvidenceGrade","type":"string","enum":["human_rct","human_observational","animal_only","anecdotal","none"]},"RegulatoryStatus":{"$id":"#/components/schemas/RegulatoryStatus","type":"string","enum":["fda_approved","503a_listed","under_review","category_2_removed","not_eligible","unscheduled","unknown"]},"WadaStatus":{"$id":"#/components/schemas/WadaStatus","type":"string","enum":["prohibited","not_prohibited","unclear"]},"Cluster":{"$id":"#/components/schemas/Cluster","type":"string","enum":["glp1","healing","longevity","cognitive","sexual_health","metabolic","immune","other"]},"PeptideListItem":{"$id":"#/components/schemas/PeptideListItem","type":"object","properties":{"slug":{"type":"string","minLength":1,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"name":{"type":"string","minLength":1},"class":{"type":"string","minLength":1},"cluster":{"$ref":"#/components/schemas/Cluster"},"evidence_grade":{"$ref":"#/components/schemas/EvidenceGrade"},"fda_status":{"$ref":"#/components/schemas/RegulatoryStatus"},"wada_status":{"$ref":"#/components/schemas/WadaStatus"},"last_verified":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}},"required":["slug","name","class","cluster","evidence_grade","fda_status","wada_status","last_verified"],"additionalProperties":false},"Peptide":{"$id":"#/components/schemas/Peptide","type":"object","properties":{"slug":{"type":"string","minLength":1,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"name":{"type":"string","minLength":1},"aliases":{"type":"array","items":{"type":"string"}},"class":{"type":"string","minLength":1},"one_liner":{"type":"string","minLength":1,"maxLength":160},"summary":{"type":"string","minLength":1},"mechanism":{"type":"string","minLength":1},"evidence_grade":{"$ref":"#/components/schemas/EvidenceGrade"},"evidence_summary":{"type":"string","minLength":1},"human_evidence":{"type":"string","minLength":1},"animal_evidence":{"type":"string","minLength":1},"conditions":{"type":"array","items":{"type":"string","minLength":1,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"}},"literature_dosing":{"type":"string","minLength":1},"routes":{"type":"array","items":{"type":"string"}},"side_effects":{"type":"array","items":{"type":"string"}},"interactions":{"type":"array","items":{"type":"string"}},"contraindications":{"type":"array","items":{"type":"string"}},"wada_status":{"$ref":"#/components/schemas/WadaStatus"},"fda_status":{"$ref":"#/components/schemas/RegulatoryStatus"},"compounding_status":{"type":"string","minLength":1},"typical_cost":{"type":"string","minLength":1},"access_path":{"type":"array","items":{"type":"string"}},"faqs":{"type":"array","items":{"$ref":"#/components/schemas/Faq"}},"studies":{"type":"array","items":{"$ref":"#/components/schemas/Study"}},"sources":{"type":"array","items":{"$ref":"#/components/schemas/Source"}},"related":{"type":"array","items":{"type":"string","minLength":1,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"}},"cluster":{"$ref":"#/components/schemas/Cluster"},"last_verified":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"review_status":{"type":"string","enum":["draft","reviewed"]},"version":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"seo":{"type":"object","properties":{"title":{"type":"string","minLength":1,"maxLength":60},"description":{"type":"string","minLength":50,"maxLength":160},"h1":{"type":"string","minLength":1},"headings":{"type":"object","propertyNames":{"type":"string","pattern":"^[a-z-]+$"},"additionalProperties":{"type":"string","minLength":1,"maxLength":90}}},"additionalProperties":false}},"required":["slug","name","aliases","class","one_liner","summary","mechanism","evidence_grade","evidence_summary","human_evidence","animal_evidence","conditions","literature_dosing","routes","side_effects","interactions","contraindications","wada_status","fda_status","compounding_status","typical_cost","access_path","faqs","studies","sources","related","cluster","last_verified","review_status","version"],"additionalProperties":false},"RegulatoryEvent":{"$id":"#/components/schemas/RegulatoryEvent","type":"object","properties":{"id":{"type":"string","minLength":1},"date":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"date_precision":{"type":"string","enum":["day","month"]},"peptides":{"type":"array","items":{"type":"string","minLength":1,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"}},"body":{"type":"string","enum":["FDA","PCAC","Federal Register","WADA","State board","Other"]},"title":{"type":"string","minLength":1},"summary":{"type":"string","minLength":1},"source":{"$ref":"#/components/schemas/Source"},"status_after":{"$ref":"#/components/schemas/RegulatoryStatus"}},"required":["id","date","peptides","body","title","summary","source"],"additionalProperties":false},"Condition":{"$id":"#/components/schemas/Condition","type":"object","properties":{"slug":{"type":"string","minLength":1,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"name":{"type":"string","minLength":1},"summary":{"type":"string","minLength":1},"peptides":{"type":"array","items":{"type":"object","properties":{"slug":{"type":"string","minLength":1,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"grade":{"$ref":"#/components/schemas/EvidenceGrade"},"note":{"type":"string","minLength":1},"source_ids":{"type":"array","items":{"type":"string","minLength":1}}},"required":["slug","grade","note"],"additionalProperties":false}},"standard_of_care":{"type":"string","minLength":1},"sources":{"type":"array","items":{"$ref":"#/components/schemas/Source"}},"faqs":{"type":"array","items":{"$ref":"#/components/schemas/Faq"}},"seo":{"type":"object","properties":{"title":{"type":"string","minLength":1,"maxLength":60},"description":{"type":"string","minLength":50,"maxLength":160},"h1":{"type":"string","minLength":1},"headings":{"type":"object","propertyNames":{"type":"string","pattern":"^[a-z-]+$"},"additionalProperties":{"type":"string","minLength":1,"maxLength":90}}},"additionalProperties":false}},"required":["slug","name","summary","peptides","standard_of_care","sources"],"additionalProperties":false},"JurisdictionListItem":{"$id":"#/components/schemas/JurisdictionListItem","type":"object","properties":{"slug":{"type":"string","pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"name":{"type":"string"},"abbreviation":{"type":"string"},"kind":{"type":"string","enum":["state","federal"]},"summary":{"type":"string"},"telehealth_allowed":{"type":"boolean"},"compounding_board":{"type":"string"},"glp1_compounded_available":{"type":"string","enum":["yes","limited","no","unknown"]},"last_verified":{"type":"string"},"review_status":{"type":"string","enum":["draft","reviewed"]}},"required":["slug","name","abbreviation","kind","summary","telehealth_allowed","compounding_board","glp1_compounded_available","last_verified","review_status"],"additionalProperties":false},"Jurisdiction":{"$id":"#/components/schemas/Jurisdiction","type":"object","properties":{"slug":{"type":"string","minLength":1,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"name":{"type":"string","minLength":1},"abbreviation":{"type":"string","minLength":2,"maxLength":3},"kind":{"type":"string","enum":["state","federal"]},"summary":{"type":"string","minLength":1},"telehealth":{"type":"object","properties":{"allowed":{"type":"boolean"},"notes":{"type":"string","minLength":1},"async_prescribing_allowed":{"type":["boolean","null"]},"source_ids":{"type":"array","items":{"type":"string","minLength":1}}},"required":["allowed","notes","async_prescribing_allowed","source_ids"],"additionalProperties":false},"compounding":{"type":"object","properties":{"board_name":{"type":"string","minLength":1},"board_url":{"type":"string","pattern":"^https?:\\/\\/"},"follows_fda_503a_bulks":{"type":["boolean","null"]},"notes":{"type":"string","minLength":1},"source_ids":{"type":"array","items":{"type":"string","minLength":1}}},"required":["board_name","board_url","follows_fda_503a_bulks","notes","source_ids"],"additionalProperties":false},"glp1_access":{"type":"object","properties":{"compounded_available":{"type":"string","enum":["yes","limited","no","unknown"]},"notes":{"type":"string","minLength":1},"source_ids":{"type":"array","items":{"type":"string","minLength":1}}},"required":["compounded_available","notes","source_ids"],"additionalProperties":false},"research_peptide_sales":{"type":"object","properties":{"notes":{"type":"string","minLength":1},"source_ids":{"type":"array","items":{"type":"string","minLength":1}}},"required":["notes","source_ids"],"additionalProperties":false},"peptide_notes":{"type":"array","items":{"type":"object","properties":{"slug":{"type":"string","minLength":1,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"note":{"type":"string","minLength":1},"source_ids":{"type":"array","items":{"type":"string","minLength":1}}},"required":["slug","note","source_ids"],"additionalProperties":false}},"faqs":{"type":"array","items":{"$ref":"#/components/schemas/Faq"}},"sources":{"type":"array","items":{"$ref":"#/components/schemas/Source"}},"last_verified":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"review_status":{"type":"string","enum":["draft","reviewed"]},"version":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"seo":{"type":"object","properties":{"title":{"type":"string","minLength":1,"maxLength":60},"description":{"type":"string","minLength":50,"maxLength":160},"h1":{"type":"string","minLength":1},"headings":{"type":"object","propertyNames":{"type":"string","pattern":"^[a-z-]+$"},"additionalProperties":{"type":"string","minLength":1,"maxLength":90}}},"additionalProperties":false}},"required":["slug","name","abbreviation","kind","summary","telehealth","compounding","glp1_access","research_peptide_sales","peptide_notes","faqs","sources","last_verified","review_status","version"],"additionalProperties":false},"Comparison":{"$id":"#/components/schemas/Comparison","type":"object","properties":{"slug":{"type":"string","minLength":1,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"a":{"type":"string","minLength":1,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"b":{"type":"string","minLength":1,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"title":{"type":"string","minLength":1},"summary":{"type":"string","minLength":1},"verdict":{"type":"object","properties":{"winner":{"type":"string","enum":["a","b","depends"]},"rationale":{"type":"string","minLength":1},"source_ids":{"type":"array","items":{"type":"string","minLength":1}}},"required":["winner","rationale","source_ids"],"additionalProperties":false},"dimensions":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1},"a":{"type":"string","minLength":1},"b":{"type":"string","minLength":1},"note":{"type":"string"},"source_ids":{"type":"array","items":{"type":"string","minLength":1}}},"required":["name","a","b","source_ids"],"additionalProperties":false}},"head_to_head_studies":{"type":"array","items":{"$ref":"#/components/schemas/Study"}},"faqs":{"type":"array","items":{"$ref":"#/components/schemas/Faq"}},"sources":{"type":"array","items":{"$ref":"#/components/schemas/Source"}},"last_verified":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"review_status":{"type":"string","enum":["draft","reviewed"]},"version":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"seo":{"type":"object","properties":{"title":{"type":"string","minLength":1,"maxLength":60},"description":{"type":"string","minLength":50,"maxLength":160},"h1":{"type":"string","minLength":1},"headings":{"type":"object","propertyNames":{"type":"string","pattern":"^[a-z-]+$"},"additionalProperties":{"type":"string","minLength":1,"maxLength":90}}},"additionalProperties":false}},"required":["slug","a","b","title","summary","verdict","dimensions","head_to_head_studies","faqs","sources","last_verified","review_status","version"],"additionalProperties":false},"CostEntry":{"$id":"#/components/schemas/CostEntry","type":"object","properties":{"slug":{"type":"string","minLength":1,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"name":{"type":"string","minLength":1},"channels":{"type":"array","items":{"type":"object","properties":{"channel":{"type":"string","enum":["branded_pharmacy","compounded_pharmacy","telehealth_bundle","clinic","insurance"]},"label":{"type":"string","minLength":1},"low_usd":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"high_usd":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"unit":{"type":"string","enum":["month","dose","vial","pen"]},"notes":{"type":"string","minLength":1},"source_ids":{"type":"array","items":{"type":"string","minLength":1}},"price_checked_on":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}},"required":["channel","low_usd","high_usd","unit","notes","source_ids"],"additionalProperties":false}},"list_price_note":{"type":"string","minLength":1},"insurance_note":{"type":"string","minLength":1},"price_drivers":{"type":"array","items":{"type":"string","minLength":1}},"last_verified":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"review_status":{"type":"string","enum":["draft","reviewed"]},"version":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"sources":{"type":"array","items":{"$ref":"#/components/schemas/Source"}},"seo":{"type":"object","properties":{"title":{"type":"string","minLength":1,"maxLength":60},"description":{"type":"string","minLength":50,"maxLength":160},"h1":{"type":"string","minLength":1},"headings":{"type":"object","propertyNames":{"type":"string","pattern":"^[a-z-]+$"},"additionalProperties":{"type":"string","minLength":1,"maxLength":90}}},"additionalProperties":false}},"required":["slug","name","channels","list_price_note","insurance_note","price_drivers","last_verified","review_status","version","sources"],"additionalProperties":false},"SearchResult":{"$id":"#/components/schemas/SearchResult","type":"object","properties":{"type":{"type":"string","enum":["peptide","comparison","condition","jurisdiction"]},"slug":{"type":"string","pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"name":{"type":"string"},"summary":{"type":"string"},"url":{"type":"string","format":"uri"},"api_url":{"anyOf":[{"type":"string","format":"uri"},{"type":"null"}]}},"required":["type","slug","name","summary","url","api_url"],"additionalProperties":false}},"responses":{"Error400":{"description":"Invalid or missing parameter.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Error401":{"description":"Authorization header sent with a key that is not valid (only when API keys are configured).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Error404":{"description":"No record with that slug.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Error429":{"description":"Rate limit exceeded (60 requests per minute per IP without a key).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"Error500":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"headers":{"X-RateLimit-Limit":{"description":"Requests allowed in the current one-minute window (60 anonymous, 600 with a key).","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests left in the current window.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix time, in seconds, when the window resets.","schema":{"type":"integer"}}},"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Optional. Only honored when keys are issued; a valid key raises the limit to 600 requests per minute."}}}}