{"openapi":"3.0.3","info":{"title":"SuppCo Public API","description":"Read-only public supplement data: products, brands, TrustScores, nutrients, protocols, research effects, goals, lab tests, and articles. These operations need no credentials. For agents, prefer the MCP server at https://api.supp.co/mcp. Documentation: https://supp.co/developers.\n\n## Versioning and deprecation\n\nThe current major version is `1`. Send the optional `API-Version: 1` request header to pin it; every\nresponse echoes `API-Version`, and an unsupported value returns a 400 problem. Additive changes (new\noperations, optional parameters, response fields) ship within a major version. Breaking changes ship\nas a new major version selected with `API-Version`; existing paths keep their current shape. A\ndeprecated operation is marked `deprecated: true` here and returns an RFC 9745 `Deprecation` header,\nplus an RFC 8594 `Sunset` header once a removal date is set.\n\n## Rate limits\n\nRequests are limited per client IP. Responses carry `RateLimit-Policy` and `RateLimit-Limit`;\nresponses that shared caches do not store also carry the live `RateLimit`, `RateLimit-Remaining` and\n`RateLimit-Reset` counters. A throttled request gets 429 with `Retry-After`.\n\n## Errors\n\nErrors use RFC 9457 problem details (`type`, `title`, `status`, `detail`).\n\n## Authentication\n\nSigned-in operations use OAuth 2.1 (`SuppCoOAuth`); clients can self-register with RFC 7591\ndynamic client registration.\n","termsOfService":"https://supp.co/terms","contact":{"name":"SuppCo Partnerships","email":"partners@supp.co"},"version":"1.0.0"},"servers":[{"url":"https://api.supp.co"}],"paths":{"/api/products":{"get":{"tags":["products"],"summary":"List and search for Products","description":"","operationId":"listProducts","parameters":[{"$ref":"#/components/parameters/ApiVersion"},{"name":"query","in":"query","description":"Search query for brand, name, supplements, or UPC","required":false,"schema":{"type":"string"},"examples":{"searchBrand":{"value":"Nature Made","summary":"Search for brand Nature Made"},"searchName":{"value":"Vitamin D3 10,000 IU Softgels","summary":"Search for name of Walgreens Vitamin D"}}},{"name":"upc","in":"query","schema":{"type":"string"},"description":"Search query for UPC","examples":{"searchUPC":{"value":"31191702201","summary":"Search for a single UPC"}}},{"name":"upcs","in":"query","schema":{"type":"string"},"description":"Search query for multiple comma separated UPCs","examples":{"searchUPCs":{"value":"31191702201,3390210420","summary":"Search for multiple UPCs"}}},{"name":"amazonProductID","in":"query","schema":{"type":"string"},"description":"Search query for Amazon Product ID","examples":{"searchAmazonProductID":{"value":"B0000D9N7E","summary":"Search for a single Amazon Product ID"}}},{"name":"shopifyVariantID","in":"query","schema":{"type":"string"},"description":"Search query for Shopify Variant ID","examples":{"searchShopifyVariantID":{"value":"123456789","summary":"Search for a single Shopify Variant ID"}}},{"name":"search_session_id","in":"query","required":false,"schema":{"type":"string"},"description":"Client-minted id for one search session, shared with /api/products/filter and /api/shop/products. When present with `query`, the typeahead query is recorded into that session's product search row. Only `query` (and `client_key` when sent) is written, so the category, filters, sort and result count a /filter request set on the same row are kept. Omit it on page-load/prefetch requests."},{"name":"client_key","in":"query","required":false,"schema":{"type":"string"},"description":"Surface tag for the captured search (e.g. `products`). Kept on the row when a later request omits it. No effect without `search_session_id`."}],"responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CachedProduct"}},"example":[{"name":"Vitamin C 200mg","brand":"Nature Made"},{"name":"AG1","brand":"Athletic Greens"}]}},"headers":{"API-Version":{"$ref":"#/components/headers/ApiVersion"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimitPolicy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}}},"400":{"$ref":"#/components/responses/BadRequestProblem"},"500":{"$ref":"#/components/responses/InternalServerErrorProblem"},"429":{"$ref":"#/components/responses/TooManyRequestsProblem"}},"security":[]}},"/api/products/{slug}":{"get":{"tags":["products"],"summary":"Get a single Product","description":"","operationId":"showProduct","parameters":[{"$ref":"#/components/parameters/ApiVersion"},{"name":"slug","in":"path","description":"Unique identifier slug","required":true,"schema":{"type":"string"},"examples":{"vitamin_d":{"value":"walgreens-vitamin-d3-10000-iu-softgels-31191702201","summary":"Slug for Walgreens Vitamin D"}}}],"responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CachedProduct"},"example":[{"name":"Vitamin C 200mg","brand":"Nature Made"}]}},"headers":{"API-Version":{"$ref":"#/components/headers/ApiVersion"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimitPolicy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}}},"400":{"$ref":"#/components/responses/BadRequestProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"500":{"$ref":"#/components/responses/InternalServerErrorProblem"},"429":{"$ref":"#/components/responses/TooManyRequestsProblem"}},"security":[]}},"/api/products/{slug}/alternatives":{"get":{"tags":["products"],"summary":"Get Product Alternatives","operationId":"getProductAlternatives","parameters":[{"$ref":"#/components/parameters/ApiVersion"},{"name":"slug","in":"path","required":true,"schema":{"type":"string"},"description":"Product slug"}],"responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductAlternatives"}}},"headers":{"API-Version":{"$ref":"#/components/headers/ApiVersion"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimitPolicy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}}},"400":{"$ref":"#/components/responses/BadRequestProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"500":{"$ref":"#/components/responses/InternalServerErrorProblem"},"429":{"$ref":"#/components/responses/TooManyRequestsProblem"}},"security":[]}},"/api/products/{product_id}/lab-results":{"get":{"tags":["products"],"summary":"Get Independent Lab Testing Results for a Product","description":"Returns Certificate of Analysis (COA) results for a product, grouped by\ncanonical analyte. Each canonical analyte has a single `most_recent` round\nplus a `history` array of older rounds. Both `published` and `archived`\nCOA→product links contribute, so disjoint-analyte COAs (e.g. one COA\nfor Vitamin D3 and a separate COA for Vitamin K1/K2 on the same\nproduct) both surface their unique canonicals.\n\nPicking is per canonical analyte. The selector prefers the newest\n`active` round (ops nominates which rounds are live by leaving them\nactive), and falls back to the newest of all surfaceable rounds when\nno active round exists for that canonical. Demoted/inactive rounds\nstill appear in `history` for the audit trail. Rows in `pending` /\n`needs_manual_review` / `suppressed` states are excluded.\n\nEntries in `lab_results` are sorted alphabetically by `display_name`\n(case-insensitive) so FE rendering order is stable across requests.\n\nThe response is unauthenticated and ships with a `public, max-age=…`\n`Cache-Control` header so it can be cached on a shared CDN per\nproduct. Edits to the underlying COA/result rows are visible on the\nnext request after the CDN TTL elapses.\n","operationId":"getProductLabResults","parameters":[{"$ref":"#/components/parameters/ApiVersion"},{"name":"product_id","in":"path","required":true,"schema":{"type":"string"},"description":"Product UUID or slug"}],"responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"type":"object","properties":{"product_id":{"type":"string","format":"uuid"},"has_lab_results":{"type":"boolean","description":"True iff at least one canonical-analyte entry survived all surface filters; FE can short-circuit the PDP \"Lab Testing\" panel on this flag."},"lab_results":{"type":"array","items":{"type":"object","properties":{"canonical_analyte_id":{"type":"string","format":"uuid","description":"For sum_group rounds whose members span multiple canonicals, this is the\nprimary canonical (lowest coa_result_index member).\n"},"display_name":{"type":"string","description":"For sum_group rounds this is the group's optional ops-set display name\n(the \"Summed Group Module\" label). When no name is set it falls back to a\ncomma-joined string of the members' canonical names (e.g.\n\"Vitamin A (Retinol Palmitate), Vitamin A (Beta Carotene)\"). For\nsingle-assay rounds it is the canonical analyte's display name.\n"},"category":{"type":"string","nullable":true,"description":"Pass-through of `Supplement#category` (`IngredientCategory` —\ne.g. `vitamin`, `mineral`, `amino acid`, `botanical`, `peptide`).\nLooked up by matching the canonical analyte's display name to\n`Supplement#name`. Nullable when no matching supplement record\nexists.\n"},"optional_description":{"type":"string","nullable":true},"test_date":{"type":"string","format":"date","nullable":true},"label_claim_pct":{"type":"number","nullable":true,"description":"Percent of label claim, rounded to the nearest whole number. Uncapped — values \u003e100 are normal (brands typically overdose to retain potency through expiration)."},"pass_fail_status":{"type":"string","enum":["pass","fail"],"description":"Surfaced rows are always pass or fail. Pending / needs_manual_review rows are filtered out before they reach the FE."},"lab_name":{"type":"string","nullable":true,"description":"ISO 17025 accredited lab that ran the assay."},"measured_amount":{"type":"number","nullable":true,"description":"The lab-measured amount in `measured_units`, in the same unit family as the label claim.\nFor sum groups this is the sum across constituent assays.\n"},"measured_units":{"type":"string","nullable":true},"target_amount":{"type":"number","nullable":true,"description":"The label claim the result is being measured against."},"target_units":{"type":"string","nullable":true},"undisclosed_on_label":{"type":"boolean","description":"True when the canonical analyte being measured is not on the supplement-facts label\n(e.g. Withanolides from Ashwagandha, Silymarins from Milk Thistle). Lets the FE\nrender an \"undisclosed on label\" hint. For sum_group rounds, true iff every\nconstituent member is flagged.\n"},"attempt_number":{"type":"integer","description":"1-indexed chronological ordinal of this test for this canonical analyte (oldest = 1)."},"total_attempts":{"type":"integer","description":"Total number of rounds for this canonical analyte (most_recent + history.length)."},"most_recent":{"type":"boolean"},"history":{"type":"array","items":{"type":"object","properties":{"test_date":{"type":"string","format":"date","nullable":true},"label_claim_pct":{"type":"number","nullable":true},"pass_fail_status":{"type":"string","enum":["pass","fail"]},"lab_name":{"type":"string","nullable":true},"measured_amount":{"type":"number","nullable":true},"measured_units":{"type":"string","nullable":true},"target_amount":{"type":"number","nullable":true},"target_units":{"type":"string","nullable":true},"undisclosed_on_label":{"type":"boolean"},"attempt_number":{"type":"integer"}}}}}}}}}}},"headers":{"API-Version":{"$ref":"#/components/headers/ApiVersion"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimitPolicy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}}},"400":{"$ref":"#/components/responses/BadRequestProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"500":{"$ref":"#/components/responses/InternalServerErrorProblem"},"429":{"$ref":"#/components/responses/TooManyRequestsProblem"}},"security":[]}},"/api/brands":{"get":{"tags":["brands"],"summary":"List Brands","description":"List, search, and paginate Brands","operationId":"indexBrands","parameters":[{"$ref":"#/components/parameters/ApiVersion"},{"name":"query","description":"Search query for name","in":"query","required":true,"schema":{"type":"string"},"examples":{"searchName":{"value":"Nature Made","summary":"Search names for Nature Made"}}}],"responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BrandIndex"}},"example":[{"name":"Nature Made","slug":"nature-made"},{"name":"Athletic Greens","slug":"athletic-greens"}]}},"headers":{"API-Version":{"$ref":"#/components/headers/ApiVersion"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimitPolicy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}}},"400":{"$ref":"#/components/responses/BadRequestProblem"},"500":{"$ref":"#/components/responses/InternalServerErrorProblem"},"429":{"$ref":"#/components/responses/TooManyRequestsProblem"}},"security":[]}},"/api/brands/{slug}":{"get":{"tags":["brands"],"summary":"Show a Brand","description":"Show a single Brand with associated Products","operationId":"showBrand","parameters":[{"$ref":"#/components/parameters/ApiVersion"},{"name":"slug","in":"path","description":"Slug","required":true,"schema":{"type":"string"},"examples":{"nature-made":{"value":"nature-made","summary":"Nature Made"}}}],"responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrandShow"}}},"headers":{"API-Version":{"$ref":"#/components/headers/ApiVersion"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimitPolicy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}}},"400":{"$ref":"#/components/responses/BadRequestProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"500":{"$ref":"#/components/responses/InternalServerErrorProblem"},"429":{"$ref":"#/components/responses/TooManyRequestsProblem"}},"security":[]}},"/api/brands/{slug}/products":{"get":{"tags":["brands"],"summary":"List Brand Products","operationId":"getBrandProducts","parameters":[{"$ref":"#/components/parameters/ApiVersion"},{"name":"slug","in":"path","required":true,"schema":{"type":"string"},"description":"Brand slug"}],"responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CachedProduct"}}}},"headers":{"API-Version":{"$ref":"#/components/headers/ApiVersion"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimitPolicy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}}},"400":{"$ref":"#/components/responses/BadRequestProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"500":{"$ref":"#/components/responses/InternalServerErrorProblem"},"429":{"$ref":"#/components/responses/TooManyRequestsProblem"}},"security":[]}},"/api/brands/{slug}/top_products":{"get":{"tags":["brands"],"summary":"Get Top Products for a Brand","description":"Returns the top products for a brand organized by format (capsule, softgel, etc.) and health goal (bone-health, immune-support, etc.).\n\n**What it returns:**\n- Top 4 products per format (ranked by popularity)\n- Top 4 products per health goal (ranked by popularity)\n- Products are ranked by popularity (number of times added to user stacks); the underlying count is not exposed in the payload\n\nThis endpoint helps users discover the most popular products from a brand in specific formats or for specific health goals.\n","operationId":"getBrandTopProducts","parameters":[{"$ref":"#/components/parameters/ApiVersion"},{"name":"slug","in":"path","description":"Brand slug","required":true,"schema":{"type":"string"},"examples":{"thorne":{"value":"thorne","summary":"Thorne Research"},"nordic-naturals":{"value":"nordic-naturals","summary":"Nordic Naturals"}}}],"responses":{"200":{"description":"Successfully retrieved top products","content":{"application/json":{"schema":{"type":"object","required":["all","by_format","by_health_goal"],"properties":{"all":{"type":"array","description":"Flat, deduplicated union of the health-goal buckets, ordered by\npopularity (most-stacked first). The underlying count is not exposed.\n","items":{"$ref":"#/components/schemas/ProductCard"},"example":[{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","slug":"vitamin-d3-5000-iu","name":"Vitamin D3 5000 IU","brand":"Thorne"}]},"by_format":{"type":"object","description":"Top products grouped by product format","additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/ProductCard"}},"example":{"capsule":[{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","slug":"vitamin-d3-5000-iu","name":"Vitamin D3 5000 IU","brand":"Thorne","format":"capsule"}],"softgel":[{"id":"4gb96f75-6828-5673-c4gd-3d074g77bgb7","slug":"omega-3-fish-oil","name":"Omega-3 Fish Oil","brand":"Thorne","format":"softgel"}]}},"by_health_goal":{"type":"object","description":"Top products grouped by health goal","additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/ProductCard"}},"example":{"bone-health":[{"id":"3fa85f64-5717-4562-b3fc-2c963f66afa6","slug":"vitamin-d3-5000-iu","name":"Vitamin D3 5000 IU","brand":"Thorne"}],"immune-support":[{"id":"5hc07g86-7939-6784-d5he-4e185h88chc8","slug":"vitamin-c-1000-mg","name":"Vitamin C 1000 mg","brand":"Thorne"}]}}}}}},"headers":{"API-Version":{"$ref":"#/components/headers/ApiVersion"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimitPolicy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}}},"400":{"$ref":"#/components/responses/BadRequestProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"500":{"$ref":"#/components/responses/InternalServerErrorProblem"},"429":{"$ref":"#/components/responses/TooManyRequestsProblem"}},"security":[]}},"/api/brands/highest_trust_score":{"get":{"tags":["brands"],"summary":"Get Top 10 Brands by Trust Score","description":"Returns the top 10 brands ranked by trust score.\n\n**Performance \u0026 Caching:**\n- Response is cached for 1 day (24 hours)\n- Data is returned immediately from cache\n- Cache is public (can be cached by CDNs and browsers)\n\n**What it returns:**\n- Top 10 brands with highest trust scores\n- Brands must have a trust score greater than 0\n- Sorted by trust score in descending order\n\nThis endpoint helps users discover the most trusted brands on the platform.\n","operationId":"getBrandsHighestTrustScore","responses":{"200":{"description":"Successfully retrieved highest trust score brands","headers":{"API-Version":{"$ref":"#/components/headers/ApiVersion"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimitPolicy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Brand"}},"example":[{"name":"Thorne","slug":"thorne","trust_score":95.5,"logo":"https://example.com/thorne-logo.png"},{"name":"Pure Encapsulations","slug":"pure-encapsulations","trust_score":94.2,"logo":"https://example.com/pure-encapsulations-logo.png"}]}}},"400":{"$ref":"#/components/responses/BadRequestProblem"},"500":{"$ref":"#/components/responses/InternalServerErrorProblem"},"429":{"$ref":"#/components/responses/TooManyRequestsProblem"}},"security":[],"parameters":[{"$ref":"#/components/parameters/ApiVersion"}]}},"/api/nutrients":{"get":{"tags":["nutrients"],"summary":"List Nutrients","description":"List and paginate Nutrients (formerly Supplements)","operationId":"indexNutrients","parameters":[{"$ref":"#/components/parameters/ApiVersion"},{"name":"page","in":"query","description":"Page number","required":false,"schema":{"type":"integer"},"examples":{"first":{"value":1,"summary":"The first page"}}},{"name":"filter=featured","in":"query","description":"Filter for featured Nutrients","required":false,"schema":{"type":"boolean"},"examples":{"first":{"value":true,"summary":"Return only featured Nutrients"}}}],"responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/NutrientSummary"}}}},"headers":{"API-Version":{"$ref":"#/components/headers/ApiVersion"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimitPolicy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}}},"400":{"$ref":"#/components/responses/BadRequestProblem"},"500":{"$ref":"#/components/responses/InternalServerErrorProblem"},"429":{"$ref":"#/components/responses/TooManyRequestsProblem"}},"security":[]}},"/api/nutrients/{slug}":{"get":{"tags":["nutrients"],"summary":"Show a Nutrient","description":"Show a single Nutrient with associated Effects","operationId":"showNutrient","parameters":[{"$ref":"#/components/parameters/ApiVersion"},{"name":"slug","in":"path","description":"Slug","required":true,"schema":{"type":"string"},"examples":{"vitamin_d":{"value":"vitamin-d","summary":"Vitamin D"}}}],"responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NutrientDetail"}}},"headers":{"API-Version":{"$ref":"#/components/headers/ApiVersion"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimitPolicy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}}},"400":{"$ref":"#/components/responses/BadRequestProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"500":{"$ref":"#/components/responses/InternalServerErrorProblem"},"429":{"$ref":"#/components/responses/TooManyRequestsProblem"}},"security":[]}},"/api/protocols/{slug}":{"get":{"tags":["protocols"],"summary":"Show a Protocol","description":"Returns a protocol only when it is public.","operationId":"showProtocol","parameters":[{"$ref":"#/components/parameters/ApiVersion"},{"name":"slug","in":"path","description":"Slug","required":true,"schema":{"type":"string"},"examples":{"first":{"value":"tim-ferriss-longevity-protocol","summary":"Tim Ferris Longevity Protocol"}}}],"responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CachedProtocol"}}},"headers":{"API-Version":{"$ref":"#/components/headers/ApiVersion"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimitPolicy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}}},"400":{"$ref":"#/components/responses/BadRequestProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"500":{"$ref":"#/components/responses/InternalServerErrorProblem"},"429":{"$ref":"#/components/responses/TooManyRequestsProblem"}},"security":[]}},"/api/product_categories":{"get":{"tags":["product_categories"],"summary":"List Product Categories","description":"Get a list of all product categories, optionally filtered by search query","operationId":"listProductCategories","parameters":[{"$ref":"#/components/parameters/ApiVersion"},{"name":"query","in":"query","description":"Search query to filter categories by name or ID","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProductCategory"}}}},"headers":{"API-Version":{"$ref":"#/components/headers/ApiVersion"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimitPolicy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}}},"400":{"$ref":"#/components/responses/BadRequestProblem"},"500":{"$ref":"#/components/responses/InternalServerErrorProblem"},"429":{"$ref":"#/components/responses/TooManyRequestsProblem"}},"security":[]}},"/api/product_categories/{id}":{"get":{"tags":["product_categories"],"summary":"Get Product Category by ID","description":"Get a specific product category by ID or slug. Uses hybrid matching to find the best match.","operationId":"getProductCategory","parameters":[{"$ref":"#/components/parameters/ApiVersion"},{"name":"id","in":"path","description":"Product category ID or slug","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductCategory"}}},"headers":{"API-Version":{"$ref":"#/components/headers/ApiVersion"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimitPolicy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}}},"302":{"description":"Redirect to canonical product category"},"400":{"$ref":"#/components/responses/BadRequestProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"500":{"$ref":"#/components/responses/InternalServerErrorProblem"},"429":{"$ref":"#/components/responses/TooManyRequestsProblem"}},"security":[]}},"/api/product_categories/{id}/top_products":{"get":{"tags":["product_categories"],"summary":"List Top Products for Category","operationId":"listProductCategoryTopProducts","parameters":[{"$ref":"#/components/parameters/ApiVersion"},{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Resource ID"},{"name":"page","in":"query","required":false,"schema":{"type":"integer"},"description":"Page number"}],"responses":{"200":{"description":"Successful operation. The category's flagged products by flag; a key is omitted when no product carries that flag, and the body is `{}` when the category does not exist.","content":{"application/json":{"schema":{"type":"object","properties":{"most_trusted":{"$ref":"#/components/schemas/CachedProduct"},"best_value":{"$ref":"#/components/schemas/CachedProduct"},"most_popular":{"$ref":"#/components/schemas/CachedProduct"}}}}},"headers":{"API-Version":{"$ref":"#/components/headers/ApiVersion"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimitPolicy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}}},"400":{"$ref":"#/components/responses/BadRequestProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"500":{"$ref":"#/components/responses/InternalServerErrorProblem"},"429":{"$ref":"#/components/responses/TooManyRequestsProblem"}},"security":[]}},"/api/health_effects/{id}":{"get":{"tags":["health_effects"],"summary":"Get Health Effect by ID","description":"Returns a single health effect with its associated papers","operationId":"getHealthEffect","parameters":[{"$ref":"#/components/parameters/ApiVersion"},{"name":"id","in":"path","description":"ID of the health effect to retrieve","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthEffect"}}},"headers":{"API-Version":{"$ref":"#/components/headers/ApiVersion"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimitPolicy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}}},"400":{"$ref":"#/components/responses/BadRequestProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"500":{"$ref":"#/components/responses/InternalServerErrorProblem"},"429":{"$ref":"#/components/responses/TooManyRequestsProblem"}},"security":[]}},"/api/health_goals":{"get":{"tags":["health_goals"],"summary":"List Health Goals","description":"List all health goals with their associated subgoals","operationId":"listHealthGoals","responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/HealthGoal"}}}},"headers":{"API-Version":{"$ref":"#/components/headers/ApiVersion"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimitPolicy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}}},"400":{"$ref":"#/components/responses/BadRequestProblem"},"500":{"$ref":"#/components/responses/InternalServerErrorProblem"},"429":{"$ref":"#/components/responses/TooManyRequestsProblem"}},"security":[],"parameters":[{"$ref":"#/components/parameters/ApiVersion"}]}},"/api/health_goals/{id}":{"get":{"tags":["health_goals"],"summary":"Get Health Goal by ID","description":"Returns a single health goal with its associated subgoals","operationId":"getHealthGoal","parameters":[{"$ref":"#/components/parameters/ApiVersion"},{"name":"id","in":"path","description":"ID of the health goal to retrieve","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthGoalDetail"}}},"headers":{"API-Version":{"$ref":"#/components/headers/ApiVersion"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimitPolicy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}}},"400":{"$ref":"#/components/responses/BadRequestProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"500":{"$ref":"#/components/responses/InternalServerErrorProblem"},"429":{"$ref":"#/components/responses/TooManyRequestsProblem"}},"security":[]}},"/api/biomarkers":{"get":{"tags":["biomarkers"],"summary":"List Biomarkers","operationId":"listBiomarkers","parameters":[{"$ref":"#/components/parameters/ApiVersion"},{"name":"page","in":"query","required":false,"schema":{"type":"integer"},"description":"Page number"}],"responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Biomarker"}}}},"headers":{"API-Version":{"$ref":"#/components/headers/ApiVersion"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimitPolicy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}}},"400":{"$ref":"#/components/responses/BadRequestProblem"},"500":{"$ref":"#/components/responses/InternalServerErrorProblem"},"429":{"$ref":"#/components/responses/TooManyRequestsProblem"}},"security":[]}},"/api/biomarkers/{id}":{"get":{"tags":["biomarkers"],"summary":"Get Biomarker","operationId":"getBiomarker","parameters":[{"$ref":"#/components/parameters/ApiVersion"},{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Resource ID"}],"responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BiomarkerDetail"}}},"headers":{"API-Version":{"$ref":"#/components/headers/ApiVersion"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimitPolicy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}}},"400":{"$ref":"#/components/responses/BadRequestProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"500":{"$ref":"#/components/responses/InternalServerErrorProblem"},"429":{"$ref":"#/components/responses/TooManyRequestsProblem"}},"security":[]}},"/api/tested_reports":{"get":{"tags":["tested_reports"],"summary":"List Tested Reports","description":"List all published tested reports with pagination","operationId":"listTestedReports","parameters":[{"$ref":"#/components/parameters/ApiVersion"},{"name":"page","in":"query","description":"Page number for pagination","required":false,"schema":{"type":"integer","default":1}},{"name":"per_page","in":"query","description":"Number of items per page","required":false,"schema":{"type":"integer","default":10}}],"responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TestedReport"}}}},"headers":{"API-Version":{"$ref":"#/components/headers/ApiVersion"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimitPolicy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}}},"400":{"$ref":"#/components/responses/BadRequestProblem"},"500":{"$ref":"#/components/responses/InternalServerErrorProblem"},"429":{"$ref":"#/components/responses/TooManyRequestsProblem"}},"security":[]}},"/api/tested_reports/{id}":{"get":{"tags":["tested_reports"],"summary":"Get Tested Report by slug","description":"Returns a single published tested report by its slug","operationId":"getTestedReport","parameters":[{"$ref":"#/components/parameters/ApiVersion"},{"name":"id","in":"path","description":"Slug of the tested report to retrieve","required":true,"schema":{"type":"string","example":"berberine"}}],"responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TestedReport"}}},"headers":{"API-Version":{"$ref":"#/components/headers/ApiVersion"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimitPolicy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}}},"400":{"$ref":"#/components/responses/BadRequestProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"500":{"$ref":"#/components/responses/InternalServerErrorProblem"},"429":{"$ref":"#/components/responses/TooManyRequestsProblem"}},"security":[]}},"/api/documents/{slug}":{"get":{"tags":["documents"],"summary":"Get a document by slug","operationId":"getDocument","parameters":[{"$ref":"#/components/parameters/ApiVersion"},{"name":"slug","in":"path","description":"Slug of the document to retrieve. A document's alternate slug (kept after a slug correction) also resolves.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Document found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Document"}}},"headers":{"API-Version":{"$ref":"#/components/headers/ApiVersion"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimitPolicy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}}},"400":{"$ref":"#/components/responses/BadRequestProblem"},"404":{"$ref":"#/components/responses/NotFoundProblem"},"500":{"$ref":"#/components/responses/InternalServerErrorProblem"},"429":{"$ref":"#/components/responses/TooManyRequestsProblem"}},"security":[]}},"/api/searches/autocomplete":{"get":{"tags":["searches"],"summary":"Search Autocomplete","operationId":"searchAutocomplete","parameters":[{"$ref":"#/components/parameters/ApiVersion"},{"name":"query","in":"query","required":true,"schema":{"type":"string"},"description":"Search query prefix"}],"responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AutocompleteSuggestion"}}}},"headers":{"API-Version":{"$ref":"#/components/headers/ApiVersion"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimitPolicy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}}},"400":{"$ref":"#/components/responses/BadRequestProblem"},"500":{"$ref":"#/components/responses/InternalServerErrorProblem"},"429":{"$ref":"#/components/responses/TooManyRequestsProblem"}},"security":[]}}},"components":{"schemas":{"CachedProduct":{"type":"object","description":"Product payload served from ProductCache (ProductSerializer.find_all + ProductDto#as_json). Every key is always emitted.","required":["active_fda_recall","active_fda_recall_body","active_fda_recall_header","active_fda_recall_url","added_to_tested_by_suppco_at","additional_categories","additional_category_ids","archived","average_excipient_risk_rating","best_value","brand","brand_active_fda_recall","brand_id","brand_practitioner_grade_integration","brand_supple100","brand_trust_score","brand_trust_score_percentile","brand_trust_score_state","brand_trust_score_updated_at","category","category_name","certified","community_insights","contains_proprietary_blend","country_of_manufacture","eurofins_certified_supplement","eurofins_clean_sport_certified","excipients","failed_any_tests","faq_questions","fda_warning_letter_url","featured","format","free_from_artificial_colors_flavors_fillers","gluten_free_certified","gluten_free_ingredients","health_goals","heavy_metals_testing","heavy_metals_testing_public_explanation","id","identity_potency_testing","identity_potency_testing_public_explanation","igen_non_gmo_tested","image_url","informed_choice_certified","informed_sport_certified","intro_paragraph","label_url","mislabeled_principal_display_panel","most_popular","most_trusted","msrp","name","non_gmo_certified","non_gmo_ingredients","nsf_certified_for_sport","nsf_contents_certified","off_market","organic_ingredients","other_ingredients","patented_or_trademarked_ingredients","price","price_per_serving","price_per_serving_percentile_in_category","product_ingredients","product_line","product_trust_score","product_trust_score_complete","product_trust_score_complete_at","product_trust_score_percentile_in_category","product_trust_score_status","prop_65_warning_required","prop_65_warning_text","purchase_links","received_fda_warning_letter","resolved_fda_warning_letter","serving_size","servings_per_container","similar_products","slug","stacks_count_percentile_in_category","suggested_use","suppco_testing_headline","suppco_testing_sub_header","supplement_count","supplement_names","tested_by_suppco","transparent_batch_specific_coas","trending_percentage_30d","trust_clinical_study_url","trust_clinical_study_url2","trust_clinical_study_url3","trust_clinically_studied_product","trust_score_details","trust_score_suppressed","upc","usda_organic_certified","usp_verified","validated","vegan_action_certified","vegan_friendly_ingredients"],"properties":{"active_fda_recall":{"type":"boolean","nullable":true},"active_fda_recall_body":{"type":"string","nullable":true},"active_fda_recall_header":{"type":"string","nullable":true},"active_fda_recall_url":{"type":"string","nullable":true},"added_to_tested_by_suppco_at":{"type":"string","format":"date-time","nullable":true},"additional_categories":{"type":"array","items":{"type":"object","required":["id","name"],"properties":{"id":{"type":"string"},"name":{"type":"string"}}}},"additional_category_ids":{"type":"array","items":{"type":"string"}},"archived":{"type":"boolean","nullable":true},"average_excipient_risk_rating":{"type":"string","nullable":true},"best_value":{"type":"boolean"},"brand":{"type":"string"},"brand_active_fda_recall":{"type":"boolean","nullable":true},"brand_id":{"type":"string","nullable":true},"brand_practitioner_grade_integration":{"type":"boolean","nullable":true},"brand_supple100":{"type":"boolean","nullable":true},"brand_trust_score":{"type":"string","nullable":true,"description":"Decimal column serialized as a string (for example \"0.95\")."},"brand_trust_score_percentile":{"type":"string","nullable":true,"description":"Decimal column serialized as a string (for example \"0.95\")."},"brand_trust_score_state":{"type":"string","nullable":true},"brand_trust_score_updated_at":{"type":"string","format":"date-time","nullable":true},"category":{"type":"string","nullable":true},"category_name":{"type":"string","nullable":true},"certified":{"type":"boolean","nullable":true},"community_insights":{"type":"object","description":"Sections are emitted only when category and percentile data are available; the object can be empty.","required":[],"properties":{"cost":{"type":"object","required":["label","label_color","copy","bar_percentile","bar_percentage","bar_color"],"properties":{"label":{"type":"string"},"label_color":{"type":"string"},"copy":{"type":"string"},"bar_percentile":{"type":"number"},"bar_percentage":{"type":"number"},"bar_color":{"type":"string"}}},"quality":{"type":"object","required":["label","label_color","copy","bar_percentage","bar_color"],"properties":{"label":{"type":"string"},"label_color":{"type":"string"},"copy":{"type":"string"},"bar_percentage":{"type":"number"},"bar_color":{"type":"string"}}},"popularity":{"type":"object","required":["label","label_color","copy","show_trophy"],"properties":{"label":{"type":"string"},"label_color":{"type":"string"},"copy":{"type":"string"},"show_trophy":{"type":"boolean"}}},"trending":{"type":"object","required":["percentage_30d","label","label_color","copy"],"properties":{"percentage_30d":{"type":"number"},"label":{"type":"string"},"label_color":{"type":"string"},"copy":{"type":"string"}}}}},"contains_proprietary_blend":{"type":"boolean","nullable":true},"country_of_manufacture":{"type":"string","nullable":true},"eurofins_certified_supplement":{"type":"boolean","nullable":true},"eurofins_clean_sport_certified":{"type":"boolean","nullable":true},"excipients":{"type":"array","items":{"type":"object","required":["id","name","categories","risk_rating","score_details"],"properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"categories":{"type":"array","items":{"type":"string"}},"risk_rating":{"type":"string","nullable":true},"score_details":{"type":"object","required":["allergenic","gi_issues","insulin_resistance","potential_carcinogen","potential_other_chronic_serious","artificial_synthetic","potential_heavy_metals","fd_c_color_dye","no_list"],"properties":{"allergenic":{"type":"boolean"},"gi_issues":{"type":"boolean"},"insulin_resistance":{"type":"boolean"},"potential_carcinogen":{"type":"boolean"},"potential_other_chronic_serious":{"type":"boolean"},"artificial_synthetic":{"type":"boolean"},"potential_heavy_metals":{"type":"boolean"},"fd_c_color_dye":{"type":"boolean"},"no_list":{"type":"boolean"}}}}}},"failed_any_tests":{"type":"boolean"},"faq_questions":{"type":"string","description":"JSON-encoded array of FAQ entries (the raw jsonb column text, not a decoded array)."},"fda_warning_letter_url":{"type":"string","nullable":true},"prop_65_warning_required":{"type":"boolean","example":false,"description":"True when this product must show a California Proposition 65 warning. Clients show the warning only to California users who can buy the product in the Buying Club."},"prop_65_warning_text":{"type":"string","nullable":true,"description":"Exact Prop 65 warning wording supplied by the brand, as plain text (may contain line breaks). Always present when prop_65_warning_required is true."},"featured":{"type":"boolean","nullable":true},"format":{"type":"string","nullable":true},"free_from_artificial_colors_flavors_fillers":{"type":"boolean","nullable":true},"gluten_free_certified":{"type":"boolean","nullable":true},"gluten_free_ingredients":{"type":"boolean","nullable":true},"health_goals":{"type":"array","nullable":true,"items":{"type":"string"}},"heavy_metals_testing":{"type":"string","nullable":true},"heavy_metals_testing_public_explanation":{"type":"string","nullable":true},"id":{"type":"string","format":"uuid"},"identity_potency_testing":{"type":"string","nullable":true},"identity_potency_testing_public_explanation":{"type":"string","nullable":true},"igen_non_gmo_tested":{"type":"boolean","nullable":true},"image_url":{"type":"string","nullable":true},"informed_choice_certified":{"type":"boolean","nullable":true},"informed_sport_certified":{"type":"boolean","nullable":true},"intro_paragraph":{"type":"string","nullable":true},"label_url":{"type":"string","nullable":true},"mislabeled_principal_display_panel":{"type":"boolean","nullable":true},"most_popular":{"type":"boolean"},"most_trusted":{"type":"boolean"},"msrp":{"type":"string","nullable":true,"description":"Decimal column serialized as a string (for example \"0.95\")."},"name":{"type":"string"},"non_gmo_certified":{"type":"boolean","nullable":true},"non_gmo_ingredients":{"type":"boolean","nullable":true},"nsf_certified_for_sport":{"type":"boolean","nullable":true},"nsf_contents_certified":{"type":"boolean","nullable":true},"off_market":{"type":"boolean","nullable":true},"organic_ingredients":{"type":"boolean","nullable":true},"other_ingredients":{"type":"string","nullable":true},"patented_or_trademarked_ingredients":{"type":"boolean","nullable":true},"price":{"type":"string","nullable":true,"description":"Decimal column serialized as a string (for example \"0.95\")."},"price_per_serving":{"type":"string","nullable":true,"description":"Decimal column serialized as a string (for example \"0.95\")."},"price_per_serving_percentile_in_category":{"type":"number","nullable":true},"product_ingredients":{"type":"array","items":{"type":"object","required":["ancestry","category","from","id","name","units","amount","nutrient_id","converted_amount","converted_units","supplement"],"properties":{"ancestry":{"type":"string","nullable":true},"category":{"type":"string","nullable":true},"from":{"type":"string","nullable":true},"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"units":{"type":"string","nullable":true},"amount":{"type":"number"},"nutrient_id":{"type":"string","nullable":true},"converted_amount":{"type":"number","nullable":true},"converted_units":{"type":"string","nullable":true},"supplement":{"type":"object","required":["id","description","featured","health_goals","group","keywords","name","slug","do_not_exceed_amount","do_not_exceed_not_known","recommended_lower_end_daily_dose_amount","recommended_upper_end_daily_dose_amount"],"properties":{"id":{"type":"string","format":"uuid"},"description":{"type":"string","nullable":true},"featured":{"type":"boolean","nullable":true},"health_goals":{"type":"array","items":{"type":"string"}},"group":{"type":"string","nullable":true},"keywords":{"type":"array","items":{"type":"string"}},"name":{"type":"string","nullable":true},"slug":{"type":"string"},"do_not_exceed_amount":{"type":"string","nullable":true},"do_not_exceed_not_known":{"type":"boolean","nullable":true,"description":"Currently null: the SQL mapper reads a result key with trailing spaces."},"recommended_lower_end_daily_dose_amount":{"type":"string","nullable":true},"recommended_upper_end_daily_dose_amount":{"type":"string","nullable":true}},"nullable":true}}}},"product_line":{"type":"string","nullable":true},"product_trust_score":{"type":"string","nullable":true,"description":"Decimal column serialized as a string (for example \"0.95\")."},"product_trust_score_complete":{"type":"boolean","nullable":true},"product_trust_score_complete_at":{"type":"string","format":"date-time","nullable":true},"product_trust_score_percentile_in_category":{"type":"number","nullable":true},"product_trust_score_status":{"type":"string"},"purchase_links":{"type":"array","items":{"type":"object","required":["clicks","currency","id","price","state","url","updated_at"],"properties":{"clicks":{"type":"integer","nullable":true},"currency":{"type":"string","nullable":true},"id":{"type":"string","format":"uuid"},"price":{"type":"string","nullable":true},"state":{"type":"string","nullable":true},"url":{"type":"string"},"updated_at":{"type":"string","format":"date-time"}}}},"received_fda_warning_letter":{"type":"boolean","nullable":true},"resolved_fda_warning_letter":{"type":"boolean"},"serving_size":{"type":"string","nullable":true},"servings_per_container":{"type":"number","nullable":true},"similar_products":{"type":"array","items":{"type":"object"},"maxItems":0,"description":"Currently always empty: ProductSerializer.find_all assigns an empty array to every product."},"slug":{"type":"string","nullable":true},"stacks_count_percentile_in_category":{"type":"number","nullable":true},"suggested_use":{"type":"string","nullable":true},"suppco_testing_headline":{"type":"string","nullable":true},"suppco_testing_sub_header":{"type":"string","nullable":true},"supplement_count":{"type":"integer","nullable":true},"supplement_names":{"type":"array","nullable":true,"items":{"type":"string"}},"tested_by_suppco":{"type":"boolean","nullable":true},"transparent_batch_specific_coas":{"type":"boolean"},"trending_percentage_30d":{"type":"number","nullable":true},"trust_clinical_study_url":{"type":"string","nullable":true},"trust_clinical_study_url2":{"type":"string","nullable":true},"trust_clinical_study_url3":{"type":"string","nullable":true},"trust_clinically_studied_product":{"type":"boolean","nullable":true},"trust_score_details":{"type":"array","items":{"type":"object","required":["category","rank"],"properties":{"category":{"type":"string"},"rank":{"type":"string","enum":["high","okay","low","unknown"]}}}},"trust_score_suppressed":{"type":"boolean"},"upc":{"type":"string","nullable":true},"usda_organic_certified":{"type":"boolean","nullable":true},"usp_verified":{"type":"boolean","nullable":true},"validated":{"type":"boolean","nullable":true},"vegan_action_certified":{"type":"boolean","nullable":true},"vegan_friendly_ingredients":{"type":"boolean","nullable":true}}},"ProductAlternatives":{"type":"object","description":"ProductAlternatives.find. Each pick is null when the product has no category, the product is not found, or no product in the category carries that flag.","required":["highest_trust_product","best_value_product","most_stacked_product"],"properties":{"highest_trust_product":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/CachedProduct"}]},"best_value_product":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/CachedProduct"}]},"most_stacked_product":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/CachedProduct"}]}}},"BrandIndex":{"description":"BrandIndexSerializer payload.","allOf":[{"$ref":"#/components/schemas/BrandAttributes"},{"type":"object","required":["tested_by_suppco_product_count","last_tested_at"],"properties":{"tested_by_suppco_product_count":{"type":"integer","nullable":true},"last_tested_at":{"type":"string","format":"date-time","description":"Only populated on /api/brands/recently_tested; null elsewhere.","nullable":true}}}]},"BrandShow":{"description":"BrandShowSerializer payload.","allOf":[{"$ref":"#/components/schemas/BrandAttributes"},{"type":"object","required":["buying_club_added_at","product_image_url","most_stacked_products"],"properties":{"buying_club_added_at":{"type":"string","format":"date-time","nullable":true},"product_image_url":{"type":"string","nullable":true},"most_stacked_products":{"type":"array","items":{"type":"object","required":["slug","brand","image_url","name","health_goals"],"properties":{"slug":{"type":"string","nullable":true},"brand":{"type":"string"},"image_url":{"type":"string","nullable":true},"name":{"type":"string"},"health_goals":{"type":"array","nullable":true,"items":{"type":"string"}}}}}}}]},"ProductCard":{"type":"object","description":"Minimal product data for displaying product cards in lists and carousels.\nUsed for brand most stacked products, brand top products, and other product card displays.\nThis represents the ProductCardSerializer data shape.\n","required":["id","slug","name","brand","image_url","product_trust_score","product_trust_score_complete","product_trust_score_status","brand_trust_score","brand_trust_score_state","format","servings_per_container","serving_size","price","price_per_serving","health_goals","tested_by_suppco","active_fda_recall"],"properties":{"id":{"type":"string","format":"uuid","example":"3fa85f64-5717-4562-b3fc-2c963f66afa6"},"slug":{"type":"string","example":"vitamin-d3-5000-iu","nullable":true},"name":{"type":"string","example":"Vitamin D3 5000 IU"},"brand":{"type":"string","example":"Thorne"},"image_url":{"type":"string","nullable":true,"example":"https://example.com/product.jpg"},"product_trust_score":{"type":"string","nullable":true,"description":"Product's trust score (decimal serialized as a string); null unless product_trust_score_complete","example":"85.0"},"product_trust_score_complete":{"type":"boolean","description":"Whether the product trust score computation is complete","example":true},"product_trust_score_status":{"type":"string","description":"Raw Product TrustScore status","enum":["incomplete","complete","ineligible","off"],"example":"complete"},"brand_trust_score":{"type":"string","nullable":true,"description":"Brand's trust score (decimal serialized as a string)","example":"90.0"},"brand_trust_score_state":{"type":"string","nullable":true,"description":"State of the brand trust score computation","enum":["pending","partial","complete","confirmed","ineligible","off"],"example":"complete"},"format":{"type":"string","nullable":true,"description":"Product format (capsule, softgel, tablet, etc.)","example":"capsule"},"servings_per_container":{"type":"string","nullable":true,"description":"Number of servings per container (as string for precision)","example":"60"},"serving_size":{"type":"string","nullable":true,"description":"Serving size description","example":"1 capsule"},"price":{"type":"string","nullable":true,"description":"Product price (as string for precision)","example":"29.99"},"price_per_serving":{"type":"string","nullable":true,"description":"Price per serving (as string for precision)","example":"0.50"},"health_goals":{"type":"array","items":{"type":"string"},"description":"Health goals associated with this product","example":["bone-health","immune-support"],"nullable":true},"tested_by_suppco":{"type":"boolean","nullable":true},"active_fda_recall":{"type":"boolean","nullable":true}}},"Brand":{"type":"object","properties":{"name":{"type":"string","example":"Nature Made"},"slug":{"type":"string","example":"nature-made"},"small_logo_url":{"type":"string","format":"uri","nullable":true,"description":"Small square brand icon (128x128), suitable for compact UI like the TESTED brand catalog.","example":"https://res.cloudinary.com/suppco/image/upload/brands/123/small_logo.png"},"trust_score":{"type":"number","example":5.5},"trust_score_details":{"type":"array","items":{"type":"object","properties":{"category":{"type":"string","example":"Manufacturing Standards"},"points":{"type":"number","example":5.5},"rank":{"type":"string","example":"low"}}}},"trust_score_updated_at":{"type":"string","example":"2023-04-11T19:08:24.770Z"},"tested_by_suppco":{"type":"boolean","example":true,"description":"True when at least one of the brand's on-market products is enrolled in TESTED by SuppCo."},"tested_by_suppco_product_count":{"type":"integer","example":12,"description":"Number of the brand's on-market, trust-score-complete products enrolled in TESTED by SuppCo."},"last_tested_at":{"type":"string","format":"date-time","nullable":true,"description":"Most recent time any of the brand's currently-surfaced products entered the TESTED by SuppCo program (`MAX(products.added_to_tested_by_suppco_at)`). Only populated on the `/api/brands/recently_tested` payload; null on other brand list endpoints that don't join the recency rollup.","example":"2026-06-11T19:08:24.770Z"}}},"NutrientSummary":{"type":"object","description":"SupplementSerializer output (nutrient index and most_saved).","required":["id","name","slug","nutrient_id","goal_tags","category","community_age_distribution","community_gender_distribution","community_goals_distribution","description","do_not_exceed_amount","do_not_exceed_not_known","dosage_guide","dosage_summary","featured","group","health_goals","health_subgoals","keywords","primary","recommended_lower_end_daily_dose_amount","recommended_upper_end_daily_dose_amount","short_name","short_summary","units","product_category_id","product_category_name"],"properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"slug":{"type":"string"},"nutrient_id":{"type":"string","description":"Same value as slug."},"goal_tags":{"type":"array","nullable":true,"description":"Same value as health_goals.","items":{"type":"string"}},"category":{"type":"string","nullable":true},"community_age_distribution":{"type":"object","nullable":true,"description":"Stored JSON distribution keyed by demographic or health goal."},"community_gender_distribution":{"type":"object","nullable":true,"description":"Stored JSON distribution keyed by demographic or health goal."},"community_goals_distribution":{"type":"object","nullable":true,"description":"Stored JSON distribution keyed by demographic or health goal."},"description":{"type":"string","nullable":true},"do_not_exceed_amount":{"type":"number","nullable":true},"do_not_exceed_not_known":{"type":"boolean"},"dosage_guide":{"type":"string","nullable":true},"dosage_summary":{"type":"string","nullable":true},"featured":{"type":"boolean","nullable":true},"group":{"type":"string","nullable":true},"health_goals":{"type":"array","nullable":true,"items":{"type":"string"}},"health_subgoals":{"type":"array","nullable":true,"items":{"type":"string"}},"keywords":{"type":"array","nullable":true,"items":{"type":"string"}},"primary":{"type":"boolean","nullable":true},"recommended_lower_end_daily_dose_amount":{"type":"number","nullable":true},"recommended_upper_end_daily_dose_amount":{"type":"number","nullable":true},"short_name":{"type":"string","nullable":true},"short_summary":{"type":"string","nullable":true},"units":{"type":"string"},"product_category_id":{"type":"string","nullable":true},"product_category_name":{"type":"string","nullable":true}}},"NutrientDetail":{"description":"SupplementPageSerializer output (nutrient show).","allOf":[{"$ref":"#/components/schemas/NutrientSummary"},{"type":"object","required":["references","content_page","supplement_content_page","health_effects","similar_supplements"],"properties":{"references":{"type":"array","items":{"type":"object","required":["reference_apa"],"properties":{"reference_apa":{"type":"string"}}}},"content_page":{"type":"object","nullable":true,"required":["content"],"properties":{"content":{"description":"Stored content-page JSON passed through without transformation."}}},"supplement_content_page":{"allOf":[{"$ref":"#/components/schemas/SupplementContentPage"}],"nullable":true},"health_effects":{"type":"array","items":{"$ref":"#/components/schemas/NutrientHealthEffect"}},"similar_supplements":{"type":"array","items":{"type":"object","required":["id","name","slug","category","health_goals","health_subgoals","short_summary"],"properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"slug":{"type":"string"},"category":{"type":"string","nullable":true},"health_goals":{"type":"array","nullable":true,"items":{"type":"string"}},"health_subgoals":{"type":"array","nullable":true,"items":{"type":"string"}},"short_summary":{"type":"string","nullable":true}}}}}}]},"CachedProtocol":{"type":"object","description":"Protocol as served from ProtocolCache (ProtocolSerializer.find_all + ProtocolDto). Decimal columns serialize as strings.","required":["id","article","article_html","created_at","demographics","description","description_html","editor","health_goal","image_url","intended_for","intended_for_html","name","other_items","position","public","slug","updated_at","version","versions","warnings","warnings_html"],"properties":{"id":{"type":"string","format":"uuid","example":"def0a21f-b81a-4f28-a3be-2c55ddfed52a"},"article":{"type":"string","nullable":true,"example":"SEO content here"},"article_html":{"type":"string","nullable":true,"example":"\u003cp\u003eSEO content here\u003c/p\u003e"},"created_at":{"type":"string","example":"2023-02-27T18:02:44.514Z"},"demographics":{"$ref":"#/components/schemas/ProtocolDemographics"},"description":{"type":"string","nullable":true,"example":"A protocol for weight loss"},"description_html":{"type":"string","nullable":true,"example":"\u003cp\u003eA protocol for weight loss\u003c/p\u003e"},"editor":{"type":"object","required":["id","name","slug","avatar_url","is_expert","credentials","expertise","byline"],"properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true,"example":"John Doe"},"slug":{"type":"string","nullable":true,"example":"john-doe"},"avatar_url":{"type":"string","nullable":true},"is_expert":{"type":"boolean","nullable":true},"credentials":{"type":"string","nullable":true},"expertise":{"type":"string","nullable":true},"byline":{"type":"string","nullable":true}}},"health_goal":{"type":"string","example":"Weight Loss"},"image_url":{"type":"string","nullable":true},"intended_for":{"type":"string","nullable":true},"intended_for_html":{"type":"string","nullable":true},"name":{"type":"string","example":"Weight Loss Protocol"},"other_items":{"type":"array","items":{"type":"string","example":"10g of Brazil Nuts, Twice Daily"}},"position":{"type":"integer","nullable":true,"example":0},"public":{"type":"boolean","nullable":true},"slug":{"type":"string","example":"weight-loss-protocol"},"updated_at":{"type":"string","example":"2023-04-11T19:08:24.770Z"},"version":{"type":"integer","nullable":true,"example":1},"versions":{"type":"array","items":{"$ref":"#/components/schemas/CachedProtocolVersion"}},"warnings":{"type":"string","nullable":true},"warnings_html":{"type":"string","nullable":true}}},"ProductCategory":{"type":"object","required":["description","id","name","position","products_count","default_serving_count","keywords","nutrient"],"properties":{"id":{"type":"string","example":"vitamin-d","description":"Unique identifier for the product category"},"name":{"type":"string","example":"Vitamin D","description":"Display name of the product category"},"description":{"type":"string","nullable":true,"example":"Essential vitamin for bone health and immune function","description":"Description of the product category"},"position":{"type":"integer","nullable":true,"example":1,"description":"Position for ordering featured categories"},"products_count":{"type":"integer","example":42,"description":"Number of products in this category"},"default_serving_count":{"type":"string","nullable":true,"example":"30","description":"Default serving count for products in this category"},"keywords":{"type":"array","nullable":true,"items":{"type":"string"},"example":["cholecalciferol","ergocalciferol"],"description":"Keywords associated with this category"},"nutrient":{"type":"object","nullable":true,"description":"Associated supplement/nutrient information","required":["id","name","slug","health_goals","health_subgoals"],"properties":{"id":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440000","description":"UUID of the supplement/nutrient"},"name":{"type":"string","nullable":true,"example":"Vitamin D3","description":"Name of the supplement/nutrient"},"slug":{"type":"string","example":"vitamin-d3","description":"Slug of the supplement/nutrient"},"health_goals":{"type":"array","items":{"type":"string"},"example":["Bone \u0026 Joint Health","Essential Health"],"description":"Health goals associated with the nutrient"},"health_subgoals":{"type":"array","items":{"type":"string"},"example":["Bone Density","Immune Support"],"description":"Health subgoals associated with the nutrient"}}},"popularity_rank":{"type":"integer","example":1,"description":"1..N popularity ordinal. Only emitted when the record carries the popularity ranking select (popular and shop categories endpoints)."},"available_products_count":{"type":"integer","example":12,"description":"Shoppable card count. Only emitted on the shop categories endpoint."}}},"HealthEffect":{"type":"object","description":"HealthEffect#as_json. Only citation-approved papers are included.","required":["id","supplement_id","health_subgoal_id","state","grade","outcome","impact_magnitude","research_confidence","summary","short_summary","headline","bullet_points","papers"],"properties":{"id":{"type":"string","format":"uuid","example":"def0a21f-b81a-4f28-a3be-2c55ddfed52a"},"supplement_id":{"type":"string","format":"uuid","example":"def0a21f-b81a-4f28-a3be-2c55ddfed52a"},"health_subgoal_id":{"type":"string","example":"joint-support"},"state":{"type":"string","nullable":true,"example":"completed"},"grade":{"type":"string","nullable":true,"example":"A"},"outcome":{"type":"string","nullable":true,"example":"positive"},"impact_magnitude":{"type":"string","nullable":true,"example":"large"},"research_confidence":{"type":"string","nullable":true,"example":"high"},"summary":{"type":"string","nullable":true},"short_summary":{"type":"string","nullable":true,"description":"From openai_response; null when there is no AI response."},"headline":{"type":"string","nullable":true,"description":"From openai_response; null when there is no AI response."},"bullet_points":{"type":"array","nullable":true,"items":{"type":"string"},"description":"From openai_response; null when there is no AI response."},"papers":{"type":"array","items":{"type":"object","required":["id","authors","doi","journal","pages","primary_author","title","year"],"properties":{"id":{"type":"string","format":"uuid","example":"def0a21f-b81a-4f28-a3be-2c55ddfed52a"},"authors":{"type":"array","items":{"type":"string"},"example":["Smith, J.","Johnson, A."]},"doi":{"type":"string","example":"10.1234/example.2023"},"journal":{"type":"string","nullable":true,"example":"Journal of Nutrition"},"pages":{"type":"string","nullable":true,"example":"123-145"},"primary_author":{"type":"string","nullable":true,"example":"Smith, J."},"title":{"type":"string","example":"Effects of Vitamin D on Bone Health"},"year":{"type":"string","nullable":true,"example":"2023"}}}}}},"HealthGoal":{"type":"object","required":["id","name","icon","color","image_url","description","nutrients_count","grade_a_effects_count","grade_b_effects_count","paper_references_count","subgoal_ids","subgoal_names","subgoals","protocols","most_stacked_products","community_supplement_ranks"],"properties":{"id":{"type":"string","example":"bone-joint-health"},"name":{"type":"string","example":"Bone \u0026 Joint Health"},"icon":{"type":"string","example":"bone-joint-health"},"color":{"type":"string","example":"#9CA3AF"},"image_url":{"type":"string","nullable":true,"example":"https://res.cloudinary.com/example/health_goals/bone-joint-health/image"},"description":{"type":"string","nullable":true,"example":"Supplements and nutrients that support bone density and joint health."},"nutrients_count":{"type":"integer","example":12},"grade_a_effects_count":{"type":"integer","example":5},"grade_b_effects_count":{"type":"integer","example":3},"paper_references_count":{"type":"integer","example":42},"subgoal_ids":{"type":"array","items":{"type":"string"},"example":["joint-support","calcium-absorption"]},"subgoal_names":{"type":"array","items":{"type":"string"},"example":["Joint Support","Calcium Absorption"]},"subgoals":{"type":"array","items":{"type":"object","required":["id","name","description"],"properties":{"id":{"type":"string","example":"joint-support"},"name":{"type":"string","example":"Joint Support"},"description":{"type":"string","nullable":true,"example":"Supplements that help maintain healthy joint function and mobility."}}}},"protocols":{"type":"array","items":{"type":"object","required":["id","slug","name","image_url","thumbnail_url","essential"],"properties":{"id":{"type":"string"},"slug":{"type":"string"},"name":{"type":"string"},"image_url":{"type":"string","nullable":true},"thumbnail_url":{"type":"string","nullable":true},"essential":{"type":"boolean"}}}},"most_stacked_products":{"type":"array","items":{"$ref":"#/components/schemas/ProductCard"}},"community_supplement_ranks":{"type":"array","items":{"type":"object","required":["rank","product_count","supplement_name","supplement_slug"],"properties":{"rank":{"type":"integer"},"product_count":{"type":"integer"},"supplement_name":{"type":"string"},"supplement_slug":{"type":"string"}}}}}},"HealthGoalDetail":{"description":"HealthGoalSerializer#as_json (show). Index fields plus live-computed `nutrients`.","allOf":[{"$ref":"#/components/schemas/HealthGoal"},{"type":"object","required":["nutrients"],"properties":{"nutrients":{"type":"array","items":{"type":"object","required":["id","slug","name","health_goals","health_effects"],"properties":{"id":{"type":"string","format":"uuid"},"slug":{"type":"string"},"name":{"type":"string","nullable":true},"health_goals":{"type":"array","items":{"type":"string"}},"health_effects":{"type":"array","items":{"type":"object","required":["health_effect_id","health_subgoal_id","health_subgoal_name","grade","impact_magnitude","outcome","research_confidence","summary","short_summary","headline","bullet_points"],"properties":{"health_effect_id":{"type":"string","format":"uuid"},"health_subgoal_id":{"type":"string"},"health_subgoal_name":{"type":"string"},"grade":{"type":"string","nullable":true},"impact_magnitude":{"type":"string","nullable":true},"outcome":{"type":"string","nullable":true},"research_confidence":{"type":"string","nullable":true},"summary":{"type":"string","nullable":true},"short_summary":{"type":"string","nullable":true},"headline":{"type":"string","nullable":true},"bullet_points":{"nullable":true,"description":"openai_response-\u003e'bullet_points'. Parsed to an array when the JSON text starts with `[`; otherwise passed through unparsed."}}}}}}}}}]},"Biomarker":{"type":"object","description":"BiomarkerSerializer (GET /api/biomarkers).","required":["id","slug","name","description","category","unit_of_measure","normal_range_min","normal_range_max","male_reference_range_low","male_reference_range_high","male_optimal_range_low","male_optimal_range_high","female_reference_range_low","female_reference_range_high","female_optimal_range_low","female_optimal_range_high","male_description","female_description","function_health_categories","synonyms","recommendations_count"],"properties":{"id":{"type":"string","format":"uuid"},"slug":{"type":"string","format":"uuid","description":"Same value as `id`."},"name":{"type":"string"},"description":{"type":"string","nullable":true},"category":{"type":"string","nullable":true},"unit_of_measure":{"type":"string","nullable":true},"normal_range_min":{"$ref":"#/components/schemas/BiomarkerRangeValue"},"normal_range_max":{"$ref":"#/components/schemas/BiomarkerRangeValue"},"male_reference_range_low":{"$ref":"#/components/schemas/BiomarkerRangeValue"},"male_reference_range_high":{"$ref":"#/components/schemas/BiomarkerRangeValue"},"male_optimal_range_low":{"$ref":"#/components/schemas/BiomarkerRangeValue"},"male_optimal_range_high":{"$ref":"#/components/schemas/BiomarkerRangeValue"},"female_reference_range_low":{"$ref":"#/components/schemas/BiomarkerRangeValue"},"female_reference_range_high":{"$ref":"#/components/schemas/BiomarkerRangeValue"},"female_optimal_range_low":{"$ref":"#/components/schemas/BiomarkerRangeValue"},"female_optimal_range_high":{"$ref":"#/components/schemas/BiomarkerRangeValue"},"male_description":{"type":"string","nullable":true},"female_description":{"type":"string","nullable":true},"function_health_categories":{"type":"array","nullable":true,"items":{"type":"string"}},"synonyms":{"type":"array","nullable":true,"items":{"type":"string"}},"recommendations_count":{"type":"integer"}}},"BiomarkerDetail":{"type":"object","description":"BiomarkerDetailSerializer (GET /api/biomarkers/{id}).","required":["id","slug","name","description","category","unit_of_measure","normal_range_min","normal_range_max","male_reference_range_low","male_reference_range_high","male_optimal_range_low","male_optimal_range_high","female_reference_range_low","female_reference_range_high","female_optimal_range_low","female_optimal_range_high","male_description","female_description","function_health_categories","synonyms","recommendations"],"properties":{"id":{"type":"string","format":"uuid"},"slug":{"type":"string","format":"uuid","description":"Same value as `id`."},"name":{"type":"string"},"description":{"type":"string","nullable":true},"category":{"type":"string","nullable":true},"unit_of_measure":{"type":"string","nullable":true},"normal_range_min":{"$ref":"#/components/schemas/BiomarkerRangeValue"},"normal_range_max":{"$ref":"#/components/schemas/BiomarkerRangeValue"},"male_reference_range_low":{"$ref":"#/components/schemas/BiomarkerRangeValue"},"male_reference_range_high":{"$ref":"#/components/schemas/BiomarkerRangeValue"},"male_optimal_range_low":{"$ref":"#/components/schemas/BiomarkerRangeValue"},"male_optimal_range_high":{"$ref":"#/components/schemas/BiomarkerRangeValue"},"female_reference_range_low":{"$ref":"#/components/schemas/BiomarkerRangeValue"},"female_reference_range_high":{"$ref":"#/components/schemas/BiomarkerRangeValue"},"female_optimal_range_low":{"$ref":"#/components/schemas/BiomarkerRangeValue"},"female_optimal_range_high":{"$ref":"#/components/schemas/BiomarkerRangeValue"},"male_description":{"type":"string","nullable":true},"female_description":{"type":"string","nullable":true},"function_health_categories":{"type":"array","nullable":true,"items":{"type":"string"}},"synonyms":{"type":"array","nullable":true,"items":{"type":"string"}},"recommendations":{"type":"array","items":{"$ref":"#/components/schemas/BiomarkerRecommendation"}}}},"TestedReport":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"def0a21f-b81a-4f28-a3be-2c55ddfed52a"},"title":{"type":"string","example":"Berberine"},"slug":{"type":"string","example":"berberine"},"description":{"type":"string","nullable":true,"example":"We tested the top 10 Berberines and the results were shocking"},"published_at":{"type":"string","format":"date-time","nullable":true,"example":"2023-04-11T19:08:24.770Z"},"public_report_url":{"type":"string","nullable":true,"example":"https://supp.co/tested/berberine.pdf"},"pdf_url":{"type":"string","nullable":true,"example":"https://cloudinary.com/some/uuid.pdf"},"creator":{"type":"string","nullable":true,"example":"SuppCo"},"author":{"type":"string","nullable":true,"example":"SuppCo Research Team"},"subject":{"type":"string","nullable":true,"example":"Berberine Supplement Quality Analysis"},"keywords":{"type":"string","nullable":true,"example":"berberine, supplements, quality testing, third-party testing"}}},"Document":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"title":{"type":"string","nullable":true},"slug":{"type":"string","nullable":true},"excerpt":{"type":"string","nullable":true},"meta_title":{"type":"string","nullable":true},"meta_description":{"type":"string","nullable":true},"published_at":{"type":"string","format":"date-time","nullable":true},"author":{"allOf":[{"$ref":"#/components/schemas/LimitedPublicUser"}],"nullable":true,"description":"Null when the document has no author."},"social_image":{"type":"string","nullable":true},"status":{"type":"string","nullable":true},"card_image_url":{"type":"string","nullable":true},"header_image_url":{"type":"string","nullable":true},"social_image_url":{"type":"string","nullable":true},"content_html":{"type":"string","nullable":true},"content_plain_text":{"type":"string","nullable":true},"no_index":{"type":"boolean"},"citations_html":{"type":"string","nullable":true},"topic":{"type":"object","properties":{"id":{"type":"string"},"comments_count":{"type":"integer"},"likes_count":{"type":"integer"},"featured":{"type":"boolean"}},"required":["id","comments_count","likes_count","featured"],"nullable":true}},"required":["id","title","slug","excerpt","meta_title","meta_description","published_at","author","social_image","status","card_image_url","header_image_url","social_image_url","content_html","content_plain_text","no_index","citations_html","topic"]},"AutocompleteSuggestion":{"oneOf":[{"type":"object","required":["type","value","rank","trust_score"],"properties":{"type":{"type":"string","enum":["Brand"]},"value":{"type":"string"},"rank":{"type":"number"},"trust_score":{"oneOf":[{"type":"string","nullable":true},{"type":"number"}]}}},{"type":"object","required":["type","value","rank","stack_count","save_count"],"properties":{"type":{"type":"string","enum":["Nutrient"]},"value":{"type":"string","nullable":true},"rank":{"type":"number"},"stack_count":{"type":"integer","nullable":true},"save_count":{"type":"integer","nullable":true}}},{"type":"object","required":["type","value","rank","data"],"properties":{"type":{"type":"string","enum":["Product"]},"value":{"type":"string","nullable":true},"rank":{"type":"number"},"data":{"type":"object","required":["brand","brand_trust_score","name","slug"],"properties":{"brand":{"type":"string"},"brand_trust_score":{"oneOf":[{"type":"string","nullable":true},{"type":"number"}]},"name":{"type":"string"},"slug":{"type":"string","nullable":true}}}}}]},"ProblemDetails":{"type":"object","description":"RFC 9457 problem details. Returned for API errors: unmatched routes and\nunhandled errors use the application/problem+json media type; errors\nrendered by an endpoint use application/json with the same fields.\n`error` / `errors` are legacy members kept for existing clients.\n","properties":{"type":{"type":"string","description":"URI reference identifying the problem type; `about:blank` when the HTTP status says it all.","example":"about:blank"},"title":{"type":"string","description":"Short summary of the problem type (the HTTP status phrase for `about:blank`).","example":"Not Found"},"status":{"type":"integer","description":"HTTP status code of this response.","example":404},"detail":{"type":"string","description":"Human-readable explanation of this occurrence.","example":"No route matches GET /api/does-not-exist"},"error":{"type":"string","description":"Legacy single error message.","example":"Not Found"},"errors":{"type":"array","description":"Legacy list of error messages.","items":{"type":"string"}}},"required":["type","title","status"]},"BrandAttributes":{"type":"object","description":"Attributes shared by BrandIndexSerializer and BrandShowSerializer.","required":["id","name","slug","address","average_product_price","brand_summary_copy","cgmp","certifying_body","description","logo_url","made_in_usa","main_product_formats","practitioner_portal_url","product_count","small_logo_url","support_email","trust_score","trust_score_percentile","trust_score_state","trust_score_updated_at","warning_letter_reason","warning_letter_resolved","warning_letter_url","website_url","updated_at","trust_score_details","trust_score_percentile_label","trust_score_percentile_color","clean_label_project_certified","active_fda_recall","clinically_studied_product","contains_proprietary_blend","doctor_founded","eurofins_certified_supplement","eurofins_clean_sport_certified","free_from_artificial_colors_flavors_fillers","gluten_free_certified","gluten_free_ingredients","igen_non_gmo_tested","informed_choice_certified","informed_sport_certified","iso_17025_accredited_testing_labs","lot_tested","mislabeled_principal_display_panel","non_gmo_certified","non_gmo_ingredients","nsf_certified","nsf_certified_for_sport","nsf_contents_certified","organic_ingredients","patented_or_trademarked_ingredients","practitioner_grade_integration","raw_ingredient_testing","supple100","tested_for_heavy_metals","tested_for_identity","tested_for_potency","tested_for_purity","tested_by_suppco","third_party_lab_tested","transparent_batch_specific_coas","usda_organic_certified","usp_verified","vegan_action_certified","vegan_friendly_ingredients"],"properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"slug":{"type":"string","nullable":true},"address":{"type":"string","nullable":true},"average_product_price":{"type":"string","description":"Decimal column serialized as a string.","nullable":true},"brand_summary_copy":{"type":"string"},"cgmp":{"type":"string","nullable":true},"certifying_body":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"logo_url":{"type":"string","nullable":true},"made_in_usa":{"type":"string","nullable":true},"main_product_formats":{"type":"array","nullable":true,"items":{"type":"string"}},"practitioner_portal_url":{"type":"string","nullable":true},"product_count":{"type":"integer"},"small_logo_url":{"type":"string","nullable":true},"support_email":{"type":"string","nullable":true},"trust_score":{"type":"string","description":"Decimal column serialized as a string. -1 when unscored.","nullable":true},"trust_score_percentile":{"type":"string","description":"Decimal column serialized as a string.","nullable":true},"trust_score_state":{"type":"string","enum":["pending","partial","complete","confirmed","ineligible","off"]},"trust_score_updated_at":{"type":"string","format":"date-time","nullable":true},"warning_letter_reason":{"type":"string","nullable":true},"warning_letter_resolved":{"type":"boolean"},"warning_letter_url":{"type":"string","nullable":true},"website_url":{"type":"string","nullable":true},"updated_at":{"type":"string","format":"date-time"},"trust_score_details":{"type":"array","items":{"type":"object","required":["category","rank"],"properties":{"category":{"type":"string"},"rank":{"type":"string"}}}},"trust_score_percentile_label":{"type":"string","enum":["Elite","High","Average","Low","N/A"]},"trust_score_percentile_color":{"type":"string","description":"purple, green, orange, or red; null when trust_score_percentile is null.","nullable":true},"clean_label_project_certified":{"type":"boolean","nullable":true},"active_fda_recall":{"type":"boolean","nullable":true},"clinically_studied_product":{"type":"boolean","nullable":true},"contains_proprietary_blend":{"type":"boolean","nullable":true},"doctor_founded":{"type":"boolean","nullable":true},"eurofins_certified_supplement":{"type":"boolean","nullable":true},"eurofins_clean_sport_certified":{"type":"boolean","nullable":true},"free_from_artificial_colors_flavors_fillers":{"type":"boolean","nullable":true},"gluten_free_certified":{"type":"boolean","nullable":true},"gluten_free_ingredients":{"type":"boolean","nullable":true},"igen_non_gmo_tested":{"type":"boolean","nullable":true},"informed_choice_certified":{"type":"boolean","nullable":true},"informed_sport_certified":{"type":"boolean","nullable":true},"iso_17025_accredited_testing_labs":{"type":"boolean","nullable":true},"lot_tested":{"type":"boolean","nullable":true},"mislabeled_principal_display_panel":{"type":"boolean","nullable":true},"non_gmo_certified":{"type":"boolean","nullable":true},"non_gmo_ingredients":{"type":"boolean","nullable":true},"nsf_certified":{"type":"boolean","nullable":true},"nsf_certified_for_sport":{"type":"boolean","nullable":true},"nsf_contents_certified":{"type":"boolean","nullable":true},"organic_ingredients":{"type":"boolean","nullable":true},"patented_or_trademarked_ingredients":{"type":"boolean","nullable":true},"practitioner_grade_integration":{"type":"boolean","nullable":true},"raw_ingredient_testing":{"type":"boolean","nullable":true},"supple100":{"type":"boolean","nullable":true},"tested_for_heavy_metals":{"type":"boolean","nullable":true},"tested_for_identity":{"type":"boolean","nullable":true},"tested_for_potency":{"type":"boolean","nullable":true},"tested_for_purity":{"type":"boolean","nullable":true},"tested_by_suppco":{"type":"boolean","nullable":true},"third_party_lab_tested":{"type":"boolean","nullable":true},"transparent_batch_specific_coas":{"type":"boolean","nullable":true},"usda_organic_certified":{"type":"boolean","nullable":true},"usp_verified":{"type":"boolean","nullable":true},"vegan_action_certified":{"type":"boolean","nullable":true},"vegan_friendly_ingredients":{"type":"boolean","nullable":true}}},"SupplementContentPage":{"type":"object","description":"SupplementContentPage#as_json.","required":["id","supplement_id","state","generated_at","sections"],"properties":{"id":{"type":"string","format":"uuid","example":"3fa85f64-5717-4562-b3fc-2c963f66afa6"},"supplement_id":{"type":"string","format":"uuid","example":"3fa85f64-5717-4562-b3fc-2c963f66afa6"},"state":{"type":"string","enum":["pending","generating","completed","failed"],"example":"completed"},"generated_at":{"type":"string","format":"date-time","nullable":true,"example":"2023-04-11T19:08:24.770Z"},"sections":{"type":"array","items":{"$ref":"#/components/schemas/SupplementContentSection"},"example":[]}}},"NutrientHealthEffect":{"type":"object","description":"HealthEffect#as_json as embedded in the nutrient show response.","required":["id","supplement_id","health_subgoal_id","grade","impact_magnitude","outcome","research_confidence","state","summary","short_summary","headline","bullet_points","papers"],"properties":{"id":{"type":"string","format":"uuid"},"supplement_id":{"type":"string","format":"uuid"},"health_subgoal_id":{"type":"string"},"grade":{"type":"string","nullable":true},"impact_magnitude":{"type":"string","nullable":true},"outcome":{"type":"string","nullable":true},"research_confidence":{"type":"string","nullable":true},"state":{"type":"string","nullable":true},"summary":{"type":"string","nullable":true},"short_summary":{"type":"string","nullable":true,"description":"From openai_response; null when absent."},"headline":{"type":"string","nullable":true,"description":"From openai_response; null when absent."},"bullet_points":{"type":"array","nullable":true,"description":"From openai_response; null when absent.","items":{"type":"string"}},"papers":{"type":"array","description":"Citation-approved papers only.","items":{"type":"object","required":["id","authors","doi","journal","pages","primary_author","title","year"],"properties":{"id":{"type":"string","format":"uuid"},"authors":{"type":"array","items":{"type":"string"}},"doi":{"type":"string"},"journal":{"type":"string","nullable":true},"pages":{"type":"string","nullable":true},"primary_author":{"type":"string","nullable":true},"title":{"type":"string"},"year":{"type":"string","nullable":true}}}}}},"ProtocolDemographics":{"type":"object","required":["ages","breastfeeding","gender","pregnant","prenatal"],"properties":{"ages":{"type":"string","example":"all"},"breastfeeding":{"type":"boolean","nullable":true},"gender":{"type":"string","example":"all"},"pregnant":{"type":"boolean","nullable":true},"prenatal":{"type":"boolean","nullable":true}}},"CachedProtocolVersion":{"type":"object","required":["id","version","notes","created_at","updated_at","citations","prescriptions"],"properties":{"id":{"type":"string","format":"uuid"},"version":{"type":"integer","example":1},"notes":{"type":"string","nullable":true},"created_at":{"type":"string"},"updated_at":{"type":"string"},"citations":{"type":"array","items":{"$ref":"#/components/schemas/ProtocolVersionCitation"}},"prescriptions":{"type":"array","items":{"$ref":"#/components/schemas/CachedProtocolPrescription"}}}},"BiomarkerRangeValue":{"type":"string","format":"decimal","nullable":true,"description":"Nullable `decimal(10,2)` column; BigDecimal serializes as a decimal string (e.g. \"30.0\")."},"BiomarkerRecommendation":{"type":"object","description":"BiomarkerRecommendationSerializer.","required":["id","rationale","direction_men","direction_women","health_subgoal","supplements"],"properties":{"id":{"type":"string","format":"uuid"},"rationale":{"type":"string","nullable":true},"direction_men":{"type":"string","nullable":true},"direction_women":{"type":"string","nullable":true},"health_subgoal":{"type":"object","required":["id","name","health_goal"],"properties":{"id":{"type":"string"},"name":{"type":"string"},"health_goal":{"type":"object","required":["id","name","image_url"],"properties":{"id":{"type":"string"},"name":{"type":"string"},"image_url":{"type":"string","nullable":true}}}}},"supplements":{"type":"array","items":{"type":"object","required":["id","name","slug","rationale"],"properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string","nullable":true},"slug":{"type":"string"},"rationale":{"type":"string","nullable":true,"description":"The health effect's `short_summary`."}}}}}},"LimitedPublicUser":{"type":"object","description":"LimitedPublicUserSerializer payload: a User without a Stack. Used for most_saved, document authors, and (as UserPostAuthor) post authors and expert lists. The same attributes are repeated under `user`.","properties":{"id":{"type":"string","format":"uuid","example":"def0a21f-b81a-4f28-a3be-2c55ddfed52a"},"name":{"type":"string","nullable":true,"example":"Example User"},"avatar_url":{"type":"string","nullable":true,"example":"https://example.com/uploaded_thumbnail.jpg"},"biography":{"type":"string","nullable":true,"example":"A short paragraph of biographical information."},"byline":{"type":"string","nullable":true,"example":"Nutrition Expert, Personal Trainer"},"expertise":{"type":"string","nullable":true},"credentials":{"type":"string","nullable":true},"is_expert":{"type":"boolean","nullable":true},"slug":{"type":"string","nullable":true,"example":"expert-user","description":"A friendly URL id for the user. Only set for Editor/Expert users."},"active_stack_freshness_id":{"type":"string","example":"224657ee155701f107bac02022e930ed11aaaf682dabd830597a67b879236a67","description":"SHA-256 cache-busting value for the active stack."},"is_verified":{"type":"boolean"},"user":{"$ref":"#/components/schemas/UserPostAuthorAttributes"}},"required":["active_stack_freshness_id","avatar_url","biography","byline","credentials","expertise","id","is_expert","is_verified","name","slug","user"]},"SupplementContentSection":{"type":"object","required":["key","title","content","subsections"],"properties":{"key":{"type":"string","example":"what_is"},"title":{"type":"string","nullable":true,"example":"What is Magnesium?"},"content":{"type":"string","nullable":true,"example":"Magnesium is an essential mineral that plays a crucial role in over 300 enzymatic reactions in the human body..."},"subsections":{"type":"array","items":{"$ref":"#/components/schemas/SupplementContentSubsection"},"example":[]}}},"ProtocolVersionCitation":{"type":"object","required":["id","author","description","source"],"properties":{"id":{"type":"string","format":"uuid"},"author":{"type":"string"},"description":{"type":"string"},"source":{"type":"string"}}},"CachedProtocolPrescription":{"type":"object","required":["id","any_amount","dosage_form","dosage_max","dosage_max_per_day","dosage_min","dosage_min_per_day","dosage_prefix","dosage_suffix","dosage_target","dosage_target_per_day","dosage_times_per_day","dosage_unit","notes","citation_apa","position","supplement_name","supplement_slug","nutrient_id","nutrient_name","order","recommended_products","supplement","nutrient"],"properties":{"id":{"type":"string","format":"uuid"},"any_amount":{"type":"boolean","nullable":true},"dosage_form":{"type":"string","nullable":true},"dosage_max":{"type":"string","nullable":true,"example":"6000.0"},"dosage_max_per_day":{"type":"number","nullable":true,"example":6000.0},"dosage_min":{"type":"string","nullable":true,"example":"4000.0"},"dosage_min_per_day":{"type":"number","nullable":true,"example":4000.0},"dosage_prefix":{"type":"string","nullable":true,"example":"Take"},"dosage_suffix":{"type":"string","nullable":true,"example":"daily"},"dosage_target":{"type":"string","nullable":true,"example":"5000.0"},"dosage_target_per_day":{"type":"number","nullable":true,"example":5000.0},"dosage_times_per_day":{"type":"number","example":1.0},"dosage_unit":{"type":"string","nullable":true,"example":"mcg"},"notes":{"type":"string","nullable":true},"citation_apa":{"type":"string","nullable":true},"position":{"type":"integer","example":0},"supplement_name":{"type":"string","example":"Vitamin D3"},"supplement_slug":{"type":"string","example":"vitamin-d3"},"nutrient_id":{"type":"string","example":"vitamin-d3"},"nutrient_name":{"type":"string","example":"Vitamin D3"},"order":{"type":"integer","example":0},"recommended_products":{"type":"array","items":{"$ref":"#/components/schemas/CachedProtocolProduct"}},"supplement":{"allOf":[{"$ref":"#/components/schemas/CachedProtocolSupplement"}],"nullable":true},"nutrient":{"allOf":[{"$ref":"#/components/schemas/CachedProtocolSupplement"}],"nullable":true,"description":"Same object as `supplement`."}}},"UserPostAuthorAttributes":{"type":"object","description":"Keys emitted by LimitedPublicUserSerializer (also repeated under `user`).","required":["active_stack_freshness_id","avatar_url","biography","byline","credentials","expertise","id","is_expert","is_verified","name","slug"],"properties":{"active_stack_freshness_id":{"type":"string"},"avatar_url":{"type":"string","nullable":true},"biography":{"type":"string","nullable":true},"byline":{"type":"string","nullable":true},"credentials":{"type":"string","nullable":true},"expertise":{"type":"string","nullable":true},"id":{"type":"string","format":"uuid"},"is_expert":{"type":"boolean","nullable":true},"is_verified":{"type":"boolean"},"name":{"type":"string","nullable":true},"slug":{"type":"string","nullable":true}}},"SupplementContentSubsection":{"type":"object","properties":{"title":{"type":"string","example":"Bone Health","nullable":true},"content":{"type":"string","example":"Supports calcium absorption and bone mineralization.","nullable":true}},"description":"Stored subsection JSON passed through from generated content; title and content are not enforced."},"CachedProtocolProduct":{"type":"object","required":["id","position","category","notes","product"],"properties":{"id":{"type":"string","format":"uuid"},"position":{"type":"integer","example":1},"category":{"type":"string","nullable":true},"notes":{"type":"string","nullable":true},"product":{"type":"object","description":"Decimal columns serialize as strings.","required":["id","name","slug","brand","brand_id","brand_trust_score","brand_trust_score_state","brand_trust_score_updated_at","brand_supple100","category","category_name","format","goal_tags","health_goals","image_url","label_url","msrp","price","price_per_serving","product_trust_score","product_trust_score_complete","off_market","product_line","save_count","serving_size","servings_per_container","suggested_use","upc","validated","purchase_links"],"properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"slug":{"type":"string","nullable":true},"brand":{"type":"string"},"brand_id":{"type":"string"},"brand_trust_score":{"type":"string","nullable":true,"example":"0.95"},"brand_trust_score_state":{"type":"string","nullable":true},"brand_trust_score_updated_at":{"type":"string","nullable":true},"brand_supple100":{"type":"boolean","nullable":true},"category":{"type":"string","nullable":true},"category_name":{"type":"string","nullable":true},"format":{"type":"string","nullable":true},"goal_tags":{"type":"array","items":{"type":"string"}},"health_goals":{"type":"array","items":{"type":"string"}},"image_url":{"type":"string","nullable":true},"label_url":{"type":"string","nullable":true},"msrp":{"type":"string","nullable":true},"price":{"type":"string","nullable":true},"price_per_serving":{"type":"string","nullable":true},"product_trust_score":{"type":"string","nullable":true},"product_trust_score_complete":{"type":"boolean","nullable":true},"off_market":{"type":"boolean","nullable":true},"product_line":{"type":"string","nullable":true},"save_count":{"type":"integer","nullable":true},"serving_size":{"type":"string","nullable":true},"servings_per_container":{"type":"string","nullable":true},"suggested_use":{"type":"string","nullable":true},"upc":{"type":"string","nullable":true},"validated":{"type":"boolean","nullable":true},"purchase_links":{"type":"array","items":{"type":"object","required":["id","url","price","state","currency","clicks","updated_at"],"properties":{"id":{"type":"string","format":"uuid"},"url":{"type":"string"},"price":{"type":"string","nullable":true},"state":{"type":"string","nullable":true},"currency":{"type":"string","nullable":true},"clicks":{"type":"integer","nullable":true},"updated_at":{"type":"string"}}}}}}}},"CachedProtocolSupplement":{"type":"object","description":"jsonb distribution columns are returned as raw JSON strings.","required":["id","name","slug","category","community_age_distribution","community_gender_distribution","community_goals_distribution","description","do_not_exceed_amount","do_not_exceed_not_known","dosage_guide","dosage_summary","featured","group","health_goals","health_subgoals","keywords","primary","recommended_lower_end_daily_dose_amount","recommended_upper_end_daily_dose_amount","short_name","short_summary","units","product_category_id","product_category_name","goal_tags","nutrient_id"],"properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string","example":"Vitamin D3"},"slug":{"type":"string","example":"vitamin-d3"},"category":{"type":"string","nullable":true},"community_age_distribution":{"type":"string","nullable":true,"example":"{}"},"community_gender_distribution":{"type":"string","nullable":true,"example":"{}"},"community_goals_distribution":{"type":"string","nullable":true,"example":"{}"},"description":{"type":"string","nullable":true},"do_not_exceed_amount":{"type":"number","nullable":true},"do_not_exceed_not_known":{"type":"boolean"},"dosage_guide":{"type":"string","nullable":true},"dosage_summary":{"type":"string","nullable":true},"featured":{"type":"boolean","nullable":true},"group":{"type":"string","nullable":true},"health_goals":{"type":"array","items":{"type":"string"}},"health_subgoals":{"type":"array","items":{"type":"string"}},"keywords":{"type":"array","items":{"type":"string"}},"primary":{"type":"boolean","nullable":true},"recommended_lower_end_daily_dose_amount":{"type":"number","nullable":true},"recommended_upper_end_daily_dose_amount":{"type":"number","nullable":true},"short_name":{"type":"string","nullable":true},"short_summary":{"type":"string","nullable":true},"units":{"type":"string","example":"mcg"},"product_category_id":{"type":"string","nullable":true},"product_category_name":{"type":"string","nullable":true},"goal_tags":{"type":"array","items":{"type":"string"}},"nutrient_id":{"type":"string","example":"vitamin-d3"}}}},"responses":{"BadRequestProblem":{"description":"The request is malformed or has invalid parameters (RFC 9457 problem details).","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}},"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"InternalServerErrorProblem":{"description":"An unexpected server error occurred (RFC 9457 problem details).","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}},"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"TooManyRequestsProblem":{"description":"The per-client rate limit was exceeded (RFC 9457 problem details). Retry after `Retry-After` seconds.","headers":{"Retry-After":{"$ref":"#/components/headers/RetryAfter"},"RateLimit-Policy":{"$ref":"#/components/headers/RateLimitPolicy"},"RateLimit":{"$ref":"#/components/headers/RateLimit"},"RateLimit-Limit":{"$ref":"#/components/headers/RateLimitLimit"},"RateLimit-Remaining":{"$ref":"#/components/headers/RateLimitRemaining"},"RateLimit-Reset":{"$ref":"#/components/headers/RateLimitReset"}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"NotFoundProblem":{"description":"The resource or route was not found (RFC 9457 problem details).","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}},"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"parameters":{"ApiVersion":{"name":"API-Version","in":"header","required":false,"description":"Major API version the client was built against. Optional: requests without it get the current version. Every /api response echoes the version it was served with; an unsupported value returns 400.","schema":{"type":"string","enum":["1"],"default":"1"}}},"headers":{"ApiVersion":{"description":"Major API version that served the response.","schema":{"type":"string","example":"1"}},"RateLimitPolicy":{"description":"Quota policy in the IETF RateLimit structured-field format, e.g. `\"req-ip\";q=1024;w=60`.","schema":{"type":"string"}},"RateLimit":{"description":"Remaining quota and seconds until the window resets in the IETF RateLimit structured-field format, e.g. `\"req-ip\";r=1019;t=40`. Omitted on responses that shared caches may store.","schema":{"type":"string"}},"RateLimitLimit":{"description":"Requests allowed per window (compatibility form of RateLimit-Policy).","schema":{"type":"integer"}},"RateLimitRemaining":{"description":"Requests left in the current window. Omitted on responses that shared caches may store.","schema":{"type":"integer"}},"RateLimitReset":{"description":"Seconds until the current window resets. Omitted on responses that shared caches may store.","schema":{"type":"integer"}},"RetryAfter":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}},"securitySchemes":{"SuppCoOAuth":{"type":"oauth2","description":"OAuth 2.1 authorization code flow with PKCE (S256). Clients register themselves with RFC 7591 dynamic client registration at https://login.supp.co/oauth/register. Authorization server metadata (RFC 8414) is at https://login.supp.co/.well-known/oauth-authorization-server and protected resource metadata (RFC 9728) at https://api.supp.co/.well-known/oauth-protected-resource. Request the narrowest scope you need. The public catalog operations need no token.","flows":{"authorizationCode":{"authorizationUrl":"https://login.supp.co/oauth/authorize","tokenUrl":"https://login.supp.co/oauth/token","refreshUrl":"https://login.supp.co/oauth/token","scopes":{"api":"Signed-in member REST API (the member's own stacks, schedules, lists and profile).","mcp:read":"Read-only MCP sign-in tools for the member's own account.","mcp:write":"The mcp:read tools plus MCP tools that change the member's stack, schedule, cart, profile or memories.","mcp":"Every MCP tool (legacy; equivalent to mcp:write).","openid":"OpenID Connect sign-in.","profile":"The member's basic profile claims.","email":"The member's email address.","offline_access":"A refresh token."}}}}}},"tags":[{"name":"brands","description":"Brand names for Product grouping"},{"name":"documents","description":"Published documents and articles"},{"name":"products","description":"Listing and search"},{"name":"product_categories","description":"Product categories for organizing supplements"},{"name":"protocols","description":"Recommended supplements, dosages, and products"},{"name":"health_effects","description":"Health effects and their associated papers"},{"name":"health_goals","description":"Health goals and their associated subgoals"},{"name":"tested_reports","description":"Published tested reports for supplement products"}]}