{"service":"Bot It Connector API","version":"1","auth":{"type":"bearer","header":"Authorization: Bearer botit_pat_<token>"},"rate_limit":{"requests":600,"window_seconds":3600},"mcp_endpoint":"/v1/mcp","endpoints":[{"tool":"get_brand_context","method":"GET","path":"/v1/brand-context","description":"Returns the merchant's brand context (voice, story, policies, support, social, loyalty, FAQ). Response includes `missing_fields[]` so you know what to write next.","inputSchema":{"type":"object","properties":{},"additionalProperties":false}},{"tool":"update_brand_context","method":"PATCH","path":"/v1/brand-context","description":"Partial update — only the keys you send are written. Empty string clears a field. `faq` (if present) replaces the entire FAQ list.","inputSchema":{"type":"object","properties":{"brand_summary":{"type":"string"},"brand_voice":{"type":"string"},"usp":{"type":"string"},"target_audience":{"type":"string"},"sustainability_notes":{"type":"string"},"founding_story":{"type":"string"},"certifications":{"type":"string"},"shipping_narrative":{"type":"string"},"returns_narrative":{"type":"string"},"custom_instructions":{"type":"string"},"live_chat_platform":{"type":"string"},"live_chat_url":{"type":"string"},"live_chat_hours":{"type":"string"},"support_email":{"type":"string"},"support_email_response_time":{"type":"string"},"support_phone":{"type":"string"},"support_phone_hours":{"type":"string"},"contact_form_url":{"type":"string"},"social_instagram":{"type":"string"},"social_twitter":{"type":"string"},"social_facebook":{"type":"string"},"social_tiktok":{"type":"string"},"social_youtube":{"type":"string"},"physical_address":{"type":"string"},"loyalty_program_name":{"type":"string"},"loyalty_earning_rules":{"type":"string"},"loyalty_tier_structure":{"type":"string"},"loyalty_redemption_rules":{"type":"string"},"loyalty_signup_url":{"type":"string"},"loyalty_bonus_promotions":{"type":"string"},"faq":{"type":"array","items":{"type":"object","properties":{"question":{"type":"string"},"answer":{"type":"string"}},"required":["question","answer"]},"description":"Replaces the FAQ list when present."}},"additionalProperties":false}},{"tool":"list_collections","method":"GET","path":"/v1/collections","description":"List collections from Shopify merged with current narrative state. Use `completion` to filter to incomplete work. Each item has `missing_fields[]`.","inputSchema":{"type":"object","properties":{"cursor":{"type":"string"},"title":{"type":"string"},"completion":{"type":"string","enum":["complete","incomplete","empty"]}},"additionalProperties":false}},{"tool":"list_partial_collections","method":"GET","path":"/v1/collections/partial","description":"Fast SQL-only scan of collections that have a narrative row but at least one empty field. No Shopify call. Use this when you want to finish what was already started. Cursored.","inputSchema":{"type":"object","properties":{"cursor":{"type":"string","description":"Pass the previous response's pageInfo.endCursor."},"limit":{"type":"integer","minimum":1,"maximum":250}},"additionalProperties":false}},{"tool":"get_collection","method":"GET","path":"/v1/collections/{id}","description":"Get a single collection's narrative data + missing_fields.","inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"Shopify collection ID (numeric)"}},"required":["id"],"additionalProperties":false}},{"tool":"update_collection_narrative","method":"PATCH","path":"/v1/collections/{id}","description":"Update narrative fields on a collection. Partial — only the keys you send are written.","inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"Shopify collection ID"},"narrative":{"type":"string"},"agent_search_keywords":{"type":"string"},"merchandising_notes":{"type":"string"}},"required":["id"],"additionalProperties":false}},{"tool":"list_products","method":"GET","path":"/v1/products","description":"List products from Shopify merged with current narrative state. Supports `completion`, `title`, `tag`, `product_type`, `vendor`, `status`, `sort`. Each item has `missing_fields[]`.","inputSchema":{"type":"object","properties":{"cursor":{"type":"string"},"title":{"type":"string"},"tag":{"type":"string"},"product_type":{"type":"string"},"vendor":{"type":"string"},"status":{"type":"string","enum":["active","draft","archived"]},"sort":{"type":"string","enum":["alpha_asc","alpha_desc","newest","oldest"]},"completion":{"type":"string","enum":["complete","incomplete","empty"]}},"additionalProperties":false}},{"tool":"list_partial_products","method":"GET","path":"/v1/products/partial","description":"Fast SQL-only scan of products with at least one empty narrative field. No Shopify call. Use this to finish previously-started enrichments. Cursored.","inputSchema":{"type":"object","properties":{"cursor":{"type":"string"},"limit":{"type":"integer","minimum":1,"maximum":250}},"additionalProperties":false}},{"tool":"get_product","method":"GET","path":"/v1/products/{id}","description":"Get a single product's narrative data + missing_fields.","inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"Shopify product ID (numeric)"}},"required":["id"],"additionalProperties":false}},{"tool":"update_product_narrative","method":"PATCH","path":"/v1/products/{id}","description":"Update narrative fields on a product. Partial — only the keys you send are written.","inputSchema":{"type":"object","properties":{"id":{"type":"string","description":"Shopify product ID"},"narrative":{"type":"string"},"fit_notes":{"type":"string"},"materials_notes":{"type":"string"},"use_case_notes":{"type":"string"},"comparison_notes":{"type":"string"},"agent_keywords":{"type":"string"},"complementary_products":{"type":"string"},"size_chart_url":{"type":"string"},"size_chart_data":{"type":"string"}},"required":["id"],"additionalProperties":false}}],"fields":{"brand_context":["brand_summary","brand_voice","usp","target_audience","sustainability_notes","founding_story","certifications","shipping_narrative","returns_narrative","custom_instructions","live_chat_platform","live_chat_url","live_chat_hours","support_email","support_email_response_time","support_phone","support_phone_hours","contact_form_url","social_instagram","social_twitter","social_facebook","social_tiktok","social_youtube","physical_address","loyalty_program_name","loyalty_earning_rules","loyalty_tier_structure","loyalty_redemption_rules","loyalty_signup_url","loyalty_bonus_promotions"],"collection_narrative":["narrative","agent_search_keywords","merchandising_notes"],"product_narrative":["narrative","fit_notes","materials_notes","use_case_notes","comparison_notes","agent_keywords","complementary_products","size_chart_url","size_chart_data"]}}