{"service":"akili-scheduler-backend","status":"scheduling","routes":["GET /","GET /health","POST /auth/login","POST /auth/dev/select-practice (development only)","POST /auth/dev/switch-practice (development only)","GET /auth/me","POST /auth/logout","GET/PATCH /practices/:slug","GET /practices/:slug/services","GET /practices/:slug/providers","GET /practices/:slug/intake-fields","GET /practices/:slug/availability","POST /practices/:slug/bookings","POST /practices/:slug/bookings/otp/{request,verify} (flag-gated mobile OTP — splitbook)","GET/PATCH /practices/:slug/settings","GET/POST /practices/:slug/admin/services","PATCH/DELETE /practices/:slug/admin/services/:id","GET/POST /practices/:slug/admin/intake-fields","PATCH/DELETE /practices/:slug/admin/intake-fields/:id","GET /practices/:slug/admin/providers","PATCH /practices/:slug/admin/providers/:user_id","GET/POST /practices/:slug/admin/resource-types","PATCH /practices/:slug/admin/resource-types/:id","GET/POST /practices/:slug/admin/resources","PATCH/DELETE /practices/:slug/admin/resources/:id","GET/POST /practices/:slug/admin/resource-blocks","DELETE /practices/:slug/admin/resource-blocks/:id","GET/PUT /practices/:slug/admin/services/:id/resource-requirements","POST/DELETE /practices/:slug/admin/resources/:id/outage[/:blockId] (staff out-of-order flag)","GET/POST /appointments","GET /appointments/day-summary","GET /appointments/range-summary","POST /appointments/walk-in","POST /appointments/:id/refer (triage hand-off to a doctor)","GET /appointments/:id","GET /appointments/:id/pre-visit-summary (PLACEHOLDER narrative — Phase 9.3)","POST /appointments/:id/{cancel,check-in,start,complete,no-show,un-check-in,un-start,un-no-show}","POST /appointments/:id/{reschedule,send-reschedule-link,reassign}","POST /appointments/:id/desk-review (New bookings lane acknowledgement — splitbook)","GET /appointments/:id/resource-options (current unit + free same-type alternatives)","POST /appointments/:id/reassign-resource (change machine — practice.appointments.reassign.resource)","PATCH /appointments/:id/urgency (edit triage tag — Phase 11)","GET /patients?q=","GET /patients/:id","GET /patients/:id/appointments","GET /patients/by-mrn/:mrn","GET /patients/review-queue (pending online patients + match candidates)","GET /patients/new-bookings (reception New bookings lane — splitbook)","POST /patients/:id/{confirm,link-to-existing} (pending-identity resolution)","GET /providers/:provider_id/affected-appointments","POST /providers/:provider_id/unavailable","DELETE /providers/:provider_id/blocks/:block_id","POST /appointments/cascade-apply","GET /audit-log","GET /audit-log/:id","POST /webhooks/inbound-message (provider reply ingest)","GET /p/:token (patient self-service: view appointment)","GET /p/:token/ics","GET /p/:token/availability (patient self-service: same-service+provider slots)","POST /p/:token/confirm (patient self-service: confirm — audit-only)","POST /p/:token/cancel (patient self-service: cancel)","POST /p/:token/reschedule (patient self-service: reschedule, same provider)","GET/POST /p/:token/intake (Complete your details — splitbook, asks-never-echoes)","POST /staff/duty (set on/off-duty; reception/admin may override another user — Phase M1)","GET /staff/roster (practice staff: on_duty + derived in_consult — Phase M1)","GET/PATCH /staff/preferences (provider-owned global Scheduler display preferences)","GET/PATCH /staff/practice-preferences (per-user, per-practice settings: W7)","GET /integrations/messaging/roster?platform_practice_id= (messaging module, service JWT)","POST /integrations/patients/{link,relink,markers} (platform identity, service JWT)","GET /notifications","POST /notifications/read","GET /reschedule-requests/pending","POST /reschedule-requests/:id/accept","POST /reschedule-requests/:id/decline"],"note":"This inventory mirrors the registered Hono routes; OpenAPI carries request/response schemas."}