{"openapi":"3.1.0","info":{"title":"Curavita — Booking & Information API","description":"AI-powered booking and information API for Curavita in Ottawa, ON. Powered by gema.\n\nThis API lets you check real-time availability, book appointments, look up services, practitioners, pricing, FAQs, and more.\n\n**Booking flow:**\n1. Call `get_services` to see what's offered\n2. Call `check_availability` with a service name + optional date/time\n3. Call `book_appointment` with the `slot_id` from step 2 plus patient name, email, and phone\n\nAll operations use a single POST endpoint with `{\"tool\":\"tool_name\",\"arguments\":{...}}`.","version":"1.0.0","contact":{"name":"gema by General Magic","url":"https://getgema.ai","email":"info.glebe@curavita.com"}},"servers":[{"url":"https://www.getgema.ai","description":"Production"}],"paths":{"/api/mcp/6a2c22fa-e968-45a3-b5fa-c294309ec131":{"post":{"summary":"Execute a tool","description":"Send a tool name and arguments to interact with this business. Use this to get business info, check availability, book appointments, and more.","operationId":"executeTool","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["tool"],"properties":{"tool":{"type":"string","enum":["get_business_info","get_services","get_practitioners","search_services","get_faqs","check_availability","book_appointment","cancel_appointment","get_pricing","search_knowledge"],"description":"The tool to execute."},"arguments":{"type":"object","description":"Tool-specific arguments. See individual tool descriptions below.","properties":{"service":{"type":"string","description":"Service name (for check_availability, get_pricing, get_practitioners, search_services)"},"query":{"type":"string","description":"Search query (for search_services, search_knowledge)"},"preferred_date":{"type":"string","description":"Preferred date in YYYY-MM-DD format (for check_availability)"},"preferred_time":{"type":"string","enum":["any","morning","afternoon","evening"],"description":"Time of day preference (for check_availability)"},"practitioner_name":{"type":"string","description":"Specific practitioner name (for check_availability)"},"is_new_patient":{"type":"boolean","description":"Whether patient is new to this clinic (for check_availability, book_appointment)"},"slot_id":{"type":"string","description":"UUID of availability slot from check_availability (for book_appointment)"},"patient_name":{"type":"string","description":"Patient full name (for book_appointment)"},"patient_email":{"type":"string","description":"Patient email (for book_appointment)"},"patient_phone":{"type":"string","description":"Patient phone number (for book_appointment)"},"reason_for_visit":{"type":"string","description":"Reason for appointment (for book_appointment)"},"confirmation_number":{"type":"string","description":"Booking confirmation number (for cancel_appointment)"},"reason":{"type":"string","description":"Reason for cancellation (for cancel_appointment)"},"appointment_type":{"type":"string","description":"Specific appointment type name (for get_pricing)"}}}}},"examples":{"get_business_info":{"summary":"Get business info","value":{"tool":"get_business_info","arguments":{}}},"get_services":{"summary":"List all services","value":{"tool":"get_services","arguments":{}}},"check_availability":{"summary":"Check availability for massage therapy","value":{"tool":"check_availability","arguments":{"service":"Massage Therapy","preferred_date":"2026-04-10","preferred_time":"afternoon"}}},"book_appointment":{"summary":"Book an appointment","value":{"tool":"book_appointment","arguments":{"slot_id":"example-uuid","patient_name":"Jane Smith","patient_email":"jane@example.com","patient_phone":"613-555-0123"}}},"search_knowledge":{"summary":"Search knowledge base","value":{"tool":"search_knowledge","arguments":{"query":"Do you accept insurance?"}}}}}}},"responses":{"200":{"description":"Tool execution result","content":{"application/json":{"schema":{"type":"object","properties":{"content":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","const":"text"},"text":{"type":"string","description":"JSON string of the tool result"}}}}}}}}},"400":{"description":"Bad request — missing tool name or siteId"},"404":{"description":"Site or clinic not found"},"500":{"description":"Internal server error"}}},"get":{"summary":"List available tools","description":"Returns the MCP server info and all available tool schemas with descriptions and input parameters.","operationId":"listTools","responses":{"200":{"description":"MCP server info with tool list","content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string"},"description":{"type":"string"},"tools":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"inputSchema":{"type":"object"}}}}}}}}}}}}},"x-tool-descriptions":{"get_business_info":{"description":"Get complete business information: name, contact, address, hours, parking, insurance info.","arguments":"None required."},"get_services":{"description":"List all services offered with descriptions, duration, and pricing.","arguments":"None required."},"get_practitioners":{"description":"List practitioners. Optionally filter by service name.","arguments":"{ \"service\": \"Massage Therapy\" } — optional"},"search_services":{"description":"Search services by keyword.","arguments":"{ \"query\": \"massage\" } — required"},"get_faqs":{"description":"Get frequently asked questions about this business.","arguments":"None required."},"check_availability":{"description":"Check real-time appointment availability. Returns up to 3 slots with dates, times, and practitioners.","arguments":"{ \"service\": \"Massage Therapy\", \"preferred_date\": \"2026-04-10\", \"preferred_time\": \"afternoon\", \"practitioner_name\": \"Jane Doe\", \"is_new_patient\": false } — service is required, rest optional."},"book_appointment":{"description":"Book an appointment using a slot_id from check_availability. Creates a real booking in the system.","arguments":"{ \"slot_id\": \"uuid\", \"patient_name\": \"Jane Smith\", \"patient_email\": \"jane@example.com\", \"patient_phone\": \"613-555-0123\", \"is_new_patient\": false, \"reason_for_visit\": \"Lower back pain\" } — slot_id, patient_name, patient_email, patient_phone are required."},"cancel_appointment":{"description":"Cancel an existing appointment by confirmation number or patient details.","arguments":"{ \"confirmation_number\": \"CRV-GLB-20260410-7X9K\" } — or use patient_phone + patient_name for lookup."},"get_pricing":{"description":"Get pricing information for a specific service.","arguments":"{ \"service\": \"Massage Therapy\", \"appointment_type\": \"60 Minute Massage\" } — service is required."},"search_knowledge":{"description":"Search the clinic knowledge base for policies, procedures, insurance, parking, etc.","arguments":"{ \"query\": \"Do you accept insurance?\" } — required."}}}