{
  "openapi": "3.0.3",
  "info": {
    "title": "ActiPatch Public AI-Queryable API",
    "version": "1.1.0",
    "description": "Public read-only answers for ActiPatch by Electrome. Private APIs, mutations and account flows are excluded. Policy: https://actipatch.com/ai-policy. Corpus: https://actipatch.com/llms.txt. This file is the maintained contract; discovery documents and the public client are generated from it.",
    "contact": { "name": "Electrome Corporation", "url": "https://actipatch.com/public/connect", "email": "bioelectrictherapy@electrome.com" }
  },
  "servers": [{ "url": "https://actipatch.com", "description": "Canonical consumer origin" }],
  "paths": {
    "/api/public/catalog": {
      "get": {
        "operationId": "listPublicCatalog", "summary": "List consumer products with approved precautions",
        "responses": { "200": { "description": "Consumer catalog only; no prescription or wholesale products.", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Product" } } } } } }
      }
    },
    "/api/public/catalog/{slug}": {
      "get": {
        "operationId": "getPublicProduct", "summary": "Get one consumer product",
        "parameters": [{ "name": "slug", "in": "path", "required": true, "schema": { "type": "string" }, "x-crawl-values": ["actipatch", "actipatch-double", "actipatch-triple"] }],
        "responses": {
          "200": { "description": "Consumer product.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Product" } } } },
          "404": { "$ref": "#/components/responses/NotFound" }
        }
      }
    },
    "/api/public/faq": {
      "get": {
        "operationId": "listPublicFaq", "summary": "List frequently asked questions and accepted answers",
        "responses": { "200": { "description": "FAQ answers.", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/FaqEntry" } } } } } }
      }
    },
    "/api/public/press": {
      "get": {
        "operationId": "listPublicPress", "summary": "List press highlights",
        "responses": { "200": { "description": "Published press highlights.", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/PressRelease" } } } } } }
      }
    },
    "/api/public/science": {
      "get": {
        "operationId": "listPublicScience", "summary": "List evidence summaries with citations and device-specific context",
        "responses": { "200": { "description": "Evidence summaries, not a flat citation array.", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Evidence" } } } } } }
      }
    },
    "/api/public/science/{slug}": {
      "get": {
        "operationId": "getPublicEvidence", "summary": "Get one evidence summary and its citations",
        "parameters": [{ "name": "slug", "in": "path", "required": true, "description": "Use a slug returned by listPublicScience.", "schema": { "type": "string" }, "x-crawl-values": ["fibromyalgia-trial", "2024-meta-analysis", "indications-studied", "regulatory-context"] }],
        "responses": {
          "200": {
            "description": "An evidence summary including citations. Empty citations means none are supplied for this entry.",
            "content": { "application/json": {
              "schema": { "$ref": "#/components/schemas/Evidence" },
              "example": { "slug": "indications-studied", "title": "PSWT — Indications studied", "shortTitle": "Indication matrix", "summary": "Summary of indications studied for low-intensity PSWT including chronic musculoskeletal pain, knee osteoarthritis, plantar fasciitis, post-surgical pain and edema, with study type and strength.", "strength": "Moderate", "citations": [] }
            } }
          },
          "404": { "$ref": "#/components/responses/NotFound" }
        }
      }
    },
    "/api/public/locator": {
      "get": {
        "operationId": "listPublicChannels", "summary": "List national purchase channels",
        "description": "Unfiltered national channels. No geographic search, postal code, radius, distance or local inventory is provided.",
        "responses": { "200": { "description": "National channels.", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Store" } } } } } }
      }
    },
    "/api/public/team": {
      "get": {
        "operationId": "listPublicTeam", "summary": "List public leadership and advisor biographies",
        "responses": { "200": { "description": "Published biographies only.", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/TeamMember" } } } } } }
      }
    }
  },
  "components": {
    "responses": {
      "NotFound": { "description": "Unknown or non-public slug.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" }, "example": { "error": "not_found" } } } }
    },
    "schemas": {
      "Product": {
        "type": "object", "required": ["@type", "slug", "name", "description", "offers", "features", "precautions"],
        "properties": {
          "@type": { "type": "string", "enum": ["Product"] },
          "sku": { "type": "string" }, "slug": { "type": "string" }, "name": { "type": "string" },
          "description": { "type": "string" }, "shortDescription": { "type": "string" },
          "image": { "type": "string", "format": "uri" }, "category": { "type": "string" },
          "features": { "type": "array", "items": { "type": "string" } },
          "precautions": { "type": "array", "description": "Approved ActiPatch precautions; follow the device package insert.", "items": { "type": "string" } },
          "offers": {
            "type": "object", "required": ["@type", "price", "priceCurrency", "availability", "url"],
            "properties": {
              "@type": { "type": "string", "enum": ["Offer"] }, "price": { "type": "number" },
              "priceCurrency": { "type": "string", "enum": ["USD"] },
              "availability": { "type": "string", "format": "uri" }, "url": { "type": "string", "format": "uri" }
            }
          }
        }
      },
      "FaqEntry": {
        "type": "object", "required": ["@type", "slug", "name", "acceptedAnswer"],
        "properties": {
          "@type": { "type": "string", "enum": ["Question"] }, "slug": { "type": "string" }, "name": { "type": "string" },
          "acceptedAnswer": { "type": "object", "required": ["@type", "text"], "properties": { "@type": { "type": "string", "enum": ["Answer"] }, "text": { "type": "string" } } }
        }
      },
      "PressRelease": {
        "type": "object", "required": ["@type", "slug", "headline", "publisher", "datePublished", "description", "url"],
        "properties": {
          "@type": { "type": "string", "enum": ["NewsArticle"] }, "slug": { "type": "string" }, "headline": { "type": "string" },
          "publisher": { "type": "object", "required": ["@type", "name"], "properties": { "@type": { "type": "string", "enum": ["Organization"] }, "name": { "type": "string" } } },
          "datePublished": { "type": "string" }, "description": { "type": "string" }, "url": { "type": "string", "format": "uri" }
        }
      },
      "Citation": {
        "type": "object", "required": ["authors", "title", "publication", "year"],
        "properties": { "authors": { "type": "string" }, "title": { "type": "string" }, "publication": { "type": "string" }, "year": { "type": "string" }, "url": { "type": "string", "format": "uri" } }
      },
      "Evidence": {
        "type": "object", "required": ["slug", "title", "shortTitle", "summary", "citations"],
        "properties": {
          "slug": { "type": "string" }, "title": { "type": "string" }, "shortTitle": { "type": "string" }, "summary": { "type": "string" }, "strength": { "type": "string" },
          "citations": { "type": "array", "items": { "$ref": "#/components/schemas/Citation" } }
        }
      },
      "Store": {
        "type": "object", "required": ["@type", "name", "url", "areaServed", "channel"],
        "properties": { "@type": { "type": "string", "enum": ["Store"] }, "name": { "type": "string" }, "url": { "type": "string", "format": "uri" }, "areaServed": { "type": "string" }, "channel": { "type": "string", "enum": ["online", "retail"] } }
      },
      "TeamMember": {
        "type": "object", "required": ["@type", "name", "role", "bio", "category", "url"],
        "properties": { "@type": { "type": "string", "enum": ["Person"] }, "name": { "type": "string" }, "role": { "type": "string" }, "bio": { "type": "string" }, "category": { "type": "string", "enum": ["executive", "advisor", "board"] }, "url": { "type": "string", "format": "uri" } }
      },
      "Error": {
        "type": "object", "required": ["error"], "properties": { "error": { "type": "string", "enum": ["not_found"] } }
      }
    }
  }
}
