Requêtes
Les routes du panneau et ce que chacune lit ou écrit en base.
Dérivé des sources, pas écrit à la main : un test relit le dépôt et échoue si cette liste a divergé. Elle dit ce que le code PEUT faire — pas ce qu'il a fait.
/api/admin/agendaTout ce que le calendrier affiche, en une réponse
GETclient_opening_hoursGETpractitionersGETslots/api/admin/appointments/:idDéplacement et annulation d'un rendez-vous, depuis le panneau
GETappointmentsGETslotsPOSTcancel_appointment()POSTreschedule_appointment()/api/admin/appointmentsPrise de rendez-vous depuis le panneau — le comptoir, pas le téléphone
GETappointmentsGETbooking_holdsGETpatientsGETslotsPOSTcommit_booking_hold()POSThold_booking_slot()POSTresolve_patient()/api/admin/cabinet-informationInformations du cabinet, côté opérateur (prompt 52)
DELETEcare_pricesGETcabinet_informationGETcare_pricesGETcare_typesPATCHcabinet_informationPOSTcabinet_informationPOSTcare_prices/api/admin/config/:slug/publishPromeut le brouillon en version publiée
GETagent_configGETagent_config_draftPATCHagent_config/api/admin/config/:slug/rollbackHistorique des publications, la plus récente d'abord
GETagent_config_historyPATCHagent_config_draft/api/admin/config/:slugBrouillon en cours d'édition + version actuellement publiée
GETagent_config_draftPATCHagent_config_draft/api/admin/errorsLes erreurs des trois couches, en une seule liste
GETsession_eventsGETworker_logs/api/admin/opening-hoursHoraires d'ouverture du cabinet (P20)
DELETEclient_opening_hoursGETclient_opening_hoursPOSTclient_opening_hours/api/admin/patients/:idCorriger une fiche, valider une fiche provisoire, ou la rattacher à une autre
GETpatientsPATCHpatientsPOSTconfirm_unverified_patient()POSTmerge_unverified_patient()/api/admin/patientsFiches patients du cabinet : lecture et création depuis le panneau
GETpatientsPOSTadmin_create_patient()/api/admin/practitioners/:id/caresRemplace les soins pratiqués par un praticien
DELETEpractitioner_caresGETpractitionersPOSTpractitioner_cares/api/admin/practitioners/:id/generateAu-delà, une seule requête ouvrirait plusieurs milliers de créneaux
GETpractitionersPOSTgenerate_practitioner_slots()POSTset_emergency_reserve()/api/admin/practitioners/:id/hoursRemplace la semaine type d'un praticien
DELETEpractitioner_working_hoursGETpractitionersPOSTweek_hours_conflicts()POSTpractitioner_working_hours/api/admin/practitioners/:idRenomme ou (dés)active un praticien
PATCHpractitioners/api/admin/practitionersCabinet servi par ce déploiement
DELETEpractitioner_rolesDELETEpractitionersGETclient_opening_hoursGETpractitioner_caresGETpractitioner_working_hoursGETpractitionersPOSTpractitioner_rolesPOSTpractitionersPOSTschedules/api/admin/pronunciations/:idLa décision humaine sur une règle : valider, refuser, promouvoir, retirer
GETpatientsGETpronunciation_rulesPATCHpronunciation_rules/api/admin/pronunciations/publishPublie une nouvelle version du dictionnaire du cabinet
GETpronunciation_dictionary_versionsGETpronunciation_rulesPATCHagent_configPATCHpronunciation_dictionary_versionsPOSTpronunciation_dictionary_versions/api/admin/pronunciations/rollbackRevient à une version publiée du dictionnaire
GETpronunciation_dictionary_versionsPATCHagent_configPATCHpronunciation_dictionary_versions/api/admin/pronunciationsLa file de validation des prononciations, et l'ajout manuel d'une règle
GETpatientsGETpronunciation_dictionary_versionsGETpronunciation_rulesPOSTpronunciation_rules/api/admin/qualityAgrégats de qualité par jour, depuis la création du bot
GETcall_sessionsGETsession_events/api/admin/slots/:idModification et suppression d'un créneau
DELETEbooking_holdsGETslotsPATCHslots/api/admin/slotsOuverture de créneaux à la main, depuis le calendrier
GETpractitionersGETslotsPOSTslots/api/admin/tracesLes requêtes réellement exécutées par cet isolat
Ne touche pas à la base.
/api/admin/tts-previewEntendre ce que l'agent dira — avec la voix qu'il utilise réellement
GETagent_configGETpronunciation_dictionary_versions/api/admin/voicesVoix Gradium disponibles, filtrées sur le français
Ne touche pas à la base.
/api/agent-config/:slugConfiguration publiée, lue par l'agent LiveKit au début de chaque session
GETagent_config/api/booking/cabinet_informationInformations simples du cabinet : accès, tarifs, préparation, offre
POSTcabinet_information()/api/booking/call_sessionsCodes acceptés à l'ingestion
DELETEsession_eventsDELETEtranscript_turnsPOSTcall_sessions/api/booking/cancel_bookingAnnulation d'un rendez-vous, après confirmation explicite de l'appelant
POSTcancel_appointment()/api/booking/client_configConfiguration publiée, lue par l'agent de réservation au début d'une session
GETagent_config/api/booking/commit_bookingLe call_session_id n'existe que si le rapport de session a déjà été posté
GETappointmentsGETbooking_holdsGETcall_sessionsGETpatientsGETslotsPOSTcommit_booking_hold()POSTresolve_patient()/api/booking/confirm_unverified_patientPromouvoir une fiche provisoire depuis la voix (prompt 56)
POSTconfirm_unverified_patient()/api/booking/count_pending_provisionalDossiers provisoires en attente sur une ligne (prompt 55)
POSTcount_pending_provisional()/api/booking/create_unverified_patientLa fiche provisoire, vue de l'agent (prompt 43 D43-13/14, prompt 49 lot 2)
POSTcreate_unverified_patient()/api/booking/find_appointmentsRendez-vous à venir d'un patient, retrouvés par nom de famille
POSTfind_patient_appointments()/api/booking/find_patients_by_identityFiche existante au même nom + prénom + date de naissance (prompt 23, T13)
GETpronunciation_rulesPOSTfind_patients_by_identity()/api/booking/hold_blockBloque N créneaux d'un coup, pour une famille (prompt 43, D43-30)
POSThold_booking_block()/api/booking/identify_patients_by_phoneFiches CANDIDATES portées par le numéro appelant (prompt 26)
GETpronunciation_rulesPOSTidentify_patients_by_phone()/api/booking/patient_pronunciationsLa prononciation corrigée par l'appelant, telle qu'il a accepté qu'on la garde
POSTpronunciation_rules/api/booking/pending_provisional_for_lineLe rendez-vous provisoire porté par une ligne (prompt 56)
POSTpending_provisional_for_line()/api/booking/practitioner_directoryAnnuaire du cabinet : qui exerce, ce que chacun pratique, quand
POSTpractitioner_directory()/api/booking/prepare_bookingPose un verrou temporaire sur le créneau et renvoie le récapitulatif
GETslotsPOSThold_booking_slot()/api/booking/recent_transcriptsLes derniers appels terminés, avec leur transcription
Ne touche pas à la base.
/api/booking/reschedule_bookingDéplacement d'un rendez-vous vers un autre créneau
GETslotsPOSTreschedule_appointment()/api/booking/search_available_slotsDegré d'urgence FHIR R4 (Slot.appointmentType, code system v2-0276)
POSTsearch_available_slots()/api/booking/sessions_debugRoute de DIAGNOSTIC : relit les dernières sessions avec leur transcription
Ne touche pas à la base.
/api/ingestIngestion des événements de l'agent de triage
GETcall_sessionsPATCHcall_sessionsPOSTsession_eventsPOSTtranscript_turnsPUTcall_sessions