{"openapi":"3.1.0","info":{"title":"THC Store Agent API","version":"1.0.0","description":"Customer-facing AI agent API. Authenticate with a Personal Access Token issued at https://thcstore.in/account/connected-ai. PAT format: thc_pat_<base64url-32bytes>.","contact":{"email":"grievance@thcstore.in"}},"servers":[{"url":"https://agent-api.thcstore.in","description":"Production"}],"components":{"securitySchemes":{"patAuth":{"type":"http","scheme":"bearer","bearerFormat":"thc_pat_..."}}},"paths":{"/v1/auth/session/start":{"post":{"summary":"Start an OAuth session (auth-link / device-code)","description":"LLM-initiated. Returns a sessionId, a short customerCode (printed on the consent URL https://thcstore.in/agent/authorize?code=...), pollUrl, and TTL. Public — no PAT required. Per-IP rate-limited (default 5 starts/min).","tags":["auth"],"security":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["requestedScopes","requestedPurpose","aiClientLabel"],"properties":{"requestedScopes":{"type":"array","items":{"type":"string"},"minItems":1,"description":"Scope strings (e.g. catalog:read, cart:read)."},"requestedPurpose":{"type":"string","maxLength":255,"description":"One-line plain-English reason shown to the customer."},"aiClientLabel":{"type":"string","maxLength":120,"description":"Display name of the calling AI client (e.g. 'Claude Desktop')."}}}}}},"responses":{"200":{"description":"Session created.","content":{"application/json":{"schema":{"type":"object","required":["sessionId","customerCode","authUrl","pollUrl","expiresIn"],"properties":{"sessionId":{"type":"string","description":"64-char gateway polling key."},"customerCode":{"type":"string","description":"13-char user-facing code (e.g. ABCXYZ-234567)."},"authUrl":{"type":"string","format":"uri"},"pollUrl":{"type":"string","format":"uri"},"expiresIn":{"type":"integer","description":"Seconds until session expires."}}}}}},"422":{"description":"Missing or invalid arguments."},"429":{"description":"Per-IP rate limit exceeded."},"503":{"description":"OAuth flow disabled by admin."}}}},"/v1/auth/session/{sessionId}/poll":{"get":{"summary":"Poll an OAuth session for the redeemed PAT","description":"LLM polls every 1-2 seconds. Returns 202 while pending, 200 with the plaintext PAT once the customer approves (returned exactly once), 410 on denied/expired/already-redeemed, or 404 on unknown session.","tags":["auth"],"security":[],"parameters":[{"name":"sessionId","in":"path","required":true,"schema":{"type":"string","minLength":64,"maxLength":64}}],"responses":{"200":{"description":"Approved + redeemed. PAT returned exactly once.","content":{"application/json":{"schema":{"type":"object","required":["pat","scopes"],"properties":{"pat":{"type":"string","description":"Plaintext PAT (thc_pat_...)"},"scopes":{"type":"array","items":{"type":"string"}},"expiresAt":{"type":"string","format":"date-time","nullable":true}}}}}},"202":{"description":"Still pending — keep polling."},"404":{"description":"Unknown sessionId."},"410":{"description":"Denied / expired / already redeemed."}}}},"/v1/tools/whoami":{"post":{"summary":"whoami","description":"Invoke the whoami tool. Scope required: (any authenticated)","tags":["auth"],"security":[{"patAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["args"],"properties":{"args":{"type":"object","properties":{}}}}}}},"responses":{"200":{"description":"Success — wrapped envelope","content":{"application/json":{"schema":{"type":"object","required":["data","_ai_disclosure","_correlation_id"],"properties":{"data":{"type":"object"},"_ai_disclosure":{"type":"string"},"_correlation_id":{"type":"string"},"_warnings":{"type":"array","items":{"type":"string"}}}}}}},"400":{"description":"Invalid arguments"},"401":{"description":"Auth required / token revoked / expired / malformed"},"403":{"description":"Scope or consent missing"},"404":{"description":"Tool not found / cross-tenant entity"},"429":{"description":"Rate limit exceeded"}}}},"/v1/tools/searchProducts":{"post":{"summary":"searchProducts","description":"Invoke the searchProducts tool. Scope required: catalog:read","tags":["catalog:read"],"security":[{"patAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["args"],"properties":{"args":{"type":"object","properties":{"query":{"type":"string","minLength":1,"maxLength":200},"limit":{"type":"integer","minimum":1,"maximum":50},"filters":{"type":"object","properties":{"categoryId":{"type":"integer"},"brandId":{"type":"integer"},"minPriceInr":{"type":"integer","minimum":0},"maxPriceInr":{"type":"integer","minimum":0}}}},"required":["query"]}}}}}},"responses":{"200":{"description":"Success — wrapped envelope","content":{"application/json":{"schema":{"type":"object","required":["data","_ai_disclosure","_correlation_id"],"properties":{"data":{"type":"object"},"_ai_disclosure":{"type":"string"},"_correlation_id":{"type":"string"},"_warnings":{"type":"array","items":{"type":"string"}}}}}}},"400":{"description":"Invalid arguments"},"401":{"description":"Auth required / token revoked / expired / malformed"},"403":{"description":"Scope or consent missing"},"404":{"description":"Tool not found / cross-tenant entity"},"429":{"description":"Rate limit exceeded"}}}},"/v1/tools/getProduct":{"post":{"summary":"getProduct","description":"Invoke the getProduct tool. Scope required: catalog:read","tags":["catalog:read"],"security":[{"patAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["args"],"properties":{"args":{"type":"object","properties":{"productId":{"type":"integer"}},"required":["productId"]}}}}}},"responses":{"200":{"description":"Success — wrapped envelope","content":{"application/json":{"schema":{"type":"object","required":["data","_ai_disclosure","_correlation_id"],"properties":{"data":{"type":"object"},"_ai_disclosure":{"type":"string"},"_correlation_id":{"type":"string"},"_warnings":{"type":"array","items":{"type":"string"}}}}}}},"400":{"description":"Invalid arguments"},"401":{"description":"Auth required / token revoked / expired / malformed"},"403":{"description":"Scope or consent missing"},"404":{"description":"Tool not found / cross-tenant entity"},"429":{"description":"Rate limit exceeded"}}}},"/v1/tools/getCategories":{"post":{"summary":"getCategories","description":"Invoke the getCategories tool. Scope required: catalog:read","tags":["catalog:read"],"security":[{"patAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["args"],"properties":{"args":{"type":"object","properties":{"parentId":{"type":"integer"}}}}}}}},"responses":{"200":{"description":"Success — wrapped envelope","content":{"application/json":{"schema":{"type":"object","required":["data","_ai_disclosure","_correlation_id"],"properties":{"data":{"type":"object"},"_ai_disclosure":{"type":"string"},"_correlation_id":{"type":"string"},"_warnings":{"type":"array","items":{"type":"string"}}}}}}},"400":{"description":"Invalid arguments"},"401":{"description":"Auth required / token revoked / expired / malformed"},"403":{"description":"Scope or consent missing"},"404":{"description":"Tool not found / cross-tenant entity"},"429":{"description":"Rate limit exceeded"}}}},"/v1/tools/checkStock":{"post":{"summary":"checkStock","description":"Invoke the checkStock tool. Scope required: catalog:read","tags":["catalog:read"],"security":[{"patAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["args"],"properties":{"args":{"type":"object","properties":{"productId":{"type":"integer"},"qty":{"type":"integer","minimum":1,"maximum":99}},"required":["productId"]}}}}}},"responses":{"200":{"description":"Success — wrapped envelope","content":{"application/json":{"schema":{"type":"object","required":["data","_ai_disclosure","_correlation_id"],"properties":{"data":{"type":"object"},"_ai_disclosure":{"type":"string"},"_correlation_id":{"type":"string"},"_warnings":{"type":"array","items":{"type":"string"}}}}}}},"400":{"description":"Invalid arguments"},"401":{"description":"Auth required / token revoked / expired / malformed"},"403":{"description":"Scope or consent missing"},"404":{"description":"Tool not found / cross-tenant entity"},"429":{"description":"Rate limit exceeded"}}}},"/v1/tools/getCart":{"post":{"summary":"getCart","description":"Invoke the getCart tool. Scope required: cart:read","tags":["cart:read"],"security":[{"patAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["args"],"properties":{"args":{"type":"object","properties":{}}}}}}},"responses":{"200":{"description":"Success — wrapped envelope","content":{"application/json":{"schema":{"type":"object","required":["data","_ai_disclosure","_correlation_id"],"properties":{"data":{"type":"object"},"_ai_disclosure":{"type":"string"},"_correlation_id":{"type":"string"},"_warnings":{"type":"array","items":{"type":"string"}}}}}}},"400":{"description":"Invalid arguments"},"401":{"description":"Auth required / token revoked / expired / malformed"},"403":{"description":"Scope or consent missing"},"404":{"description":"Tool not found / cross-tenant entity"},"429":{"description":"Rate limit exceeded"}}}},"/v1/tools/getCartTotals":{"post":{"summary":"getCartTotals","description":"Invoke the getCartTotals tool. Scope required: cart:read","tags":["cart:read"],"security":[{"patAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["args"],"properties":{"args":{"type":"object","properties":{}}}}}}},"responses":{"200":{"description":"Success — wrapped envelope","content":{"application/json":{"schema":{"type":"object","required":["data","_ai_disclosure","_correlation_id"],"properties":{"data":{"type":"object"},"_ai_disclosure":{"type":"string"},"_correlation_id":{"type":"string"},"_warnings":{"type":"array","items":{"type":"string"}}}}}}},"400":{"description":"Invalid arguments"},"401":{"description":"Auth required / token revoked / expired / malformed"},"403":{"description":"Scope or consent missing"},"404":{"description":"Tool not found / cross-tenant entity"},"429":{"description":"Rate limit exceeded"}}}},"/v1/tools/addToCart":{"post":{"summary":"addToCart","description":"Invoke the addToCart tool. Scope required: cart:write","tags":["cart:write"],"security":[{"patAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["args"],"properties":{"args":{"type":"object","properties":{"productId":{"type":"integer"},"qty":{"type":"integer","minimum":1,"maximum":99},"variantId":{"type":"integer"}},"required":["productId"]}}}}}},"responses":{"200":{"description":"Success — wrapped envelope","content":{"application/json":{"schema":{"type":"object","required":["data","_ai_disclosure","_correlation_id"],"properties":{"data":{"type":"object"},"_ai_disclosure":{"type":"string"},"_correlation_id":{"type":"string"},"_warnings":{"type":"array","items":{"type":"string"}}}}}}},"400":{"description":"Invalid arguments"},"401":{"description":"Auth required / token revoked / expired / malformed"},"403":{"description":"Scope or consent missing"},"404":{"description":"Tool not found / cross-tenant entity"},"429":{"description":"Rate limit exceeded"}}}},"/v1/tools/removeFromCart":{"post":{"summary":"removeFromCart","description":"Invoke the removeFromCart tool. Scope required: cart:write","tags":["cart:write"],"security":[{"patAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["args"],"properties":{"args":{"type":"object","properties":{"itemId":{"type":"integer"}},"required":["itemId"]}}}}}},"responses":{"200":{"description":"Success — wrapped envelope","content":{"application/json":{"schema":{"type":"object","required":["data","_ai_disclosure","_correlation_id"],"properties":{"data":{"type":"object"},"_ai_disclosure":{"type":"string"},"_correlation_id":{"type":"string"},"_warnings":{"type":"array","items":{"type":"string"}}}}}}},"400":{"description":"Invalid arguments"},"401":{"description":"Auth required / token revoked / expired / malformed"},"403":{"description":"Scope or consent missing"},"404":{"description":"Tool not found / cross-tenant entity"},"429":{"description":"Rate limit exceeded"}}}},"/v1/tools/updateQuantity":{"post":{"summary":"updateQuantity","description":"Invoke the updateQuantity tool. Scope required: cart:write","tags":["cart:write"],"security":[{"patAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["args"],"properties":{"args":{"type":"object","properties":{"itemId":{"type":"integer"},"qty":{"type":"integer","minimum":1,"maximum":99}},"required":["itemId","qty"]}}}}}},"responses":{"200":{"description":"Success — wrapped envelope","content":{"application/json":{"schema":{"type":"object","required":["data","_ai_disclosure","_correlation_id"],"properties":{"data":{"type":"object"},"_ai_disclosure":{"type":"string"},"_correlation_id":{"type":"string"},"_warnings":{"type":"array","items":{"type":"string"}}}}}}},"400":{"description":"Invalid arguments"},"401":{"description":"Auth required / token revoked / expired / malformed"},"403":{"description":"Scope or consent missing"},"404":{"description":"Tool not found / cross-tenant entity"},"429":{"description":"Rate limit exceeded"}}}},"/v1/tools/applyCoupon":{"post":{"summary":"applyCoupon","description":"Invoke the applyCoupon tool. Scope required: cart:write","tags":["cart:write"],"security":[{"patAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["args"],"properties":{"args":{"type":"object","properties":{"code":{"type":"string","minLength":1,"maxLength":40}},"required":["code"]}}}}}},"responses":{"200":{"description":"Success — wrapped envelope","content":{"application/json":{"schema":{"type":"object","required":["data","_ai_disclosure","_correlation_id"],"properties":{"data":{"type":"object"},"_ai_disclosure":{"type":"string"},"_correlation_id":{"type":"string"},"_warnings":{"type":"array","items":{"type":"string"}}}}}}},"400":{"description":"Invalid arguments"},"401":{"description":"Auth required / token revoked / expired / malformed"},"403":{"description":"Scope or consent missing"},"404":{"description":"Tool not found / cross-tenant entity"},"429":{"description":"Rate limit exceeded"}}}},"/v1/tools/clearCart":{"post":{"summary":"clearCart","description":"Invoke the clearCart tool. Scope required: cart:write","tags":["cart:write"],"security":[{"patAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["args"],"properties":{"args":{"type":"object","properties":{}}}}}}},"responses":{"200":{"description":"Success — wrapped envelope","content":{"application/json":{"schema":{"type":"object","required":["data","_ai_disclosure","_correlation_id"],"properties":{"data":{"type":"object"},"_ai_disclosure":{"type":"string"},"_correlation_id":{"type":"string"},"_warnings":{"type":"array","items":{"type":"string"}}}}}}},"400":{"description":"Invalid arguments"},"401":{"description":"Auth required / token revoked / expired / malformed"},"403":{"description":"Scope or consent missing"},"404":{"description":"Tool not found / cross-tenant entity"},"429":{"description":"Rate limit exceeded"}}}},"/v1/tools/listOrders":{"post":{"summary":"listOrders","description":"Invoke the listOrders tool. Scope required: orders:read","tags":["orders:read"],"security":[{"patAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["args"],"properties":{"args":{"type":"object","properties":{"limit":{"type":"integer","minimum":1,"maximum":50},"cursor":{"type":"string","enum":[null]}}}}}}}},"responses":{"200":{"description":"Success — wrapped envelope","content":{"application/json":{"schema":{"type":"object","required":["data","_ai_disclosure","_correlation_id"],"properties":{"data":{"type":"object"},"_ai_disclosure":{"type":"string"},"_correlation_id":{"type":"string"},"_warnings":{"type":"array","items":{"type":"string"}}}}}}},"400":{"description":"Invalid arguments"},"401":{"description":"Auth required / token revoked / expired / malformed"},"403":{"description":"Scope or consent missing"},"404":{"description":"Tool not found / cross-tenant entity"},"429":{"description":"Rate limit exceeded"}}}},"/v1/tools/getOrder":{"post":{"summary":"getOrder","description":"Invoke the getOrder tool. Scope required: orders:read","tags":["orders:read"],"security":[{"patAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["args"],"properties":{"args":{"type":"object","properties":{"orderId":{"type":"integer"}},"required":["orderId"]}}}}}},"responses":{"200":{"description":"Success — wrapped envelope","content":{"application/json":{"schema":{"type":"object","required":["data","_ai_disclosure","_correlation_id"],"properties":{"data":{"type":"object"},"_ai_disclosure":{"type":"string"},"_correlation_id":{"type":"string"},"_warnings":{"type":"array","items":{"type":"string"}}}}}}},"400":{"description":"Invalid arguments"},"401":{"description":"Auth required / token revoked / expired / malformed"},"403":{"description":"Scope or consent missing"},"404":{"description":"Tool not found / cross-tenant entity"},"429":{"description":"Rate limit exceeded"}}}},"/v1/tools/getOrderTracking":{"post":{"summary":"getOrderTracking","description":"Invoke the getOrderTracking tool. Scope required: orders:read","tags":["orders:read"],"security":[{"patAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["args"],"properties":{"args":{"type":"object","properties":{"orderId":{"type":"integer"}},"required":["orderId"]}}}}}},"responses":{"200":{"description":"Success — wrapped envelope","content":{"application/json":{"schema":{"type":"object","required":["data","_ai_disclosure","_correlation_id"],"properties":{"data":{"type":"object"},"_ai_disclosure":{"type":"string"},"_correlation_id":{"type":"string"},"_warnings":{"type":"array","items":{"type":"string"}}}}}}},"400":{"description":"Invalid arguments"},"401":{"description":"Auth required / token revoked / expired / malformed"},"403":{"description":"Scope or consent missing"},"404":{"description":"Tool not found / cross-tenant entity"},"429":{"description":"Rate limit exceeded"}}}},"/v1/tools/stageOrder":{"post":{"summary":"stageOrder","description":"Invoke the stageOrder tool. Scope required: orders:stage","tags":["orders:stage"],"security":[{"patAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["args"],"properties":{"args":{"type":"object","properties":{"addressId":{"type":"integer"},"paymentMethod":{"type":"string","enum":["razorpay","cod"]}}}}}}}},"responses":{"200":{"description":"Success — wrapped envelope","content":{"application/json":{"schema":{"type":"object","required":["data","_ai_disclosure","_correlation_id"],"properties":{"data":{"type":"object"},"_ai_disclosure":{"type":"string"},"_correlation_id":{"type":"string"},"_warnings":{"type":"array","items":{"type":"string"}}}}}}},"400":{"description":"Invalid arguments"},"401":{"description":"Auth required / token revoked / expired / malformed"},"403":{"description":"Scope or consent missing"},"404":{"description":"Tool not found / cross-tenant entity"},"429":{"description":"Rate limit exceeded"}}}},"/v1/tools/confirmStagedOrder":{"post":{"summary":"confirmStagedOrder","description":"Invoke the confirmStagedOrder tool. Scope required: orders:stage","tags":["orders:stage"],"security":[{"patAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["args"],"properties":{"args":{"type":"object","properties":{"stageId":{"type":"string"}},"required":["stageId"]}}}}}},"responses":{"200":{"description":"Success — wrapped envelope","content":{"application/json":{"schema":{"type":"object","required":["data","_ai_disclosure","_correlation_id"],"properties":{"data":{"type":"object"},"_ai_disclosure":{"type":"string"},"_correlation_id":{"type":"string"},"_warnings":{"type":"array","items":{"type":"string"}}}}}}},"400":{"description":"Invalid arguments"},"401":{"description":"Auth required / token revoked / expired / malformed"},"403":{"description":"Scope or consent missing"},"404":{"description":"Tool not found / cross-tenant entity"},"429":{"description":"Rate limit exceeded"}}}},"/v1/tools/cancelStagedOrder":{"post":{"summary":"cancelStagedOrder","description":"Invoke the cancelStagedOrder tool. Scope required: orders:stage","tags":["orders:stage"],"security":[{"patAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["args"],"properties":{"args":{"type":"object","properties":{"stageId":{"type":"string"}},"required":["stageId"]}}}}}},"responses":{"200":{"description":"Success — wrapped envelope","content":{"application/json":{"schema":{"type":"object","required":["data","_ai_disclosure","_correlation_id"],"properties":{"data":{"type":"object"},"_ai_disclosure":{"type":"string"},"_correlation_id":{"type":"string"},"_warnings":{"type":"array","items":{"type":"string"}}}}}}},"400":{"description":"Invalid arguments"},"401":{"description":"Auth required / token revoked / expired / malformed"},"403":{"description":"Scope or consent missing"},"404":{"description":"Tool not found / cross-tenant entity"},"429":{"description":"Rate limit exceeded"}}}},"/v1/tools/getAddresses":{"post":{"summary":"getAddresses","description":"Invoke the getAddresses tool. Scope required: account:read","tags":["account:read"],"security":[{"patAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["args"],"properties":{"args":{"type":"object","properties":{}}}}}}},"responses":{"200":{"description":"Success — wrapped envelope","content":{"application/json":{"schema":{"type":"object","required":["data","_ai_disclosure","_correlation_id"],"properties":{"data":{"type":"object"},"_ai_disclosure":{"type":"string"},"_correlation_id":{"type":"string"},"_warnings":{"type":"array","items":{"type":"string"}}}}}}},"400":{"description":"Invalid arguments"},"401":{"description":"Auth required / token revoked / expired / malformed"},"403":{"description":"Scope or consent missing"},"404":{"description":"Tool not found / cross-tenant entity"},"429":{"description":"Rate limit exceeded"}}}},"/v1/tools/getWalletBalance":{"post":{"summary":"getWalletBalance","description":"Invoke the getWalletBalance tool. Scope required: account:read","tags":["account:read"],"security":[{"patAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["args"],"properties":{"args":{"type":"object","properties":{}}}}}}},"responses":{"200":{"description":"Success — wrapped envelope","content":{"application/json":{"schema":{"type":"object","required":["data","_ai_disclosure","_correlation_id"],"properties":{"data":{"type":"object"},"_ai_disclosure":{"type":"string"},"_correlation_id":{"type":"string"},"_warnings":{"type":"array","items":{"type":"string"}}}}}}},"400":{"description":"Invalid arguments"},"401":{"description":"Auth required / token revoked / expired / malformed"},"403":{"description":"Scope or consent missing"},"404":{"description":"Tool not found / cross-tenant entity"},"429":{"description":"Rate limit exceeded"}}}},"/v1/tools/getLoyaltyPoints":{"post":{"summary":"getLoyaltyPoints","description":"Invoke the getLoyaltyPoints tool. Scope required: account:read","tags":["account:read"],"security":[{"patAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["args"],"properties":{"args":{"type":"object","properties":{}}}}}}},"responses":{"200":{"description":"Success — wrapped envelope","content":{"application/json":{"schema":{"type":"object","required":["data","_ai_disclosure","_correlation_id"],"properties":{"data":{"type":"object"},"_ai_disclosure":{"type":"string"},"_correlation_id":{"type":"string"},"_warnings":{"type":"array","items":{"type":"string"}}}}}}},"400":{"description":"Invalid arguments"},"401":{"description":"Auth required / token revoked / expired / malformed"},"403":{"description":"Scope or consent missing"},"404":{"description":"Tool not found / cross-tenant entity"},"429":{"description":"Rate limit exceeded"}}}},"/v1/tools/getPersonalizedRecommendations":{"post":{"summary":"getPersonalizedRecommendations","description":"Invoke the getPersonalizedRecommendations tool. Scope required: recos:read","tags":["recos:read"],"security":[{"patAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["args"],"properties":{"args":{"type":"object","properties":{"limit":{"type":"integer","minimum":1,"maximum":20}}}}}}}},"responses":{"200":{"description":"Success — wrapped envelope","content":{"application/json":{"schema":{"type":"object","required":["data","_ai_disclosure","_correlation_id"],"properties":{"data":{"type":"object"},"_ai_disclosure":{"type":"string"},"_correlation_id":{"type":"string"},"_warnings":{"type":"array","items":{"type":"string"}}}}}}},"400":{"description":"Invalid arguments"},"401":{"description":"Auth required / token revoked / expired / malformed"},"403":{"description":"Scope or consent missing"},"404":{"description":"Tool not found / cross-tenant entity"},"429":{"description":"Rate limit exceeded"}}}},"/v1/tools/public.searchProducts":{"post":{"summary":"public.searchProducts","description":"Invoke the public.searchProducts tool. Scope required: (any authenticated)","tags":["auth"],"security":[{"patAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["args"],"properties":{"args":{"type":"object","properties":{"query":{"type":"string","minLength":1,"maxLength":200},"limit":{"type":"integer","minimum":1,"maximum":20},"filters":{"type":"object","properties":{"categoryId":{"type":"integer"},"brandId":{"type":"integer"},"minPriceInr":{"type":"integer","minimum":0},"maxPriceInr":{"type":"integer","minimum":0}}}},"required":["query"]}}}}}},"responses":{"200":{"description":"Success — wrapped envelope","content":{"application/json":{"schema":{"type":"object","required":["data","_ai_disclosure","_correlation_id"],"properties":{"data":{"type":"object"},"_ai_disclosure":{"type":"string"},"_correlation_id":{"type":"string"},"_warnings":{"type":"array","items":{"type":"string"}}}}}}},"400":{"description":"Invalid arguments"},"401":{"description":"Auth required / token revoked / expired / malformed"},"403":{"description":"Scope or consent missing"},"404":{"description":"Tool not found / cross-tenant entity"},"429":{"description":"Rate limit exceeded"}}}},"/v1/tools/public.getProduct":{"post":{"summary":"public.getProduct","description":"Invoke the public.getProduct tool. Scope required: (any authenticated)","tags":["auth"],"security":[{"patAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["args"],"properties":{"args":{"type":"object","properties":{"productId":{"type":"integer"}},"required":["productId"]}}}}}},"responses":{"200":{"description":"Success — wrapped envelope","content":{"application/json":{"schema":{"type":"object","required":["data","_ai_disclosure","_correlation_id"],"properties":{"data":{"type":"object"},"_ai_disclosure":{"type":"string"},"_correlation_id":{"type":"string"},"_warnings":{"type":"array","items":{"type":"string"}}}}}}},"400":{"description":"Invalid arguments"},"401":{"description":"Auth required / token revoked / expired / malformed"},"403":{"description":"Scope or consent missing"},"404":{"description":"Tool not found / cross-tenant entity"},"429":{"description":"Rate limit exceeded"}}}},"/v1/tools/public.getCategories":{"post":{"summary":"public.getCategories","description":"Invoke the public.getCategories tool. Scope required: (any authenticated)","tags":["auth"],"security":[{"patAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["args"],"properties":{"args":{"type":"object","properties":{"parentId":{"type":"integer"}}}}}}}},"responses":{"200":{"description":"Success — wrapped envelope","content":{"application/json":{"schema":{"type":"object","required":["data","_ai_disclosure","_correlation_id"],"properties":{"data":{"type":"object"},"_ai_disclosure":{"type":"string"},"_correlation_id":{"type":"string"},"_warnings":{"type":"array","items":{"type":"string"}}}}}}},"400":{"description":"Invalid arguments"},"401":{"description":"Auth required / token revoked / expired / malformed"},"403":{"description":"Scope or consent missing"},"404":{"description":"Tool not found / cross-tenant entity"},"429":{"description":"Rate limit exceeded"}}}},"/v1/tools/public.checkStock":{"post":{"summary":"public.checkStock","description":"Invoke the public.checkStock tool. Scope required: (any authenticated)","tags":["auth"],"security":[{"patAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["args"],"properties":{"args":{"type":"object","properties":{"productId":{"type":"integer"},"qty":{"type":"integer","minimum":1,"maximum":99}},"required":["productId"]}}}}}},"responses":{"200":{"description":"Success — wrapped envelope","content":{"application/json":{"schema":{"type":"object","required":["data","_ai_disclosure","_correlation_id"],"properties":{"data":{"type":"object"},"_ai_disclosure":{"type":"string"},"_correlation_id":{"type":"string"},"_warnings":{"type":"array","items":{"type":"string"}}}}}}},"400":{"description":"Invalid arguments"},"401":{"description":"Auth required / token revoked / expired / malformed"},"403":{"description":"Scope or consent missing"},"404":{"description":"Tool not found / cross-tenant entity"},"429":{"description":"Rate limit exceeded"}}}},"/v1/tools/public.getProductClaim":{"post":{"summary":"public.getProductClaim","description":"Invoke the public.getProductClaim tool. Scope required: (any authenticated)","tags":["auth"],"security":[{"patAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["args"],"properties":{"args":{"type":"object","properties":{"productId":{"type":"integer"}},"required":["productId"]}}}}}},"responses":{"200":{"description":"Success — wrapped envelope","content":{"application/json":{"schema":{"type":"object","required":["data","_ai_disclosure","_correlation_id"],"properties":{"data":{"type":"object"},"_ai_disclosure":{"type":"string"},"_correlation_id":{"type":"string"},"_warnings":{"type":"array","items":{"type":"string"}}}}}}},"400":{"description":"Invalid arguments"},"401":{"description":"Auth required / token revoked / expired / malformed"},"403":{"description":"Scope or consent missing"},"404":{"description":"Tool not found / cross-tenant entity"},"429":{"description":"Rate limit exceeded"}}}},"/v1/tools/public.searchBlog":{"post":{"summary":"public.searchBlog","description":"Invoke the public.searchBlog tool. Scope required: (any authenticated)","tags":["auth"],"security":[{"patAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["args"],"properties":{"args":{"type":"object","properties":{"query":{"type":"string","minLength":1,"maxLength":200},"limit":{"type":"integer","minimum":1,"maximum":20}},"required":["query"]}}}}}},"responses":{"200":{"description":"Success — wrapped envelope","content":{"application/json":{"schema":{"type":"object","required":["data","_ai_disclosure","_correlation_id"],"properties":{"data":{"type":"object"},"_ai_disclosure":{"type":"string"},"_correlation_id":{"type":"string"},"_warnings":{"type":"array","items":{"type":"string"}}}}}}},"400":{"description":"Invalid arguments"},"401":{"description":"Auth required / token revoked / expired / malformed"},"403":{"description":"Scope or consent missing"},"404":{"description":"Tool not found / cross-tenant entity"},"429":{"description":"Rate limit exceeded"}}}},"/v1/tools/public.getBlogPost":{"post":{"summary":"public.getBlogPost","description":"Invoke the public.getBlogPost tool. Scope required: (any authenticated)","tags":["auth"],"security":[{"patAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["args"],"properties":{"args":{"type":"object","properties":{"idOrSlug":{"type":"string","minLength":1,"maxLength":255}},"required":["idOrSlug"]}}}}}},"responses":{"200":{"description":"Success — wrapped envelope","content":{"application/json":{"schema":{"type":"object","required":["data","_ai_disclosure","_correlation_id"],"properties":{"data":{"type":"object"},"_ai_disclosure":{"type":"string"},"_correlation_id":{"type":"string"},"_warnings":{"type":"array","items":{"type":"string"}}}}}}},"400":{"description":"Invalid arguments"},"401":{"description":"Auth required / token revoked / expired / malformed"},"403":{"description":"Scope or consent missing"},"404":{"description":"Tool not found / cross-tenant entity"},"429":{"description":"Rate limit exceeded"}}}},"/v1/tools/public.getDosageGuide":{"post":{"summary":"public.getDosageGuide","description":"Invoke the public.getDosageGuide tool. Scope required: (any authenticated)","tags":["auth"],"security":[{"patAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["args"],"properties":{"args":{"type":"object","properties":{"productId":{"type":"integer"},"condition":{"type":"string","minLength":1,"maxLength":120,"enum":[null]}}}}}}}},"responses":{"200":{"description":"Success — wrapped envelope","content":{"application/json":{"schema":{"type":"object","required":["data","_ai_disclosure","_correlation_id"],"properties":{"data":{"type":"object"},"_ai_disclosure":{"type":"string"},"_correlation_id":{"type":"string"},"_warnings":{"type":"array","items":{"type":"string"}}}}}}},"400":{"description":"Invalid arguments"},"401":{"description":"Auth required / token revoked / expired / malformed"},"403":{"description":"Scope or consent missing"},"404":{"description":"Tool not found / cross-tenant entity"},"429":{"description":"Rate limit exceeded"}}}},"/v1/tools/public.listDoctors":{"post":{"summary":"public.listDoctors","description":"Invoke the public.listDoctors tool. Scope required: (any authenticated)","tags":["auth"],"security":[{"patAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["args"],"properties":{"args":{"type":"object","properties":{"limit":{"type":"integer","minimum":1,"maximum":50},"specialty":{"type":"string","maxLength":80,"enum":[null]}}}}}}}},"responses":{"200":{"description":"Success — wrapped envelope","content":{"application/json":{"schema":{"type":"object","required":["data","_ai_disclosure","_correlation_id"],"properties":{"data":{"type":"object"},"_ai_disclosure":{"type":"string"},"_correlation_id":{"type":"string"},"_warnings":{"type":"array","items":{"type":"string"}}}}}}},"400":{"description":"Invalid arguments"},"401":{"description":"Auth required / token revoked / expired / malformed"},"403":{"description":"Scope or consent missing"},"404":{"description":"Tool not found / cross-tenant entity"},"429":{"description":"Rate limit exceeded"}}}},"/v1/tools/public.getDoctorProfile":{"post":{"summary":"public.getDoctorProfile","description":"Invoke the public.getDoctorProfile tool. Scope required: (any authenticated)","tags":["auth"],"security":[{"patAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["args"],"properties":{"args":{"type":"object","properties":{"doctorIdOrSlug":{"type":"string","minLength":1,"maxLength":255}},"required":["doctorIdOrSlug"]}}}}}},"responses":{"200":{"description":"Success — wrapped envelope","content":{"application/json":{"schema":{"type":"object","required":["data","_ai_disclosure","_correlation_id"],"properties":{"data":{"type":"object"},"_ai_disclosure":{"type":"string"},"_correlation_id":{"type":"string"},"_warnings":{"type":"array","items":{"type":"string"}}}}}}},"400":{"description":"Invalid arguments"},"401":{"description":"Auth required / token revoked / expired / malformed"},"403":{"description":"Scope or consent missing"},"404":{"description":"Tool not found / cross-tenant entity"},"429":{"description":"Rate limit exceeded"}}}},"/v1/tools/public.listBrands":{"post":{"summary":"public.listBrands","description":"Invoke the public.listBrands tool. Scope required: (any authenticated)","tags":["auth"],"security":[{"patAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["args"],"properties":{"args":{"type":"object","properties":{"limit":{"type":"integer","minimum":1,"maximum":100}}}}}}}},"responses":{"200":{"description":"Success — wrapped envelope","content":{"application/json":{"schema":{"type":"object","required":["data","_ai_disclosure","_correlation_id"],"properties":{"data":{"type":"object"},"_ai_disclosure":{"type":"string"},"_correlation_id":{"type":"string"},"_warnings":{"type":"array","items":{"type":"string"}}}}}}},"400":{"description":"Invalid arguments"},"401":{"description":"Auth required / token revoked / expired / malformed"},"403":{"description":"Scope or consent missing"},"404":{"description":"Tool not found / cross-tenant entity"},"429":{"description":"Rate limit exceeded"}}}},"/v1/tools/public.getBrandProfile":{"post":{"summary":"public.getBrandProfile","description":"Invoke the public.getBrandProfile tool. Scope required: (any authenticated)","tags":["auth"],"security":[{"patAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["args"],"properties":{"args":{"type":"object","properties":{"brandIdOrSlug":{"type":"string","minLength":1,"maxLength":255}},"required":["brandIdOrSlug"]}}}}}},"responses":{"200":{"description":"Success — wrapped envelope","content":{"application/json":{"schema":{"type":"object","required":["data","_ai_disclosure","_correlation_id"],"properties":{"data":{"type":"object"},"_ai_disclosure":{"type":"string"},"_correlation_id":{"type":"string"},"_warnings":{"type":"array","items":{"type":"string"}}}}}}},"400":{"description":"Invalid arguments"},"401":{"description":"Auth required / token revoked / expired / malformed"},"403":{"description":"Scope or consent missing"},"404":{"description":"Tool not found / cross-tenant entity"},"429":{"description":"Rate limit exceeded"}}}},"/v1/tools/public.resolvePincode":{"post":{"summary":"public.resolvePincode","description":"Invoke the public.resolvePincode tool. Scope required: (any authenticated)","tags":["auth"],"security":[{"patAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["args"],"properties":{"args":{"type":"object","properties":{"pincode":{"type":"string"}},"required":["pincode"]}}}}}},"responses":{"200":{"description":"Success — wrapped envelope","content":{"application/json":{"schema":{"type":"object","required":["data","_ai_disclosure","_correlation_id"],"properties":{"data":{"type":"object"},"_ai_disclosure":{"type":"string"},"_correlation_id":{"type":"string"},"_warnings":{"type":"array","items":{"type":"string"}}}}}}},"400":{"description":"Invalid arguments"},"401":{"description":"Auth required / token revoked / expired / malformed"},"403":{"description":"Scope or consent missing"},"404":{"description":"Tool not found / cross-tenant entity"},"429":{"description":"Rate limit exceeded"}}}},"/v1/tools/public.listServiceablePincodes":{"post":{"summary":"public.listServiceablePincodes","description":"Invoke the public.listServiceablePincodes tool. Scope required: (any authenticated)","tags":["auth"],"security":[{"patAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["args"],"properties":{"args":{"type":"object","properties":{"stateId":{"type":"integer"},"cityId":{"type":"integer"},"limit":{"type":"integer","minimum":1,"maximum":500}}}}}}}},"responses":{"200":{"description":"Success — wrapped envelope","content":{"application/json":{"schema":{"type":"object","required":["data","_ai_disclosure","_correlation_id"],"properties":{"data":{"type":"object"},"_ai_disclosure":{"type":"string"},"_correlation_id":{"type":"string"},"_warnings":{"type":"array","items":{"type":"string"}}}}}}},"400":{"description":"Invalid arguments"},"401":{"description":"Auth required / token revoked / expired / malformed"},"403":{"description":"Scope or consent missing"},"404":{"description":"Tool not found / cross-tenant entity"},"429":{"description":"Rate limit exceeded"}}}},"/v1/tools/public.getStateCity":{"post":{"summary":"public.getStateCity","description":"Invoke the public.getStateCity tool. Scope required: (any authenticated)","tags":["auth"],"security":[{"patAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["args"],"properties":{"args":{"type":"object","properties":{"stateId":{"type":"integer"}}}}}}}},"responses":{"200":{"description":"Success — wrapped envelope","content":{"application/json":{"schema":{"type":"object","required":["data","_ai_disclosure","_correlation_id"],"properties":{"data":{"type":"object"},"_ai_disclosure":{"type":"string"},"_correlation_id":{"type":"string"},"_warnings":{"type":"array","items":{"type":"string"}}}}}}},"400":{"description":"Invalid arguments"},"401":{"description":"Auth required / token revoked / expired / malformed"},"403":{"description":"Scope or consent missing"},"404":{"description":"Tool not found / cross-tenant entity"},"429":{"description":"Rate limit exceeded"}}}},"/v1/tools/listDoctors":{"post":{"summary":"listDoctors","description":"Invoke the listDoctors tool. Scope required: consultations:read","tags":["consultations:read"],"security":[{"patAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["args"],"properties":{"args":{"type":"object","properties":{"specialization":{"type":"string","maxLength":120,"enum":[null]},"language":{"type":"string","maxLength":80,"enum":[null]},"limit":{"type":"integer","minimum":1,"maximum":20}}}}}}}},"responses":{"200":{"description":"Success — wrapped envelope","content":{"application/json":{"schema":{"type":"object","required":["data","_ai_disclosure","_correlation_id"],"properties":{"data":{"type":"object"},"_ai_disclosure":{"type":"string"},"_correlation_id":{"type":"string"},"_warnings":{"type":"array","items":{"type":"string"}}}}}}},"400":{"description":"Invalid arguments"},"401":{"description":"Auth required / token revoked / expired / malformed"},"403":{"description":"Scope or consent missing"},"404":{"description":"Tool not found / cross-tenant entity"},"429":{"description":"Rate limit exceeded"}}}},"/v1/tools/getDoctorProfile":{"post":{"summary":"getDoctorProfile","description":"Invoke the getDoctorProfile tool. Scope required: consultations:read","tags":["consultations:read"],"security":[{"patAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["args"],"properties":{"args":{"type":"object","properties":{"doctorId":{"type":"integer"}},"required":["doctorId"]}}}}}},"responses":{"200":{"description":"Success — wrapped envelope","content":{"application/json":{"schema":{"type":"object","required":["data","_ai_disclosure","_correlation_id"],"properties":{"data":{"type":"object"},"_ai_disclosure":{"type":"string"},"_correlation_id":{"type":"string"},"_warnings":{"type":"array","items":{"type":"string"}}}}}}},"400":{"description":"Invalid arguments"},"401":{"description":"Auth required / token revoked / expired / malformed"},"403":{"description":"Scope or consent missing"},"404":{"description":"Tool not found / cross-tenant entity"},"429":{"description":"Rate limit exceeded"}}}},"/v1/tools/getDoctorAvailability":{"post":{"summary":"getDoctorAvailability","description":"Invoke the getDoctorAvailability tool. Scope required: consultations:read","tags":["consultations:read"],"security":[{"patAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["args"],"properties":{"args":{"type":"object","properties":{"doctorId":{"type":"integer"},"fromDate":{"type":"string","enum":[null]},"days":{"type":"integer","minimum":1,"maximum":14}},"required":["doctorId"]}}}}}},"responses":{"200":{"description":"Success — wrapped envelope","content":{"application/json":{"schema":{"type":"object","required":["data","_ai_disclosure","_correlation_id"],"properties":{"data":{"type":"object"},"_ai_disclosure":{"type":"string"},"_correlation_id":{"type":"string"},"_warnings":{"type":"array","items":{"type":"string"}}}}}}},"400":{"description":"Invalid arguments"},"401":{"description":"Auth required / token revoked / expired / malformed"},"403":{"description":"Scope or consent missing"},"404":{"description":"Tool not found / cross-tenant entity"},"429":{"description":"Rate limit exceeded"}}}},"/v1/tools/listMyAppointments":{"post":{"summary":"listMyAppointments","description":"Invoke the listMyAppointments tool. Scope required: consultations:read","tags":["consultations:read"],"security":[{"patAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["args"],"properties":{"args":{"type":"object","properties":{"status":{"type":"string","maxLength":40,"enum":[null]},"limit":{"type":"integer","minimum":1,"maximum":20}}}}}}}},"responses":{"200":{"description":"Success — wrapped envelope","content":{"application/json":{"schema":{"type":"object","required":["data","_ai_disclosure","_correlation_id"],"properties":{"data":{"type":"object"},"_ai_disclosure":{"type":"string"},"_correlation_id":{"type":"string"},"_warnings":{"type":"array","items":{"type":"string"}}}}}}},"400":{"description":"Invalid arguments"},"401":{"description":"Auth required / token revoked / expired / malformed"},"403":{"description":"Scope or consent missing"},"404":{"description":"Tool not found / cross-tenant entity"},"429":{"description":"Rate limit exceeded"}}}},"/v1/tools/joinAppointmentVideo":{"post":{"summary":"joinAppointmentVideo","description":"Invoke the joinAppointmentVideo tool. Scope required: consultations:read","tags":["consultations:read"],"security":[{"patAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["args"],"properties":{"args":{"type":"object","properties":{"appointmentId":{"type":"integer"}},"required":["appointmentId"]}}}}}},"responses":{"200":{"description":"Success — wrapped envelope","content":{"application/json":{"schema":{"type":"object","required":["data","_ai_disclosure","_correlation_id"],"properties":{"data":{"type":"object"},"_ai_disclosure":{"type":"string"},"_correlation_id":{"type":"string"},"_warnings":{"type":"array","items":{"type":"string"}}}}}}},"400":{"description":"Invalid arguments"},"401":{"description":"Auth required / token revoked / expired / malformed"},"403":{"description":"Scope or consent missing"},"404":{"description":"Tool not found / cross-tenant entity"},"429":{"description":"Rate limit exceeded"}}}},"/v1/tools/getRxRequiredFor":{"post":{"summary":"getRxRequiredFor","description":"Invoke the getRxRequiredFor tool. Scope required: catalog:read","tags":["catalog:read"],"security":[{"patAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["args"],"properties":{"args":{"type":"object","properties":{"productIds":{}},"required":["productIds"]}}}}}},"responses":{"200":{"description":"Success — wrapped envelope","content":{"application/json":{"schema":{"type":"object","required":["data","_ai_disclosure","_correlation_id"],"properties":{"data":{"type":"object"},"_ai_disclosure":{"type":"string"},"_correlation_id":{"type":"string"},"_warnings":{"type":"array","items":{"type":"string"}}}}}}},"400":{"description":"Invalid arguments"},"401":{"description":"Auth required / token revoked / expired / malformed"},"403":{"description":"Scope or consent missing"},"404":{"description":"Tool not found / cross-tenant entity"},"429":{"description":"Rate limit exceeded"}}}},"/v1/tools/listMyPrescriptions":{"post":{"summary":"listMyPrescriptions","description":"Invoke the listMyPrescriptions tool. Scope required: prescriptions:read","tags":["prescriptions:read"],"security":[{"patAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["args"],"properties":{"args":{"type":"object","properties":{"status":{"type":"string","maxLength":40,"enum":[null]},"limit":{"type":"integer","minimum":1,"maximum":20}}}}}}}},"responses":{"200":{"description":"Success — wrapped envelope","content":{"application/json":{"schema":{"type":"object","required":["data","_ai_disclosure","_correlation_id"],"properties":{"data":{"type":"object"},"_ai_disclosure":{"type":"string"},"_correlation_id":{"type":"string"},"_warnings":{"type":"array","items":{"type":"string"}}}}}}},"400":{"description":"Invalid arguments"},"401":{"description":"Auth required / token revoked / expired / malformed"},"403":{"description":"Scope or consent missing"},"404":{"description":"Tool not found / cross-tenant entity"},"429":{"description":"Rate limit exceeded"}}}},"/v1/tools/stageConsultation":{"post":{"summary":"stageConsultation","description":"Invoke the stageConsultation tool. Scope required: consultations:stage","tags":["consultations:stage"],"security":[{"patAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["args"],"properties":{"args":{"type":"object","properties":{"doctorId":{"type":"integer"},"slotStart":{"type":"string"},"reasonForVisit":{"type":"string","minLength":1,"maxLength":500},"language":{"type":"string","maxLength":40}},"required":["doctorId","slotStart","reasonForVisit"]}}}}}},"responses":{"200":{"description":"Success — wrapped envelope","content":{"application/json":{"schema":{"type":"object","required":["data","_ai_disclosure","_correlation_id"],"properties":{"data":{"type":"object"},"_ai_disclosure":{"type":"string"},"_correlation_id":{"type":"string"},"_warnings":{"type":"array","items":{"type":"string"}}}}}}},"400":{"description":"Invalid arguments"},"401":{"description":"Auth required / token revoked / expired / malformed"},"403":{"description":"Scope or consent missing"},"404":{"description":"Tool not found / cross-tenant entity"},"429":{"description":"Rate limit exceeded"}}}},"/v1/tools/confirmStagedConsultation":{"post":{"summary":"confirmStagedConsultation","description":"Invoke the confirmStagedConsultation tool. Scope required: consultations:stage","tags":["consultations:stage"],"security":[{"patAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["args"],"properties":{"args":{"type":"object","properties":{"stageId":{"type":"string"}},"required":["stageId"]}}}}}},"responses":{"200":{"description":"Success — wrapped envelope","content":{"application/json":{"schema":{"type":"object","required":["data","_ai_disclosure","_correlation_id"],"properties":{"data":{"type":"object"},"_ai_disclosure":{"type":"string"},"_correlation_id":{"type":"string"},"_warnings":{"type":"array","items":{"type":"string"}}}}}}},"400":{"description":"Invalid arguments"},"401":{"description":"Auth required / token revoked / expired / malformed"},"403":{"description":"Scope or consent missing"},"404":{"description":"Tool not found / cross-tenant entity"},"429":{"description":"Rate limit exceeded"}}}},"/v1/tools/cancelAppointment":{"post":{"summary":"cancelAppointment","description":"Invoke the cancelAppointment tool. Scope required: consultations:write","tags":["consultations:write"],"security":[{"patAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["args"],"properties":{"args":{"type":"object","properties":{"appointmentId":{"type":"integer"},"reason":{"type":"string","maxLength":500}},"required":["appointmentId"]}}}}}},"responses":{"200":{"description":"Success — wrapped envelope","content":{"application/json":{"schema":{"type":"object","required":["data","_ai_disclosure","_correlation_id"],"properties":{"data":{"type":"object"},"_ai_disclosure":{"type":"string"},"_correlation_id":{"type":"string"},"_warnings":{"type":"array","items":{"type":"string"}}}}}}},"400":{"description":"Invalid arguments"},"401":{"description":"Auth required / token revoked / expired / malformed"},"403":{"description":"Scope or consent missing"},"404":{"description":"Tool not found / cross-tenant entity"},"429":{"description":"Rate limit exceeded"}}}},"/v1/tools/requestPrescriptionUpload":{"post":{"summary":"requestPrescriptionUpload","description":"Invoke the requestPrescriptionUpload tool. Scope required: prescriptions:write","tags":["prescriptions:write"],"security":[{"patAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["args"],"properties":{"args":{"type":"object","properties":{"purpose":{"type":"string","enum":["manual","order_link"]},"orderId":{"type":"integer"}},"required":["purpose"]}}}}}},"responses":{"200":{"description":"Success — wrapped envelope","content":{"application/json":{"schema":{"type":"object","required":["data","_ai_disclosure","_correlation_id"],"properties":{"data":{"type":"object"},"_ai_disclosure":{"type":"string"},"_correlation_id":{"type":"string"},"_warnings":{"type":"array","items":{"type":"string"}}}}}}},"400":{"description":"Invalid arguments"},"401":{"description":"Auth required / token revoked / expired / malformed"},"403":{"description":"Scope or consent missing"},"404":{"description":"Tool not found / cross-tenant entity"},"429":{"description":"Rate limit exceeded"}}}},"/v1/tools/submitPrescription":{"post":{"summary":"submitPrescription","description":"Invoke the submitPrescription tool. Scope required: prescriptions:write","tags":["prescriptions:write"],"security":[{"patAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["args"],"properties":{"args":{"type":"object","properties":{"uploadToken":{"type":"string"},"doctorName":{"type":"string","maxLength":200},"issueDate":{"type":"string"},"notes":{"type":"string","maxLength":1000}},"required":["uploadToken"]}}}}}},"responses":{"200":{"description":"Success — wrapped envelope","content":{"application/json":{"schema":{"type":"object","required":["data","_ai_disclosure","_correlation_id"],"properties":{"data":{"type":"object"},"_ai_disclosure":{"type":"string"},"_correlation_id":{"type":"string"},"_warnings":{"type":"array","items":{"type":"string"}}}}}}},"400":{"description":"Invalid arguments"},"401":{"description":"Auth required / token revoked / expired / malformed"},"403":{"description":"Scope or consent missing"},"404":{"description":"Tool not found / cross-tenant entity"},"429":{"description":"Rate limit exceeded"}}}},"/v1/tools/linkPrescriptionToOrder":{"post":{"summary":"linkPrescriptionToOrder","description":"Invoke the linkPrescriptionToOrder tool. Scope required: prescriptions:write","tags":["prescriptions:write"],"security":[{"patAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["args"],"properties":{"args":{"type":"object","properties":{"prescriptionId":{"type":"integer"},"orderId":{"type":"integer"}},"required":["prescriptionId","orderId"]}}}}}},"responses":{"200":{"description":"Success — wrapped envelope","content":{"application/json":{"schema":{"type":"object","required":["data","_ai_disclosure","_correlation_id"],"properties":{"data":{"type":"object"},"_ai_disclosure":{"type":"string"},"_correlation_id":{"type":"string"},"_warnings":{"type":"array","items":{"type":"string"}}}}}}},"400":{"description":"Invalid arguments"},"401":{"description":"Auth required / token revoked / expired / malformed"},"403":{"description":"Scope or consent missing"},"404":{"description":"Tool not found / cross-tenant entity"},"429":{"description":"Rate limit exceeded"}}}}}}