{
  "openapi": "3.1.0",
  "jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
  "info": {
    "title": "Peptide Library API",
    "version": "1.0.0",
    "summary": "Peptide research data, scientific literature and vendor information for developers.",
    "description": "Peptide research data, scientific literature and vendor information from [Peptide Library](https://peptidelibrary.app).\n\n**Research and education only.** Research and educational information only. Not medical advice, and not a recommendation to buy or use any substance. Many of these compounds are not approved for human use. The API never returns dose figures, regimens, reconstitution or injection instructions.\n\n## Authentication\nResearch and study endpoints work without a key (limited per IP address). Vendor, product and price endpoints need an API key with the matching scope, sent as `Authorization: Bearer pl_live_…` (or `X-API-Key`). Create keys at https://peptidelibrary.app/developers/dashboard. Keep keys on your server: never put them in a browser or app bundle.\n\nScopes: `research:read`, `studies:read`, `vendors:read`, `products:read`, `pricing:read`.\n\n## Rate limits\nKeyed vendor, product and price requests count against your plan's per-minute and monthly limits (Free Developer: 60 per minute, 5,000 per month). Each response carries `RateLimit-Limit`, `RateLimit-Remaining` and `RateLimit-Reset`; over the limit you get **429** with `Retry-After`. Anonymous requests are limited per IP address.\n\n## Conventions\nJSON envelopes: `{ data, pagination?, meta }` and `{ error: { code, message, request_id } }`. Lists use cursor pagination (`limit`, `cursor` → `pagination.next_cursor`). Timestamps are UTC ISO 8601; money is a decimal string in the listed currency, never converted. Research fields a profile doesn't document are the string `not_documented`; unknown vendor and price fields are `null`. Responses carry `ETag` (send `If-None-Match` for 304) and `X-Request-Id`.\n\n## Prices and affiliate links\nPeptide Library may earn a commission when you buy through these links, at no cost to you. Commissions never affect which offers are listed or their order. Prices are as last seen on the vendor's site; check the vendor before relying on them. Offers come only from vendors whose prices Peptide Library may share, are matched to a library profile and were seen on the vendor's site in the last 30 days.",
    "termsOfService": "https://peptidelibrary.app/developers/terms",
    "contact": {
      "name": "Peptide Library developer support",
      "url": "https://peptidelibrary.app/developers",
      "email": "support@peptidelibrary.app"
    },
    "license": {
      "name": "Peptide Library API Terms of Use",
      "url": "https://peptidelibrary.app/developers/terms"
    },
    "x-logo": {
      "url": "https://peptidelibrary.app/icon.png",
      "altText": "Peptide Library",
      "href": "https://peptidelibrary.app"
    }
  },
  "externalDocs": {
    "description": "Developer documentation",
    "url": "https://peptidelibrary.app/developers/docs"
  },
  "servers": [
    {
      "url": "https://api.peptidelibrary.app/v1",
      "description": "Production"
    },
    {
      "url": "https://peptidelibrary.app/api/v1",
      "description": "Production (same API on the website host)"
    }
  ],
  "tags": [
    {
      "name": "Research",
      "description": "Peptide research profiles, research summaries, regulatory status, categories and search. No key needed."
    },
    {
      "name": "Studies",
      "description": "Studies and other sources cited by the profiles, with evidence classifications. No key needed."
    },
    {
      "name": "Vendors",
      "description": "The Peptide Library vendor directory. Needs a key with `vendors:read` (products and prices: their own scopes)."
    },
    {
      "name": "Products",
      "description": "Products (compound x form) with price ranges per currency. Needs `products:read`."
    },
    {
      "name": "Prices",
      "description": "Current vendor offers with listed prices. Needs `pricing:read`. Includes affiliate links."
    },
    {
      "name": "Meta",
      "description": "API index and health."
    }
  ],
  "paths": {
    "/": {
      "get": {
        "operationId": "getApiIndex",
        "tags": [
          "Meta"
        ],
        "summary": "API index",
        "description": "The API's version, documentation links and endpoints.\n\nScope: `research:read` (key optional).",
        "parameters": [],
        "security": [
          {},
          {
            "bearerAuth": []
          },
          {
            "apiKeyHeader": []
          }
        ],
        "x-scope": "research:read",
        "x-metered": false,
        "x-example-request": "https://api.peptidelibrary.app/v1",
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "$ref": "#/components/headers/X-Request-Id"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "RateLimit-Limit": {
                "$ref": "#/components/headers/RateLimit-Limit"
              },
              "RateLimit-Remaining": {
                "$ref": "#/components/headers/RateLimit-Remaining"
              },
              "RateLimit-Reset": {
                "$ref": "#/components/headers/RateLimit-Reset"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ApiIndex"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not modified (your `If-None-Match` matched the `ETag`)."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/health": {
      "get": {
        "operationId": "getHealth",
        "tags": [
          "Meta"
        ],
        "summary": "Health check",
        "description": "Whether the API can read its data. 503 when the database is unavailable.\n\nScope: `research:read` (key optional).",
        "parameters": [],
        "security": [
          {},
          {
            "bearerAuth": []
          },
          {
            "apiKeyHeader": []
          }
        ],
        "x-scope": "research:read",
        "x-metered": false,
        "x-example-request": "https://api.peptidelibrary.app/v1/health",
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "$ref": "#/components/headers/X-Request-Id"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "RateLimit-Limit": {
                "$ref": "#/components/headers/RateLimit-Limit"
              },
              "RateLimit-Remaining": {
                "$ref": "#/components/headers/RateLimit-Remaining"
              },
              "RateLimit-Reset": {
                "$ref": "#/components/headers/RateLimit-Reset"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Health"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not modified (your `If-None-Match` matched the `ETag`)."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/peptides": {
      "get": {
        "operationId": "listPeptides",
        "tags": [
          "Research"
        ],
        "summary": "List and search peptides",
        "description": "Peptide research profiles with filters. `search` matches names, synonyms and aliases (fuzzy). Each result links to its canonical Peptide Library page.\n\nScope: `research:read` (key optional).",
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "required": false,
            "description": "Name, synonym, alias or partial name.",
            "schema": {
              "type": "string",
              "maxLength": 200
            },
            "example": "bpc"
          },
          {
            "name": "category",
            "in": "query",
            "required": false,
            "description": "Research category id (see /v1/categories).",
            "schema": {
              "type": "string",
              "enum": [
                "fat-loss",
                "cognitive",
                "muscle-recovery",
                "longevity",
                "glp1-metabolic",
                "cosmetic",
                "experimental"
              ]
            }
          },
          {
            "name": "research_area",
            "in": "query",
            "required": false,
            "description": "Studied research area, e.g. \"tissue repair\" (see /v1/research-areas).",
            "schema": {
              "type": "string",
              "maxLength": 80
            }
          },
          {
            "name": "evidence_level",
            "in": "query",
            "required": false,
            "description": "Evidence level of reviewed profiles.",
            "schema": {
              "type": "string",
              "enum": [
                "fda-approved",
                "established-human",
                "clinical-trial",
                "limited-human",
                "preclinical",
                "insufficient"
              ]
            }
          },
          {
            "name": "regulatory_status",
            "in": "query",
            "required": false,
            "description": "Regulatory class from the recorded FDA status.",
            "schema": {
              "type": "string",
              "enum": [
                "approved",
                "investigational",
                "experimental",
                "withdrawn",
                "insufficient"
              ]
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "description": "Order: `relevance` (default with `search`), `name` (default), `-name`, `evidence`, `updated`.",
            "schema": {
              "type": "string",
              "enum": [
                "relevance",
                "name",
                "-name",
                "evidence",
                "updated"
              ]
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Results per page (1-100, default 20).",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 20
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "Opaque cursor from `pagination.next_cursor` of the previous page.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "description": "Comma-separated fields to return for each item (`id` is always included). One of: id, name, also_known_as, categories, summary, research_topics, classification, fda_status, evidence, url, regulatory_status, content_reviewed_at, api_url.",
            "schema": {
              "type": "string"
            },
            "example": "id,name,also_known_as"
          }
        ],
        "security": [
          {},
          {
            "bearerAuth": []
          },
          {
            "apiKeyHeader": []
          }
        ],
        "x-scope": "research:read",
        "x-metered": false,
        "x-example-request": "https://api.peptidelibrary.app/v1/peptides?search=bpc&limit=5",
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "$ref": "#/components/headers/X-Request-Id"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "RateLimit-Limit": {
                "$ref": "#/components/headers/RateLimit-Limit"
              },
              "RateLimit-Remaining": {
                "$ref": "#/components/headers/RateLimit-Remaining"
              },
              "RateLimit-Reset": {
                "$ref": "#/components/headers/RateLimit-Reset"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "pagination",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/PeptideSummary"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not modified (your `If-None-Match` matched the `ETag`)."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/peptides/{slug}": {
      "get": {
        "operationId": "getPeptide",
        "tags": [
          "Research"
        ],
        "summary": "Get a peptide research profile",
        "description": "The full research profile: names, classification, mechanism, chemical properties, evidence (human and preclinical kept separate), safety, regulatory status and references. Dose figures are never included.\n\nScope: `research:read` (key optional).",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "description": "Peptide id (e.g. `bpc-157`), name, synonym or alias. Aliases resolve to the canonical profile.",
            "schema": {
              "type": "string"
            },
            "example": "bpc-157"
          }
        ],
        "security": [
          {},
          {
            "bearerAuth": []
          },
          {
            "apiKeyHeader": []
          }
        ],
        "x-scope": "research:read",
        "x-metered": false,
        "x-example-request": "https://api.peptidelibrary.app/v1/peptides/bpc-157",
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "$ref": "#/components/headers/X-Request-Id"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "RateLimit-Limit": {
                "$ref": "#/components/headers/RateLimit-Limit"
              },
              "RateLimit-Remaining": {
                "$ref": "#/components/headers/RateLimit-Remaining"
              },
              "RateLimit-Reset": {
                "$ref": "#/components/headers/RateLimit-Reset"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Peptide"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not modified (your `If-None-Match` matched the `ETag`)."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/peptides/{slug}/studies": {
      "get": {
        "operationId": "listPeptideStudies",
        "tags": [
          "Studies"
        ],
        "summary": "Studies cited by a peptide profile",
        "description": "Up to 12 cited sources with their evidence classification (regulatory label, controlled human trial, human study, secondary report, animal or lab, in vitro), identifiers and the editors' finding summary.\n\nScope: `studies:read` (key optional).",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "description": "Peptide id (e.g. `bpc-157`), name, synonym or alias. Aliases resolve to the canonical profile.",
            "schema": {
              "type": "string"
            },
            "example": "bpc-157"
          }
        ],
        "security": [
          {},
          {
            "bearerAuth": []
          },
          {
            "apiKeyHeader": []
          }
        ],
        "x-scope": "studies:read",
        "x-metered": false,
        "x-example-request": "https://api.peptidelibrary.app/v1/peptides/semaglutide/studies",
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "$ref": "#/components/headers/X-Request-Id"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "RateLimit-Limit": {
                "$ref": "#/components/headers/RateLimit-Limit"
              },
              "RateLimit-Remaining": {
                "$ref": "#/components/headers/RateLimit-Remaining"
              },
              "RateLimit-Reset": {
                "$ref": "#/components/headers/RateLimit-Reset"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "pagination",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Study"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not modified (your `If-None-Match` matched the `ETag`)."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/peptides/{slug}/research": {
      "get": {
        "operationId": "getPeptideResearch",
        "tags": [
          "Research"
        ],
        "summary": "Research summary for a peptide",
        "description": "Mechanisms under investigation, clinical (human) evidence, preclinical evidence, secondary reports, safety information, known limitations, research gaps and source references.\n\nScope: `research:read` (key optional).",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "description": "Peptide id (e.g. `bpc-157`), name, synonym or alias. Aliases resolve to the canonical profile.",
            "schema": {
              "type": "string"
            },
            "example": "bpc-157"
          }
        ],
        "security": [
          {},
          {
            "bearerAuth": []
          },
          {
            "apiKeyHeader": []
          }
        ],
        "x-scope": "research:read",
        "x-metered": false,
        "x-example-request": "https://api.peptidelibrary.app/v1/peptides/bpc-157/research",
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "$ref": "#/components/headers/X-Request-Id"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "RateLimit-Limit": {
                "$ref": "#/components/headers/RateLimit-Limit"
              },
              "RateLimit-Remaining": {
                "$ref": "#/components/headers/RateLimit-Remaining"
              },
              "RateLimit-Reset": {
                "$ref": "#/components/headers/RateLimit-Reset"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ResearchSummary"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not modified (your `If-None-Match` matched the `ETag`)."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/regulatory-status/{slug}": {
      "get": {
        "operationId": "getRegulatoryStatus",
        "tags": [
          "Research"
        ],
        "summary": "Regulatory status of a peptide",
        "description": "FDA and WADA status, availability and development stage as recorded in the profile, with the date reviewed.\n\nScope: `research:read` (key optional).",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "description": "Peptide id (e.g. `bpc-157`), name, synonym or alias. Aliases resolve to the canonical profile.",
            "schema": {
              "type": "string"
            },
            "example": "bpc-157"
          }
        ],
        "security": [
          {},
          {
            "bearerAuth": []
          },
          {
            "apiKeyHeader": []
          }
        ],
        "x-scope": "research:read",
        "x-metered": false,
        "x-example-request": "https://api.peptidelibrary.app/v1/regulatory-status/semaglutide",
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "$ref": "#/components/headers/X-Request-Id"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "RateLimit-Limit": {
                "$ref": "#/components/headers/RateLimit-Limit"
              },
              "RateLimit-Remaining": {
                "$ref": "#/components/headers/RateLimit-Remaining"
              },
              "RateLimit-Reset": {
                "$ref": "#/components/headers/RateLimit-Reset"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/RegulatoryStatus"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not modified (your `If-None-Match` matched the `ETag`)."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/categories": {
      "get": {
        "operationId": "listCategories",
        "tags": [
          "Research"
        ],
        "summary": "Research categories",
        "description": "Peptide Library research categories with every profile in each.\n\nScope: `research:read` (key optional).",
        "parameters": [],
        "security": [
          {},
          {
            "bearerAuth": []
          },
          {
            "apiKeyHeader": []
          }
        ],
        "x-scope": "research:read",
        "x-metered": false,
        "x-example-request": "https://api.peptidelibrary.app/v1/categories",
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "$ref": "#/components/headers/X-Request-Id"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "RateLimit-Limit": {
                "$ref": "#/components/headers/RateLimit-Limit"
              },
              "RateLimit-Remaining": {
                "$ref": "#/components/headers/RateLimit-Remaining"
              },
              "RateLimit-Reset": {
                "$ref": "#/components/headers/RateLimit-Reset"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "pagination",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Category"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not modified (your `If-None-Match` matched the `ETag`)."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/research-areas": {
      "get": {
        "operationId": "listResearchAreas",
        "tags": [
          "Research"
        ],
        "summary": "Research areas",
        "description": "Research areas the profiles cover (their studied topics), with the peptides studied for each, most-studied first.\n\nScope: `research:read` (key optional).",
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "required": false,
            "description": "Part of an area name.",
            "schema": {
              "type": "string",
              "maxLength": 80
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Results per page (1-100, default 20).",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 20
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "Opaque cursor from `pagination.next_cursor` of the previous page.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "security": [
          {},
          {
            "bearerAuth": []
          },
          {
            "apiKeyHeader": []
          }
        ],
        "x-scope": "research:read",
        "x-metered": false,
        "x-example-request": "https://api.peptidelibrary.app/v1/research-areas?limit=10",
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "$ref": "#/components/headers/X-Request-Id"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "RateLimit-Limit": {
                "$ref": "#/components/headers/RateLimit-Limit"
              },
              "RateLimit-Remaining": {
                "$ref": "#/components/headers/RateLimit-Remaining"
              },
              "RateLimit-Reset": {
                "$ref": "#/components/headers/RateLimit-Reset"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "pagination",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ResearchArea"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not modified (your `If-None-Match` matched the `ETag`)."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/studies": {
      "get": {
        "operationId": "listStudies",
        "tags": [
          "Studies"
        ],
        "summary": "List studies",
        "description": "Studies with a PubMed, DOI or ClinicalTrials.gov identifier, de-duplicated across every profile, with the profiles that cite them.\n\nScope: `studies:read` (key optional).",
        "parameters": [
          {
            "name": "peptide",
            "in": "query",
            "required": false,
            "description": "Only studies cited by this peptide (id, name or alias).",
            "schema": {
              "type": "string"
            },
            "example": "semaglutide"
          },
          {
            "name": "evidence_classification",
            "in": "query",
            "required": false,
            "description": "Comma-separated classifications.",
            "schema": {
              "type": "string"
            },
            "example": "human_controlled_trial"
          },
          {
            "name": "year_from",
            "in": "query",
            "required": false,
            "description": "Earliest publication year.",
            "schema": {
              "type": "integer",
              "minimum": 1900,
              "maximum": 2100
            }
          },
          {
            "name": "year_to",
            "in": "query",
            "required": false,
            "description": "Latest publication year.",
            "schema": {
              "type": "integer",
              "minimum": 1900,
              "maximum": 2100
            }
          },
          {
            "name": "search",
            "in": "query",
            "required": false,
            "description": "Words in the title.",
            "schema": {
              "type": "string",
              "maxLength": 200
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "description": "`newest` (default), `oldest` or `title`.",
            "schema": {
              "type": "string",
              "enum": [
                "newest",
                "oldest",
                "title"
              ]
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Results per page (1-100, default 20).",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 20
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "Opaque cursor from `pagination.next_cursor` of the previous page.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "description": "Comma-separated fields to return for each item (`id` is always included). One of: id, title, publication_year, authors, journal, doi, pmid, nct_id, study_type, research_model, evidence_classification, evidence_classification_label, source_url, cited_by.",
            "schema": {
              "type": "string"
            },
            "example": "id,title,publication_year"
          }
        ],
        "security": [
          {},
          {
            "bearerAuth": []
          },
          {
            "apiKeyHeader": []
          }
        ],
        "x-scope": "studies:read",
        "x-metered": false,
        "x-example-request": "https://api.peptidelibrary.app/v1/studies?peptide=semaglutide&evidence_classification=human_controlled_trial",
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "$ref": "#/components/headers/X-Request-Id"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "RateLimit-Limit": {
                "$ref": "#/components/headers/RateLimit-Limit"
              },
              "RateLimit-Remaining": {
                "$ref": "#/components/headers/RateLimit-Remaining"
              },
              "RateLimit-Reset": {
                "$ref": "#/components/headers/RateLimit-Reset"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "pagination",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/StudyIndexEntry"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not modified (your `If-None-Match` matched the `ETag`)."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/studies/{id}": {
      "get": {
        "operationId": "getStudy",
        "tags": [
          "Studies"
        ],
        "summary": "Get a study",
        "description": "One study by id (`pmid-…`, `doi-…` with `/` written as `--`, or `nct-…`) with each citing profile's summary.\n\nScope: `studies:read` (key optional).",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Study id from /v1/studies.",
            "schema": {
              "type": "string"
            },
            "example": "pmid-33567185"
          }
        ],
        "security": [
          {},
          {
            "bearerAuth": []
          },
          {
            "apiKeyHeader": []
          }
        ],
        "x-scope": "studies:read",
        "x-metered": false,
        "x-example-request": "https://api.peptidelibrary.app/v1/studies/pmid-33567185",
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "$ref": "#/components/headers/X-Request-Id"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "RateLimit-Limit": {
                "$ref": "#/components/headers/RateLimit-Limit"
              },
              "RateLimit-Remaining": {
                "$ref": "#/components/headers/RateLimit-Remaining"
              },
              "RateLimit-Reset": {
                "$ref": "#/components/headers/RateLimit-Reset"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/StudyDetail"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not modified (your `If-None-Match` matched the `ETag`)."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/search": {
      "get": {
        "operationId": "search",
        "tags": [
          "Research"
        ],
        "summary": "Search peptides and educational content",
        "description": "One query across peptide profiles and Peptide Library's own educational content (site FAQ, per-peptide FAQs, articles, free courses). Dosing and commerce content is excluded.\n\nScope: `research:read` (key optional).",
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "required": true,
            "description": "What to search for.",
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            "example": "glp-1"
          },
          {
            "name": "types",
            "in": "query",
            "required": false,
            "description": "Comma-separated: `peptides`, `content` (default both).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Results per page (1-25, default 10).",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 25,
              "default": 10
            }
          }
        ],
        "security": [
          {},
          {
            "bearerAuth": []
          },
          {
            "apiKeyHeader": []
          }
        ],
        "x-scope": "research:read",
        "x-metered": false,
        "x-example-request": "https://api.peptidelibrary.app/v1/search?q=glp-1",
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "$ref": "#/components/headers/X-Request-Id"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "RateLimit-Limit": {
                "$ref": "#/components/headers/RateLimit-Limit"
              },
              "RateLimit-Remaining": {
                "$ref": "#/components/headers/RateLimit-Remaining"
              },
              "RateLimit-Reset": {
                "$ref": "#/components/headers/RateLimit-Reset"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/SearchResult"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not modified (your `If-None-Match` matched the `ETag`)."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/vendors": {
      "get": {
        "operationId": "listVendors",
        "tags": [
          "Vendors"
        ],
        "summary": "List vendors",
        "description": "The Peptide Library vendor directory with search and filters. Ratings come from published reviews (verified = receipt checked by a moderator); order never depends on commissions or affiliate status.\n\nScope: `vendors:read`. Counts against your plan.",
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "required": false,
            "description": "Vendor name or alias.",
            "schema": {
              "type": "string",
              "maxLength": 200
            }
          },
          {
            "name": "country",
            "in": "query",
            "required": false,
            "description": "Where the vendor is based (ISO 3166-1 alpha-2).",
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z]{2}$"
            },
            "example": "US"
          },
          {
            "name": "ships_to",
            "in": "query",
            "required": false,
            "description": "Only vendors that ship to this destination (country \"US\" or subdivision \"US-CA\"). Unknown coverage is left out.",
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z]{2}(-[A-Za-z0-9]{1,3})?$"
            },
            "example": "US"
          },
          {
            "name": "product_category",
            "in": "query",
            "required": false,
            "description": "Only vendors with live listings of this product type.",
            "schema": {
              "type": "string",
              "enum": [
                "peptides",
                "sprays",
                "capsules",
                "other"
              ]
            }
          },
          {
            "name": "min_rating",
            "in": "query",
            "required": false,
            "description": "Minimum average rating (0-5).",
            "schema": {
              "type": "number",
              "minimum": 0,
              "maximum": 5
            }
          },
          {
            "name": "peptide",
            "in": "query",
            "required": false,
            "description": "Only vendors with live listings of this peptide (id, name or alias).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "description": "Order (default `best_match`).",
            "schema": {
              "type": "string",
              "enum": [
                "best_match",
                "rating",
                "reviews",
                "popular",
                "products",
                "name",
                "-name"
              ]
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Results per page (1-100, default 20).",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 20
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "Opaque cursor from `pagination.next_cursor` of the previous page.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "description": "Comma-separated fields to return for each item (`id` is always included). One of: id, slug, name, description, logo_url, country, region, website_url, profile_url, product_categories, rating, catalog, shipping, api_url.",
            "schema": {
              "type": "string"
            },
            "example": "id,slug,name"
          }
        ],
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyHeader": []
          }
        ],
        "x-scope": "vendors:read",
        "x-metered": true,
        "x-example-request": "https://api.peptidelibrary.app/v1/vendors?ships_to=US&min_rating=4",
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "$ref": "#/components/headers/X-Request-Id"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "RateLimit-Limit": {
                "$ref": "#/components/headers/RateLimit-Limit"
              },
              "RateLimit-Remaining": {
                "$ref": "#/components/headers/RateLimit-Remaining"
              },
              "RateLimit-Reset": {
                "$ref": "#/components/headers/RateLimit-Reset"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "pagination",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Vendor"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not modified (your `If-None-Match` matched the `ETag`)."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/vendors/compare": {
      "get": {
        "operationId": "compareVendors",
        "tags": [
          "Vendors"
        ],
        "summary": "Compare vendors",
        "description": "Two to four vendors side by side: ratings, catalog size, shipping facts.\n\nScope: `vendors:read`. Counts against your plan.",
        "parameters": [
          {
            "name": "ids",
            "in": "query",
            "required": true,
            "description": "2-4 comma-separated vendor ids or slugs.",
            "schema": {
              "type": "string"
            },
            "example": "8,13"
          },
          {
            "name": "ships_to",
            "in": "query",
            "required": false,
            "description": "Shipping destination: ISO 3166-1 alpha-2 country (\"US\") or subdivision (\"US-CA\"). Adds `ships_to` to each result; `unknown` is never treated as ships.",
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z]{2}(-[A-Za-z0-9]{1,3})?$"
            },
            "example": "US"
          }
        ],
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyHeader": []
          }
        ],
        "x-scope": "vendors:read",
        "x-metered": true,
        "x-example-request": "https://api.peptidelibrary.app/v1/vendors/compare?ids=8,13&ships_to=US",
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "$ref": "#/components/headers/X-Request-Id"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "RateLimit-Limit": {
                "$ref": "#/components/headers/RateLimit-Limit"
              },
              "RateLimit-Remaining": {
                "$ref": "#/components/headers/RateLimit-Remaining"
              },
              "RateLimit-Reset": {
                "$ref": "#/components/headers/RateLimit-Reset"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/VendorComparison"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not modified (your `If-None-Match` matched the `ETag`)."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/vendors/{id}": {
      "get": {
        "operationId": "getVendor",
        "tags": [
          "Vendors"
        ],
        "summary": "Get a vendor",
        "description": "A vendor's public profile: description, location, catalog, shipping summary, review summary and the source of each fact.\n\nScope: `vendors:read`. Counts against your plan.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Vendor id (stable) or the vendor's slug.",
            "schema": {
              "type": "string"
            },
            "example": "8"
          },
          {
            "name": "ships_to",
            "in": "query",
            "required": false,
            "description": "Shipping destination: ISO 3166-1 alpha-2 country (\"US\") or subdivision (\"US-CA\"). Adds `ships_to` to each result; `unknown` is never treated as ships.",
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z]{2}(-[A-Za-z0-9]{1,3})?$"
            },
            "example": "US"
          }
        ],
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyHeader": []
          }
        ],
        "x-scope": "vendors:read",
        "x-metered": true,
        "x-example-request": "https://api.peptidelibrary.app/v1/vendors/8",
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "$ref": "#/components/headers/X-Request-Id"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "RateLimit-Limit": {
                "$ref": "#/components/headers/RateLimit-Limit"
              },
              "RateLimit-Remaining": {
                "$ref": "#/components/headers/RateLimit-Remaining"
              },
              "RateLimit-Reset": {
                "$ref": "#/components/headers/RateLimit-Reset"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/VendorDetail"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not modified (your `If-None-Match` matched the `ETag`)."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/vendors/{id}/shipping": {
      "get": {
        "operationId": "getVendorShipping",
        "tags": [
          "Vendors"
        ],
        "summary": "Vendor shipping destinations",
        "description": "Destinations, exclusions, methods, free-shipping and returns facts, each with its source.\n\nScope: `vendors:read`. Counts against your plan.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Vendor id (stable) or the vendor's slug.",
            "schema": {
              "type": "string"
            },
            "example": "8"
          },
          {
            "name": "ships_to",
            "in": "query",
            "required": false,
            "description": "Shipping destination: ISO 3166-1 alpha-2 country (\"US\") or subdivision (\"US-CA\"). Adds `ships_to` to each result; `unknown` is never treated as ships.",
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z]{2}(-[A-Za-z0-9]{1,3})?$"
            },
            "example": "US"
          }
        ],
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyHeader": []
          }
        ],
        "x-scope": "vendors:read",
        "x-metered": true,
        "x-example-request": "https://api.peptidelibrary.app/v1/vendors/8/shipping?ships_to=US-CA",
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "$ref": "#/components/headers/X-Request-Id"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "RateLimit-Limit": {
                "$ref": "#/components/headers/RateLimit-Limit"
              },
              "RateLimit-Remaining": {
                "$ref": "#/components/headers/RateLimit-Remaining"
              },
              "RateLimit-Reset": {
                "$ref": "#/components/headers/RateLimit-Reset"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/VendorShipping"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not modified (your `If-None-Match` matched the `ETag`)."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/products": {
      "get": {
        "operationId": "listProducts",
        "tags": [
          "Products"
        ],
        "summary": "List products",
        "description": "One product per compound and form (e.g. BPC-157 vials), with offer counts and price ranges per currency.\n\nScope: `products:read`. Counts against your plan.",
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "required": false,
            "description": "Product or compound name.",
            "schema": {
              "type": "string",
              "maxLength": 200
            }
          },
          {
            "name": "peptide",
            "in": "query",
            "required": false,
            "description": "Peptide id, name or alias.",
            "schema": {
              "type": "string"
            },
            "example": "bpc-157"
          },
          {
            "name": "category",
            "in": "query",
            "required": false,
            "description": "Comma-separated product types.",
            "schema": {
              "type": "string"
            },
            "example": "peptides"
          },
          {
            "name": "form",
            "in": "query",
            "required": false,
            "description": "Comma-separated forms: vial, solution, pen, nasal_spray, oral_spray, spray, capsule, tablet, topical, liquid, bulk_powder, other, unknown.",
            "schema": {
              "type": "string"
            },
            "example": "vial"
          },
          {
            "name": "ships_to",
            "in": "query",
            "required": false,
            "description": "Shipping destination: ISO 3166-1 alpha-2 country (\"US\") or subdivision (\"US-CA\"). Adds `ships_to` to each result; `unknown` is never treated as ships.",
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z]{2}(-[A-Za-z0-9]{1,3})?$"
            },
            "example": "US"
          },
          {
            "name": "in_stock",
            "in": "query",
            "required": false,
            "description": "Only in-stock offers.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "description": "Order (default `name`).",
            "schema": {
              "type": "string",
              "enum": [
                "name",
                "offers",
                "vendors"
              ]
            }
          },
          {
            "name": "vendor",
            "in": "query",
            "required": false,
            "description": "Vendor id or slug.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Results per page (1-100, default 20).",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 20
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "Opaque cursor from `pagination.next_cursor` of the previous page.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "description": "Comma-separated fields to return for each item (`id` is always included). One of: id, peptide, form, product_type, offer_count, vendor_count, in_stock_count, prices, last_seen_at, api_url.",
            "schema": {
              "type": "string"
            },
            "example": "id,peptide,form"
          }
        ],
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyHeader": []
          }
        ],
        "x-scope": "products:read",
        "x-metered": true,
        "x-example-request": "https://api.peptidelibrary.app/v1/products?peptide=bpc-157",
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "$ref": "#/components/headers/X-Request-Id"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "RateLimit-Limit": {
                "$ref": "#/components/headers/RateLimit-Limit"
              },
              "RateLimit-Remaining": {
                "$ref": "#/components/headers/RateLimit-Remaining"
              },
              "RateLimit-Reset": {
                "$ref": "#/components/headers/RateLimit-Reset"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "pagination",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Product"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not modified (your `If-None-Match` matched the `ETag`)."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/products/{id}": {
      "get": {
        "operationId": "getProduct",
        "tags": [
          "Products"
        ],
        "summary": "Get a product",
        "description": "One compound and form with its price ranges; with `pricing:read`, every current offer.\n\nScope: `products:read`. Counts against your plan.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Product id: peptide id and form, e.g. `bpc-157::vial`.",
            "schema": {
              "type": "string"
            },
            "example": "bpc-157::vial"
          },
          {
            "name": "ships_to",
            "in": "query",
            "required": false,
            "description": "Shipping destination: ISO 3166-1 alpha-2 country (\"US\") or subdivision (\"US-CA\"). Adds `ships_to` to each result; `unknown` is never treated as ships.",
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z]{2}(-[A-Za-z0-9]{1,3})?$"
            },
            "example": "US"
          }
        ],
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyHeader": []
          }
        ],
        "x-scope": "products:read",
        "x-metered": true,
        "x-example-request": "https://api.peptidelibrary.app/v1/products/bpc-157::vial",
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "$ref": "#/components/headers/X-Request-Id"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "RateLimit-Limit": {
                "$ref": "#/components/headers/RateLimit-Limit"
              },
              "RateLimit-Remaining": {
                "$ref": "#/components/headers/RateLimit-Remaining"
              },
              "RateLimit-Reset": {
                "$ref": "#/components/headers/RateLimit-Reset"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/ProductDetail"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not modified (your `If-None-Match` matched the `ETag`)."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/prices": {
      "get": {
        "operationId": "listPrices",
        "tags": [
          "Prices"
        ],
        "summary": "List prices",
        "description": "Current offers with listed price, strength, availability, shipping eligibility and when the price was last seen.\n\nScope: `pricing:read`. Counts against your plan.",
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "required": false,
            "description": "Product or compound name.",
            "schema": {
              "type": "string",
              "maxLength": 200
            }
          },
          {
            "name": "peptide",
            "in": "query",
            "required": false,
            "description": "Peptide id, name or alias.",
            "schema": {
              "type": "string"
            },
            "example": "bpc-157"
          },
          {
            "name": "category",
            "in": "query",
            "required": false,
            "description": "Comma-separated product types.",
            "schema": {
              "type": "string"
            },
            "example": "peptides"
          },
          {
            "name": "form",
            "in": "query",
            "required": false,
            "description": "Comma-separated forms: vial, solution, pen, nasal_spray, oral_spray, spray, capsule, tablet, topical, liquid, bulk_powder, other, unknown.",
            "schema": {
              "type": "string"
            },
            "example": "vial"
          },
          {
            "name": "ships_to",
            "in": "query",
            "required": false,
            "description": "Shipping destination: ISO 3166-1 alpha-2 country (\"US\") or subdivision (\"US-CA\"). Adds `ships_to` to each result; `unknown` is never treated as ships.",
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z]{2}(-[A-Za-z0-9]{1,3})?$"
            },
            "example": "US"
          },
          {
            "name": "in_stock",
            "in": "query",
            "required": false,
            "description": "Only in-stock offers.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "product",
            "in": "query",
            "required": false,
            "description": "Comma-separated product ids (`<peptide>::<form>`).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "required": false,
            "description": "ISO 4217 currency of the listed price.",
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z]{3}$"
            },
            "example": "USD"
          },
          {
            "name": "price_min",
            "in": "query",
            "required": false,
            "description": "Minimum listed price.",
            "schema": {
              "type": "number",
              "minimum": 0
            }
          },
          {
            "name": "price_max",
            "in": "query",
            "required": false,
            "description": "Maximum listed price.",
            "schema": {
              "type": "number",
              "minimum": 0
            }
          },
          {
            "name": "strength_min_mg",
            "in": "query",
            "required": false,
            "description": "Minimum listed strength in mg.",
            "schema": {
              "type": "number",
              "minimum": 0
            }
          },
          {
            "name": "strength_max_mg",
            "in": "query",
            "required": false,
            "description": "Maximum listed strength in mg.",
            "schema": {
              "type": "number",
              "minimum": 0
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "description": "Order (default `price`).",
            "schema": {
              "type": "string",
              "enum": [
                "price",
                "-price",
                "price_per_mg",
                "updated",
                "newest",
                "vendor"
              ]
            }
          },
          {
            "name": "vendor",
            "in": "query",
            "required": false,
            "description": "Vendor id or slug.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Results per page (1-100, default 20).",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 20
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "Opaque cursor from `pagination.next_cursor` of the previous page.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "description": "Comma-separated fields to return for each item (`id` is always included). One of: id, product_id, product_name, peptide, vendor, product_type, form, strength, price, regular_price, currency, price_per_mg, price_per_unit, availability, ships_to, last_seen_at, is_stale, first_seen_at, price_changed_at, product_page_url, is_affiliate_link.",
            "schema": {
              "type": "string"
            },
            "example": "id,product_id,product_name"
          }
        ],
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyHeader": []
          }
        ],
        "x-scope": "pricing:read",
        "x-metered": true,
        "x-example-request": "https://api.peptidelibrary.app/v1/prices?peptide=bpc-157&form=vial&currency=USD&ships_to=US",
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "$ref": "#/components/headers/X-Request-Id"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "RateLimit-Limit": {
                "$ref": "#/components/headers/RateLimit-Limit"
              },
              "RateLimit-Remaining": {
                "$ref": "#/components/headers/RateLimit-Remaining"
              },
              "RateLimit-Reset": {
                "$ref": "#/components/headers/RateLimit-Reset"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "pagination",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Offer"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not modified (your `If-None-Match` matched the `ETag`)."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/prices/compare": {
      "get": {
        "operationId": "comparePrices",
        "tags": [
          "Prices"
        ],
        "summary": "Compare prices for a peptide",
        "description": "Offers for one peptide grouped by form, currency and listed strength. Prices are compared only within a group; nothing is ranked or recommended.\n\nScope: `pricing:read`. Counts against your plan.",
        "parameters": [
          {
            "name": "peptide",
            "in": "query",
            "required": true,
            "description": "Peptide id, name or alias.",
            "schema": {
              "type": "string"
            },
            "example": "bpc-157"
          },
          {
            "name": "form",
            "in": "query",
            "required": false,
            "description": "Comma-separated forms.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "required": false,
            "description": "ISO 4217 currency.",
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z]{3}$"
            }
          },
          {
            "name": "ships_to",
            "in": "query",
            "required": false,
            "description": "Shipping destination: ISO 3166-1 alpha-2 country (\"US\") or subdivision (\"US-CA\"). Adds `ships_to` to each result; `unknown` is never treated as ships.",
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z]{2}(-[A-Za-z0-9]{1,3})?$"
            },
            "example": "US"
          },
          {
            "name": "in_stock",
            "in": "query",
            "required": false,
            "description": "Only in-stock offers.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyHeader": []
          }
        ],
        "x-scope": "pricing:read",
        "x-metered": true,
        "x-example-request": "https://api.peptidelibrary.app/v1/prices/compare?peptide=bpc-157&currency=USD",
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "$ref": "#/components/headers/X-Request-Id"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "RateLimit-Limit": {
                "$ref": "#/components/headers/RateLimit-Limit"
              },
              "RateLimit-Remaining": {
                "$ref": "#/components/headers/RateLimit-Remaining"
              },
              "RateLimit-Reset": {
                "$ref": "#/components/headers/RateLimit-Reset"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/PriceComparison"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not modified (your `If-None-Match` matched the `ETag`)."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/vendors/{id}/products": {
      "get": {
        "operationId": "listVendorProducts",
        "tags": [
          "Vendors"
        ],
        "summary": "Products a vendor lists",
        "description": "The vendor's current products, one per compound and form.\n\nScope: `products:read`. Counts against your plan.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Vendor id (stable) or the vendor's slug.",
            "schema": {
              "type": "string"
            },
            "example": "8"
          },
          {
            "name": "search",
            "in": "query",
            "required": false,
            "description": "Product or compound name.",
            "schema": {
              "type": "string",
              "maxLength": 200
            }
          },
          {
            "name": "peptide",
            "in": "query",
            "required": false,
            "description": "Peptide id, name or alias.",
            "schema": {
              "type": "string"
            },
            "example": "bpc-157"
          },
          {
            "name": "category",
            "in": "query",
            "required": false,
            "description": "Comma-separated product types.",
            "schema": {
              "type": "string"
            },
            "example": "peptides"
          },
          {
            "name": "form",
            "in": "query",
            "required": false,
            "description": "Comma-separated forms: vial, solution, pen, nasal_spray, oral_spray, spray, capsule, tablet, topical, liquid, bulk_powder, other, unknown.",
            "schema": {
              "type": "string"
            },
            "example": "vial"
          },
          {
            "name": "ships_to",
            "in": "query",
            "required": false,
            "description": "Shipping destination: ISO 3166-1 alpha-2 country (\"US\") or subdivision (\"US-CA\"). Adds `ships_to` to each result; `unknown` is never treated as ships.",
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z]{2}(-[A-Za-z0-9]{1,3})?$"
            },
            "example": "US"
          },
          {
            "name": "in_stock",
            "in": "query",
            "required": false,
            "description": "Only in-stock offers.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "description": "Order (default `name`).",
            "schema": {
              "type": "string",
              "enum": [
                "name",
                "offers",
                "vendors"
              ]
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Results per page (1-100, default 20).",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 20
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "Opaque cursor from `pagination.next_cursor` of the previous page.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "description": "Comma-separated fields to return for each item (`id` is always included). One of: id, peptide, form, product_type, offer_count, vendor_count, in_stock_count, prices, last_seen_at, api_url.",
            "schema": {
              "type": "string"
            },
            "example": "id,peptide,form"
          }
        ],
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyHeader": []
          }
        ],
        "x-scope": "products:read",
        "x-metered": true,
        "x-example-request": "https://api.peptidelibrary.app/v1/vendors/8/products",
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "$ref": "#/components/headers/X-Request-Id"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "RateLimit-Limit": {
                "$ref": "#/components/headers/RateLimit-Limit"
              },
              "RateLimit-Remaining": {
                "$ref": "#/components/headers/RateLimit-Remaining"
              },
              "RateLimit-Reset": {
                "$ref": "#/components/headers/RateLimit-Reset"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "pagination",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Product"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not modified (your `If-None-Match` matched the `ETag`)."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    },
    "/vendors/{id}/prices": {
      "get": {
        "operationId": "listVendorPrices",
        "tags": [
          "Vendors"
        ],
        "summary": "A vendor's prices",
        "description": "The vendor's current offers with listed prices.\n\nScope: `pricing:read`. Counts against your plan.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Vendor id (stable) or the vendor's slug.",
            "schema": {
              "type": "string"
            },
            "example": "8"
          },
          {
            "name": "search",
            "in": "query",
            "required": false,
            "description": "Product or compound name.",
            "schema": {
              "type": "string",
              "maxLength": 200
            }
          },
          {
            "name": "peptide",
            "in": "query",
            "required": false,
            "description": "Peptide id, name or alias.",
            "schema": {
              "type": "string"
            },
            "example": "bpc-157"
          },
          {
            "name": "category",
            "in": "query",
            "required": false,
            "description": "Comma-separated product types.",
            "schema": {
              "type": "string"
            },
            "example": "peptides"
          },
          {
            "name": "form",
            "in": "query",
            "required": false,
            "description": "Comma-separated forms: vial, solution, pen, nasal_spray, oral_spray, spray, capsule, tablet, topical, liquid, bulk_powder, other, unknown.",
            "schema": {
              "type": "string"
            },
            "example": "vial"
          },
          {
            "name": "ships_to",
            "in": "query",
            "required": false,
            "description": "Shipping destination: ISO 3166-1 alpha-2 country (\"US\") or subdivision (\"US-CA\"). Adds `ships_to` to each result; `unknown` is never treated as ships.",
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z]{2}(-[A-Za-z0-9]{1,3})?$"
            },
            "example": "US"
          },
          {
            "name": "in_stock",
            "in": "query",
            "required": false,
            "description": "Only in-stock offers.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "product",
            "in": "query",
            "required": false,
            "description": "Comma-separated product ids (`<peptide>::<form>`).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "currency",
            "in": "query",
            "required": false,
            "description": "ISO 4217 currency of the listed price.",
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z]{3}$"
            },
            "example": "USD"
          },
          {
            "name": "price_min",
            "in": "query",
            "required": false,
            "description": "Minimum listed price.",
            "schema": {
              "type": "number",
              "minimum": 0
            }
          },
          {
            "name": "price_max",
            "in": "query",
            "required": false,
            "description": "Maximum listed price.",
            "schema": {
              "type": "number",
              "minimum": 0
            }
          },
          {
            "name": "strength_min_mg",
            "in": "query",
            "required": false,
            "description": "Minimum listed strength in mg.",
            "schema": {
              "type": "number",
              "minimum": 0
            }
          },
          {
            "name": "strength_max_mg",
            "in": "query",
            "required": false,
            "description": "Maximum listed strength in mg.",
            "schema": {
              "type": "number",
              "minimum": 0
            }
          },
          {
            "name": "sort",
            "in": "query",
            "required": false,
            "description": "Order (default `price`).",
            "schema": {
              "type": "string",
              "enum": [
                "price",
                "-price",
                "price_per_mg",
                "updated",
                "newest",
                "vendor"
              ]
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Results per page (1-100, default 20).",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 20
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "description": "Opaque cursor from `pagination.next_cursor` of the previous page.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "fields",
            "in": "query",
            "required": false,
            "description": "Comma-separated fields to return for each item (`id` is always included). One of: id, product_id, product_name, peptide, vendor, product_type, form, strength, price, regular_price, currency, price_per_mg, price_per_unit, availability, ships_to, last_seen_at, is_stale, first_seen_at, price_changed_at, product_page_url, is_affiliate_link.",
            "schema": {
              "type": "string"
            },
            "example": "id,product_id,product_name"
          }
        ],
        "security": [
          {
            "bearerAuth": []
          },
          {
            "apiKeyHeader": []
          }
        ],
        "x-scope": "pricing:read",
        "x-metered": true,
        "x-example-request": "https://api.peptidelibrary.app/v1/vendors/8/prices?form=vial",
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "X-Request-Id": {
                "$ref": "#/components/headers/X-Request-Id"
              },
              "ETag": {
                "$ref": "#/components/headers/ETag"
              },
              "RateLimit-Limit": {
                "$ref": "#/components/headers/RateLimit-Limit"
              },
              "RateLimit-Remaining": {
                "$ref": "#/components/headers/RateLimit-Remaining"
              },
              "RateLimit-Reset": {
                "$ref": "#/components/headers/RateLimit-Reset"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data",
                    "pagination",
                    "meta"
                  ],
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Offer"
                      }
                    },
                    "pagination": {
                      "$ref": "#/components/schemas/Pagination"
                    },
                    "meta": {
                      "$ref": "#/components/schemas/Meta"
                    }
                  }
                }
              }
            }
          },
          "304": {
            "description": "Not modified (your `If-None-Match` matched the `ETag`)."
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "$ref": "#/components/responses/Unavailable"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "ApiIndex": {
        "$id": "#/components/schemas/ApiIndex",
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "version": {
            "type": "string"
          },
          "release": {
            "type": "string"
          },
          "documentation": {
            "type": "string",
            "description": "Absolute URL."
          },
          "openapi": {
            "type": "string",
            "description": "Absolute URL."
          },
          "endpoints": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "method": {
                  "type": "string"
                },
                "path": {
                  "type": "string"
                },
                "scope": {
                  "type": "string",
                  "enum": [
                    "research:read",
                    "studies:read",
                    "vendors:read",
                    "products:read",
                    "pricing:read"
                  ]
                },
                "auth": {
                  "type": "string",
                  "enum": [
                    "optional",
                    "required"
                  ]
                }
              },
              "required": [
                "method",
                "path",
                "scope",
                "auth"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "name",
          "version",
          "release",
          "documentation",
          "openapi",
          "endpoints"
        ],
        "additionalProperties": false
      },
      "Category": {
        "$id": "#/components/schemas/Category",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "peptide_count": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991
          },
          "url": {
            "type": "string",
            "description": "Absolute URL."
          },
          "peptides": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "url": {
                  "type": "string",
                  "description": "Absolute URL."
                }
              },
              "required": [
                "id",
                "name",
                "url"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "id",
          "label",
          "description",
          "peptide_count",
          "url",
          "peptides"
        ],
        "additionalProperties": false
      },
      "ContentResult": {
        "$id": "#/components/schemas/ContentResult",
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "faq",
              "peptide_faq",
              "article",
              "course"
            ]
          },
          "source_label": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "snippet": {
            "type": [
              "string",
              "null"
            ]
          },
          "url": {
            "type": "string",
            "description": "Absolute URL."
          },
          "peptide_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "updated_at": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "type",
          "source_label",
          "title",
          "snippet",
          "url",
          "peptide_id",
          "updated_at"
        ],
        "additionalProperties": false
      },
      "Error": {
        "$id": "#/components/schemas/Error",
        "type": "object",
        "properties": {
          "error": {
            "type": "object",
            "properties": {
              "code": {
                "type": "string",
                "description": "Stable machine-readable code, e.g. `invalid_parameter`, `not_found`, `rate_limited`."
              },
              "message": {
                "type": "string"
              },
              "request_id": {
                "type": "string"
              },
              "details": {
                "type": "object",
                "propertyNames": {
                  "type": "string"
                },
                "additionalProperties": {}
              },
              "documentation": {
                "type": "string",
                "description": "Absolute URL."
              }
            },
            "required": [
              "code",
              "message",
              "request_id"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "error"
        ],
        "additionalProperties": false
      },
      "Health": {
        "$id": "#/components/schemas/Health",
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "enum": [
              "ok",
              "degraded"
            ]
          },
          "database": {
            "type": "string",
            "enum": [
              "ok",
              "unavailable"
            ]
          },
          "release": {
            "type": "string"
          }
        },
        "required": [
          "status",
          "database",
          "release"
        ],
        "additionalProperties": false
      },
      "Meta": {
        "$id": "#/components/schemas/Meta",
        "type": "object",
        "properties": {
          "api_version": {
            "type": "string",
            "const": "v1"
          },
          "request_id": {
            "type": "string"
          },
          "retrieved_at": {
            "type": "string",
            "description": "UTC timestamp, ISO 8601."
          },
          "source": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string"
              },
              "url": {
                "type": "string",
                "description": "Absolute URL."
              }
            },
            "required": [
              "name",
              "url"
            ],
            "additionalProperties": false
          },
          "disclaimer": {
            "type": "string"
          },
          "notes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "affiliate_disclosure": {
            "type": "string"
          },
          "documentation": {
            "type": "string",
            "description": "Absolute URL."
          }
        },
        "required": [
          "api_version",
          "request_id",
          "retrieved_at",
          "source",
          "disclaimer"
        ],
        "additionalProperties": {},
        "description": "Request metadata. More keys may be added in v1."
      },
      "Offer": {
        "$id": "#/components/schemas/Offer",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Offer id."
          },
          "product_id": {
            "type": "string"
          },
          "product_name": {
            "type": "string",
            "description": "As the vendor lists it."
          },
          "peptide": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "url": {
                "type": "string",
                "description": "Absolute URL."
              }
            },
            "required": [
              "id",
              "name",
              "url"
            ],
            "additionalProperties": false
          },
          "vendor": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "profile_url": {
                "type": "string",
                "description": "Absolute URL."
              }
            },
            "required": [
              "id",
              "name",
              "profile_url"
            ],
            "additionalProperties": false
          },
          "product_type": {
            "type": "string",
            "enum": [
              "peptides",
              "sprays",
              "capsules",
              "other"
            ]
          },
          "form": {
            "type": "string",
            "enum": [
              "vial",
              "solution",
              "pen",
              "nasal_spray",
              "oral_spray",
              "spray",
              "capsule",
              "tablet",
              "topical",
              "liquid",
              "bulk_powder",
              "other",
              "unknown"
            ]
          },
          "strength": {
            "type": "object",
            "properties": {
              "listed": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "mg": {
                "anyOf": [
                  {
                    "type": "string",
                    "pattern": "^-?\\d+(\\.\\d+)?$",
                    "description": "Decimal amount as a string, never a float."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "mg_per_container": {
                "anyOf": [
                  {
                    "type": "string",
                    "pattern": "^-?\\d+(\\.\\d+)?$",
                    "description": "Decimal amount as a string, never a float."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "basis": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "containers": {
                "anyOf": [
                  {
                    "type": "integer",
                    "minimum": -9007199254740991,
                    "maximum": 9007199254740991
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "units_per_package": {
                "anyOf": [
                  {
                    "type": "integer",
                    "minimum": -9007199254740991,
                    "maximum": 9007199254740991
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "package_label": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "volume_ml": {
                "anyOf": [
                  {
                    "type": "string",
                    "pattern": "^-?\\d+(\\.\\d+)?$",
                    "description": "Decimal amount as a string, never a float."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "concentration_mg_ml": {
                "anyOf": [
                  {
                    "type": "string",
                    "pattern": "^-?\\d+(\\.\\d+)?$",
                    "description": "Decimal amount as a string, never a float."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "sprays_per_container": {
                "anyOf": [
                  {
                    "type": "integer",
                    "minimum": -9007199254740991,
                    "maximum": 9007199254740991
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "mg_per_spray": {
                "anyOf": [
                  {
                    "type": "string",
                    "pattern": "^-?\\d+(\\.\\d+)?$",
                    "description": "Decimal amount as a string, never a float."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "listed",
              "mg",
              "mg_per_container",
              "basis",
              "containers",
              "units_per_package",
              "package_label",
              "volume_ml",
              "concentration_mg_ml",
              "sprays_per_container",
              "mg_per_spray"
            ],
            "additionalProperties": false
          },
          "price": {
            "type": "string",
            "pattern": "^-?\\d+(\\.\\d+)?$",
            "description": "Decimal amount as a string, never a float."
          },
          "regular_price": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^-?\\d+(\\.\\d+)?$",
                "description": "Decimal amount as a string, never a float."
              },
              {
                "type": "null"
              }
            ]
          },
          "currency": {
            "type": "string"
          },
          "price_per_mg": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^-?\\d+(\\.\\d+)?$",
                "description": "Decimal amount as a string, never a float."
              },
              {
                "type": "null"
              }
            ]
          },
          "price_per_unit": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^-?\\d+(\\.\\d+)?$",
                "description": "Decimal amount as a string, never a float."
              },
              {
                "type": "null"
              }
            ]
          },
          "availability": {
            "type": "string",
            "enum": [
              "in_stock",
              "out_of_stock"
            ]
          },
          "ships_to": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "destination": {
                    "type": "string"
                  },
                  "status": {
                    "type": "string",
                    "enum": [
                      "ships",
                      "ships_partial",
                      "unknown",
                      "no"
                    ]
                  }
                },
                "required": [
                  "destination",
                  "status"
                ],
                "additionalProperties": false
              },
              {
                "type": "null"
              }
            ],
            "description": "Shipping to the `ships_to` destination you asked about; null when you didn't ask. `unknown` is never shown as ships."
          },
          "last_seen_at": {
            "anyOf": [
              {
                "type": "string",
                "description": "UTC timestamp, ISO 8601."
              },
              {
                "type": "null"
              }
            ],
            "description": "When the price was last seen on the vendor's site."
          },
          "is_stale": {
            "type": "boolean",
            "description": "True when not seen in the last 7 days."
          },
          "first_seen_at": {
            "anyOf": [
              {
                "type": "string",
                "description": "UTC timestamp, ISO 8601."
              },
              {
                "type": "null"
              }
            ]
          },
          "price_changed_at": {
            "anyOf": [
              {
                "type": "string",
                "description": "UTC timestamp, ISO 8601."
              },
              {
                "type": "null"
              }
            ]
          },
          "product_page_url": {
            "type": "string",
            "description": "Peptide Library redirect to the vendor's page; logs the click."
          },
          "is_affiliate_link": {
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "product_id",
          "product_name",
          "peptide",
          "vendor",
          "product_type",
          "form",
          "strength",
          "price",
          "regular_price",
          "currency",
          "price_per_mg",
          "price_per_unit",
          "availability",
          "ships_to",
          "last_seen_at",
          "is_stale",
          "first_seen_at",
          "price_changed_at",
          "product_page_url",
          "is_affiliate_link"
        ],
        "additionalProperties": false
      },
      "Pagination": {
        "$id": "#/components/schemas/Pagination",
        "type": "object",
        "properties": {
          "next_cursor": {
            "description": "Pass as `cursor` to get the next page; null on the last page.",
            "type": [
              "string",
              "null"
            ]
          },
          "has_more": {
            "type": "boolean"
          },
          "total": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991,
            "description": "Results matching the request, across all pages."
          },
          "limit": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991
          }
        },
        "required": [
          "next_cursor",
          "has_more",
          "total",
          "limit"
        ],
        "additionalProperties": false
      },
      "Peptide": {
        "$id": "#/components/schemas/Peptide",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "also_known_as": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "url": {
            "type": "string"
          },
          "summary": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "string",
                "const": "not_documented"
              }
            ]
          },
          "research_areas": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "categories": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "label": {
                  "type": "string"
                }
              },
              "required": [
                "id",
                "label"
              ],
              "additionalProperties": false
            }
          },
          "classification": {
            "type": "object",
            "properties": {
              "library_classification": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "string",
                    "const": "not_documented"
                  }
                ]
              },
              "type": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "string",
                    "const": "not_documented"
                  }
                ]
              },
              "mechanism_class": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "string",
                    "const": "not_documented"
                  }
                ]
              },
              "development_stage": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "string",
                    "const": "not_documented"
                  }
                ]
              },
              "regulatory_class": {
                "type": "string"
              }
            },
            "required": [
              "library_classification",
              "type",
              "mechanism_class",
              "development_stage",
              "regulatory_class"
            ],
            "additionalProperties": false
          },
          "mechanism": {
            "type": "object",
            "properties": {
              "description": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "string",
                    "const": "not_documented"
                  }
                ]
              },
              "targets": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "origin": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "string",
                    "const": "not_documented"
                  }
                ]
              }
            },
            "required": [
              "description",
              "targets",
              "origin"
            ],
            "additionalProperties": false
          },
          "properties": {
            "type": "object",
            "properties": {
              "sequence": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "string",
                    "const": "not_documented"
                  }
                ]
              },
              "amino_acid_length": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "const": "not_documented"
                  }
                ]
              },
              "molecular_formula": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "string",
                    "const": "not_documented"
                  }
                ]
              },
              "molecular_weight": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "string",
                    "const": "not_documented"
                  }
                ]
              },
              "cas_number": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "string",
                    "const": "not_documented"
                  }
                ]
              },
              "half_life": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "string",
                    "const": "not_documented"
                  }
                ]
              },
              "studied_routes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "required": [
              "sequence",
              "amino_acid_length",
              "molecular_formula",
              "molecular_weight",
              "cas_number",
              "half_life",
              "studied_routes"
            ],
            "additionalProperties": false
          },
          "evidence": {
            "type": "object",
            "properties": {
              "reviewed": {
                "type": "boolean"
              },
              "level": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "string",
                    "const": "not_documented"
                  }
                ]
              },
              "level_label": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "string",
                    "const": "not_documented"
                  }
                ]
              },
              "highest_documented": {
                "type": "string"
              },
              "human_dosing_established": {
                "anyOf": [
                  {
                    "type": "boolean"
                  },
                  {
                    "type": "string",
                    "const": "not_documented"
                  }
                ]
              },
              "counts": {
                "type": "object",
                "properties": {
                  "human_trials": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "const": "not_documented"
                      }
                    ]
                  },
                  "controlled_human_trials": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "const": "not_documented"
                      }
                    ]
                  },
                  "secondary_reports": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "const": "not_documented"
                      }
                    ]
                  },
                  "preclinical_sources": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "const": "not_documented"
                      }
                    ]
                  },
                  "registered_trials_without_results": {
                    "anyOf": [
                      {
                        "type": "number"
                      },
                      {
                        "type": "string",
                        "const": "not_documented"
                      }
                    ]
                  }
                },
                "required": [
                  "human_trials",
                  "controlled_human_trials",
                  "secondary_reports",
                  "preclinical_sources",
                  "registered_trials_without_results"
                ],
                "additionalProperties": false
              },
              "ladder": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "step": {
                      "type": "string"
                    },
                    "status": {
                      "type": "string"
                    },
                    "reviewed_sources": {
                      "anyOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "string",
                          "const": "not_documented"
                        }
                      ]
                    }
                  },
                  "required": [
                    "step",
                    "status",
                    "reviewed_sources"
                  ],
                  "additionalProperties": false
                }
              },
              "latest_source_year": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "const": "not_documented"
                  }
                ]
              },
              "studies": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "citation": {
                      "type": "string"
                    },
                    "tier": {
                      "type": "string",
                      "enum": [
                        "regulatory_label",
                        "human_controlled_trial",
                        "human_study",
                        "secondary_report",
                        "animal_or_lab",
                        "in_vitro"
                      ]
                    },
                    "tier_label": {
                      "type": "string"
                    },
                    "study_type": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "string",
                          "const": "not_documented"
                        }
                      ]
                    },
                    "population": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "string",
                          "const": "not_documented"
                        }
                      ]
                    },
                    "sample_size": {
                      "anyOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "string",
                          "const": "not_documented"
                        }
                      ]
                    },
                    "year": {
                      "anyOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "string",
                          "const": "not_documented"
                        }
                      ]
                    },
                    "finding": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "string",
                          "const": "not_documented"
                        }
                      ]
                    },
                    "analog_compound": {
                      "type": "boolean"
                    },
                    "limitations": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "url": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "string",
                          "const": "not_documented"
                        }
                      ]
                    }
                  },
                  "required": [
                    "citation",
                    "tier",
                    "tier_label",
                    "study_type",
                    "population",
                    "sample_size",
                    "year",
                    "finding",
                    "analog_compound",
                    "limitations",
                    "url"
                  ],
                  "additionalProperties": false
                }
              },
              "registered_trials": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "url": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "id",
                    "url"
                  ],
                  "additionalProperties": false
                }
              },
              "how_to_read": {
                "type": "string"
              }
            },
            "required": [
              "reviewed",
              "level",
              "level_label",
              "highest_documented",
              "human_dosing_established",
              "counts",
              "ladder",
              "latest_source_year",
              "studies",
              "registered_trials",
              "how_to_read"
            ],
            "additionalProperties": false
          },
          "safety": {
            "type": "object",
            "properties": {
              "side_effects": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "risks": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "contraindications": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "human_safety_basis": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "string",
                    "const": "not_documented"
                  }
                ]
              },
              "key_limitations": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "required": [
              "side_effects",
              "risks",
              "contraindications",
              "human_safety_basis",
              "key_limitations"
            ],
            "additionalProperties": false
          },
          "regulatory": {
            "type": "object",
            "properties": {
              "fda_status": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "string",
                    "const": "not_documented"
                  }
                ]
              },
              "wada_status": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "string",
                    "const": "not_documented"
                  }
                ]
              },
              "availability": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "string",
                    "const": "not_documented"
                  }
                ]
              },
              "statement": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "string",
                    "const": "not_documented"
                  }
                ]
              },
              "conflict": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "string",
                    "const": "not_documented"
                  }
                ]
              }
            },
            "required": [
              "fda_status",
              "wada_status",
              "availability",
              "statement",
              "conflict"
            ],
            "additionalProperties": false
          },
          "references": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "label": {
                  "type": "string"
                },
                "url": {
                  "type": "string"
                }
              },
              "required": [
                "label",
                "url"
              ],
              "additionalProperties": false
            }
          },
          "review": {
            "type": "object",
            "properties": {
              "content_reviewed_at": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "string",
                    "const": "not_documented"
                  }
                ]
              },
              "evidence_last_reviewed": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "string",
                    "const": "not_documented"
                  }
                ]
              },
              "last_updated": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "string",
                    "const": "not_documented"
                  }
                ]
              }
            },
            "required": [
              "content_reviewed_at",
              "evidence_last_reviewed",
              "last_updated"
            ],
            "additionalProperties": false
          },
          "notes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "regulatory_status": {
            "type": "string",
            "enum": [
              "approved",
              "investigational",
              "experimental",
              "withdrawn",
              "insufficient"
            ]
          },
          "links": {
            "type": "object",
            "properties": {
              "self": {
                "type": "string",
                "description": "Absolute URL."
              },
              "studies": {
                "type": "string",
                "description": "Absolute URL."
              },
              "research": {
                "type": "string",
                "description": "Absolute URL."
              },
              "regulatory_status": {
                "type": "string",
                "description": "Absolute URL."
              },
              "page": {
                "type": "string",
                "description": "Absolute URL."
              }
            },
            "required": [
              "self",
              "studies",
              "research",
              "regulatory_status",
              "page"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "id",
          "name",
          "also_known_as",
          "url",
          "summary",
          "research_areas",
          "categories",
          "classification",
          "mechanism",
          "properties",
          "evidence",
          "safety",
          "regulatory",
          "references",
          "review",
          "notes",
          "regulatory_status",
          "links"
        ],
        "additionalProperties": false
      },
      "PeptideSummary": {
        "$id": "#/components/schemas/PeptideSummary",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "also_known_as": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "categories": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "label": {
                  "type": "string"
                }
              },
              "required": [
                "id",
                "label"
              ],
              "additionalProperties": false
            }
          },
          "summary": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "string",
                "const": "not_documented"
              }
            ]
          },
          "research_topics": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "classification": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "string",
                "const": "not_documented"
              }
            ]
          },
          "fda_status": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "string",
                "const": "not_documented"
              }
            ]
          },
          "evidence": {
            "type": "object",
            "properties": {
              "reviewed": {
                "type": "boolean",
                "description": "Whether the evidence has been checked against primary sources."
              },
              "level": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "string",
                    "const": "not_documented"
                  }
                ]
              },
              "level_label": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "string",
                    "const": "not_documented"
                  }
                ]
              }
            },
            "required": [
              "reviewed",
              "level",
              "level_label"
            ],
            "additionalProperties": false
          },
          "url": {
            "type": "string"
          },
          "regulatory_status": {
            "type": "string",
            "enum": [
              "approved",
              "investigational",
              "experimental",
              "withdrawn",
              "insufficient"
            ],
            "description": "Regulatory class read from the profile's FDA status."
          },
          "content_reviewed_at": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "string",
                "const": "not_documented"
              }
            ]
          },
          "api_url": {
            "type": "string",
            "description": "Absolute URL."
          }
        },
        "required": [
          "id",
          "name",
          "also_known_as",
          "categories",
          "summary",
          "research_topics",
          "classification",
          "fda_status",
          "evidence",
          "url",
          "regulatory_status",
          "content_reviewed_at",
          "api_url"
        ],
        "additionalProperties": false
      },
      "PriceComparison": {
        "$id": "#/components/schemas/PriceComparison",
        "type": "object",
        "properties": {
          "peptide": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "url": {
                "type": "string",
                "description": "Absolute URL."
              }
            },
            "required": [
              "id",
              "name",
              "url"
            ],
            "additionalProperties": false
          },
          "groups": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "product_id": {
                  "type": "string"
                },
                "form": {
                  "type": "string",
                  "enum": [
                    "vial",
                    "solution",
                    "pen",
                    "nasal_spray",
                    "oral_spray",
                    "spray",
                    "capsule",
                    "tablet",
                    "topical",
                    "liquid",
                    "bulk_powder",
                    "other",
                    "unknown"
                  ]
                },
                "currency": {
                  "type": "string"
                },
                "strength": {
                  "type": "string",
                  "description": "Listed strength the offers share, e.g. \"5 mg\" or \"unknown\"."
                },
                "offer_count": {
                  "type": "integer",
                  "minimum": -9007199254740991,
                  "maximum": 9007199254740991
                },
                "min_price": {
                  "type": "string",
                  "pattern": "^-?\\d+(\\.\\d+)?$",
                  "description": "Decimal amount as a string, never a float."
                },
                "max_price": {
                  "type": "string",
                  "pattern": "^-?\\d+(\\.\\d+)?$",
                  "description": "Decimal amount as a string, never a float."
                },
                "offers": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Offer"
                  }
                }
              },
              "required": [
                "product_id",
                "form",
                "currency",
                "strength",
                "offer_count",
                "min_price",
                "max_price",
                "offers"
              ],
              "additionalProperties": false
            }
          },
          "note": {
            "type": "string"
          }
        },
        "required": [
          "peptide",
          "groups",
          "note"
        ],
        "additionalProperties": false
      },
      "Product": {
        "$id": "#/components/schemas/Product",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Compound and form, e.g. `bpc-157::vial`."
          },
          "peptide": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "url": {
                "type": "string",
                "description": "Absolute URL."
              }
            },
            "required": [
              "id",
              "name",
              "url"
            ],
            "additionalProperties": false
          },
          "form": {
            "type": "string",
            "enum": [
              "vial",
              "solution",
              "pen",
              "nasal_spray",
              "oral_spray",
              "spray",
              "capsule",
              "tablet",
              "topical",
              "liquid",
              "bulk_powder",
              "other",
              "unknown"
            ]
          },
          "product_type": {
            "type": "string",
            "enum": [
              "peptides",
              "sprays",
              "capsules",
              "other"
            ]
          },
          "offer_count": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991
          },
          "vendor_count": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991
          },
          "in_stock_count": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991
          },
          "prices": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "currency": {
                  "type": "string"
                },
                "offer_count": {
                  "type": "integer",
                  "minimum": -9007199254740991,
                  "maximum": 9007199254740991
                },
                "min_price": {
                  "type": "string",
                  "pattern": "^-?\\d+(\\.\\d+)?$",
                  "description": "Decimal amount as a string, never a float."
                },
                "max_price": {
                  "type": "string",
                  "pattern": "^-?\\d+(\\.\\d+)?$",
                  "description": "Decimal amount as a string, never a float."
                },
                "min_price_per_mg": {
                  "anyOf": [
                    {
                      "type": "string",
                      "pattern": "^-?\\d+(\\.\\d+)?$",
                      "description": "Decimal amount as a string, never a float."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "min_price_per_unit": {
                  "anyOf": [
                    {
                      "type": "string",
                      "pattern": "^-?\\d+(\\.\\d+)?$",
                      "description": "Decimal amount as a string, never a float."
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              },
              "required": [
                "currency",
                "offer_count",
                "min_price",
                "max_price",
                "min_price_per_mg",
                "min_price_per_unit"
              ],
              "additionalProperties": false
            },
            "description": "Per currency, never converted or mixed."
          },
          "last_seen_at": {
            "anyOf": [
              {
                "type": "string",
                "description": "UTC timestamp, ISO 8601."
              },
              {
                "type": "null"
              }
            ]
          },
          "api_url": {
            "type": "string",
            "description": "Absolute URL."
          }
        },
        "required": [
          "id",
          "peptide",
          "form",
          "product_type",
          "offer_count",
          "vendor_count",
          "in_stock_count",
          "prices",
          "last_seen_at",
          "api_url"
        ],
        "additionalProperties": false
      },
      "ProductDetail": {
        "$id": "#/components/schemas/ProductDetail",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Compound and form, e.g. `bpc-157::vial`."
          },
          "peptide": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "url": {
                "type": "string",
                "description": "Absolute URL."
              }
            },
            "required": [
              "id",
              "name",
              "url"
            ],
            "additionalProperties": false
          },
          "form": {
            "type": "string",
            "enum": [
              "vial",
              "solution",
              "pen",
              "nasal_spray",
              "oral_spray",
              "spray",
              "capsule",
              "tablet",
              "topical",
              "liquid",
              "bulk_powder",
              "other",
              "unknown"
            ]
          },
          "product_type": {
            "type": "string",
            "enum": [
              "peptides",
              "sprays",
              "capsules",
              "other"
            ]
          },
          "offer_count": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991
          },
          "vendor_count": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991
          },
          "in_stock_count": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991
          },
          "prices": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "currency": {
                  "type": "string"
                },
                "offer_count": {
                  "type": "integer",
                  "minimum": -9007199254740991,
                  "maximum": 9007199254740991
                },
                "min_price": {
                  "type": "string",
                  "pattern": "^-?\\d+(\\.\\d+)?$",
                  "description": "Decimal amount as a string, never a float."
                },
                "max_price": {
                  "type": "string",
                  "pattern": "^-?\\d+(\\.\\d+)?$",
                  "description": "Decimal amount as a string, never a float."
                },
                "min_price_per_mg": {
                  "anyOf": [
                    {
                      "type": "string",
                      "pattern": "^-?\\d+(\\.\\d+)?$",
                      "description": "Decimal amount as a string, never a float."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "min_price_per_unit": {
                  "anyOf": [
                    {
                      "type": "string",
                      "pattern": "^-?\\d+(\\.\\d+)?$",
                      "description": "Decimal amount as a string, never a float."
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              },
              "required": [
                "currency",
                "offer_count",
                "min_price",
                "max_price",
                "min_price_per_mg",
                "min_price_per_unit"
              ],
              "additionalProperties": false
            },
            "description": "Per currency, never converted or mixed."
          },
          "last_seen_at": {
            "anyOf": [
              {
                "type": "string",
                "description": "UTC timestamp, ISO 8601."
              },
              {
                "type": "null"
              }
            ]
          },
          "api_url": {
            "type": "string",
            "description": "Absolute URL."
          },
          "offers": {
            "anyOf": [
              {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Offer"
                }
              },
              {
                "type": "null"
              }
            ],
            "description": "With the `pricing:read` scope; otherwise null."
          }
        },
        "required": [
          "id",
          "peptide",
          "form",
          "product_type",
          "offer_count",
          "vendor_count",
          "in_stock_count",
          "prices",
          "last_seen_at",
          "api_url",
          "offers"
        ],
        "additionalProperties": false
      },
      "RegulatoryStatus": {
        "$id": "#/components/schemas/RegulatoryStatus",
        "type": "object",
        "properties": {
          "peptide": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "url": {
                "type": "string",
                "description": "Absolute URL."
              }
            },
            "required": [
              "id",
              "name",
              "url"
            ],
            "additionalProperties": false
          },
          "regulatory_status": {
            "type": "string",
            "enum": [
              "approved",
              "investigational",
              "experimental",
              "withdrawn",
              "insufficient"
            ]
          },
          "regulatory_status_label": {
            "type": "string"
          },
          "approved_medicine": {
            "type": "boolean",
            "description": "True only when the recorded FDA status is Approved."
          },
          "fda_status": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "string",
                "const": "not_documented"
              }
            ]
          },
          "wada_status": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "string",
                "const": "not_documented"
              }
            ]
          },
          "availability": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "string",
                "const": "not_documented"
              }
            ]
          },
          "development_stage": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "string",
                "const": "not_documented"
              }
            ]
          },
          "library_classification": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "string",
                "const": "not_documented"
              }
            ]
          },
          "statement": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "string",
                "const": "not_documented"
              }
            ]
          },
          "conflict": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "string",
                "const": "not_documented"
              }
            ]
          },
          "last_reviewed": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "string",
                "const": "not_documented"
              }
            ]
          },
          "note": {
            "type": "string"
          }
        },
        "required": [
          "peptide",
          "regulatory_status",
          "regulatory_status_label",
          "approved_medicine",
          "fda_status",
          "wada_status",
          "availability",
          "development_stage",
          "library_classification",
          "statement",
          "conflict",
          "last_reviewed",
          "note"
        ],
        "additionalProperties": false
      },
      "ResearchArea": {
        "$id": "#/components/schemas/ResearchArea",
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "peptide_count": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991
          },
          "peptides": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "url": {
                  "type": "string",
                  "description": "Absolute URL."
                }
              },
              "required": [
                "id",
                "name",
                "url"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "name",
          "peptide_count",
          "peptides"
        ],
        "additionalProperties": false
      },
      "ResearchSummary": {
        "$id": "#/components/schemas/ResearchSummary",
        "type": "object",
        "properties": {
          "peptide": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "url": {
                "type": "string",
                "description": "Absolute URL."
              }
            },
            "required": [
              "id",
              "name",
              "url"
            ],
            "additionalProperties": false
          },
          "evidence": {
            "type": "object",
            "properties": {
              "reviewed": {
                "type": "boolean",
                "description": "Whether the evidence has been checked against primary sources."
              },
              "level": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "string",
                    "const": "not_documented"
                  }
                ]
              },
              "level_label": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "string",
                    "const": "not_documented"
                  }
                ]
              },
              "highest_documented": {
                "type": "string"
              },
              "ladder": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "step": {
                      "type": "string"
                    },
                    "status": {
                      "type": "string"
                    },
                    "reviewed_sources": {
                      "anyOf": [
                        {
                          "type": "number"
                        },
                        {
                          "type": "string",
                          "const": "not_documented"
                        }
                      ]
                    }
                  },
                  "required": [
                    "step",
                    "status",
                    "reviewed_sources"
                  ],
                  "additionalProperties": false
                }
              },
              "how_to_read": {
                "type": "string"
              }
            },
            "required": [
              "reviewed",
              "level",
              "level_label",
              "highest_documented",
              "ladder",
              "how_to_read"
            ],
            "additionalProperties": false
          },
          "mechanisms": {
            "type": "object",
            "properties": {
              "description": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "string",
                    "const": "not_documented"
                  }
                ]
              },
              "mechanism_class": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "string",
                    "const": "not_documented"
                  }
                ]
              },
              "targets": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "origin": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "string",
                    "const": "not_documented"
                  }
                ]
              }
            },
            "required": [
              "description",
              "mechanism_class",
              "targets",
              "origin"
            ],
            "additionalProperties": false
          },
          "clinical_evidence": {
            "type": "object",
            "properties": {
              "human_trials": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "const": "not_documented"
                  }
                ]
              },
              "controlled_human_trials": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "const": "not_documented"
                  }
                ]
              },
              "registered_trials": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "url": {
                      "type": "string",
                      "description": "Absolute URL."
                    }
                  },
                  "required": [
                    "id",
                    "url"
                  ],
                  "additionalProperties": false
                }
              },
              "registered_trials_without_results": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "const": "not_documented"
                  }
                ]
              },
              "studies": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Study"
                }
              }
            },
            "required": [
              "human_trials",
              "controlled_human_trials",
              "registered_trials",
              "registered_trials_without_results",
              "studies"
            ],
            "additionalProperties": false
          },
          "preclinical_evidence": {
            "type": "object",
            "properties": {
              "sources": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "const": "not_documented"
                  }
                ]
              },
              "studies": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Study"
                }
              }
            },
            "required": [
              "sources",
              "studies"
            ],
            "additionalProperties": false
          },
          "secondary_reports": {
            "type": "object",
            "properties": {
              "count": {
                "anyOf": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "string",
                    "const": "not_documented"
                  }
                ]
              },
              "studies": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Study"
                }
              }
            },
            "required": [
              "count",
              "studies"
            ],
            "additionalProperties": false
          },
          "regulatory_evidence": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Study"
            }
          },
          "safety": {
            "type": "object",
            "properties": {
              "side_effects": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "risks": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "contraindications": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "human_safety_basis": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "string",
                    "const": "not_documented"
                  }
                ]
              }
            },
            "required": [
              "side_effects",
              "risks",
              "contraindications",
              "human_safety_basis"
            ],
            "additionalProperties": false
          },
          "limitations": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "research_gaps": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Evidence steps with no documented source in the profile."
          },
          "references": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "label": {
                  "type": "string"
                },
                "url": {
                  "type": "string",
                  "description": "Absolute URL."
                }
              },
              "required": [
                "label",
                "url"
              ],
              "additionalProperties": false
            }
          },
          "review": {
            "type": "object",
            "properties": {
              "content_reviewed_at": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "string",
                    "const": "not_documented"
                  }
                ]
              },
              "evidence_last_reviewed": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "string",
                    "const": "not_documented"
                  }
                ]
              },
              "last_updated": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "string",
                    "const": "not_documented"
                  }
                ]
              }
            },
            "required": [
              "content_reviewed_at",
              "evidence_last_reviewed",
              "last_updated"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "peptide",
          "evidence",
          "mechanisms",
          "clinical_evidence",
          "preclinical_evidence",
          "secondary_reports",
          "regulatory_evidence",
          "safety",
          "limitations",
          "research_gaps",
          "references",
          "review"
        ],
        "additionalProperties": false
      },
      "SearchResult": {
        "$id": "#/components/schemas/SearchResult",
        "type": "object",
        "properties": {
          "query": {
            "type": "string"
          },
          "peptides": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PeptideSummary"
            }
          },
          "peptide_total": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991
          },
          "content": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContentResult"
            }
          },
          "content_total": {
            "type": "integer",
            "minimum": -9007199254740991,
            "maximum": 9007199254740991
          },
          "unavailable_sources": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "query",
          "peptides",
          "peptide_total",
          "content",
          "content_total",
          "unavailable_sources"
        ],
        "additionalProperties": false
      },
      "Study": {
        "$id": "#/components/schemas/Study",
        "type": "object",
        "properties": {
          "id": {
            "description": "Stable id from the study's identifier (`pmid-…`, `doi-…`, `nct-…`); null when it has none.",
            "type": [
              "string",
              "null"
            ]
          },
          "title": {
            "type": "string"
          },
          "publication_year": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "string",
                "const": "not_documented"
              }
            ]
          },
          "authors": {
            "type": "string",
            "const": "not_documented",
            "description": "Not stored by Peptide Library."
          },
          "journal": {
            "type": "string",
            "const": "not_documented",
            "description": "Not stored by Peptide Library."
          },
          "doi": {
            "type": [
              "string",
              "null"
            ]
          },
          "pmid": {
            "type": [
              "string",
              "null"
            ]
          },
          "nct_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "study_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "string",
                "const": "not_documented"
              }
            ]
          },
          "research_model": {
            "type": "string",
            "enum": [
              "human",
              "animal_or_lab",
              "in_vitro",
              "regulatory_label",
              "secondary_report"
            ]
          },
          "population": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "string",
                "const": "not_documented"
              }
            ]
          },
          "sample_size": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "string",
                "const": "not_documented"
              }
            ]
          },
          "summary": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "string",
                "const": "not_documented"
              }
            ],
            "description": "The finding as summarised by Peptide Library editors (dose figures removed)."
          },
          "evidence_classification": {
            "type": "string",
            "enum": [
              "regulatory_label",
              "human_controlled_trial",
              "human_study",
              "secondary_report",
              "animal_or_lab",
              "in_vitro"
            ]
          },
          "evidence_classification_label": {
            "type": "string"
          },
          "analog_compound": {
            "type": "boolean",
            "description": "Research on a related compound, not this one."
          },
          "limitations": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "source_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "string",
                "const": "not_documented"
              }
            ]
          }
        },
        "required": [
          "id",
          "title",
          "publication_year",
          "authors",
          "journal",
          "doi",
          "pmid",
          "nct_id",
          "study_type",
          "research_model",
          "population",
          "sample_size",
          "summary",
          "evidence_classification",
          "evidence_classification_label",
          "analog_compound",
          "limitations",
          "source_url"
        ],
        "additionalProperties": false
      },
      "StudyDetail": {
        "$id": "#/components/schemas/StudyDetail",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "publication_year": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "string",
                "const": "not_documented"
              }
            ]
          },
          "authors": {
            "type": "string",
            "const": "not_documented",
            "description": "Not stored by Peptide Library."
          },
          "journal": {
            "type": "string",
            "const": "not_documented",
            "description": "Not stored by Peptide Library."
          },
          "doi": {
            "type": [
              "string",
              "null"
            ]
          },
          "pmid": {
            "type": [
              "string",
              "null"
            ]
          },
          "nct_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "study_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "string",
                "const": "not_documented"
              }
            ]
          },
          "research_model": {
            "type": "string",
            "enum": [
              "human",
              "animal_or_lab",
              "in_vitro",
              "regulatory_label",
              "secondary_report"
            ]
          },
          "evidence_classification": {
            "type": "string",
            "enum": [
              "regulatory_label",
              "human_controlled_trial",
              "human_study",
              "secondary_report",
              "animal_or_lab",
              "in_vitro"
            ]
          },
          "evidence_classification_label": {
            "type": "string"
          },
          "source_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "string",
                "const": "not_documented"
              }
            ]
          },
          "cited_by": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "url": {
                  "type": "string",
                  "description": "Absolute URL."
                }
              },
              "required": [
                "id",
                "name",
                "url"
              ],
              "additionalProperties": false
            }
          },
          "citations": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "peptide": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    },
                    "url": {
                      "type": "string",
                      "description": "Absolute URL."
                    }
                  },
                  "required": [
                    "id",
                    "name",
                    "url"
                  ],
                  "additionalProperties": false
                },
                "summary": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "string",
                      "const": "not_documented"
                    }
                  ]
                },
                "population": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "string",
                      "const": "not_documented"
                    }
                  ]
                },
                "sample_size": {
                  "anyOf": [
                    {
                      "type": "number"
                    },
                    {
                      "type": "string",
                      "const": "not_documented"
                    }
                  ]
                },
                "analog_compound": {
                  "type": "boolean"
                },
                "limitations": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "required": [
                "peptide",
                "summary",
                "population",
                "sample_size",
                "analog_compound",
                "limitations"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "id",
          "title",
          "publication_year",
          "authors",
          "journal",
          "doi",
          "pmid",
          "nct_id",
          "study_type",
          "research_model",
          "evidence_classification",
          "evidence_classification_label",
          "source_url",
          "cited_by",
          "citations"
        ],
        "additionalProperties": false
      },
      "StudyIndexEntry": {
        "$id": "#/components/schemas/StudyIndexEntry",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "publication_year": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "string",
                "const": "not_documented"
              }
            ]
          },
          "authors": {
            "type": "string",
            "const": "not_documented",
            "description": "Not stored by Peptide Library."
          },
          "journal": {
            "type": "string",
            "const": "not_documented",
            "description": "Not stored by Peptide Library."
          },
          "doi": {
            "type": [
              "string",
              "null"
            ]
          },
          "pmid": {
            "type": [
              "string",
              "null"
            ]
          },
          "nct_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "study_type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "string",
                "const": "not_documented"
              }
            ]
          },
          "research_model": {
            "type": "string",
            "enum": [
              "human",
              "animal_or_lab",
              "in_vitro",
              "regulatory_label",
              "secondary_report"
            ]
          },
          "evidence_classification": {
            "type": "string",
            "enum": [
              "regulatory_label",
              "human_controlled_trial",
              "human_study",
              "secondary_report",
              "animal_or_lab",
              "in_vitro"
            ]
          },
          "evidence_classification_label": {
            "type": "string"
          },
          "source_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "string",
                "const": "not_documented"
              }
            ]
          },
          "cited_by": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "url": {
                  "type": "string",
                  "description": "Absolute URL."
                }
              },
              "required": [
                "id",
                "name",
                "url"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "id",
          "title",
          "publication_year",
          "authors",
          "journal",
          "doi",
          "pmid",
          "nct_id",
          "study_type",
          "research_model",
          "evidence_classification",
          "evidence_classification_label",
          "source_url",
          "cited_by"
        ],
        "additionalProperties": false
      },
      "Vendor": {
        "$id": "#/components/schemas/Vendor",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Stable vendor id."
          },
          "slug": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "logo_url": {
            "anyOf": [
              {
                "type": "string",
                "description": "Absolute URL."
              },
              {
                "type": "null"
              }
            ]
          },
          "country": {
            "anyOf": [
              {
                "type": "string",
                "description": "ISO 3166-1 alpha-2, where the vendor is based."
              },
              {
                "type": "null"
              }
            ]
          },
          "region": {
            "type": [
              "string",
              "null"
            ]
          },
          "website_url": {
            "type": "string",
            "description": "Peptide Library link to the vendor's site (may be an affiliate link)."
          },
          "profile_url": {
            "type": "string",
            "description": "Absolute URL."
          },
          "product_categories": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "peptides",
                "sprays",
                "capsules",
                "other"
              ]
            }
          },
          "rating": {
            "type": "object",
            "properties": {
              "average": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "review_count": {
                "type": "integer",
                "minimum": -9007199254740991,
                "maximum": 9007199254740991
              },
              "verified_review_count": {
                "type": "integer",
                "minimum": -9007199254740991,
                "maximum": 9007199254740991
              },
              "method_url": {
                "type": "string",
                "description": "Absolute URL."
              }
            },
            "required": [
              "average",
              "review_count",
              "verified_review_count",
              "method_url"
            ],
            "additionalProperties": false
          },
          "catalog": {
            "type": "object",
            "properties": {
              "status": {
                "type": "string",
                "enum": [
                  "live",
                  "stale",
                  "none",
                  "unknown"
                ]
              },
              "product_count": {
                "type": "integer",
                "minimum": -9007199254740991,
                "maximum": 9007199254740991
              },
              "in_stock_count": {
                "type": "integer",
                "minimum": -9007199254740991,
                "maximum": 9007199254740991
              },
              "peptide_count": {
                "type": "integer",
                "minimum": -9007199254740991,
                "maximum": 9007199254740991
              },
              "last_updated_at": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "UTC timestamp, ISO 8601."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "status",
              "product_count",
              "in_stock_count",
              "peptide_count",
              "last_updated_at"
            ],
            "additionalProperties": false
          },
          "shipping": {
            "type": "object",
            "properties": {
              "ships_to": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "destination": {
                        "type": "string"
                      },
                      "status": {
                        "type": "string",
                        "enum": [
                          "ships",
                          "ships_partial",
                          "unknown",
                          "no"
                        ]
                      }
                    },
                    "required": [
                      "destination",
                      "status"
                    ],
                    "additionalProperties": false
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Shipping to the `ships_to` destination you asked about; null when you didn't ask. `unknown` is never shown as ships."
              },
              "coverage": {
                "type": "string",
                "enum": [
                  "verified",
                  "partial",
                  "unknown"
                ]
              },
              "ships_from": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "free_shipping_threshold": {
                "anyOf": [
                  {
                    "type": "string",
                    "pattern": "^-?\\d+(\\.\\d+)?$",
                    "description": "Decimal amount as a string, never a float."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "free_shipping_currency": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "has_express": {
                "type": [
                  "boolean",
                  "null"
                ]
              },
              "returns_window_days": {
                "type": [
                  "number",
                  "null"
                ]
              }
            },
            "required": [
              "ships_to",
              "coverage",
              "ships_from",
              "free_shipping_threshold",
              "free_shipping_currency",
              "has_express",
              "returns_window_days"
            ],
            "additionalProperties": false
          },
          "api_url": {
            "type": "string",
            "description": "Absolute URL."
          }
        },
        "required": [
          "id",
          "slug",
          "name",
          "description",
          "logo_url",
          "country",
          "region",
          "website_url",
          "profile_url",
          "product_categories",
          "rating",
          "catalog",
          "shipping",
          "api_url"
        ],
        "additionalProperties": false
      },
      "VendorComparison": {
        "$id": "#/components/schemas/VendorComparison",
        "type": "object",
        "properties": {
          "vendors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Vendor"
            }
          },
          "rows": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "field": {
                  "type": "string"
                },
                "label": {
                  "type": "string"
                },
                "values": {
                  "type": "array",
                  "items": {}
                }
              },
              "required": [
                "field",
                "label",
                "values"
              ],
              "additionalProperties": false
            }
          },
          "note": {
            "type": "string"
          }
        },
        "required": [
          "vendors",
          "rows",
          "note"
        ],
        "additionalProperties": false
      },
      "VendorDetail": {
        "$id": "#/components/schemas/VendorDetail",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Stable vendor id."
          },
          "slug": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "logo_url": {
            "anyOf": [
              {
                "type": "string",
                "description": "Absolute URL."
              },
              {
                "type": "null"
              }
            ]
          },
          "country": {
            "anyOf": [
              {
                "type": "string",
                "description": "ISO 3166-1 alpha-2, where the vendor is based."
              },
              {
                "type": "null"
              }
            ]
          },
          "region": {
            "type": [
              "string",
              "null"
            ]
          },
          "website_url": {
            "type": "string",
            "description": "Peptide Library link to the vendor's site (may be an affiliate link)."
          },
          "profile_url": {
            "type": "string",
            "description": "Absolute URL."
          },
          "product_categories": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "peptides",
                "sprays",
                "capsules",
                "other"
              ]
            }
          },
          "rating": {
            "type": "object",
            "properties": {
              "average": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "review_count": {
                "type": "integer",
                "minimum": -9007199254740991,
                "maximum": 9007199254740991
              },
              "verified_review_count": {
                "type": "integer",
                "minimum": -9007199254740991,
                "maximum": 9007199254740991
              },
              "method_url": {
                "type": "string",
                "description": "Absolute URL."
              }
            },
            "required": [
              "average",
              "review_count",
              "verified_review_count",
              "method_url"
            ],
            "additionalProperties": false
          },
          "catalog": {
            "type": "object",
            "properties": {
              "status": {
                "type": "string",
                "enum": [
                  "live",
                  "stale",
                  "none",
                  "unknown"
                ]
              },
              "product_count": {
                "type": "integer",
                "minimum": -9007199254740991,
                "maximum": 9007199254740991
              },
              "in_stock_count": {
                "type": "integer",
                "minimum": -9007199254740991,
                "maximum": 9007199254740991
              },
              "peptide_count": {
                "type": "integer",
                "minimum": -9007199254740991,
                "maximum": 9007199254740991
              },
              "last_updated_at": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "UTC timestamp, ISO 8601."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "status",
              "product_count",
              "in_stock_count",
              "peptide_count",
              "last_updated_at"
            ],
            "additionalProperties": false
          },
          "shipping": {
            "type": "object",
            "properties": {
              "ships_to": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "destination": {
                        "type": "string"
                      },
                      "status": {
                        "type": "string",
                        "enum": [
                          "ships",
                          "ships_partial",
                          "unknown",
                          "no"
                        ]
                      }
                    },
                    "required": [
                      "destination",
                      "status"
                    ],
                    "additionalProperties": false
                  },
                  {
                    "type": "null"
                  }
                ],
                "description": "Shipping to the `ships_to` destination you asked about; null when you didn't ask. `unknown` is never shown as ships."
              },
              "coverage": {
                "type": "string",
                "enum": [
                  "verified",
                  "partial",
                  "unknown"
                ]
              },
              "ships_from": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "free_shipping_threshold": {
                "anyOf": [
                  {
                    "type": "string",
                    "pattern": "^-?\\d+(\\.\\d+)?$",
                    "description": "Decimal amount as a string, never a float."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "free_shipping_currency": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "has_express": {
                "type": [
                  "boolean",
                  "null"
                ]
              },
              "returns_window_days": {
                "type": [
                  "number",
                  "null"
                ]
              }
            },
            "required": [
              "ships_to",
              "coverage",
              "ships_from",
              "free_shipping_threshold",
              "free_shipping_currency",
              "has_express",
              "returns_window_days"
            ],
            "additionalProperties": false
          },
          "api_url": {
            "type": "string",
            "description": "Absolute URL."
          },
          "about": {
            "type": "object",
            "properties": {
              "legal_name": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "year_founded": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "support_url": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "required": [
              "legal_name",
              "year_founded",
              "support_url"
            ],
            "additionalProperties": false
          },
          "reviews": {
            "type": "object",
            "properties": {
              "count": {
                "type": "integer",
                "minimum": -9007199254740991,
                "maximum": 9007199254740991
              },
              "verified_count": {
                "type": "integer",
                "minimum": -9007199254740991,
                "maximum": 9007199254740991
              },
              "average": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "distribution": {
                "type": "object",
                "properties": {
                  "1": {
                    "type": "integer",
                    "minimum": -9007199254740991,
                    "maximum": 9007199254740991
                  },
                  "2": {
                    "type": "integer",
                    "minimum": -9007199254740991,
                    "maximum": 9007199254740991
                  },
                  "3": {
                    "type": "integer",
                    "minimum": -9007199254740991,
                    "maximum": 9007199254740991
                  },
                  "4": {
                    "type": "integer",
                    "minimum": -9007199254740991,
                    "maximum": 9007199254740991
                  },
                  "5": {
                    "type": "integer",
                    "minimum": -9007199254740991,
                    "maximum": 9007199254740991
                  }
                },
                "required": [
                  "1",
                  "2",
                  "3",
                  "4",
                  "5"
                ],
                "additionalProperties": false
              },
              "categories": {
                "type": "object",
                "propertyNames": {
                  "type": "string"
                },
                "additionalProperties": {
                  "type": "object",
                  "properties": {
                    "average": {
                      "type": [
                        "number",
                        "null"
                      ]
                    },
                    "count": {
                      "type": "integer",
                      "minimum": -9007199254740991,
                      "maximum": 9007199254740991
                    }
                  },
                  "required": [
                    "average",
                    "count"
                  ],
                  "additionalProperties": false
                }
              },
              "last_review_at": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "required": [
              "count",
              "verified_count",
              "average",
              "distribution",
              "categories",
              "last_review_at"
            ],
            "additionalProperties": false
          },
          "sources": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {
              "type": "object",
              "properties": {
                "source": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "url": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "checked_at": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              },
              "required": [
                "source",
                "url",
                "checked_at"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "id",
          "slug",
          "name",
          "description",
          "logo_url",
          "country",
          "region",
          "website_url",
          "profile_url",
          "product_categories",
          "rating",
          "catalog",
          "shipping",
          "api_url",
          "about",
          "reviews",
          "sources"
        ],
        "additionalProperties": false
      },
      "VendorShipping": {
        "$id": "#/components/schemas/VendorShipping",
        "type": "object",
        "properties": {
          "vendor": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "profile_url": {
                "type": "string",
                "description": "Absolute URL."
              }
            },
            "required": [
              "id",
              "name",
              "profile_url"
            ],
            "additionalProperties": false
          },
          "ships_to": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "destination": {
                    "type": "string"
                  },
                  "status": {
                    "type": "string",
                    "enum": [
                      "ships",
                      "ships_partial",
                      "unknown",
                      "no"
                    ]
                  }
                },
                "required": [
                  "destination",
                  "status"
                ],
                "additionalProperties": false
              },
              {
                "type": "null"
              }
            ],
            "description": "Shipping to the `ships_to` destination you asked about; null when you didn't ask. `unknown` is never shown as ships."
          },
          "coverage": {
            "type": "string",
            "enum": [
              "verified",
              "partial",
              "unknown"
            ]
          },
          "destinations": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Countries, US-XX states or groups (EU, EEA, WORLDWIDE) the vendor lists."
          },
          "excluded": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "ships_internationally": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "ships_from": {
            "type": [
              "string",
              "null"
            ]
          },
          "processing_time": {
            "type": [
              "string",
              "null"
            ]
          },
          "methods": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string"
                },
                "carrier": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "speed": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "regions": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "price": {
                  "anyOf": [
                    {
                      "type": "string",
                      "pattern": "^-?\\d+(\\.\\d+)?$",
                      "description": "Decimal amount as a string, never a float."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "currency": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "free_over": {
                  "anyOf": [
                    {
                      "type": "string",
                      "pattern": "^-?\\d+(\\.\\d+)?$",
                      "description": "Decimal amount as a string, never a float."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "estimated_days_min": {
                  "type": [
                    "number",
                    "null"
                  ]
                },
                "estimated_days_max": {
                  "type": [
                    "number",
                    "null"
                  ]
                },
                "business_days": {
                  "type": [
                    "boolean",
                    "null"
                  ]
                },
                "estimate_text": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "source": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "source_url": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "verified_at": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              },
              "required": [
                "name",
                "carrier",
                "speed",
                "regions",
                "price",
                "currency",
                "free_over",
                "estimated_days_min",
                "estimated_days_max",
                "business_days",
                "estimate_text",
                "source",
                "source_url",
                "verified_at"
              ],
              "additionalProperties": false
            }
          },
          "free_shipping": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "threshold": {
                    "type": "string",
                    "pattern": "^-?\\d+(\\.\\d+)?$",
                    "description": "Decimal amount as a string, never a float."
                  },
                  "currency": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "regions": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                },
                "required": [
                  "threshold",
                  "currency",
                  "regions"
                ],
                "additionalProperties": false
              },
              {
                "type": "null"
              }
            ]
          },
          "returns": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "window_days": {
                    "type": [
                      "number",
                      "null"
                    ]
                  },
                  "policy_url": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "notes": {
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                },
                "required": [
                  "window_days",
                  "policy_url",
                  "notes"
                ],
                "additionalProperties": false
              },
              {
                "type": "null"
              }
            ]
          },
          "policy_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "last_verified_at": {
            "type": [
              "string",
              "null"
            ]
          },
          "sources": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {
              "type": "object",
              "properties": {
                "source": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "url": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "checked_at": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              },
              "required": [
                "source",
                "url",
                "checked_at"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "vendor",
          "ships_to",
          "coverage",
          "destinations",
          "excluded",
          "ships_internationally",
          "ships_from",
          "processing_time",
          "methods",
          "free_shipping",
          "returns",
          "policy_url",
          "last_verified_at",
          "sources"
        ],
        "additionalProperties": false
      }
    },
    "securitySchemes": {
      "bearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "pl_live_…",
        "description": "API key from https://peptidelibrary.app/developers/dashboard, sent as `Authorization: Bearer pl_live_…`."
      },
      "apiKeyHeader": {
        "type": "apiKey",
        "in": "header",
        "name": "X-API-Key",
        "description": "The same key in an `X-API-Key` header."
      }
    },
    "headers": {
      "X-Request-Id": {
        "description": "Unique id of this request; quote it when you contact support.",
        "schema": {
          "type": "string"
        }
      },
      "ETag": {
        "description": "Weak validator of the response data.",
        "schema": {
          "type": "string"
        }
      },
      "RateLimit-Limit": {
        "description": "Requests allowed per minute on your plan (metered endpoints).",
        "schema": {
          "type": "integer"
        }
      },
      "RateLimit-Remaining": {
        "description": "Requests left in the current minute.",
        "schema": {
          "type": "integer"
        }
      },
      "RateLimit-Reset": {
        "description": "Seconds until the minute window resets.",
        "schema": {
          "type": "integer"
        }
      },
      "Retry-After": {
        "description": "Seconds to wait before retrying.",
        "schema": {
          "type": "integer"
        }
      }
    },
    "responses": {
      "BadRequest": {
        "description": "A parameter is missing or invalid (`invalid_parameter`, `invalid_cursor`).",
        "headers": {
          "X-Request-Id": {
            "$ref": "#/components/headers/X-Request-Id"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        }
      },
      "Unauthorized": {
        "description": "The key is missing, malformed, unknown or revoked (`missing_key`, `invalid_key`, `revoked_key`).",
        "headers": {
          "X-Request-Id": {
            "$ref": "#/components/headers/X-Request-Id"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        }
      },
      "Forbidden": {
        "description": "The key lacks the scope this endpoint needs, or the account is suspended (`insufficient_scope`, `account_suspended`).",
        "headers": {
          "X-Request-Id": {
            "$ref": "#/components/headers/X-Request-Id"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        }
      },
      "NotFound": {
        "description": "No such resource (`not_found`); peptide lookups include suggestions.",
        "headers": {
          "X-Request-Id": {
            "$ref": "#/components/headers/X-Request-Id"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        }
      },
      "TooManyRequests": {
        "description": "Over the per-minute or monthly limit (`rate_limited`, `quota_exceeded`).",
        "headers": {
          "X-Request-Id": {
            "$ref": "#/components/headers/X-Request-Id"
          },
          "Retry-After": {
            "$ref": "#/components/headers/Retry-After"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        }
      },
      "Unavailable": {
        "description": "A backend is temporarily unavailable (`backend_unavailable`); retry with backoff.",
        "headers": {
          "X-Request-Id": {
            "$ref": "#/components/headers/X-Request-Id"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        }
      }
    }
  }
}