{"components":{"securitySchemes":{"bearer":{"description":"vr_live_... key from the Voice Referral portal (Settings \u2192 API access)","scheme":"bearer","type":"http"}}},"info":{"contact":{"email":"contact@dentalelephant.com"},"description":"Public, no-login endpoints for AI assistants acting for a patient of Stark Dentistry / Utah Dental Crowns (South Jordan, Utah): practice facts, real appointment availability, booking, a live dental-insurance benefits check, and treatment estimates from the office fee schedule. Also served as an MCP server at /mcp. Human docs: /agents.","title":"Dental Elephant agent API","version":"1.0.0"},"openapi":"3.1.0","paths":{"/api/agent/v1/practices":{"get":{"operationId":"listPractices","responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Practices"}},"summary":"Both practices with address, hours, insurance, services, and action URLs"}},"/api/agent/v1/practices/{office}":{"get":{"operationId":"getPractice","parameters":[{"description":"stark = Stark Dentistry (general dentistry); udc = Utah Dental Crowns ($799 flat-fee crowns). Same office, same dentist.","in":"path","name":"office","required":true,"schema":{"enum":["stark","udc"],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Practice"}},"summary":"One practice's facts"}},"/api/agent/v1/practices/{office}/appointments":{"post":{"operationId":"bookAppointment","parameters":[{"description":"stark = Stark Dentistry (general dentistry); udc = Utah Dental Crowns ($799 flat-fee crowns). Same office, same dentist.","in":"path","name":"office","required":true,"schema":{"enum":["stark","udc"],"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"booked_by":{"description":"Name of the assistant/agent making the booking (goes in the chart note)","type":"string"},"dob":{"description":"Patient birthdate YYYY-MM-DD","type":"string"},"email":{"type":"string"},"existing_patient":{"description":"true if they have been seen here before","type":"boolean"},"first":{"type":"string"},"guardian_name":{"description":"Required when the patient is under 18","type":"string"},"last":{"type":"string"},"note":{"maxLength":200,"type":"string"},"phone":{"description":"Patient's cell (confirmation text goes here)","type":"string"},"slot_op":{"description":"The op number from the same availability entry (optional)","type":"integer"},"slot_start":{"description":"A start time exactly as returned by availability (ISO, local Mountain time)","type":"string"},"visit":{"enum":["cleaning","fillings","crown","other"],"type":"string"}},"required":["visit","slot_start","first","last","dob","phone"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Booked"},"400":{"description":"Missing/invalid fields"},"409":{"description":"Time no longer open; fetch availability again"}},"summary":"Book one of the availability times. Writes the appointment to the office schedule and texts the patient a confirmation."}},"/api/agent/v1/practices/{office}/availability":{"get":{"operationId":"getAvailability","parameters":[{"description":"stark = Stark Dentistry (general dentistry); udc = Utah Dental Crowns ($799 flat-fee crowns). Same office, same dentist.","in":"path","name":"office","required":true,"schema":{"enum":["stark","udc"],"type":"string"}},{"description":"cleaning: Exam and cleaning with a hygienist (50 min). Checkup, X-rays if due, and a cleaning.; fillings: One or two fillings with Dr. Stark (40 min), for a cavity already found or a chipped filling.; crown: Crown prep visit with Dr. Stark (70 min).; other: Something else (30 min): pain, a broken tooth, a second opinion. A short exam so the right visit can be planned.","in":"query","name":"visit","required":true,"schema":{"enum":["cleaning","fillings","crown","other"],"type":"string"}},{"in":"query","name":"days","schema":{"default":7,"enum":[7,21],"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Times"}},"summary":"Real open appointment times from the schedule (Mountain time)"}},"/api/agent/v1/practices/{office}/estimate":{"post":{"operationId":"estimateTreatment","parameters":[{"description":"stark = Stark Dentistry (general dentistry); udc = Utah Dental Crowns ($799 flat-fee crowns). Same office, same dentist.","in":"path","name":"office","required":true,"schema":{"enum":["stark","udc"],"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"coverage":{"description":"Optional: apply insurance. Either check_id from an insurance check, or explicit figures.","properties":{"annual_max_remaining":{"type":"number"},"basic_pct":{"type":"number"},"check_id":{"type":"string"},"deductible_remaining":{"type":"number"},"major_pct":{"type":"number"},"preventive_pct":{"type":"number"}},"type":"object"},"items":{"items":{"properties":{"code":{"description":"CDT code, e.g. D2740","type":"string"},"name":{"description":"Or plain words: 'crown', 'two surface filling', 'cleaning', 'molar root canal'","type":"string"},"quantity":{"default":1,"type":"integer"},"surfaces":{"type":"integer"},"tooth":{"type":"string"}},"type":"object"},"maxItems":40,"type":"array"}},"required":["items"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Estimate"}},"summary":"Office-fee estimate for a treatment plan (CDT codes or plain words), optionally with insurance applied"}},"/api/agent/v1/practices/{office}/insurance-check":{"post":{"operationId":"checkInsurance","parameters":[{"description":"stark = Stark Dentistry (general dentistry); udc = Utah Dental Crowns ($799 flat-fee crowns). Same office, same dentist.","in":"path","name":"office","required":true,"schema":{"enum":["stark","udc"],"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"carrier":{"description":"Insurance company name as printed on the card (e.g. Delta Dental, Cigna)","type":"string"},"contact_phone":{"description":"Patient's cell so the office can follow up (optional)","type":"string"},"group_number":{"type":"string"},"member_id":{"description":"Member / subscriber ID printed on the card","type":"string"},"patient":{"properties":{"dob":{"description":"YYYY-MM-DD","type":"string"},"first":{"type":"string"},"last":{"type":"string"}},"required":["first","last","dob"],"type":"object"},"payer_id":{"description":"Electronic payer ID if known (alternative to carrier)","type":"string"},"relationship":{"default":"self","description":"Patient's relationship to the subscriber (the person whose name the plan is in)","enum":["self","spouse","child","dependent"],"type":"string"},"subscriber":{"description":"Required when relationship is not self","properties":{"dob":{"type":"string"},"first":{"type":"string"},"last":{"type":"string"}},"type":"object"}},"required":["patient","member_id"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Benefits summary with check_id"},"422":{"description":"Carrier not matched to an electronic payer; fallback options returned"}},"summary":"Live dental benefits check (eligibility, annual max, deductible, coverage % by category) under Dr. Stark's NPI"}},"/api/agent/v1/procedures":{"get":{"operationId":"searchProcedures","parameters":[{"in":"query","name":"q","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Matches"}},"summary":"Find CDT codes and office fees by words"}},"/api/agent/v1/providers":{"get":{"operationId":"findProviders","parameters":[{"in":"query","name":"npi","schema":{"type":"string"}},{"in":"query","name":"last","schema":{"type":"string"}},{"in":"query","name":"first","schema":{"type":"string"}},{"in":"query","name":"state","schema":{"type":"string"}},{"in":"query","name":"practice","schema":{"type":"string"}},{"in":"query","name":"specialty","schema":{"type":"string"}},{"in":"query","name":"zip","schema":{"type":"string"}},{"in":"query","name":"radius","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Provider cards"}},"summary":"Provider directory: NPI registry + who receives on Voice Referral (insurance, openings). No key."}},"/api/agent/v1/referrals":{"get":{"operationId":"listReferrals","parameters":[{"in":"query","name":"box","schema":{"enum":["sent","incoming"],"type":"string"}},{"in":"query","name":"limit","schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Records"}},"security":[{"bearer":[]}],"summary":"Referrals you sent, or (verified receivers) addressed to you"},"post":{"operationId":"sendReferral","requestBody":{"content":{"application/json":{"schema":{"$ref":"https://dentalelephant.com/api/agent/v1/referrals/schema.json#/$defs/Referral"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Filed: id, letter, delivery"},"401":{"description":"Missing/invalid key"}},"security":[{"bearer":[]}],"summary":"Send a referral letter as the key holder (see /api/agent/v1/referrals/schema.json for the Referral object)"}},"/api/agent/v1/referrals/schema.json":{"get":{"operationId":"getReferralSchema","responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Schema"}},"summary":"The open referral schema (JSON Schema 2020-12)"}},"/api/agent/v1/referrals/{id}":{"get":{"operationId":"getReferral","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Record"}},"security":[{"bearer":[]}],"summary":"One referral record with the letter text"}},"/api/agent/v1/referrals/{id}/pdf":{"get":{"operationId":"getReferralPdf","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"application/pdf"}},"security":[{"bearer":[]}],"summary":"The letter PDF"}},"/api/agent/v1/referrals/{id}/status":{"post":{"operationId":"updateReferralStatus","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"https://dentalelephant.com/api/agent/v1/referrals/schema.json#/$defs/StatusUpdate"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Updated"}},"security":[{"bearer":[]}],"summary":"Receiving office: received | scheduled | completed | no_contact"}},"/api/agent/v1/software":{"get":{"operationId":"getSoftware","responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Products"}},"summary":"Dental Elephant and Voice Referral product facts and pricing"}}},"servers":[{"url":"https://dentalelephant.com"}]}
