/api/appointments Live 6 calls GET /api/appointments List appointments Filter by date range, doctor and status. ?from · to · doctorId · status GET /api/doctors List the doctors Id, name, title, default duration and gap. This one is not written to the usage log. POST /api/appointments Create an appointment It arrives with status booked. doctorId · startUtc · endUtc · patientName · patientEmail · patientPhone · reason POST /api/appointments/{id}/status Change a status Cancel it, or move it along. An external client cannot set confirmed. Only the clinic confirms a visit. POST /api/appointments/bulk Create many at once One request, an items array. POST /api/appointments/status/bulk Cancel many at once An array of IDs and one status. appointmentIds · status
/api/reviews Live 2 calls GET /api/reviews List reviews All of them, or one doctor’s. ?doctorId POST /api/reviews Add a review Rating and comment against a visit. The doctor comes from the appointment. appointmentId is mandatory. A review has to belong to a visit that actually happened. appointmentId · rating · comment · status
Booking widget active a3f9c21e… key prefix · first 8 characters Patient identifying data off Change appointment status off The key you hand to whoever builds your website. Both switches off — which today means no visit reasons and no cancelling. It can still read patient contact details, so treat it as a real credential.
Ops automation active 7d10b8ea… key prefix · first 8 characters Patient identifying data on Change appointment status on Your own script, reconciling the day. Both switches on — and every call it makes is filed under its name, not under “the API”.