openapi: 3.0.3
info:
title: MS-HC
description: ''
version: 1.0.0
servers:
-
url: 'https://vitacare.ms-hotel.net'
paths:
/api/admissions/all:
post:
summary: 'Lister les admissions'
operationId: listerLesAdmissions
description: 'Permet de récupérer la liste des admissions'
parameters:
-
in: query
name: patient_id
description: 'ID du patient.'
example: 1
required: false
schema:
type: integer
description: 'ID du patient.'
example: 1
nullable: false
-
in: query
name: doctor_id
description: 'ID du médecin.'
example: 2
required: false
schema:
type: integer
description: 'ID du médecin.'
example: 2
nullable: false
-
in: query
name: medical_page_id
description: 'ID de la consultation.'
example: 5
required: false
schema:
type: integer
description: 'ID de la consultation.'
example: 5
nullable: false
-
in: query
name: status
description: 'Statut admission (active, discharged, transferred).'
example: active
required: false
schema:
type: string
description: 'Statut admission (active, discharged, transferred).'
example: active
nullable: false
-
in: query
name: room_number
description: 'Numéro de chambre.'
example: A12
required: false
schema:
type: string
description: 'Numéro de chambre.'
example: A12
nullable: false
-
in: query
name: start_date
description: 'date Date début (YYYY-MM-DD).'
example: '2026-01-01'
required: false
schema:
type: string
description: 'date Date début (YYYY-MM-DD).'
example: '2026-01-01'
nullable: false
-
in: query
name: end_date
description: 'date Date fin (YYYY-MM-DD).'
example: '2026-12-31'
required: false
schema:
type: string
description: 'date Date fin (YYYY-MM-DD).'
example: '2026-12-31'
nullable: false
-
in: query
name: filter_value
description: 'Recherche globale.'
example: ab
required: false
schema:
type: string
description: 'Recherche globale.'
example: ab
nullable: false
-
in: query
name: trashed
description: 'Inclure supprimés.'
example: false
required: false
schema:
type: boolean
description: 'Inclure supprimés.'
example: false
nullable: false
responses: { }
tags:
- Admissions
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
patient_id:
type: integer
description: ''
example: 19
nullable: true
doctor_id:
type: integer
description: ''
example: 14
nullable: true
medical_page_id:
type: integer
description: ''
example: 12
nullable: true
status:
type: string
description: ''
example: transferred
nullable: true
enum:
- active
- discharged
- transferred
room_number:
type: string
description: ''
example: aut
nullable: true
start_date:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-07T16:23:58'
nullable: true
end_date:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-07T16:23:58'
nullable: true
filter_value:
type: string
description: ''
example: architecto
nullable: true
trashed:
type: boolean
description: ''
example: false
nullable: true
page_items:
type: integer
description: ''
example: 6
nullable: true
nbre_items:
type: integer
description: 'Le champ value doit être au moins 1. Le champ value ne peut être supérieur à 1000.'
example: 25
nullable: true
/api/admissions:
post:
summary: 'Créer une admission'
operationId: crerUneAdmission
description: "Permet d'enregistrer une nouvelle hospitalisation."
parameters: []
responses: { }
tags:
- Admissions
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
patient_id:
type: integer
description: 'ID du patient.'
example: 1
nullable: false
doctor_id:
type: integer
description: 'ID du médecin.'
example: 2
nullable: false
medical_page_id:
type: integer
description: 'ID de la consultation.'
example: 5
nullable: false
admitted_at:
type: datetime
description: "Date d'entrée."
example: '2026-05-05 10:00:00'
nullable: false
discharged_at:
type: datetime
description: 'Date de sortie.'
example: '2026-05-10 12:00:00'
nullable: true
room_number:
type: string
description: 'Numéro de chambre.'
example: A12
nullable: false
status:
type: string
description: 'Statut (active, discharged, transferred).'
example: active
nullable: false
notes:
type: string
description: 'Notes complémentaires.'
example: deserunt
nullable: false
required:
- patient_id
- doctor_id
- medical_page_id
- admitted_at
'/api/admissions/{admission_id}':
get:
summary: 'Afficher une admission'
operationId: afficherUneAdmission
description: "Retourne les détails d'une admission."
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/admissions/1 could not be found.'
properties:
message:
type: string
example: 'The route api/admissions/1 could not be found.'
tags:
- Admissions
put:
summary: 'Modifier une admission'
operationId: modifierUneAdmission
description: 'Tous les champs sont modifiables'
parameters: []
responses: { }
tags:
- Admissions
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
patient_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 10
nullable: true
doctor_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 3
nullable: true
medical_page_id:
type: integer
description: 'The id of an existing record in the medical_pages table.'
example: 10
nullable: true
room_number:
type: string
description: 'Le champ value ne peut contenir plus de 50 caractères.'
example: hhhfbffkuvvqt
nullable: true
admitted_at:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-07T16:23:58'
nullable: true
discharged_at:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-07T16:23:58'
nullable: true
status:
type: string
description: ''
example: active
nullable: true
enum:
- active
- discharged
- transferred
notes:
type: string
description: ''
example: quam
nullable: true
parameters:
-
in: path
name: admission_id
description: 'The ID of the admission.'
example: 1
required: true
schema:
type: integer
-
in: path
name: admission
description: "ID de l'admission."
example: 1
required: true
schema:
type: integer
/api/admissions/trash:
post:
summary: 'Mettre en corbeille'
operationId: mettreEnCorbeille
description: 'Body : ids[]'
parameters: []
responses: { }
tags:
- Admissions
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the admissions table.'
example:
- 5
items:
type: integer
/api/admissions/restore:
post:
summary: Restaurer
operationId: restaurer
description: 'Body : ids[]'
parameters: []
responses: { }
tags:
- Admissions
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the admissions table.'
example:
- 8
items:
type: integer
/api/login:
post:
summary: 'Fonction permettant à un utilisateur déjà inscrit de se connecter'
operationId: fonctionPermettantUnUtilisateurDjInscritDeSeConnecter
description: ''
parameters: []
responses: { }
tags:
- Authentification
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
username:
type: string
description: ''
example: consequuntur
nullable: false
password:
type: string
description: ''
example: 'Hq}?W0)-%\Ge3eQ"`['
nullable: false
device_key:
type: string
description: ''
example: rerum
nullable: true
required:
- username
- password
security: []
/api/logout:
post:
summary: 'Fonction permettant à un utilisateur connecté de se déconnecter'
operationId: fonctionPermettantUnUtilisateurConnectDeSeDconnecter
description: ''
parameters: []
responses: { }
tags:
- Authentification
/api/salaries-advances/all:
post:
summary: 'Afficher la liste filtrée des avances sur salaire'
operationId: afficherLaListeFiltreDesAvancesSurSalaire
description: ''
parameters: []
responses: { }
tags:
- 'Avance sur salaire / Salary advance'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
page_items:
type: integer
description: ''
example: 14
nullable: true
nbre_items:
type: integer
description: ''
example: 14
nullable: true
filter_value:
type: string
description: ''
example: magnam
nullable: true
trashed:
type: boolean
description: ''
example: true
nullable: true
user_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 3
nullable: true
user_approve_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 11
nullable: true
date:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: true
/api/salaries-advances:
post:
summary: 'Show the form for creating a new resource.'
operationId: showTheFormForCreatingANewResource
description: ''
parameters: []
responses: { }
tags:
- 'Avance sur salaire / Salary advance'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
salary_advances:
type: array
description: ''
example:
- []
items:
type: object
properties:
user_approve_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 2
nullable: false
amount:
type: string
description: ''
example: corrupti
nullable: false
reason:
type: string
description: ''
example: dignissimos
nullable: false
required:
- user_approve_id
- amount
- reason
required:
- salary_advances
'/api/salaries-advances/{salary_advance_id}':
get:
summary: 'Afficher une retenue sur salaire spécifique'
operationId: afficherUneRetenueSurSalaireSpcifique
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/salaries-advances/vel could not be found.'
properties:
message:
type: string
example: 'The route api/salaries-advances/vel could not be found.'
tags:
- 'Avance sur salaire / Salary advance'
put:
summary: 'Mettre à jour une retenue sur salaire spécifique'
operationId: mettreJourUneRetenueSurSalaireSpcifique
description: ''
parameters: []
responses: { }
tags:
- 'Avance sur salaire / Salary advance'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
user_approve_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 7
nullable: true
amount:
type: string
description: ''
example: null
nullable: true
status:
type: string
description: ''
example: in_progress
nullable: true
enum:
- pending_approval
- in_progress
- approved
- rejected
reason:
type: string
description: ''
example: ut
nullable: true
comments:
type: string
description: ''
example: quisquam
nullable: true
parameters:
-
in: path
name: salary_advance_id
description: 'The ID of the salary advance.'
example: vel
required: true
schema:
type: string
/api/salaries-advances/trash:
post:
summary: 'Archiver (soft delete) les avances sur salaire spécifiées.'
operationId: archiversoftDeleteLesAvancesSurSalaireSpcifies
description: ''
parameters: []
responses: { }
tags:
- 'Avance sur salaire / Salary advance'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: ''
example:
- 19
items:
type: integer
required:
- ids
/api/salaries-advances/restore:
post:
summary: 'Restaurer les avances sur salaire archivées.'
operationId: restaurerLesAvancesSurSalaireArchives
description: ''
parameters: []
responses: { }
tags:
- 'Avance sur salaire / Salary advance'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: ''
example:
- 8
items:
type: integer
required:
- ids
/api/warnings/all:
post:
summary: 'Lister les avertissements'
operationId: listerLesAvertissements
description: ''
parameters: []
responses: { }
tags:
- Avertissements
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
page_items:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 37
nullable: true
nbre_items:
type: integer
description: ''
example: 3
nullable: true
user_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 1
nullable: true
date:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: true
filter_value:
type: string
description: 'Le champ value ne peut contenir plus de 100 caractères.'
example: olgmgajcyesocigkqhzlrmb
nullable: true
/api/warnings:
post:
summary: 'Ajouter un ou plusieurs avertissements'
operationId: ajouterUnOuPlusieursAvertissements
description: ''
parameters: []
responses: { }
tags:
- Avertissements
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
warnings:
type: array
description: ''
example:
- []
items:
type: object
properties:
user_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 19
nullable: false
reason:
type: string
description: ''
example: delectus
nullable: false
date:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: false
required:
- user_id
- reason
- date
required:
- warnings
'/api/warnings/{warning_id}':
get:
summary: "Afficher les détails d'un avertissement"
operationId: afficherLesDtailsDunAvertissement
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/warnings/16 could not be found.'
properties:
message:
type: string
example: 'The route api/warnings/16 could not be found.'
tags:
- Avertissements
put:
summary: "Modifier les détails d'un avertissement"
operationId: modifierLesDtailsDunAvertissement
description: ''
parameters: []
responses: { }
tags:
- Avertissements
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
user_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 20
nullable: true
date:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: true
page_items:
type: integer
description: ''
example: 19
nullable: true
nbre_items:
type: integer
description: ''
example: 3
nullable: true
filter_value:
type: string
description: ''
example: quia
nullable: true
parameters:
-
in: path
name: warning_id
description: 'The ID of the warning.'
example: 16
required: true
schema:
type: integer
/api/warnings/trash:
post:
summary: 'Mettre un ou plusieurs avertissements en corbeille (soft delete)'
operationId: mettreUnOuPlusieursAvertissementsEnCorbeillesoftDelete
description: ''
parameters: []
responses: { }
tags:
- Avertissements
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
warning_ids:
type: array
description: 'The id of an existing record in the warnings table.'
example:
- 20
items:
type: integer
required:
- warning_ids
/api/warnings/restore:
post:
summary: 'Restaurer un ou plusieurs avertissements de la corbeille'
operationId: restaurerUnOuPlusieursAvertissementsDeLaCorbeille
description: ''
parameters: []
responses: { }
tags:
- Avertissements
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
warning_ids:
type: array
description: 'The id of an existing record in the warnings table.'
example:
- 13
items:
type: integer
required:
- warning_ids
/api/warnings/destroy:
post:
summary: 'Supprimer définitivement un ou plusieurs avertissements'
operationId: supprimerDfinitivementUnOuPlusieursAvertissements
description: ''
parameters: []
responses: { }
tags:
- Avertissements
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
warning_ids:
type: array
description: 'The id of an existing record in the warnings table.'
example:
- 7
items:
type: integer
required:
- warning_ids
/api/purchase-orders/all:
post:
summary: "Afficher une liste filtrée des bons d'achat"
operationId: afficherUneListeFiltreDesBonsDachat
description: ''
parameters: []
responses: { }
tags:
- "Bons d'achats"
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
page_items:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 50
nullable: true
nbre_items:
type: integer
description: ''
example: 17
nullable: true
filter_value:
type: string
description: 'Le champ value ne peut contenir plus de 100 caractères.'
example: ltlmpohzovcppham
nullable: true
status:
type: string
description: ''
example: delivered
nullable: true
enum:
- requesting_price
- pending_approval
- approved
- purchase_order
- paid
- delivered
- cancelled
priority:
type: string
description: ''
example: urgent
nullable: true
enum:
- low
- medium
- high
- urgent
supplier_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 18
nullable: true
responsible_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 17
nullable: true
medication_ids:
type: array
description: 'The id of an existing record in the medications table.'
example:
- 7
items:
type: integer
trashed:
type: boolean
description: ''
example: true
nullable: true
/api/purchase-orders:
post:
summary: "Enregistrer un bon d'achat"
operationId: enregistrerUnBonDachat
description: ''
parameters: []
responses: { }
tags:
- "Bons d'achats"
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
supplier_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 19
nullable: false
responsible_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 2
nullable: false
description:
type: string
description: ''
example: 'Id perspiciatis animi sint ipsam omnis vel.'
nullable: true
status:
type: string
description: ''
example: pending_approval
nullable: true
enum:
- requesting_price
- pending_approval
- approved
- purchase_order
- paid
- delivered
- cancelled
priority:
type: string
description: ''
example: medium
nullable: false
enum:
- low
- medium
- high
- urgent
quotation_file:
type: string
description: ''
example: voluptates
nullable: true
medications:
type: array
description: ''
example:
- []
items:
type: object
properties:
id:
type: integer
description: 'The id of an existing record in the medications table.'
example: 11
nullable: false
unit_price:
type: number
description: 'Le champ value doit être au moins 0.'
example: 43
nullable: false
quantity:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 48
nullable: false
required:
- id
- unit_price
- quantity
required:
- supplier_id
- responsible_id
- priority
- medications
'/api/purchase-orders/{purchase_voucher}':
get:
summary: "Afficher un bon d'achat spécifique"
operationId: afficherUnBonDachatSpcifique
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/purchase-orders/5 could not be found.'
properties:
message:
type: string
example: 'The route api/purchase-orders/5 could not be found.'
tags:
- "Bons d'achats"
put:
summary: 'Update the specified resource in storage.'
operationId: updateTheSpecifiedResourceInStorage
description: ''
parameters: []
responses: { }
tags:
- "Bons d'achats"
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
supplier_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 19
nullable: true
responsible_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 10
nullable: true
description:
type: string
description: ''
example: 'Perspiciatis ipsam et eos iure nihil ex veniam.'
nullable: true
status:
type: string
description: ''
example: delivered
nullable: true
enum:
- requesting_price
- pending_approval
- approved
- purchase_order
- paid
- delivered
- cancelled
priority:
type: string
description: ''
example: urgent
nullable: true
enum:
- low
- medium
- high
- urgent
quotation_file:
type: string
description: ''
example: molestiae
nullable: true
medications:
type: array
description: ''
example: null
items:
type: object
nullable: true
properties:
id:
type: integer
description: 'The id of an existing record in the medications table.'
example: 17
nullable: false
unit_price:
type: number
description: 'Le champ value doit être au moins 0.'
example: 36
nullable: false
quantity:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 2
nullable: false
required:
- id
- unit_price
- quantity
parameters:
-
in: path
name: purchase_voucher
description: ''
example: 5
required: true
schema:
type: integer
/api/purchase-orders/trash:
post:
summary: "Fonction pour le multiple archivage des bonds d'achat"
operationId: fonctionPourLeMultipleArchivageDesBondsDachat
description: ''
parameters: []
responses: { }
tags:
- "Bons d'achats"
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the purchase_orders table.'
example:
- 7
items:
type: integer
/api/purchase-orders/restore:
post:
summary: "Fonction de restauration multiples des bonds d'achat"
operationId: fonctionDeRestaurationMultiplesDesBondsDachat
description: ''
parameters: []
responses: { }
tags:
- "Bons d'achats"
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the purchase_orders table.'
example:
- 14
items:
type: integer
/api/invoices/all:
post:
summary: 'Lister les factures'
operationId: listerLesFactures
description: ''
parameters: []
responses: { }
tags:
- 'Caisse / Facturation'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
page_items:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 38
nullable: true
nbre_items:
type: integer
description: ''
example: 12
nullable: true
filter_value:
type: string
description: 'Le champ value ne peut contenir plus de 100 caractères.'
example: qixjgzxsnn
nullable: true
patient_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 6
nullable: true
cashier_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 5
nullable: true
status:
type: string
description: ''
example: saepe
nullable: true
payment_mode:
type: string
description: ''
example: esse
nullable: true
date_from:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: true
date_to:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: true
trashed:
type: boolean
description: ''
example: false
nullable: true
/api/invoices:
post:
summary: 'Créer une facture avec ses lignes'
operationId: crerUneFactureAvecSesLignes
description: ''
parameters: []
responses: { }
tags:
- 'Caisse / Facturation'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
patient_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 16
nullable: false
medical_page_id:
type: integer
description: 'The id of an existing record in the medical_pages table.'
example: 2
nullable: true
discount:
type: number
description: 'Le champ value doit être au moins 0.'
example: 3
nullable: true
payment_mode:
type: string
description: ''
example: eos
nullable: true
notes:
type: string
description: ''
example: tempora
nullable: true
mm_operator:
type: string
description: ''
example: est
nullable: true
mm_payer_number:
type: string
description: ''
example: laboriosam
nullable: true
mm_transaction_ref:
type: string
description: ''
example: in
nullable: true
mm_payment_date:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: true
insurance_name:
type: string
description: ''
example: accusamus
nullable: true
insurance_ref:
type: string
description: ''
example: illum
nullable: true
insurance_amount:
type: number
description: 'Le champ value doit être au moins 0.'
example: 0
nullable: true
patient_amount:
type: number
description: 'Le champ value doit être au moins 0.'
example: 80
nullable: true
items:
type: array
description: 'Le champ value doit contenir au moins 1 éléments.'
example:
- []
items:
type: object
properties:
item_type:
type: string
description: ''
example: quis
nullable: false
label:
type: string
description: ''
example: qui
nullable: false
quantity:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 78
nullable: false
unit_price:
type: number
description: 'Le champ value doit être au moins 0.'
example: 7
nullable: false
lab_request_id:
type: integer
description: 'The id of an existing record in the lab_requests table.'
example: 20
nullable: true
nursing_act_id:
type: integer
description: 'The id of an existing record in the nursing_acts table.'
example: 11
nullable: true
medication_id:
type: integer
description: 'The id of an existing record in the medications table.'
example: 7
nullable: true
prescription_id:
type: integer
description: 'The id of an existing record in the prescriptions table.'
example: 15
nullable: true
required:
- item_type
- label
- quantity
- unit_price
required:
- patient_id
- items
'/api/invoices/{invoice_id}':
get:
summary: 'Afficher une facture'
operationId: afficherUneFacture
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/invoices/16 could not be found.'
properties:
message:
type: string
example: 'The route api/invoices/16 could not be found.'
tags:
- 'Caisse / Facturation'
put:
summary: 'Mettre à jour une facture (paiement complémentaire)'
operationId: mettreJourUneFacturepaiementComplmentaire
description: ''
parameters: []
responses: { }
tags:
- 'Caisse / Facturation'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
amount_paid:
type: number
description: 'Le champ value doit être au moins 0.'
example: 34
nullable: true
payment_mode:
type: string
description: ''
example: distinctio
nullable: true
discount:
type: number
description: 'Le champ value doit être au moins 0.'
example: 70
nullable: true
notes:
type: string
description: ''
example: reiciendis
nullable: true
mm_operator:
type: string
description: ''
example: aliquam
nullable: true
mm_payer_number:
type: string
description: ''
example: non
nullable: true
mm_transaction_ref:
type: string
description: ''
example: autem
nullable: true
mm_payment_date:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: true
insurance_name:
type: string
description: ''
example: ut
nullable: true
insurance_ref:
type: string
description: ''
example: sed
nullable: true
insurance_amount:
type: number
description: 'Le champ value doit être au moins 0.'
example: 72
nullable: true
patient_amount:
type: number
description: 'Le champ value doit être au moins 0.'
example: 18
nullable: true
parameters:
-
in: path
name: invoice_id
description: 'The ID of the invoice.'
example: 16
required: true
schema:
type: integer
'/api/invoices/{invoice_id}/cancel':
post:
summary: 'Annuler une facture (avec traçabilité)'
operationId: annulerUneFactureavecTraabilit
description: ''
parameters: []
responses: { }
tags:
- 'Caisse / Facturation'
parameters:
-
in: path
name: invoice_id
description: 'The ID of the invoice.'
example: 15
required: true
schema:
type: integer
/api/invoices/trash:
post:
summary: 'Archiver des factures'
operationId: archiverDesFactures
description: ''
parameters: []
responses: { }
tags:
- 'Caisse / Facturation'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the invoices table.'
example:
- 1
items:
type: integer
/api/invoices/restore:
post:
summary: 'Restaurer des factures'
operationId: restaurerDesFactures
description: ''
parameters: []
responses: { }
tags:
- 'Caisse / Facturation'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the invoices table.'
example:
- 3
items:
type: integer
/api/medical-books/all:
post:
summary: 'Lister les carnets médicaux'
operationId: listerLesCarnetsMdicaux
description: ''
parameters: []
responses: { }
tags:
- 'Carnet Médical'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
page_items:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 64
nullable: true
nbre_items:
type: integer
description: ''
example: 8
nullable: true
filter_value:
type: string
description: 'Le champ value ne peut contenir plus de 100 caractères.'
example: zciinoipiwlsxvyqphipyp
nullable: true
responsible_doctor_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 1
nullable: true
health_center_id:
type: integer
description: ''
example: 13
nullable: true
patient_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 5
nullable: true
trashed:
type: boolean
description: ''
example: false
nullable: true
start_date:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: true
end_date:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: true
ckd_stage:
type: string
description: ''
example: sint
nullable: true
dialysis_type:
type: string
description: ''
example: null
nullable: true
enum:
- null
0:
type: string
description: ''
example: null
nullable: false
dialysis_center:
type: string
description: ''
example: ut
nullable: true
current_doctor_name:
type: string
description: ''
example: sed
nullable: true
ckd_diagnosis_date:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-07T16:23:58'
nullable: true
/api/medical-books:
post:
summary: 'Ajouter un carnet médical'
operationId: ajouterUnCarnetMdical
description: ''
parameters: []
responses: { }
tags:
- 'Carnet Médical'
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
properties:
patient_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 11
nullable: false
responsible_doctor_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 20
nullable: false
health_center_id:
type: integer
description: 'The id of an existing record in the health_centers table.'
example: 17
nullable: true
blood_type:
type: string
description: ''
example: B-
nullable: true
enum:
- A+
- A-
- B+
- B-
- AB+
- AB-
- O+
- O-
known_allergies:
type: string
description: ''
example: inventore
nullable: true
chronic_diseases:
type: string
description: ''
example: aspernatur
nullable: true
observation:
type: string
description: ''
example: eos
nullable: true
status:
type: string
description: ''
example: rejected
nullable: true
enum:
- pending
- validated
- rejected
- done
- undone
current_doctor_name:
type: string
description: ''
example: vitae
nullable: true
current_doctor_phone:
type: string
description: ''
example: consequatur
nullable: true
current_doctor_address:
type: string
description: ''
example: aspernatur
nullable: true
medical_history:
type: string
description: ''
example: minima
nullable: true
current_treatments:
type: string
description: ''
example: ut
nullable: true
known_kidney_diseases:
type: string
description: ''
example: quas
nullable: true
autoimmune_or_infectious_diseases:
type: string
description: ''
example: dolor
nullable: true
allergies:
type: string
description: ''
example: id
nullable: true
ckd_stage:
type: string
description: ''
example: aperiam
nullable: true
ckd_diagnosis_date:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-07T16:23:58'
nullable: true
ckd_etiology:
type: string
description: ''
example: ut
nullable: true
recent_biological_tests:
type: string
description: ''
example: qui
nullable: true
renal_imaging_file:
type: string
format: binary
description: 'Must be a file. Le champ value ne peut être supérieur à 2048 kilobytes.'
nullable: true
dry_weight:
type: number
description: ''
example: 68617.528
nullable: true
dialysis_indicated:
type: boolean
description: ''
example: false
nullable: true
dialysis_type:
type: string
description: ''
example: hemodialysis
nullable: true
enum:
- hemodialysis
- peritoneal
dialysis_center:
type: string
description: ''
example: exercitationem
nullable: true
dialysis_frequency:
type: string
description: ''
example: voluptates
nullable: true
dialysis_complications:
type: string
description: ''
example: veritatis
nullable: true
required:
- patient_id
- responsible_doctor_id
'/api/medical-books/{medical_book}':
get:
summary: "Afficher les infos d'un carnet médical"
operationId: afficherLesInfosDunCarnetMdical
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/medical-books/1 could not be found.'
properties:
message:
type: string
example: 'The route api/medical-books/1 could not be found.'
tags:
- 'Carnet Médical'
put:
summary: 'Modifier un carnet médical'
operationId: modifierUnCarnetMdical
description: ''
parameters: []
responses: { }
tags:
- 'Carnet Médical'
requestBody:
required: false
content:
multipart/form-data:
schema:
type: object
properties:
patient_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 12
nullable: true
responsible_doctor_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 20
nullable: true
health_center_id:
type: integer
description: 'The id of an existing record in the health_centers table.'
example: 6
nullable: true
blood_type:
type: string
description: ''
example: A-
nullable: true
enum:
- A+
- A-
- B+
- B-
- AB+
- AB-
- O+
- O-
known_allergies:
type: string
description: ''
example: enim
nullable: true
chronic_diseases:
type: string
description: ''
example: voluptates
nullable: true
observation:
type: string
description: ''
example: magnam
nullable: true
status:
type: string
description: ''
example: undone
nullable: true
enum:
- pending
- validated
- rejected
- done
- undone
current_doctor_name:
type: string
description: ''
example: praesentium
nullable: true
current_doctor_phone:
type: string
description: ''
example: eveniet
nullable: true
current_doctor_address:
type: string
description: ''
example: magnam
nullable: true
medical_history:
type: string
description: ''
example: magni
nullable: true
current_treatments:
type: string
description: ''
example: nulla
nullable: true
known_kidney_diseases:
type: string
description: ''
example: voluptatibus
nullable: true
autoimmune_or_infectious_diseases:
type: string
description: ''
example: quia
nullable: true
allergies:
type: string
description: ''
example: eaque
nullable: true
ckd_stage:
type: string
description: ''
example: quae
nullable: true
ckd_diagnosis_date:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-07T16:23:58'
nullable: true
ckd_etiology:
type: string
description: ''
example: qui
nullable: true
recent_biological_tests:
type: string
description: ''
example: repellat
nullable: true
renal_imaging_file:
type: string
format: binary
description: 'Must be a file. Le champ value ne peut être supérieur à 2048 kilobytes.'
nullable: true
dry_weight:
type: number
description: ''
example: 3.365152
nullable: true
dialysis_indicated:
type: boolean
description: ''
example: false
nullable: true
dialysis_type:
type: string
description: ''
example: hemodialysis
nullable: true
enum:
- hemodialysis
- peritoneal
dialysis_center:
type: string
description: ''
example: praesentium
nullable: true
dialysis_frequency:
type: string
description: ''
example: voluptatem
nullable: true
dialysis_complications:
type: string
description: ''
example: quia
nullable: true
parameters:
-
in: path
name: medical_book
description: ''
example: 1
required: true
schema:
type: integer
/api/medical-books/trash:
post:
summary: 'Archiver plusieurs medical_books'
operationId: archiverPlusieursMedicalBooks
description: ''
parameters: []
responses: { }
tags:
- 'Carnet Médical'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the medical_books table.'
example:
- 17
items:
type: integer
required:
- ids
/api/medical-books/restore:
post:
summary: 'Restaurer plusieurs medical_books'
operationId: restaurerPlusieursMedicalBooks
description: ''
parameters: []
responses: { }
tags:
- 'Carnet Médical'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the medical_books table.'
example:
- 6
items:
type: integer
required:
- ids
/api/nursing-act-catalogs/all:
post:
summary: ''
operationId: postApiNursingActCatalogsAll
description: ''
parameters: []
responses: { }
tags:
- 'Catalogue Actes Infirmiers'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
page_items:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 9
nullable: true
nbre_items:
type: integer
description: ''
example: 17
nullable: true
filter_value:
type: string
description: 'Le champ value ne peut contenir plus de 100 caractères.'
example: xwlogmncwrrscub
nullable: true
start_date:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: true
end_date:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: true
type:
type: string
description: ''
example: nesciunt
nullable: true
is_active:
type: boolean
description: ''
example: true
nullable: true
trashed:
type: boolean
description: ''
example: true
nullable: true
/api/nursing-act-catalogs:
post:
summary: ''
operationId: postApiNursingActCatalogs
description: ''
parameters: []
responses: { }
tags:
- 'Catalogue Actes Infirmiers'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: tqccwtcbiqetwmmobhdpbej
nullable: false
type:
type: string
description: ''
example: similique
nullable: false
description:
type: string
description: ''
example: 'Explicabo beatae et fugiat adipisci molestiae neque.'
nullable: true
price:
type: number
description: 'Le champ value doit être au moins 0.'
example: 16
nullable: false
is_active:
type: boolean
description: ''
example: true
nullable: true
required:
- name
- type
- price
'/api/nursing-act-catalogs/{nursing_act_catalog}':
get:
summary: ''
operationId: getApiNursingActCatalogsNursing_act_catalog
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/nursing-act-catalogs/1 could not be found.'
properties:
message:
type: string
example: 'The route api/nursing-act-catalogs/1 could not be found.'
tags:
- 'Catalogue Actes Infirmiers'
put:
summary: ''
operationId: putApiNursingActCatalogsNursing_act_catalog
description: ''
parameters: []
responses: { }
tags:
- 'Catalogue Actes Infirmiers'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: ddkkcdrolpbaolzu
nullable: true
type:
type: string
description: ''
example: adipisci
nullable: true
description:
type: string
description: ''
example: 'Et maxime repudiandae nihil modi.'
nullable: true
price:
type: number
description: 'Le champ value doit être au moins 0.'
example: 47
nullable: true
is_active:
type: boolean
description: ''
example: true
nullable: true
parameters:
-
in: path
name: nursing_act_catalog
description: ''
example: 1
required: true
schema:
type: integer
/api/nursing-act-catalogs/trash:
post:
summary: ''
operationId: postApiNursingActCatalogsTrash
description: ''
parameters: []
responses: { }
tags:
- 'Catalogue Actes Infirmiers'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the nursing_act_catalogs table.'
example:
- 5
items:
type: integer
/api/nursing-act-catalogs/restore:
post:
summary: ''
operationId: postApiNursingActCatalogsRestore
description: ''
parameters: []
responses: { }
tags:
- 'Catalogue Actes Infirmiers'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the nursing_act_catalogs table.'
example:
- 1
items:
type: integer
/api/lab-exam-catalogs/all:
post:
summary: ''
operationId: postApiLabExamCatalogsAll
description: ''
parameters: []
responses: { }
tags:
- 'Catalogue Examens Laboratoire'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
page_items:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 84
nullable: true
nbre_items:
type: integer
description: ''
example: 4
nullable: true
filter_value:
type: string
description: 'Le champ value ne peut contenir plus de 100 caractères.'
example: tervgnahieuntjhra
nullable: true
type:
type: string
description: ''
example: ratione
nullable: true
start_date:
type: string
description: 'Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: true
end_date:
type: string
description: 'Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: true
is_active:
type: boolean
description: ''
example: true
nullable: true
trashed:
type: boolean
description: ''
example: false
nullable: true
/api/lab-exam-catalogs:
post:
summary: ''
operationId: postApiLabExamCatalogs
description: ''
parameters: []
responses: { }
tags:
- 'Catalogue Examens Laboratoire'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: jugzxshnxcndeqwgyptsnwv
nullable: false
code:
type: string
description: 'Le champ value ne peut contenir plus de 50 caractères.'
example: hg
nullable: true
type:
type: string
description: ''
example: qui
nullable: false
description:
type: string
description: ''
example: 'Velit atque natus itaque aliquid enim.'
nullable: true
price:
type: number
description: 'Le champ value doit être au moins 0.'
example: 70
nullable: false
turnaround_hours:
type: integer
description: 'Le champ value doit être au moins 0.'
example: 14
nullable: true
preparation_instructions:
type: string
description: ''
example: commodi
nullable: true
sample_required:
type: string
description: ''
example: sed
nullable: true
is_active:
type: boolean
description: ''
example: true
nullable: true
required:
- name
- type
- price
'/api/lab-exam-catalogs/{lab_exam_catalog}':
get:
summary: ''
operationId: getApiLabExamCatalogsLab_exam_catalog
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/lab-exam-catalogs/1 could not be found.'
properties:
message:
type: string
example: 'The route api/lab-exam-catalogs/1 could not be found.'
tags:
- 'Catalogue Examens Laboratoire'
put:
summary: ''
operationId: putApiLabExamCatalogsLab_exam_catalog
description: ''
parameters: []
responses: { }
tags:
- 'Catalogue Examens Laboratoire'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: ieghobwnzxdxmvwhittpbo
nullable: true
type:
type: string
description: ''
example: impedit
nullable: true
description:
type: string
description: ''
example: 'Non ut qui possimus consequatur.'
nullable: true
price:
type: number
description: 'Le champ value doit être au moins 0.'
example: 5
nullable: true
turnaround_hours:
type: integer
description: 'Le champ value doit être au moins 0.'
example: 70
nullable: true
preparation_instructions:
type: string
description: ''
example: sed
nullable: true
sample_required:
type: string
description: ''
example: hic
nullable: true
is_active:
type: boolean
description: ''
example: true
nullable: true
parameters:
-
in: path
name: lab_exam_catalog
description: ''
example: 1
required: true
schema:
type: integer
/api/lab-exam-catalogs/trash:
post:
summary: ''
operationId: postApiLabExamCatalogsTrash
description: ''
parameters: []
responses: { }
tags:
- 'Catalogue Examens Laboratoire'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the lab_exam_catalogs table.'
example:
- 2
items:
type: integer
/api/lab-exam-catalogs/restore:
post:
summary: ''
operationId: postApiLabExamCatalogsRestore
description: ''
parameters: []
responses: { }
tags:
- 'Catalogue Examens Laboratoire'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the lab_exam_catalogs table.'
example:
- 17
items:
type: integer
/api/health-centers/all:
post:
summary: 'Lister les centres de santé'
operationId: listerLesCentresDeSant
description: ''
parameters: []
responses: { }
tags:
- 'Centres de santé'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
page_items:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 33
nullable: true
nbre_items:
type: integer
description: ''
example: 9
nullable: true
start_date:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: true
end_date:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: true
filter_value:
type: string
description: 'Le champ value ne peut contenir plus de 100 caractères.'
example: eapqcogusehpelyby
nullable: true
responsible_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 19
nullable: true
trashed:
type: boolean
description: ''
example: false
nullable: true
/api/health-centers:
post:
summary: 'Ajouter un centre de santé'
operationId: ajouterUnCentreDeSant
description: ''
parameters: []
responses: { }
tags:
- 'Centres de santé'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
responsible_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 15
nullable: false
name:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: uk
nullable: false
code:
type: string
description: 'Le champ value ne peut contenir plus de 10 caractères.'
example: hfvy
nullable: true
description:
type: string
description: ''
example: 'Quod voluptatibus autem maiores qui voluptatem repellendus enim.'
nullable: true
address:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: emsugjcqseonxvaw
nullable: true
city:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: xguedonduzyctkd
nullable: true
country:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: ovka
nullable: true
phone:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: rdy
nullable: false
logo:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: javtzm
nullable: true
email:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: kertzmann.vito@example.net
nullable: true
website:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: pqvohraehyohxmklrsupn
nullable: true
required:
- responsible_id
- name
- phone
'/api/health-centers/{health_center}':
get:
summary: "Afficher les informations d'un centre de santé"
operationId: afficherLesInformationsDunCentreDeSant
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/health-centers/1 could not be found.'
properties:
message:
type: string
example: 'The route api/health-centers/1 could not be found.'
tags:
- 'Centres de santé'
put:
summary: "Modifier les informations d'un centre de santé"
operationId: modifierLesInformationsDunCentreDeSant
description: ''
parameters: []
responses: { }
tags:
- 'Centres de santé'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
responsible_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 18
nullable: true
name:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: mqnmppzgbuedph
nullable: true
code:
type: string
description: 'Le champ value ne peut contenir plus de 100 caractères.'
example: wcrd
nullable: true
description:
type: string
description: ''
example: 'Assumenda voluptatem deserunt ipsa omnis libero molestiae omnis.'
nullable: true
address:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: iojswfvwcig
nullable: true
city:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: auquwtkdpjhnlgqeciewy
nullable: true
country:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: vzpvtzmpuukherlbqorpa
nullable: true
phone:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: bpywugtzjzjmzm
nullable: true
logo:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: kpll
nullable: true
email:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: marjolaine18@example.com
nullable: true
website:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: mruquloajnrzgitmepara
nullable: true
parameters:
-
in: path
name: health_center
description: ''
example: 1
required: true
schema:
type: integer
/api/health-centers/trash:
post:
summary: 'Archiver plusieurs health_centers'
operationId: archiverPlusieursHealthCenters
description: ''
parameters: []
responses: { }
tags:
- 'Centres de santé'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the health_centers table.'
example:
- 16
items:
type: integer
required:
- ids
/api/health-centers/restore:
post:
summary: 'Restaurer plusieurs health_centers'
operationId: restaurerPlusieursHealthCenters
description: ''
parameters: []
responses: { }
tags:
- 'Centres de santé'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the health_centers table.'
example:
- 5
items:
type: integer
required:
- ids
/api/chat/rooms/all:
post:
summary: 'Lister les discussions (privées et en groupe)'
operationId: listerLesDiscussionsprivesEtEnGroupe
description: ''
parameters: []
responses: { }
tags:
- Chat
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
page_items:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 88
nullable: true
nbre_items:
type: integer
description: ''
example: 16
nullable: true
filter_value:
type: string
description: 'Le champ value ne peut contenir plus de 100 caractères.'
example: gopbyxlcytdx
nullable: true
is_group:
type: boolean
description: ''
example: true
nullable: true
/api/chat/rooms:
post:
summary: 'Démarrer une discussion'
operationId: dmarrerUneDiscussion
description: ''
parameters: []
responses: { }
tags:
- Chat
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: tkvdunnprhcpwsljy
nullable: true
photo:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: uyhwwtonkkqowvqh
nullable: true
participants:
type: array
description: 'The id of an existing record in the users table.'
example:
- 4
items:
type: integer
required:
- participants
'/api/chat/rooms/{message_room}':
get:
summary: "Afficher les infos d'une discussion"
operationId: afficherLesInfosDuneDiscussion
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/chat/rooms/6 could not be found.'
properties:
message:
type: string
example: 'The route api/chat/rooms/6 could not be found.'
tags:
- Chat
put:
summary: 'Modifier une discussion'
operationId: modifierUneDiscussion
description: ''
parameters: []
responses: { }
tags:
- Chat
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: eh
nullable: true
photo:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: bbnptxfclbpjhudpyoijdqz
nullable: true
participants:
type: array
description: 'The id of an existing record in the users table.'
example:
- 12
items:
type: integer
nullable: true
parameters:
-
in: path
name: message_room
description: ''
example: 6
required: true
schema:
type: integer
/api/chat/messages/all:
post:
summary: 'Lister les messages'
operationId: listerLesMessages
description: ''
parameters: []
responses: { }
tags:
- Chat
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
page_items:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 18
nullable: true
nbre_items:
type: integer
description: ''
example: 10
nullable: true
filter_value:
type: string
description: 'Le champ value ne peut contenir plus de 100 caractères.'
example: bzpkgsol
nullable: true
message_room_id:
type: integer
description: 'The id of an existing record in the message_rooms table.'
example: 18
nullable: true
user_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 8
nullable: true
/api/chat/messages:
post:
summary: 'Ajouter un message'
operationId: ajouterUnMessage
description: ''
parameters: []
responses: { }
tags:
- Chat
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
message_room_id:
type: integer
description: 'The id of an existing record in the message_rooms table.'
example: 2
nullable: false
body:
type: string
description: ''
example: quibusdam
nullable: false
required:
- message_room_id
- body
'/api/chat/messages/{message_id}':
get:
summary: 'Afficher un message'
operationId: afficherUnMessage
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/chat/messages/5 could not be found.'
properties:
message:
type: string
example: 'The route api/chat/messages/5 could not be found.'
tags:
- Chat
put:
summary: 'Modifier un message'
operationId: modifierUnMessage
description: ''
parameters: []
responses: { }
tags:
- Chat
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
body:
type: string
description: ''
example: est
nullable: false
required:
- body
parameters:
-
in: path
name: message_id
description: 'The ID of the message.'
example: 5
required: true
schema:
type: integer
/api/check-ups/all:
post:
summary: 'Lister les checkups patients'
operationId: listerLesCheckupsPatients
description: ''
parameters: []
responses: { }
tags:
- 'Checkups patients'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
page_items:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 15
nullable: true
nbre_items:
type: integer
description: ''
example: 16
nullable: true
filter_value:
type: string
description: 'Le champ value ne peut contenir plus de 100 caractères.'
example: aqxixaksebgwkkgcp
nullable: true
patient_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 18
nullable: true
medical_page_id:
type: integer
description: 'The id of an existing record in the medical_pages table.'
example: 19
nullable: true
date:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: true
start_date:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: true
end_date:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: true
alert_status:
type: string
description: ''
example: warning
nullable: true
enum:
- normal
- warning
- critical
trashed:
type: boolean
description: ''
example: true
nullable: true
/api/check-ups:
post:
summary: 'Ajouter un checkup patient'
operationId: ajouterUnCheckupPatient
description: ''
parameters: []
responses: { }
tags:
- 'Checkups patients'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
patient_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 7
nullable: false
medical_page_id:
type: integer
description: 'The id of an existing record in the medical_pages table.'
example: 10
nullable: true
dialysis_session_id:
type: integer
description: ''
example: 14
nullable: true
weight_kg:
type: number
description: ''
example: 549.7
nullable: false
blood_pressure_systolic:
type: integer
description: ''
example: 1
nullable: true
blood_pressure_diastolic:
type: integer
description: ''
example: 15
nullable: true
heart_rate:
type: integer
description: ''
example: 19
nullable: true
temperature_c:
type: number
description: ''
example: 44468.37517
nullable: true
blood_glucose:
type: number
description: ''
example: 607943529.62977
nullable: true
urine_output_ml:
type: integer
description: ''
example: 14
nullable: true
spo2:
type: integer
description: ''
example: 19
nullable: true
creatinine:
type: number
description: ''
example: 9.4053
nullable: true
urea:
type: number
description: ''
example: 701056.355
nullable: true
creatinine_clearance:
type: number
description: ''
example: 460534784.08187
nullable: true
potassium:
type: number
description: ''
example: 636.91125011
nullable: true
sodium:
type: number
description: ''
example: 271571963.7142
nullable: true
phosphorus:
type: number
description: ''
example: 3.68138194
nullable: true
calcium:
type: number
description: ''
example: 1034.3236
nullable: true
hemoglobin:
type: number
description: ''
example: 25.789
nullable: true
notes:
type: string
description: ''
example: sit
nullable: true
date:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-07T16:23:58'
nullable: true
hour:
type: string
description: ''
example: null
nullable: true
alert_status:
type: string
description: ''
example: normal
nullable: true
enum:
- normal
- warning
- critical
required:
- patient_id
- weight_kg
'/api/check-ups/{patient_check_up}':
get:
summary: "Afficher les infos d'un checkup patient"
operationId: afficherLesInfosDunCheckupPatient
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/check-ups/1 could not be found.'
properties:
message:
type: string
example: 'The route api/check-ups/1 could not be found.'
tags:
- 'Checkups patients'
put:
summary: 'Modifier un checkup patient'
operationId: modifierUnCheckupPatient
description: ''
parameters: []
responses: { }
tags:
- 'Checkups patients'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
patient_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 4
nullable: true
medical_page_id:
type: integer
description: 'The id of an existing record in the medical_pages table.'
example: 5
nullable: true
dialysis_session_id:
type: integer
description: ''
example: 16
nullable: true
weight_kg:
type: number
description: ''
example: 5825.76
nullable: false
blood_pressure_systolic:
type: integer
description: ''
example: 18
nullable: true
blood_pressure_diastolic:
type: integer
description: ''
example: 13
nullable: true
heart_rate:
type: integer
description: ''
example: 7
nullable: true
temperature_c:
type: number
description: ''
example: 13.3
nullable: true
blood_glucose:
type: number
description: ''
example: 63.0
nullable: true
urine_output_ml:
type: integer
description: ''
example: 19
nullable: true
spo2:
type: integer
description: ''
example: 1
nullable: true
creatinine:
type: number
description: ''
example: 663591609.2
nullable: true
urea:
type: number
description: ''
example: 6787052.6380833
nullable: true
creatinine_clearance:
type: number
description: ''
example: 5071.0
nullable: true
potassium:
type: number
description: ''
example: 549670059.37424
nullable: true
sodium:
type: number
description: ''
example: 265.0
nullable: true
phosphorus:
type: number
description: ''
example: 52575.472357
nullable: true
calcium:
type: number
description: ''
example: 647911.0
nullable: true
hemoglobin:
type: number
description: ''
example: 743.695
nullable: true
notes:
type: string
description: ''
example: quisquam
nullable: true
date:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-07T16:23:58'
nullable: true
hour:
type: string
description: ''
example: null
nullable: true
alert_status:
type: string
description: ''
example: warning
nullable: true
enum:
- normal
- warning
- critical
required:
- weight_kg
parameters:
-
in: path
name: patient_check_up
description: ''
example: 1
required: true
schema:
type: integer
/api/check-ups/trash:
post:
summary: 'Archiver plusieurs patient_check_ups'
operationId: archiverPlusieursPatientCheckUps
description: ''
parameters: []
responses: { }
tags:
- 'Checkups patients'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the patient_check_ups table.'
example:
- 16
items:
type: integer
required:
- ids
/api/check-ups/restore:
post:
summary: 'Restaurer plusieurs patient_check_ups'
operationId: restaurerPlusieursPatientCheckUps
description: ''
parameters: []
responses: { }
tags:
- 'Checkups patients'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the patient_check_ups table.'
example:
- 14
items:
type: integer
required:
- ids
/api/cash-closures/all:
post:
summary: ''
operationId: postApiCashClosuresAll
description: ''
parameters: []
responses: { }
tags:
- 'Clôture de Caisse'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
page_items:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 24
nullable: true
nbre_items:
type: integer
description: ''
example: 3
nullable: true
cashier_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 20
nullable: true
status:
type: string
description: ''
example: open
nullable: true
enum:
- open
- closed
date_from:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: true
date_to:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: true
/api/cash-closures:
post:
summary: 'Créer une clôture de caisse — calcule automatiquement les totaux du jour'
operationId: crerUneCltureDeCaisseCalculeAutomatiquementLesTotauxDuJour
description: ''
parameters: []
responses: { }
tags:
- 'Clôture de Caisse'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
closure_date:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: false
notes:
type: string
description: ''
example: labore
nullable: true
required:
- closure_date
'/api/cash-closures/{cash_closure}':
get:
summary: ''
operationId: getApiCashClosuresCash_closure
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/cash-closures/11 could not be found.'
properties:
message:
type: string
example: 'The route api/cash-closures/11 could not be found.'
tags:
- 'Clôture de Caisse'
put:
summary: 'Clôturer définitivement (passer à closed)'
operationId: clturerDfinitivementpasserClosed
description: ''
parameters: []
responses: { }
tags:
- 'Clôture de Caisse'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
status:
type: string
description: ''
example: closed
nullable: true
enum:
- open
- closed
notes:
type: string
description: ''
example: esse
nullable: true
parameters:
-
in: path
name: cash_closure
description: ''
example: 11
required: true
schema:
type: integer
/api/contracts/all:
post:
summary: 'Retourne la liste des contrats avec la possibilité de filtrer et paginer les résultats.'
operationId: retourneLaListeDesContratsAvecLaPossibilitDeFiltrerEtPaginerLesRsultats
description: ''
parameters: []
responses: { }
tags:
- Contrats
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
page_items:
type: integer
description: ''
example: 9
nullable: true
nbre_items:
type: integer
description: ''
example: 13
nullable: true
filter_value:
type: string
description: ''
example: et
nullable: true
position:
type: string
description: ''
example: alias
nullable: true
status:
type: string
description: ''
example: Pending
nullable: true
enum:
- Active
- Terminated
- Pending
trashed:
type: boolean
description: ''
example: false
nullable: true
'/api/contracts/{contract}':
get:
summary: 'Affiche les détails d’un contrat spécifique à partir de son identifiant.'
operationId: afficheLesDtailsDunContratSpcifiquePartirDeSonIdentifiant
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/contracts/repellendus could not be found.'
properties:
message:
type: string
example: 'The route api/contracts/repellendus could not be found.'
tags:
- Contrats
put:
summary: 'Met à jour les informations d’un contrat donné.'
operationId: metJourLesInformationsDunContratDonn
description: ''
parameters: []
responses: { }
tags:
- Contrats
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
user_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 8
nullable: true
user_approve_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 1
nullable: true
type:
type: string
description: ''
example: Stage
nullable: true
enum:
- CDD
- CDI
- Stage
description:
type: string
description: ''
example: 'Quasi animi repudiandae et ipsa nihil.'
nullable: true
start_date:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-07T16:23:58'
nullable: true
duration:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 57
nullable: true
working_hours:
type: string
description: ''
example: est
nullable: true
position:
type: string
description: ''
example: aut
nullable: true
gross_salary:
type: number
description: 'Le champ value doit être au moins 0.'
example: 51
nullable: true
status:
type: string
description: ''
example: Pending
nullable: true
enum:
- Active
- Terminated
- Pending
service_benefits:
type: string
description: ''
example: et
nullable: true
bonus:
type: string
description: ''
example: modi
nullable: true
number_days_off:
type: integer
description: ''
example: 20
nullable: true
parameters:
-
in: path
name: contract
description: 'The contract.'
example: repellendus
required: true
schema:
type: string
/api/contracts:
post:
summary: "Crée un nouveau contrat pour un utilisateur, après vérification d'absence de contrat actif."
operationId: creUnNouveauContratPourUnUtilisateurAprsVrificationDabsenceDeContratActif
description: ''
parameters: []
responses: { }
tags:
- Contrats
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
user_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 7
nullable: false
user_approve_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 20
nullable: false
type:
type: string
description: ''
example: consequatur
nullable: false
description:
type: string
description: ''
example: 'Dolorem fugiat facilis consequatur magni magnam ducimus eveniet.'
nullable: true
start_date:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-07T16:23:58'
nullable: false
duration:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 72
nullable: true
working_hours:
type: string
description: ''
example: necessitatibus
nullable: false
position:
type: string
description: ''
example: dolor
nullable: false
gross_salary:
type: number
description: 'Le champ value doit être au moins 0.'
example: 86
nullable: false
status:
type: string
description: ''
example: Active
nullable: true
enum:
- Active
- Terminated
- Pending
service_benefits:
type: string
description: ''
example: deleniti
nullable: true
bonus:
type: string
description: ''
example: cupiditate
nullable: true
number_days_off:
type: integer
description: ''
example: 12
nullable: true
required:
- user_id
- user_approve_id
- type
- start_date
- working_hours
- position
- gross_salary
/api/contracts/trash:
post:
summary: 'Archiver (soft delete) les contrats spécifiées.'
operationId: archiversoftDeleteLesContratsSpcifies
description: ''
parameters: []
responses: { }
tags:
- Contrats
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: ''
example:
- 14
items:
type: integer
required:
- ids
/api/contracts/restore:
post:
summary: 'Restaurer les contrats archivés.'
operationId: restaurerLesContratsArchivs
description: ''
parameters: []
responses: { }
tags:
- Contrats
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: ''
example:
- 20
items:
type: integer
required:
- ids
/api/contracts/destroy:
post:
summary: 'Supprimer définitivement les contrats spécifiés.'
operationId: supprimerDfinitivementLesContratsSpcifis
description: ''
parameters: []
responses: { }
tags:
- Contrats
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: ''
example:
- 10
items:
type: integer
required:
- ids
/api/supply-demands:
post:
summary: "Crée une nouvelle demande d'approvisionnement."
operationId: creUneNouvelleDemandeDapprovisionnement
description: ''
parameters: []
responses: { }
tags:
- "Demande d'approvisionnement | Supply demand"
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: yawanowvnlqntqlrejyiw
nullable: true
description:
type: string
description: ''
example: 'Rem illo perspiciatis repellendus velit non.'
nullable: true
responsible_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 7
nullable: false
status:
type: string
description: ''
example: refused
nullable: true
enum:
- pending
- accepted
- refused
priority:
type: string
description: ''
example: medium
nullable: false
enum:
- high
- medium
- low
medications:
type: array
description: 'Le champ value doit contenir au moins 1 éléments.'
example:
- []
items:
type: object
properties:
id:
type: integer
description: 'The id of an existing record in the medications table.'
example: 18
nullable: false
unit_price:
type: integer
description: ''
example: 1
nullable: true
quantity:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 59
nullable: false
supplier_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 4
nullable: false
required:
- id
- quantity
- supplier_id
required:
- responsible_id
- priority
- medications
/api/supply-demands/all:
post:
summary: "Affiche la liste paginée des demandes d'approvisionnement, avec filtres optionnels."
operationId: afficheLaListePagineDesDemandesDapprovisionnementAvecFiltresOptionnels
description: ''
parameters: []
responses: { }
tags:
- "Demande d'approvisionnement | Supply demand"
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
filter_value:
type: string
description: ''
example: aut
nullable: true
responsible_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 19
nullable: true
priority:
type: string
description: ''
example: high
nullable: true
enum:
- high
- medium
- low
status:
type: string
description: ''
example: refused
nullable: true
enum:
- pending
- accepted
- refused
medication_ids:
type: array
description: 'The id of an existing record in the medications table.'
example:
- 5
items:
type: integer
'/api/supply-demands/{supply_demand_id}':
get:
summary: "Affiche les détails d'une demande d'approvisionnement spécifique."
operationId: afficheLesDtailsDuneDemandeDapprovisionnementSpcifique
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/supply-demands/8 could not be found.'
properties:
message:
type: string
example: 'The route api/supply-demands/8 could not be found.'
tags:
- "Demande d'approvisionnement | Supply demand"
put:
summary: "Met à jour les informations d'une demande d'approvisionnement existante."
operationId: metJourLesInformationsDuneDemandeDapprovisionnementExistante
description: ''
parameters: []
responses: { }
tags:
- "Demande d'approvisionnement | Supply demand"
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: gtw
nullable: true
description:
type: string
description: ''
example: 'Culpa voluptatem aut rerum nulla at temporibus.'
nullable: true
responsible_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 18
nullable: true
status:
type: string
description: ''
example: pending
nullable: true
enum:
- pending
- accepted
- refused
priority:
type: string
description: ''
example: high
nullable: true
enum:
- high
- medium
- low
medications:
type: array
description: 'Le champ value doit contenir au moins 1 éléments.'
example: null
items:
type: object
nullable: true
properties:
id:
type: integer
description: 'The id of an existing record in the medications table.'
example: 5
nullable: false
unit_price:
type: integer
description: ''
example: 14
nullable: true
quantity:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 63
nullable: false
supplier_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 18
nullable: false
required:
- id
- quantity
- supplier_id
parameters:
-
in: path
name: supply_demand_id
description: 'The ID of the supply demand.'
example: 8
required: true
schema:
type: integer
/api/supply-demands/trash:
post:
summary: "Met en corbeille (suppression logique) une ou plusieurs demandes d'approvisionnement."
operationId: metEnCorbeillesuppressionLogiqueUneOuPlusieursDemandesDapprovisionnement
description: ''
parameters: []
responses: { }
tags:
- "Demande d'approvisionnement | Supply demand"
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
supply_demand_ids:
type: array
description: 'The id of an existing record in the supply_demands table.'
example:
- 17
items:
type: integer
/api/supply-demands/restore:
post:
summary: "Restaure une ou plusieurs demandes d'approvisionnement supprimées (suppression logique)."
operationId: restaureUneOuPlusieursDemandesDapprovisionnementSupprimessuppressionLogique
description: ''
parameters: []
responses: { }
tags:
- "Demande d'approvisionnement | Supply demand"
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
supply_demand_ids:
type: array
description: 'The id of an existing record in the supply_demands table.'
example:
- 2
items:
type: integer
/api/explanation-requests/all:
post:
summary: "Afficher les demandes d'explication"
operationId: afficherLesDemandesDexplication
description: ''
parameters: []
responses: { }
tags:
- "Demande d'explication / Explanation Request"
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
page_items:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 68
nullable: true
nbre_items:
type: integer
description: ''
example: 16
nullable: true
filter_value:
type: string
description: 'Le champ value ne peut contenir plus de 100 caractères.'
example: vjoledzrvikjfdlz
nullable: true
/api/explanation-requests:
post:
summary: "Creer une demande d'explication"
operationId: creerUneDemandeDexplication
description: ''
parameters: []
responses: { }
tags:
- "Demande d'explication / Explanation Request"
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: ''
example: molestiae
nullable: false
description:
type: string
description: ''
example: 'Error facilis vel at provident est omnis adipisci.'
nullable: true
idUser:
type: integer
description: 'The id of an existing record in the users table.'
example: 12
nullable: false
idResponsable:
type: integer
description: 'The id of an existing record in the users table.'
example: 13
nullable: false
image:
type: string
description: ''
example: ut
nullable: true
comments:
type: string
description: ''
example: enim
nullable: true
required:
- name
- idUser
- idResponsable
'/api/explanation-requests/{explanation_request}':
get:
summary: "Afficher une demande d'explication spécifique"
operationId: afficherUneDemandeDexplicationSpcifique
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/explanation-requests/2 could not be found.'
properties:
message:
type: string
example: 'The route api/explanation-requests/2 could not be found.'
tags:
- "Demande d'explication / Explanation Request"
put:
summary: "Mettre a jour une demande d'explication"
operationId: mettreAJourUneDemandeDexplication
description: ''
parameters: []
responses: { }
tags:
- "Demande d'explication / Explanation Request"
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: ''
example: dicta
nullable: true
description:
type: string
description: ''
example: 'Dolor qui rerum distinctio ut beatae.'
nullable: true
idUser:
type: integer
description: 'The id of an existing record in the users table.'
example: 2
nullable: true
idResponsable:
type: integer
description: 'The id of an existing record in the users table.'
example: 1
nullable: true
image:
type: string
description: ''
example: rerum
nullable: true
comments:
type: string
description: ''
example: unde
nullable: true
parameters:
-
in: path
name: explanation_request
description: ''
example: 2
required: true
schema:
type: integer
/api/explanation-requests/trash:
post:
summary: "Archiver (soft delete) les demandes d'explication."
operationId: archiversoftDeleteLesDemandesDexplication
description: ''
parameters: []
responses: { }
tags:
- "Demande d'explication / Explanation Request"
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the explanation_requests table.'
example:
- 15
items:
type: integer
required:
- ids
/api/explanation-requests/restore:
post:
summary: "Restaurer les demandes d'explication archivées."
operationId: restaurerLesDemandesDexplicationArchives
description: ''
parameters: []
responses: { }
tags:
- "Demande d'explication / Explanation Request"
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the explanation_requests table.'
example:
- 1
items:
type: integer
required:
- ids
/api/holidays/all:
post:
summary: 'Lister les congés enregistrés'
operationId: listerLesCongsEnregistrs
description: ''
parameters: []
responses: { }
tags:
- 'Demande de congé'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
user_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 14
nullable: true
user_approve_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 11
nullable: true
status:
type: string
description: ''
example: rejected
nullable: true
enum:
- pending_approval
- in_progress
- approved
- rejected
archive:
type: string
description: ''
example: only_trashed
nullable: true
enum:
- with_trashed
- only_trashed
date:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-07T16:23:58'
nullable: true
page_items:
type: integer
description: ''
example: 11
nullable: true
nbre_items:
type: integer
description: ''
example: 12
nullable: true
filter_value:
type: string
description: ''
example: reprehenderit
nullable: true
/api/holidays:
post:
summary: 'Enregistrer une demande de congé'
operationId: enregistrerUneDemandeDeCong
description: ''
parameters: []
responses: { }
tags:
- 'Demande de congé'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
type:
type: string
description: ''
example: ut
nullable: false
start_date:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-07T16:23:58'
nullable: false
end_date:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-07T16:23:58'
nullable: false
days_taken:
type: integer
description: ''
example: 9
nullable: false
reason:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: ynsjpajhhnapdnmwo
nullable: false
user_approve_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 10
nullable: false
required:
- type
- start_date
- end_date
- days_taken
- reason
- user_approve_id
'/api/holidays/{holiday_id}':
get:
summary: "Afficher les détails d'une retenue sur salaire"
operationId: afficherLesDtailsDuneRetenueSurSalaire
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/holidays/16 could not be found.'
properties:
message:
type: string
example: 'The route api/holidays/16 could not be found.'
tags:
- 'Demande de congé'
put:
summary: 'Modifier une demande de congé'
operationId: modifierUneDemandeDeCong
description: ''
parameters: []
responses: { }
tags:
- 'Demande de congé'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
type:
type: string
description: ''
example: cumque
nullable: true
start_date:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d. Le champ value doit être une date après ou égale à today.'
example: '2120-08-15'
nullable: true
end_date:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d. Le champ value doit être une date après ou égale à start_date.'
example: '2078-04-10'
nullable: true
days_taken:
type: integer
description: ''
example: 1
nullable: true
reason:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: zqzxojesb
nullable: true
status:
type: string
description: ''
example: in_progress
nullable: true
enum:
- pending_approval
- in_progress
- approved
- rejected
parameters:
-
in: path
name: holiday_id
description: 'The ID of the holiday.'
example: 16
required: true
schema:
type: integer
/api/holidays/trash:
post:
summary: 'Archiver une ou plusieurs demandes de congés'
operationId: archiverUneOuPlusieursDemandesDeCongs
description: ''
parameters: []
responses: { }
tags:
- 'Demande de congé'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
idHolidays:
type: array
description: 'The id of an existing record in the holidays table.'
example:
- 9
items:
type: integer
required:
- idHolidays
/api/holidays/restore:
post:
summary: 'Restaurer une ou plusieurs demandes de congés'
operationId: restaurerUneOuPlusieursDemandesDeCongs
description: ''
parameters: []
responses: { }
tags:
- 'Demande de congé'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
idHolidays:
type: array
description: 'The id of an existing record in the holidays table.'
example:
- 1
items:
type: integer
required:
- idHolidays
/api/permission-requests/all:
post:
summary: 'Affiche une liste paginée des demandes de permission.'
operationId: afficheUneListePagineDesDemandesDePermission
description: ''
parameters: []
responses: { }
tags:
- 'Demandes de Permissions'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
status:
type: string
description: ''
example: approved
nullable: true
enum:
- pending
- approved
- rejected
departure:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: true
return:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: true
duration:
type: integer
description: ''
example: 19
nullable: true
page_items:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 7
nullable: true
nbre_items:
type: integer
description: ''
example: 5
nullable: true
filter_value:
type: string
description: 'Le champ value ne peut contenir plus de 100 caractères.'
example: oeeycnpokelfklhdzsuepxzi
nullable: true
/api/permission-requests:
post:
summary: 'Crée une nouvelle demande de permission.'
operationId: creUneNouvelleDemandeDePermission
description: ''
parameters: []
responses: { }
tags:
- 'Demandes de Permissions'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
reason:
type: string
description: ''
example: voluptatem
nullable: false
departure:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: false
return:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d. Le champ value doit être une date après departure.'
example: '2057-04-27'
nullable: true
duration:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 57
nullable: true
status:
type: string
description: ''
example: pending
nullable: true
enum:
- pending
- approved
- rejected
user_approve_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 10
nullable: true
required:
- reason
- departure
'/api/permission-requests/{permission_request}':
get:
summary: "Affiche les détails d'une demande de permission spécifique."
operationId: afficheLesDtailsDuneDemandeDePermissionSpcifique
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/permission-requests/est could not be found.'
properties:
message:
type: string
example: 'The route api/permission-requests/est could not be found.'
tags:
- 'Demandes de Permissions'
put:
summary: 'Met à jour une demande de permission si elle est encore en attente.'
operationId: metJourUneDemandeDePermissionSiElleEstEncoreEnAttente
description: ''
parameters: []
responses: { }
tags:
- 'Demandes de Permissions'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
reason:
type: string
description: ''
example: totam
nullable: true
departure:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: true
return:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d. Le champ value doit être une date après departure.'
example: '2085-11-16'
nullable: true
duration:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 74
nullable: true
status:
type: string
description: ''
example: approved
nullable: true
enum:
- pending
- approved
- rejected
user_approve_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 19
nullable: true
parameters:
-
in: path
name: permission_request
description: ''
example: est
required: true
schema:
type: string
/api/permission-requests/trash:
post:
summary: 'Archiver (soft delete) les presences spécifiées.'
operationId: archiversoftDeleteLesPresencesSpcifies
description: ''
parameters: []
responses: { }
tags:
- 'Demandes de Permissions'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the permission_requests table.'
example:
- 7
items:
type: integer
required:
- ids
/api/permission-requests/restore:
post:
summary: 'Restaurer les permission_requests archivés.'
operationId: restaurerLesPermissionRequestsArchivs
description: ''
parameters: []
responses: { }
tags:
- 'Demandes de Permissions'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the permission_requests table.'
example:
- 7
items:
type: integer
required:
- ids
/api/departments/all:
post:
summary: 'Lister les départements'
operationId: listerLesDpartements
description: ''
parameters: []
responses: { }
tags:
- Départements
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
page_items:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 46
nullable: true
nbre_items:
type: integer
description: ''
example: 20
nullable: true
filter_value:
type: string
description: 'Le champ value ne peut contenir plus de 100 caractères.'
example: rasquhabvgjboloj
nullable: true
start_date:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-07T16:23:58'
nullable: true
end_date:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-07T16:23:58'
nullable: true
responsible_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 4
nullable: true
health_center_id:
type: integer
description: 'The id of an existing record in the health_centers table.'
example: 5
nullable: true
trashed:
type: boolean
description: ''
example: true
nullable: true
/api/departments:
post:
summary: 'Ajouter un département'
operationId: ajouterUnDpartement
description: ''
parameters: []
responses: { }
tags:
- Départements
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
responsible_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 9
nullable: true
health_center_id:
type: integer
description: 'The id of an existing record in the health_centers table.'
example: 10
nullable: false
name:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: arkvqmb
nullable: false
description:
type: string
description: ''
example: 'Et sed qui commodi vel illo.'
nullable: false
phone:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: blhaqcceleqsa
nullable: false
email:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: luettgen.nedra@example.com
nullable: true
required:
- health_center_id
- name
- description
- phone
'/api/departments/{department_id}':
get:
summary: "Afficher les infos d'un département"
operationId: afficherLesInfosDunDpartement
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/departments/1 could not be found.'
properties:
message:
type: string
example: 'The route api/departments/1 could not be found.'
tags:
- Départements
put:
summary: 'Modifier un département'
operationId: modifierUnDpartement
description: ''
parameters: []
responses: { }
tags:
- Départements
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
responsible_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 9
nullable: true
health_center_id:
type: integer
description: 'The id of an existing record in the health_centers table.'
example: 4
nullable: true
name:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: nltamaploqnzonjuujboug
nullable: true
description:
type: string
description: ''
example: 'Culpa molestiae omnis maxime sint tempore.'
nullable: true
phone:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: rkugltgm
nullable: true
email:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: bwilliamson@example.com
nullable: true
parameters:
-
in: path
name: department_id
description: 'The ID of the department.'
example: 1
required: true
schema:
type: integer
/api/departments/trash:
post:
summary: 'Archiver plusieurs medical_books'
operationId: archiverPlusieursMedicalBooks
description: ''
parameters: []
responses: { }
tags:
- Départements
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the departments table.'
example:
- 10
items:
type: integer
required:
- ids
/api/departments/restore:
post:
summary: 'Restaurer plusieurs medical_books'
operationId: restaurerPlusieursMedicalBooks
description: ''
parameters: []
responses: { }
tags:
- Départements
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the departments table.'
example:
- 15
items:
type: integer
required:
- ids
/api/rendez-vous/all:
post:
summary: 'Lister les rendez-vous'
operationId: listerLesRendezVous
description: ''
parameters: []
responses: { }
tags:
- Endpoints
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
page_items:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 17
nullable: true
nbre_items:
type: integer
description: ''
example: 11
nullable: true
filter_value:
type: string
description: 'Le champ value ne peut contenir plus de 100 caractères.'
example: shqpxiqmaxmcberrudeukmssr
nullable: true
patient_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 13
nullable: true
doctor_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 5
nullable: true
start_date:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: true
end_date:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: true
date:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: true
status:
type: string
description: ''
example: validated
nullable: true
enum:
- pending
- validated
- rejected
- done
- undone
trashed:
type: boolean
description: ''
example: false
nullable: true
/api/rendez-vous:
post:
summary: 'Ajouter un rendez-vous'
operationId: ajouterUnRendezVous
description: ''
parameters: []
responses: { }
tags:
- Endpoints
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
patient_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 19
nullable: true
doctor_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 4
nullable: false
date:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: false
hour:
type: string
description: 'Must be a valid date in the format H:i.'
example: '16:23'
nullable: false
description:
type: string
description: ''
example: 'Et iure qui quaerat libero possimus sed.'
nullable: false
required:
- doctor_id
- date
- hour
- description
'/api/rendez-vous/{rendez_vous}':
get:
summary: "Afficher les infos d'un rendez-vous"
operationId: afficherLesInfosDunRendezVous
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/rendez-vous/1 could not be found.'
properties:
message:
type: string
example: 'The route api/rendez-vous/1 could not be found.'
tags:
- Endpoints
put:
summary: 'Modifier un rendez-vous'
operationId: modifierUnRendezVous
description: ''
parameters: []
responses: { }
tags:
- Endpoints
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
patient_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 15
nullable: true
doctor_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 2
nullable: true
date:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: true
hour:
type: string
description: 'Must be a valid date in the format H:i.'
example: '16:23'
nullable: true
description:
type: string
description: ''
example: 'Sed perspiciatis consequatur vel hic corrupti.'
nullable: true
status:
type: string
description: ''
example: done
nullable: true
enum:
- pending
- validated
- rejected
- done
- undone
parameters:
-
in: path
name: rendez_vous
description: ''
example: 1
required: true
schema:
type: integer
/api/rendez-vous/trash:
post:
summary: 'Archiver plusieurs rendez_vous'
operationId: archiverPlusieursRendezVous
description: ''
parameters: []
responses: { }
tags:
- Endpoints
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the rendez_vous table.'
example:
- 4
items:
type: integer
required:
- ids
/api/rendez-vous/restore:
post:
summary: 'Restaurer plusieurs rendez_vous'
operationId: restaurerPlusieursRendezVous
description: ''
parameters: []
responses: { }
tags:
- Endpoints
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the rendez_vous table.'
example:
- 18
items:
type: integer
required:
- ids
/api/dashboardfounder:
post:
summary: ''
operationId: postApiDashboardfounder
description: ''
parameters: []
responses: { }
tags:
- Endpoints
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
health_center_id:
type: integer
description: 'The id of an existing record in the health_centers table.'
example: 7
nullable: true
/api/care-schedule-executions/all:
post:
summary: ''
operationId: postApiCareScheduleExecutionsAll
description: ''
parameters: []
responses: { }
tags:
- 'Exécutions de planning de soins'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
page_items:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 71
nullable: true
nbre_items:
type: integer
description: ''
example: 13
nullable: true
filter_value:
type: string
description: 'Le champ value ne peut contenir plus de 100 caractères.'
example: cyhavajbmyn
nullable: true
care_schedule_id:
type: integer
description: 'The id of an existing record in the care_schedules table.'
example: 7
nullable: true
nurse_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 20
nullable: true
status:
type: string
description: ''
example: done
nullable: true
enum:
- pending
- done
- late
- missed
nursing_act_id:
type: integer
description: 'The id of an existing record in the nursing_acts table.'
example: 4
nullable: true
date_from:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: true
date_to:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: true
trashed:
type: boolean
description: ''
example: false
nullable: true
/api/care-schedule-executions:
post:
summary: ''
operationId: postApiCareScheduleExecutions
description: ''
parameters: []
responses: { }
tags:
- 'Exécutions de planning de soins'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
care_schedule_id:
type: integer
description: ''
example: 9
nullable: false
nurse_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 19
nullable: false
scheduled_at:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-07T16:23:58'
nullable: false
executed_at:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-07T16:23:58'
nullable: true
status:
type: string
description: ''
example: pending
nullable: false
enum:
- pending
- done
- late
- missed
observations:
type: string
description: ''
example: autem
nullable: true
nursing_act_id:
type: integer
description: 'The id of an existing record in the nursing_acts table.'
example: 7
nullable: true
required:
- care_schedule_id
- nurse_id
- scheduled_at
- status
'/api/care-schedule-executions/{care_schedule_execution}':
get:
summary: ''
operationId: getApiCareScheduleExecutionsCare_schedule_execution
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/care-schedule-executions/11 could not be found.'
properties:
message:
type: string
example: 'The route api/care-schedule-executions/11 could not be found.'
tags:
- 'Exécutions de planning de soins'
put:
summary: ''
operationId: putApiCareScheduleExecutionsCare_schedule_execution
description: ''
parameters: []
responses: { }
tags:
- 'Exécutions de planning de soins'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
care_schedule_id:
type: integer
description: ''
example: 8
nullable: true
nurse_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 9
nullable: true
scheduled_at:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-07T16:23:58'
nullable: true
executed_at:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-07T16:23:58'
nullable: true
status:
type: string
description: ''
example: done
nullable: true
enum:
- pending
- done
- late
- missed
observations:
type: string
description: ''
example: sed
nullable: true
nursing_act_id:
type: integer
description: 'The id of an existing record in the nursing_acts table.'
example: 15
nullable: true
parameters:
-
in: path
name: care_schedule_execution
description: ''
example: 11
required: true
schema:
type: integer
/api/care-schedule-executions/trash:
post:
summary: ''
operationId: postApiCareScheduleExecutionsTrash
description: ''
parameters: []
responses: { }
tags:
- 'Exécutions de planning de soins'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the care_schedule_executions table.'
example:
- 18
items:
type: integer
/api/care-schedule-executions/restore:
post:
summary: ''
operationId: postApiCareScheduleExecutionsRestore
description: ''
parameters: []
responses: { }
tags:
- 'Exécutions de planning de soins'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the care_schedule_executions table.'
example:
- 2
items:
type: integer
/api/forum/categories/all:
post:
summary: 'Lister les categories de forum'
operationId: listerLesCategoriesDeForum
description: ''
parameters: []
responses: { }
tags:
- Forum
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
page_items:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 63
nullable: true
nbre_items:
type: integer
description: ''
example: 10
nullable: true
start_date:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: true
end_date:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: true
filter_value:
type: string
description: 'Le champ value ne peut contenir plus de 100 caractères.'
example: xcketvazpibbcvbjv
nullable: true
/api/forum/categories:
post:
summary: 'Ajouter une catégorie de forum'
operationId: ajouterUneCatgorieDeForum
description: ''
parameters: []
responses: { }
tags:
- Forum
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: miaduswomrbtomdfidn
nullable: false
description:
type: string
description: ''
example: 'Culpa laboriosam et sit necessitatibus numquam at magnam.'
nullable: true
required:
- name
'/api/forum/categories/{forum_category}':
get:
summary: "Afficher les infos d'une catégorie de forum"
operationId: afficherLesInfosDuneCatgorieDeForum
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/forum/categories/1 could not be found.'
properties:
message:
type: string
example: 'The route api/forum/categories/1 could not be found.'
tags:
- Forum
put:
summary: 'Modifier une catégorie de forum'
operationId: modifierUneCatgorieDeForum
description: ''
parameters: []
responses: { }
tags:
- Forum
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: teaotizkcnkoit
nullable: true
description:
type: string
description: ''
example: 'Quam cum ea blanditiis non ipsum adipisci vel.'
nullable: true
parameters:
-
in: path
name: forum_category
description: ''
example: 1
required: true
schema:
type: integer
/api/forum/categories/trash:
post:
summary: 'Archiver plusieurs categories de forum'
operationId: archiverPlusieursCategoriesDeForum
description: ''
parameters: []
responses: { }
tags:
- Forum
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the forum_categories table.'
example:
- 6
items:
type: integer
required:
- ids
/api/forum/categories/restore:
post:
summary: 'Restaurer plusieurs categories de forum'
operationId: restaurerPlusieursCategoriesDeForum
description: ''
parameters: []
responses: { }
tags:
- Forum
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the forum_categories table.'
example:
- 7
items:
type: integer
required:
- ids
/api/forum/questions/all:
post:
summary: 'Lister les questions de forum'
operationId: listerLesQuestionsDeForum
description: ''
parameters: []
responses: { }
tags:
- Forum
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
page_items:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 59
nullable: true
nbre_items:
type: integer
description: ''
example: 17
nullable: true
filter_value:
type: string
description: 'Le champ value ne peut contenir plus de 100 caractères.'
example: skfapvlg
nullable: true
start_date:
type: string
description: 'Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: true
end_date:
type: string
description: 'Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: true
forum_category_id:
type: integer
description: 'The id of an existing record in the forum_categories table.'
example: 13
nullable: true
user_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 1
nullable: true
/api/forum/questions:
post:
summary: 'Ajouter une question de forum'
operationId: ajouterUneQuestionDeForum
description: ''
parameters: []
responses: { }
tags:
- Forum
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
forum_category_id:
type: integer
description: 'The id of an existing record in the forum_categories table.'
example: 20
nullable: false
title:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: iktwhqza
nullable: false
body:
type: string
description: ''
example: quod
nullable: false
required:
- forum_category_id
- title
- body
'/api/forum/questions/{forum_question}':
get:
summary: "Afficher les infos d'une question de forum"
operationId: afficherLesInfosDuneQuestionDeForum
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/forum/questions/1 could not be found.'
properties:
message:
type: string
example: 'The route api/forum/questions/1 could not be found.'
tags:
- Forum
put:
summary: 'Modifier une question de forum'
operationId: modifierUneQuestionDeForum
description: ''
parameters: []
responses: { }
tags:
- Forum
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
forum_category_id:
type: integer
description: 'The id of an existing record in the forum_categories table.'
example: 5
nullable: true
title:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: t
nullable: true
body:
type: string
description: ''
example: laudantium
nullable: true
is_resolved:
type: boolean
description: ''
example: false
nullable: true
parameters:
-
in: path
name: forum_question
description: ''
example: 1
required: true
schema:
type: integer
/api/forum/questions/trash:
post:
summary: 'Archiver plusieurs questions de forum'
operationId: archiverPlusieursQuestionsDeForum
description: ''
parameters: []
responses: { }
tags:
- Forum
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the forum_questions table.'
example:
- 6
items:
type: integer
required:
- ids
/api/forum/questions/restore:
post:
summary: 'Restaurer plusieurs questions de forum'
operationId: restaurerPlusieursQuestionsDeForum
description: ''
parameters: []
responses: { }
tags:
- Forum
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the forum_questions table.'
example:
- 15
items:
type: integer
required:
- ids
/api/forum/answers/all:
post:
summary: 'Lister les réponses de forum'
operationId: listerLesRponsesDeForum
description: ''
parameters: []
responses: { }
tags:
- Forum
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
page_items:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 35
nullable: true
nbre_items:
type: integer
description: ''
example: 1
nullable: true
start_date:
type: string
description: 'Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: true
end_date:
type: string
description: 'Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: true
filter_value:
type: string
description: 'Le champ value ne peut contenir plus de 100 caractères.'
example: bfpuwfobib
nullable: true
forum_category_id:
type: integer
description: 'The id of an existing record in the forum_categories table.'
example: 17
nullable: true
forum_question_id:
type: integer
description: 'The id of an existing record in the forum_questions table.'
example: 4
nullable: true
user_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 4
nullable: true
/api/forum/answers:
post:
summary: 'Ajouter une réponse à une question de forum'
operationId: ajouterUneRponseUneQuestionDeForum
description: ''
parameters: []
responses: { }
tags:
- Forum
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
forum_question_id:
type: integer
description: 'The id of an existing record in the forum_questions table.'
example: 4
nullable: false
body:
type: string
description: ''
example: qui
nullable: false
required:
- forum_question_id
- body
'/api/forum/answers/{forum_answer}':
get:
summary: "Afficher les infos d'une réponse à une question de forum"
operationId: afficherLesInfosDuneRponseUneQuestionDeForum
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/forum/answers/1 could not be found.'
properties:
message:
type: string
example: 'The route api/forum/answers/1 could not be found.'
tags:
- Forum
put:
summary: 'Modifier une réponse à une question de forum'
operationId: modifierUneRponseUneQuestionDeForum
description: ''
parameters: []
responses: { }
tags:
- Forum
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
forum_question_id:
type: integer
description: 'The id of an existing record in the forum_questions table.'
example: 15
nullable: true
body:
type: string
description: ''
example: est
nullable: true
is_accepted:
type: boolean
description: ''
example: false
nullable: true
parameters:
-
in: path
name: forum_answer
description: ''
example: 1
required: true
schema:
type: integer
/api/forum/answers/trash:
post:
summary: 'Archiver plusieurs questions de forum'
operationId: archiverPlusieursQuestionsDeForum
description: ''
parameters: []
responses: { }
tags:
- Forum
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the forum_answers table.'
example:
- 2
items:
type: integer
required:
- ids
/api/forum/answers/restore:
post:
summary: 'Restaurer plusieurs réponses aux questions de forum'
operationId: restaurerPlusieursRponsesAuxQuestionsDeForum
description: ''
parameters: []
responses: { }
tags:
- Forum
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the forum_answers table.'
example:
- 1
items:
type: integer
required:
- ids
/api/lab-requests/all:
post:
summary: "Lister les demandes d'examens"
operationId: listerLesDemandesDexamens
description: ''
parameters: []
responses: { }
tags:
- Laboratoire
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
page_items:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 49
nullable: true
nbre_items:
type: integer
description: ''
example: 8
nullable: true
filter_value:
type: string
description: 'Le champ value ne peut contenir plus de 100 caractères.'
example: yjjepgnpwdhreqqnirspsj
nullable: true
patient_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 9
nullable: true
doctor_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 12
nullable: true
technician_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 4
nullable: true
status:
type: string
description: ''
example: requested
nullable: true
enum:
- requested
- sampled
- in_progress
- done
- validated
lab_exam_pack_id:
type: integer
description: 'The id of an existing record in the lab_exam_packs table.'
example: 9
nullable: true
date_from:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: true
date_to:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: true
trashed:
type: boolean
description: ''
example: false
nullable: true
/api/lab-requests:
post:
summary: "Créer une demande d'examen labo"
operationId: crerUneDemandeDexamenLabo
description: ''
parameters: []
responses: { }
tags:
- Laboratoire
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
patient_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 10
nullable: false
doctor_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 14
nullable: false
medical_page_id:
type: integer
description: 'The id of an existing record in the medical_pages table.'
example: 18
nullable: true
lab_exam_catalog_id:
type: integer
description: 'The id of an existing record in the lab_exam_catalogs table.'
example: 11
nullable: true
lab_exam_pack_id:
type: integer
description: 'The id of an existing record in the lab_exam_packs table.'
example: 16
nullable: true
exam_name:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: dnueefwplegzpwrgykvywqsjg
nullable: false
clinical_info:
type: string
description: ''
example: ut
nullable: true
price:
type: number
description: 'Le champ value doit être au moins 0.'
example: 39
nullable: true
requested_at:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-07T16:23:58'
nullable: false
required:
- patient_id
- doctor_id
- exam_name
- requested_at
'/api/lab-requests/{lab_request}':
get:
summary: "Afficher une demande d'examen"
operationId: afficherUneDemandeDexamen
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/lab-requests/1 could not be found.'
properties:
message:
type: string
example: 'The route api/lab-requests/1 could not be found.'
tags:
- Laboratoire
put:
summary: "Mettre à jour le statut et les résultats d'un examen"
operationId: mettreJourLeStatutEtLesRsultatsDunExamen
description: ''
parameters: []
responses: { }
tags:
- Laboratoire
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
status:
type: string
description: ''
example: in
nullable: true
technician_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 15
nullable: true
validator_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 12
nullable: true
clinical_info:
type: string
description: ''
example: est
nullable: true
sampled_at:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-07T16:23:58'
nullable: true
result_at:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-07T16:23:58'
nullable: true
validated_at:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-07T16:23:58'
nullable: true
price:
type: number
description: 'Le champ value doit être au moins 0.'
example: 72
nullable: true
results:
type: array
description: ''
example: null
items:
type: object
nullable: true
properties:
parameter_name:
type: string
description: 'This field is required when results is present.'
example: magnam
nullable: false
value:
type: string
description: ''
example: voluptatem
nullable: true
unit:
type: string
description: ''
example: qui
nullable: true
reference_range:
type: string
description: ''
example: odit
nullable: true
is_abnormal:
type: boolean
description: ''
example: true
nullable: true
notes:
type: string
description: ''
example: voluptatem
nullable: true
parameters:
-
in: path
name: lab_request
description: ''
example: 1
required: true
schema:
type: integer
/api/lab-requests/trash:
post:
summary: 'Archiver des demandes labo'
operationId: archiverDesDemandesLabo
description: ''
parameters: []
responses: { }
tags:
- Laboratoire
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the lab_requests table.'
example:
- 8
items:
type: integer
/api/lab-requests/restore:
post:
summary: 'Restaurer des demandes labo'
operationId: restaurerDesDemandesLabo
description: ''
parameters: []
responses: { }
tags:
- Laboratoire
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the lab_requests table.'
example:
- 18
items:
type: integer
/api/medications/all:
post:
summary: 'Lister les médicaments'
operationId: listerLesMdicaments
description: ''
parameters: []
responses: { }
tags:
- Médicaments
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
page_items:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 87
nullable: true
nbre_items:
type: integer
description: ''
example: 10
nullable: true
start_date:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: true
end_date:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: true
filter_value:
type: string
description: 'Le champ value ne peut contenir plus de 100 caractères.'
example: nsiaajekichn
nullable: true
name:
type: string
description: 'Le champ value ne peut contenir plus de 100 caractères.'
example: fokbkirfyzxvcdbrc
nullable: true
trashed:
type: boolean
description: ''
example: true
nullable: true
/api/medications:
post:
summary: "Ajout d'un médicament"
operationId: ajoutDunMdicament
description: ''
parameters: []
responses: { }
tags:
- Médicaments
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: hbgrdcarykuqcc
nullable: false
description:
type: string
description: ''
example: 'Ea tenetur cupiditate consequuntur eos saepe iusto.'
nullable: true
photo:
type: string
description: ''
example: perferendis
nullable: true
required:
- name
'/api/medications/{medication_id}':
get:
summary: 'Afficher un médicament'
operationId: afficherUnMdicament
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/medications/1 could not be found.'
properties:
message:
type: string
example: 'The route api/medications/1 could not be found.'
tags:
- Médicaments
put:
summary: 'Modifier un médicament'
operationId: modifierUnMdicament
description: ''
parameters: []
responses: { }
tags:
- Médicaments
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: yuib
nullable: true
description:
type: string
description: ''
example: 'Est aliquam voluptatem animi facilis eius voluptatem fugiat eius.'
nullable: true
photo:
type: string
description: ''
example: est
nullable: true
parameters:
-
in: path
name: medication_id
description: 'The ID of the medication.'
example: 1
required: true
schema:
type: integer
/api/medications/trash:
post:
summary: 'Archiver plusieurs médicaments'
operationId: archiverPlusieursMdicaments
description: ''
parameters: []
responses: { }
tags:
- Médicaments
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the medications table.'
example:
- 7
items:
type: integer
required:
- ids
/api/medications/restore:
post:
summary: 'Restaurer plusieurs médicaments'
operationId: restaurerPlusieursMdicaments
description: ''
parameters: []
responses: { }
tags:
- Médicaments
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the medications table.'
example:
- 16
items:
type: integer
required:
- ids
/api/expense-reports/all:
post:
summary: 'Afficher les notes de frais'
operationId: afficherLesNotesDeFrais
description: ''
parameters: []
responses: { }
tags:
- 'Notes de frais / Expense Reports'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
status:
type: string
description: ''
example: paid
nullable: true
enum:
- pending_approval
- approved
- rejected
- paid
date:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: true
page_items:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 79
nullable: true
nbre_items:
type: integer
description: ''
example: 6
nullable: true
filter_value:
type: string
description: 'Le champ value ne peut contenir plus de 100 caractères.'
example: mhwagttinjwdqdfdimhw
nullable: true
'/api/expense-reports/{id}':
get:
summary: 'Afficher une note de frais spécifique'
operationId: afficherUneNoteDeFraisSpcifique
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/expense-reports/a could not be found.'
properties:
message:
type: string
example: 'The route api/expense-reports/a could not be found.'
tags:
- 'Notes de frais / Expense Reports'
put:
summary: 'Mettre à jour une note de frais'
operationId: mettreJourUneNoteDeFrais
description: ''
parameters: []
responses: { }
tags:
- 'Notes de frais / Expense Reports'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
libelle:
type: string
description: ''
example: ratione
nullable: true
amount:
type: number
description: 'Le champ value doit être au moins 0.'
example: 29
nullable: true
description:
type: string
description: ''
example: 'Omnis quos ea molestiae non voluptates.'
nullable: true
date:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: true
status:
type: string
description: ''
example: paid
nullable: true
enum:
- pending_approval
- approved
- rejected
- paid
idUserApprove:
type: integer
description: 'The id of an existing record in the users table.'
example: 6
nullable: true
parameters:
-
in: path
name: id
description: 'The ID of the expense report.'
example: a
required: true
schema:
type: string
/api/expense-reports:
post:
summary: 'Créer une note de frais'
operationId: crerUneNoteDeFrais
description: ''
parameters: []
responses: { }
tags:
- 'Notes de frais / Expense Reports'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
libelle:
type: string
description: ''
example: et
nullable: false
amount:
type: number
description: 'Le champ value doit être au moins 0.'
example: 46
nullable: false
description:
type: string
description: ''
example: 'Voluptas voluptatem velit esse eveniet rerum amet.'
nullable: false
date:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: false
status:
type: string
description: ''
example: paid
nullable: true
enum:
- pending_approval
- approved
- rejected
- paid
idUserApprove:
type: integer
description: 'The id of an existing record in the users table.'
example: 4
nullable: true
required:
- libelle
- amount
- description
- date
/api/expense-reports/trash:
post:
summary: 'Archiver (soft delete) les notes de frais.'
operationId: archiversoftDeleteLesNotesDeFrais
description: ''
parameters: []
responses: { }
tags:
- 'Notes de frais / Expense Reports'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the expense_reports table.'
example:
- 15
items:
type: integer
required:
- ids
/api/expense-reports/restore:
post:
summary: 'Restaurer les notes de frais archivées.'
operationId: restaurerLesNotesDeFraisArchives
description: ''
parameters: []
responses: { }
tags:
- 'Notes de frais / Expense Reports'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the expense_reports table.'
example:
- 9
items:
type: integer
required:
- ids
/api/expense-reports/destroy:
post:
summary: 'Supprimer définitivement les notes de frais spécifiées.'
operationId: supprimerDfinitivementLesNotesDeFraisSpcifies
description: ''
parameters: []
responses: { }
tags:
- 'Notes de frais / Expense Reports'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the expense_reports table.'
example:
- 9
items:
type: integer
required:
- ids
/api/foods/all:
post:
summary: 'Lister les nourritures'
operationId: listerLesNourritures
description: ''
parameters: []
responses: { }
tags:
- Nourritures
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
page_items:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 8
nullable: true
nbre_items:
type: integer
description: ''
example: 17
nullable: true
filter_value:
type: string
description: 'Le champ value ne peut contenir plus de 100 caractères.'
example: qmvfbm
nullable: true
trashed:
type: boolean
description: ''
example: true
nullable: true
start_date:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: true
end_date:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: true
name:
type: string
description: 'Le champ value ne peut contenir plus de 100 caractères.'
example: onbdywmic
nullable: true
/api/foods:
post:
summary: 'Ajouter une nourriture'
operationId: ajouterUneNourriture
description: ''
parameters: []
responses: { }
tags:
- Nourritures
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: lzwjzhpqyccgmtrquaycdh
nullable: false
description:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: 'Laboriosam dolores debitis impedit eos tempore.'
nullable: true
potassium_mg:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: wfmunvwj
nullable: true
sodium_mg:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: nlwtaccqwpejrttrnjh
nullable: true
phosphorus_mg:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: opouvwnfbbprkqqbmolhc
nullable: true
photo:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: rhotzwmuvwcvfpfzguypdehx
nullable: true
food_alternatives:
type: array
description: ''
example: null
items:
type: object
nullable: true
properties:
alternative_id:
type: integer
description: 'The id of an existing record in the food table.'
example: 9
nullable: false
reason:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: miwatoguxsalh
nullable: true
required:
- alternative_id
required:
- name
'/api/foods/{food_id}':
get:
summary: 'Afficher une nourriture'
operationId: afficherUneNourriture
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/foods/6 could not be found.'
properties:
message:
type: string
example: 'The route api/foods/6 could not be found.'
tags:
- Nourritures
put:
summary: 'Modifier une nourriture'
operationId: modifierUneNourriture
description: ''
parameters: []
responses: { }
tags:
- Nourritures
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: m
nullable: true
description:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: 'Rerum alias inventore recusandae sunt.'
nullable: true
potassium_mg:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: ykeofpux
nullable: true
sodium_mg:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: ygncjtyqztenb
nullable: true
phosphorus_mg:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: p
nullable: true
photo:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: nho
nullable: true
food_alternatives:
type: array
description: ''
example: null
items:
type: object
nullable: true
properties:
alternative_id:
type: integer
description: 'The id of an existing record in the food table.'
example: 8
nullable: false
reason:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: mshfz
nullable: true
required:
- alternative_id
parameters:
-
in: path
name: food_id
description: 'The ID of the food.'
example: 6
required: true
schema:
type: integer
/api/foods/trash:
post:
summary: 'Archiver plusieurs nourritures'
operationId: archiverPlusieursNourritures
description: ''
parameters: []
responses: { }
tags:
- Nourritures
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the food table.'
example:
- 20
items:
type: integer
required:
- ids
/api/foods/restore:
post:
summary: 'Restaurer plusieurs nourritures'
operationId: restaurerPlusieursNourritures
description: ''
parameters: []
responses: { }
tags:
- Nourritures
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the food table.'
example:
- 14
items:
type: integer
required:
- ids
/api/lab-exam-packs/all:
post:
summary: ''
operationId: postApiLabExamPacksAll
description: ''
parameters: []
responses: { }
tags:
- "Packs d'examens de laboratoire"
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
page_items:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 85
nullable: true
nbre_items:
type: integer
description: ''
example: 1
nullable: true
filter_value:
type: string
description: 'Le champ value ne peut contenir plus de 100 caractères.'
example: kzhawrdqbgrmdnhxmpeqzm
nullable: true
is_active:
type: boolean
description: ''
example: true
nullable: true
trashed:
type: boolean
description: ''
example: true
nullable: true
/api/lab-exam-packs:
post:
summary: ''
operationId: postApiLabExamPacks
description: ''
parameters: []
responses: { }
tags:
- "Packs d'examens de laboratoire"
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: vii
nullable: false
description:
type: string
description: ''
example: 'Aliquam ex odio qui quod nulla voluptatem illo ea.'
nullable: true
price:
type: number
description: 'Le champ value doit être au moins 0.'
example: 88
nullable: false
is_active:
type: boolean
description: ''
example: true
nullable: true
exam_ids:
type: array
description: 'The id of an existing record in the lab_exam_catalogs table.'
example: null
items:
type: string
required:
- name
- price
'/api/lab-exam-packs/{labExamPack_id}':
get:
summary: ''
operationId: getApiLabExamPacksLabExamPack_id
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/lab-exam-packs/18 could not be found.'
properties:
message:
type: string
example: 'The route api/lab-exam-packs/18 could not be found.'
tags:
- "Packs d'examens de laboratoire"
put:
summary: ''
operationId: putApiLabExamPacksLabExamPack_id
description: ''
parameters: []
responses: { }
tags:
- "Packs d'examens de laboratoire"
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: xsxjc
nullable: true
description:
type: string
description: ''
example: 'Quia eum deleniti id quidem consequuntur ipsum.'
nullable: true
price:
type: number
description: 'Le champ value doit être au moins 0.'
example: 69
nullable: true
is_active:
type: boolean
description: ''
example: false
nullable: true
exam_ids:
type: array
description: 'The id of an existing record in the lab_exam_catalogs table.'
example:
- 8
items:
type: integer
delete:
summary: ''
operationId: deleteApiLabExamPacksLabExamPack_id
description: ''
parameters: []
responses: { }
tags:
- "Packs d'examens de laboratoire"
parameters:
-
in: path
name: labExamPack_id
description: 'The ID of the labExamPack.'
example: 18
required: true
schema:
type: integer
/api/lab-exam-packs/trash:
post:
summary: ''
operationId: postApiLabExamPacksTrash
description: ''
parameters: []
responses: { }
tags:
- "Packs d'examens de laboratoire"
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the lab_exam_packs table.'
example:
- 16
items:
type: integer
/api/lab-exam-packs/restore:
post:
summary: ''
operationId: postApiLabExamPacksRestore
description: ''
parameters: []
responses: { }
tags:
- "Packs d'examens de laboratoire"
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the lab_exam_packs table.'
example:
- 19
items:
type: integer
/api/medical-pages/all:
post:
summary: 'Lister les pagse de carnets médicaux'
operationId: listerLesPagseDeCarnetsMdicaux
description: ''
parameters: []
responses: { }
tags:
- 'Page Médicale'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
page_items:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 87
nullable: true
nbre_items:
type: integer
description: ''
example: 5
nullable: true
filter_value:
type: string
description: 'Le champ value ne peut contenir plus de 100 caractères.'
example: tiamzyzcgydrakakdy
nullable: true
doctor_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 11
nullable: true
medical_book_id:
type: integer
description: 'The id of an existing record in the medical_books table.'
example: 16
nullable: true
department_id:
type: integer
description: 'The id of an existing record in the departments table.'
example: 8
nullable: true
consultation_date:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: true
status:
type: string
description: ''
example: completed
nullable: true
enum:
- pending
- in_progress
- completed
- cancelled
start_date:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-07T16:23:58'
nullable: true
end_date:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-07T16:23:58'
nullable: true
trashed:
type: boolean
description: ''
example: false
nullable: true
consultation_type:
type: string
description: ''
example: follow_up
nullable: true
enum:
- first_visit
- follow_up
- emergency
disease_history:
type: string
description: ''
example: aut
nullable: true
current_treatments:
type: string
description: ''
example: soluta
nullable: true
family_history:
type: string
description: ''
example: inventore
nullable: true
blood_pressure:
type: string
description: ''
example: ipsam
nullable: true
heart_rate:
type: integer
description: ''
example: 4
nullable: true
respiratory_rate:
type: integer
description: ''
example: 15
nullable: true
temperature_c:
type: number
description: ''
example: 5.644305
nullable: true
spo2:
type: integer
description: ''
example: 16
nullable: true
blood_glucose:
type: number
description: ''
example: 14.3612
nullable: true
weight_kg:
type: number
description: ''
example: 673026.35
nullable: true
height_cm:
type: number
description: ''
example: 5586562.7224523
nullable: true
bmi:
type: number
description: ''
example: 32699175.4
nullable: true
pain_score:
type: integer
description: ''
example: 16
nullable: true
general_condition:
type: string
description: ''
example: good
nullable: true
enum:
- good
- altered
- critical
general_condition_notes:
type: string
description: ''
example: aut
nullable: true
physical_examination:
type: string
description: ''
example: minus
nullable: true
hypothesis:
type: string
description: ''
example: nobis
nullable: true
icd10_code:
type: string
description: ''
example: et
nullable: true
severity:
type: string
description: ''
example: moderate
nullable: true
enum:
- mild
- moderate
- severe
- critical
discharge_decision:
type: string
description: ''
example: referred
nullable: true
enum:
- home
- hospitalized
- referred
- deceased
next_appointment:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: true
additional_notes:
type: string
description: ''
example: est
nullable: true
/api/medical-pages:
post:
summary: 'Ajouter une page de carnet médical'
operationId: ajouterUnePageDeCarnetMdical
description: ''
parameters: []
responses: { }
tags:
- 'Page Médicale'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
medical_book_id:
type: integer
description: 'The id of an existing record in the medical_books table.'
example: 14
nullable: false
department_id:
type: integer
description: 'The id of an existing record in the departments table.'
example: 3
nullable: true
doctor_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 8
nullable: false
consultation_date:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: false
reason_for_visit:
type: string
description: ''
example: dolore
nullable: false
clinical_notes:
type: string
description: ''
example: facilis
nullable: false
diagnosis:
type: string
description: ''
example: aut
nullable: false
free_notes:
type: string
description: ''
example: corporis
nullable: true
recommendations:
type: string
description: ''
example: null
nullable: true
status:
type: string
description: ''
example: in_progress
nullable: true
enum:
- pending
- in_progress
- completed
- cancelled
consultation_type:
type: string
description: ''
example: emergency
nullable: true
enum:
- first_visit
- follow_up
- emergency
disease_history:
type: string
description: ''
example: neque
nullable: true
current_treatments:
type: string
description: ''
example: enim
nullable: true
family_history:
type: string
description: ''
example: et
nullable: true
blood_pressure:
type: string
description: ''
example: sit
nullable: true
heart_rate:
type: integer
description: ''
example: 13
nullable: true
respiratory_rate:
type: integer
description: ''
example: 10
nullable: true
temperature_c:
type: number
description: ''
example: 106255.3859543
nullable: true
spo2:
type: integer
description: ''
example: 2
nullable: true
blood_glucose:
type: number
description: ''
example: 771669.6854
nullable: true
weight_kg:
type: number
description: ''
example: 2025.89348387
nullable: true
height_cm:
type: number
description: ''
example: 37146583.10469
nullable: true
bmi:
type: number
description: ''
example: 0.610641
nullable: true
pain_score:
type: integer
description: ''
example: 4
nullable: true
general_condition:
type: string
description: ''
example: critical
nullable: true
enum:
- good
- altered
- critical
general_condition_notes:
type: string
description: ''
example: dolore
nullable: true
physical_examination:
type: string
description: ''
example: omnis
nullable: true
hypothesis:
type: string
description: ''
example: maxime
nullable: true
icd10_code:
type: string
description: ''
example: totam
nullable: true
severity:
type: string
description: ''
example: critical
nullable: true
enum:
- mild
- moderate
- severe
- critical
discharge_decision:
type: string
description: ''
example: home
nullable: true
enum:
- home
- hospitalized
- referred
- deceased
next_appointment:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: true
additionnal_notes:
type: string
description: ''
example: facere
nullable: true
required:
- medical_book_id
- doctor_id
- consultation_date
- reason_for_visit
- clinical_notes
- diagnosis
'/api/medical-pages/{medical_page}':
get:
summary: "Afficher les infos d'une page de carnet médical"
operationId: afficherLesInfosDunePageDeCarnetMdical
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/medical-pages/1 could not be found.'
properties:
message:
type: string
example: 'The route api/medical-pages/1 could not be found.'
tags:
- 'Page Médicale'
put:
summary: 'Modifier une page de carnet médical'
operationId: modifierUnePageDeCarnetMdical
description: ''
parameters: []
responses: { }
tags:
- 'Page Médicale'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
medical_book_id:
type: integer
description: 'The id of an existing record in the medical_books table.'
example: 18
nullable: true
department_id:
type: integer
description: 'The id of an existing record in the departments table.'
example: 13
nullable: true
doctor_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 2
nullable: true
consultation_date:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: true
reason_for_visit:
type: string
description: ''
example: soluta
nullable: true
clinical_notes:
type: string
description: ''
example: velit
nullable: true
diagnosis:
type: string
description: ''
example: nihil
nullable: true
free_notes:
type: string
description: ''
example: voluptatem
nullable: true
recommendations:
type: string
description: ''
example: assumenda
nullable: true
status:
type: string
description: ''
example: completed
nullable: true
enum:
- pending
- in_progress
- completed
- cancelled
consultation_type:
type: string
description: ''
example: emergency
nullable: true
enum:
- first_visit
- follow_up
- emergency
disease_history:
type: string
description: ''
example: perspiciatis
nullable: true
current_treatments:
type: string
description: ''
example: magni
nullable: true
family_history:
type: string
description: ''
example: voluptatum
nullable: true
blood_pressure:
type: string
description: 'Le champ value ne peut contenir plus de 20 caractères.'
example: tptoukkfxvhvtan
nullable: true
heart_rate:
type: integer
description: ''
example: 2
nullable: true
respiratory_rate:
type: integer
description: ''
example: 15
nullable: true
temperature_c:
type: number
description: ''
example: 3175.07869
nullable: true
spo2:
type: integer
description: ''
example: 9
nullable: true
blood_glucose:
type: number
description: ''
example: 169903688.29048
nullable: true
weight_kg:
type: number
description: ''
example: 203152.76105489
nullable: true
height_cm:
type: number
description: ''
example: 47097.415481
nullable: true
bmi:
type: number
description: ''
example: 102.176
nullable: true
pain_score:
type: integer
description: ''
example: 20
nullable: true
general_condition:
type: string
description: ''
example: critical
nullable: true
enum:
- good
- altered
- critical
general_condition_notes:
type: string
description: ''
example: aut
nullable: true
physical_examination:
type: string
description: ''
example: accusantium
nullable: true
hypothesis:
type: string
description: ''
example: porro
nullable: true
icd10_code:
type: string
description: ''
example: est
nullable: true
severity:
type: string
description: ''
example: moderate
nullable: true
enum:
- mild
- moderate
- severe
- critical
discharge_decision:
type: string
description: ''
example: referred
nullable: true
enum:
- home
- hospitalized
- referred
- deceased
next_appointment:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: true
additionnal_notes:
type: string
description: ''
example: ex
nullable: true
parameters:
-
in: path
name: medical_page
description: ''
example: 1
required: true
schema:
type: integer
/api/medical-pages/trash:
post:
summary: 'Archiver plusieurs medical_pages'
operationId: archiverPlusieursMedicalPages
description: ''
parameters: []
responses: { }
tags:
- 'Page Médicale'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the medical_pages table.'
example:
- 8
items:
type: integer
required:
- ids
/api/medical-pages/restore:
post:
summary: 'Restaurer plusieurs medical_pages'
operationId: restaurerPlusieursMedicalPages
description: ''
parameters: []
responses: { }
tags:
- 'Page Médicale'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the medical_pages table.'
example:
- 8
items:
type: integer
required:
- ids
/api/permissions/all:
post:
summary: 'Afficher la liste des permissions'
operationId: afficherLaListeDesPermissions
description: ''
parameters: []
responses: { }
tags:
- Permissions
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
page_items:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 66
nullable: true
nbre_items:
type: integer
description: ''
example: 2
nullable: true
filter_value:
type: string
description: ''
example: exercitationem
nullable: true
ressource:
type: string
description: ''
example: sequi
nullable: true
/api/permissions:
post:
summary: ''
operationId: postApiPermissions
description: ''
parameters: []
responses: { }
tags:
- Permissions
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
permissions:
type: array
description: 'Le champ value doit contenir au moins 1 éléments.'
example:
- []
items:
type: object
properties:
name:
type: string
description: ''
example: voluptas
nullable: false
description:
type: string
description: ''
example: 'Et temporibus earum quia omnis autem aperiam maiores.'
nullable: true
ressource:
type: string
description: ''
example: velit
nullable: false
code:
type: string
description: ''
example: consequatur
nullable: true
required:
- name
- ressource
required:
- permissions
'/api/permissions/{permission}':
get:
summary: 'Afficher une permission spécifique'
operationId: afficherUnePermissionSpcifique
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/permissions/et could not be found.'
properties:
message:
type: string
example: 'The route api/permissions/et could not be found.'
tags:
- Permissions
put:
summary: 'Mettre a jour une permission spécifique'
operationId: mettreAJourUnePermissionSpcifique
description: ''
parameters: []
responses: { }
tags:
- Permissions
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: ''
example: laborum
nullable: false
permissions:
type: array
description: ''
example:
- []
items:
type: object
properties:
description:
type: string
description: ''
example: 'Id dignissimos ut autem deleniti placeat officiis officiis.'
nullable: true
ressource:
type: string
description: ''
example: a
nullable: true
code:
type: string
description: ''
example: placeat
nullable: true
required:
- name
parameters:
-
in: path
name: permission
description: 'The permission.'
example: et
required: true
schema:
type: string
/api/medication-batches/all:
post:
summary: ''
operationId: postApiMedicationBatchesAll
description: ''
parameters: []
responses: { }
tags:
- 'Pharmacie — Lots & Stock'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
page_items:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 27
nullable: true
nbre_items:
type: integer
description: ''
example: 2
nullable: true
filter_value:
type: string
description: 'Le champ value ne peut contenir plus de 100 caractères.'
example: tneqxqnlwc
nullable: true
start_date:
type: string
description: 'Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: true
end_date:
type: string
description: 'Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: true
medication_id:
type: integer
description: 'The id of an existing record in the medications table.'
example: 11
nullable: true
expiry_alert:
type: boolean
description: ''
example: false
nullable: true
trashed:
type: boolean
description: ''
example: false
nullable: true
/api/medication-batches:
post:
summary: ''
operationId: postApiMedicationBatches
description: ''
parameters: []
responses: { }
tags:
- 'Pharmacie — Lots & Stock'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
medication_id:
type: integer
description: 'The id of an existing record in the medications table.'
example: 2
nullable: false
batch_number:
type: string
description: 'Le champ value ne peut contenir plus de 100 caractères.'
example: s
nullable: false
expiry_date:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: false
quantity_in:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 18
nullable: false
purchase_price:
type: number
description: 'Le champ value doit être au moins 0.'
example: 23
nullable: true
supplier:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: mvmio
nullable: true
received_date:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: false
required:
- medication_id
- batch_number
- expiry_date
- quantity_in
- received_date
'/api/medication-batches/{medication_batch}':
get:
summary: ''
operationId: getApiMedicationBatchesMedication_batch
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/medication-batches/18 could not be found.'
properties:
message:
type: string
example: 'The route api/medication-batches/18 could not be found.'
tags:
- 'Pharmacie — Lots & Stock'
put:
summary: ''
operationId: putApiMedicationBatchesMedication_batch
description: ''
parameters: []
responses: { }
tags:
- 'Pharmacie — Lots & Stock'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
batch_number:
type: string
description: 'Le champ value ne peut contenir plus de 100 caractères.'
example: loaexmbrizxmcdd
nullable: true
expiry_date:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: true
quantity_in:
type: integer
description: 'Le champ value doit être au moins 0.'
example: 12
nullable: true
purchase_price:
type: number
description: 'Le champ value doit être au moins 0.'
example: 68
nullable: true
supplier:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: c
nullable: true
received_date:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: true
expiry_alert:
type: boolean
description: ''
example: false
nullable: true
parameters:
-
in: path
name: medication_batch
description: ''
example: 18
required: true
schema:
type: integer
/api/medication-batches/trash:
post:
summary: ''
operationId: postApiMedicationBatchesTrash
description: ''
parameters: []
responses: { }
tags:
- 'Pharmacie — Lots & Stock'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the medication_batches table.'
example:
- 13
items:
type: integer
/api/medication-batches/restore:
post:
summary: ''
operationId: postApiMedicationBatchesRestore
description: ''
parameters: []
responses: { }
tags:
- 'Pharmacie — Lots & Stock'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the medication_batches table.'
example:
- 10
items:
type: integer
/api/care-schedules/all:
post:
summary: 'Lister les plannings de soins'
operationId: listerLesPlanningsDeSoins
description: ''
parameters: []
responses: { }
tags:
- 'Planification des soins'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
page_items:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 46
nullable: true
nbre_items:
type: integer
description: ''
example: 3
nullable: true
start_date:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: true
end_date:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: true
filter_value:
type: string
description: 'Le champ value ne peut contenir plus de 100 caractères.'
example: fsqpehxgqzefv
nullable: true
patient_id:
type: string
description: 'The id of an existing record in the users table.'
example: null
nullable: true
is_active:
type: boolean
description: ''
example: false
nullable: true
trashed:
type: boolean
description: ''
example: true
nullable: true
/api/care-schedules:
post:
summary: "Ajout d'un planning de soin"
operationId: ajoutDunPlanningDeSoin
description: ''
parameters: []
responses: { }
tags:
- 'Planification des soins'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
patient_id:
type: string
description: 'The id of an existing record in the users table.'
example: dolor
nullable: false
admission_id:
type: integer
description: ''
example: 18
nullable: true
medical_page_id:
type: string
description: 'The id of an existing record in the medical_pages table.'
example: eos
nullable: false
nursing_act_catalog_id:
type: string
description: 'The id of an existing record in the nursing_act_catalogs table.'
example: optio
nullable: false
medication_id:
type: string
description: 'The id of an existing record in the medications table.'
example: null
nullable: true
act_name:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: cahuqtjqljlv
nullable: false
dosage:
type: string
description: 'Le champ value ne peut contenir plus de 100 caractères.'
example: pkgsdo
nullable: true
scheduled_time:
type: string
description: 'Must be a valid date in the format H:i.'
example: '16:23'
nullable: false
frequency:
type: string
description: 'Le champ value ne peut contenir plus de 100 caractères.'
example: zpweeeqtyfztudckymzqobkp
nullable: false
start_date:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-07T16:23:58'
nullable: false
end_date:
type: string
description: 'Le champ value doit être une date valide. Le champ value doit être une date après ou égale à start_date.'
example: '2118-12-28'
nullable: true
is_active:
type: boolean
description: ''
example: true
nullable: true
notes:
type: string
description: ''
example: sed
nullable: true
required:
- patient_id
- medical_page_id
- nursing_act_catalog_id
- act_name
- scheduled_time
- frequency
- start_date
'/api/care-schedules/{care_schedule}':
get:
summary: 'Afficher un planning de soin'
operationId: afficherUnPlanningDeSoin
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/care-schedules/1 could not be found.'
properties:
message:
type: string
example: 'The route api/care-schedules/1 could not be found.'
tags:
- 'Planification des soins'
put:
summary: 'Modifier un planning de soin'
operationId: modifierUnPlanningDeSoin
description: ''
parameters: []
responses: { }
tags:
- 'Planification des soins'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
patient_id:
type: string
description: 'The id of an existing record in the users table.'
example: null
nullable: true
admission_id:
type: integer
description: ''
example: 17
nullable: true
medical_page_id:
type: string
description: 'The id of an existing record in the medical_pages table.'
example: null
nullable: true
nursing_act_catalog_id:
type: string
description: 'The id of an existing record in the nursing_act_catalogs table.'
example: null
nullable: true
medication_id:
type: string
description: 'The id of an existing record in the medications table.'
example: null
nullable: true
act_name:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: mzaqozut
nullable: true
dosage:
type: string
description: 'Le champ value ne peut contenir plus de 100 caractères.'
example: hasvjzhdesp
nullable: true
scheduled_time:
type: string
description: 'Must be a valid date in the format H:i.'
example: '16:23'
nullable: true
frequency:
type: string
description: 'Le champ value ne peut contenir plus de 100 caractères.'
example: bsdiftqicpcqowxobdff
nullable: true
start_date:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-07T16:23:58'
nullable: true
end_date:
type: string
description: 'Le champ value doit être une date valide. Le champ value doit être une date après ou égale à start_date.'
example: '2104-01-06'
nullable: true
is_active:
type: boolean
description: ''
example: false
nullable: true
notes:
type: string
description: ''
example: sit
nullable: true
parameters:
-
in: path
name: care_schedule
description: ''
example: 1
required: true
schema:
type: integer
/api/care-schedules/trash:
post:
summary: 'Archiver plusieurs plannings de soins'
operationId: archiverPlusieursPlanningsDeSoins
description: ''
parameters: []
responses: { }
tags:
- 'Planification des soins'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the care_schedules table.'
example:
- 19
items:
type: integer
required:
- ids
/api/care-schedules/restore:
post:
summary: 'Restaurer plusieurs plannings de soins'
operationId: restaurerPlusieursPlanningsDeSoins
description: ''
parameters: []
responses: { }
tags:
- 'Planification des soins'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the care_schedules table.'
example:
- 1
items:
type: integer
required:
- ids
/api/prescriptions/all:
post:
summary: 'Lister les prescriptions'
operationId: listerLesPrescriptions
description: ''
parameters: []
responses: { }
tags:
- Prescriptions
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
page_items:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 41
nullable: true
nbre_items:
type: integer
description: ''
example: 19
nullable: true
filter_value:
type: string
description: 'Le champ value ne peut contenir plus de 100 caractères.'
example: hr
nullable: true
patient_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 12
nullable: true
medical_page_id:
type: integer
description: 'The id of an existing record in the medical_pages table.'
example: 3
nullable: true
status:
type: string
description: ''
example: cancelled
nullable: true
enum:
- pending
- active
- completed
- cancelled
start_date:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-07T16:23:58'
nullable: true
end_date:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-07T16:23:58'
nullable: true
trashed:
type: boolean
description: ''
example: false
nullable: true
/api/prescriptions:
post:
summary: 'Ajouter une prescription'
operationId: ajouterUnePrescription
description: ''
parameters: []
responses: { }
tags:
- Prescriptions
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
patient_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 8
nullable: true
medical_page_id:
type: integer
description: 'The id of an existing record in the medical_pages table.'
example: 3
nullable: true
start_date:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: false
end_date:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d. Le champ value doit être une date après ou égale à start_date.'
example: '2103-08-22'
nullable: false
frequency:
type: string
description: ''
example: corrupti
nullable: true
dosage:
type: string
description: ''
example: corrupti
nullable: true
description:
type: string
description: ''
example: 'Harum qui possimus eaque est et.'
nullable: false
status:
type: string
description: ''
example: pending
nullable: true
enum:
- pending
- active
- completed
- cancelled
medications:
type: array
description: ''
example:
- []
items:
type: object
properties:
medication_id:
type: integer
description: 'The id of an existing record in the medications table.'
example: 3
nullable: false
dosage:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 4
nullable: false
frequency:
type: string
description: ''
example: animi
nullable: false
description:
type: string
description: ''
example: 'Voluptatem quod excepturi tempore quod nostrum.'
nullable: true
required:
- medication_id
- dosage
- frequency
required:
- start_date
- end_date
- description
- medications
'/api/prescriptions/{prescription_id}':
get:
summary: "Afficher les infos d'une prescription"
operationId: afficherLesInfosDunePrescription
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/prescriptions/3 could not be found.'
properties:
message:
type: string
example: 'The route api/prescriptions/3 could not be found.'
tags:
- Prescriptions
put:
summary: 'Modifier une prescription'
operationId: modifierUnePrescription
description: ''
parameters: []
responses: { }
tags:
- Prescriptions
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
patient_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 18
nullable: true
medical_page_id:
type: integer
description: 'The id of an existing record in the medical_pages table.'
example: 6
nullable: true
start_date:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: true
end_date:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d. Le champ value doit être une date après ou égale à start_date.'
example: '2059-09-03'
nullable: true
frequency:
type: string
description: ''
example: minus
nullable: true
dosage:
type: string
description: ''
example: expedita
nullable: true
description:
type: string
description: ''
example: 'Et voluptatem provident beatae quis voluptatem qui incidunt.'
nullable: true
status:
type: string
description: ''
example: cancelled
nullable: true
enum:
- pending
- active
- completed
- cancelled
medications:
type: array
description: ''
example: null
items:
type: object
nullable: true
properties:
medication_id:
type: integer
description: 'The id of an existing record in the medications table.'
example: 3
nullable: false
dosage:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 36
nullable: false
frequency:
type: string
description: ''
example: in
nullable: false
description:
type: string
description: ''
example: 'Et laborum error recusandae voluptatem voluptatem voluptatibus quo ut.'
nullable: true
required:
- medication_id
- dosage
- frequency
parameters:
-
in: path
name: prescription_id
description: 'The ID of the prescription.'
example: 3
required: true
schema:
type: integer
/api/prescriptions/trash:
post:
summary: 'Archiver plusieurs prescriptions'
operationId: archiverPlusieursPrescriptions
description: ''
parameters: []
responses: { }
tags:
- Prescriptions
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the prescriptions table.'
example:
- 18
items:
type: integer
required:
- ids
/api/prescriptions/restore:
post:
summary: 'Restaurer plusieurs prescriptions'
operationId: restaurerPlusieursPrescriptions
description: ''
parameters: []
responses: { }
tags:
- Prescriptions
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the prescriptions table.'
example:
- 6
items:
type: integer
required:
- ids
/api/medications-intakes/all:
post:
summary: 'Lister les prises de médicaments'
operationId: listerLesPrisesDeMdicaments
description: ''
parameters: []
responses: { }
tags:
- 'Prises de Médicaments'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
page_items:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 63
nullable: true
nbre_items:
type: integer
description: ''
example: 8
nullable: true
filter_value:
type: string
description: 'Le champ value ne peut contenir plus de 100 caractères.'
example: lds
nullable: true
trashed:
type: boolean
description: ''
example: false
nullable: true
prescription_id:
type: integer
description: 'The id of an existing record in the prescriptions table.'
example: 3
nullable: true
medication_id:
type: integer
description: 'The id of an existing record in the medications table.'
example: 11
nullable: true
start_date:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: true
end_date:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d. Le champ value doit être une date après ou égale à start_date.'
example: '2106-12-28'
nullable: true
/api/medications-intakes:
post:
summary: 'Ajouter une prise de médicament'
operationId: ajouterUnePriseDeMdicament
description: ''
parameters: []
responses: { }
tags:
- 'Prises de Médicaments'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
prescription_id:
type: integer
description: 'The id of an existing record in the prescriptions table.'
example: 15
nullable: false
medication_id:
type: integer
description: 'The id of an existing record in the medications table.'
example: 19
nullable: false
is_taken:
type: boolean
description: ''
example: false
nullable: true
date_time:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d H:i.'
example: '2026-05-07 16:23'
nullable: false
required:
- prescription_id
- medication_id
- date_time
'/api/medications-intakes/{medication_intake}':
get:
summary: 'Afficher une prise de médicament'
operationId: afficherUnePriseDeMdicament
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/medications-intakes/19 could not be found.'
properties:
message:
type: string
example: 'The route api/medications-intakes/19 could not be found.'
tags:
- 'Prises de Médicaments'
put:
summary: 'Modifier une prise de médicament'
operationId: modifierUnePriseDeMdicament
description: ''
parameters: []
responses: { }
tags:
- 'Prises de Médicaments'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
prescription_id:
type: integer
description: 'The id of an existing record in the prescriptions table.'
example: 5
nullable: true
medication_id:
type: integer
description: 'The id of an existing record in the medications table.'
example: 9
nullable: true
is_taken:
type: boolean
description: ''
example: false
nullable: true
date_time:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d H:i.'
example: '2026-05-07 16:23'
nullable: true
parameters:
-
in: path
name: medication_intake
description: ''
example: 19
required: true
schema:
type: integer
/api/medications-intakes/trash:
post:
summary: 'Archiver plusieurs prises de médicaments'
operationId: archiverPlusieursPrisesDeMdicaments
description: ''
parameters: []
responses: { }
tags:
- 'Prises de Médicaments'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the medication_intakes table.'
example:
- 7
items:
type: integer
required:
- ids
/api/medications-intakes/restore:
post:
summary: 'Restaurer plusieurs prises de médicaments'
operationId: restaurerPlusieursPrisesDeMdicaments
description: ''
parameters: []
responses: { }
tags:
- 'Prises de Médicaments'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the medication_intakes table.'
example:
- 11
items:
type: integer
required:
- ids
/api/recipes/all:
post:
summary: 'Lister les recettes'
operationId: listerLesRecettes
description: ''
parameters: []
responses: { }
tags:
- Recettes
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
page_items:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 8
nullable: true
nbre_items:
type: integer
description: ''
example: 12
nullable: true
start_date:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: true
end_date:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: true
filter_value:
type: string
description: 'Le champ value ne peut contenir plus de 100 caractères.'
example: jnjwrcw
nullable: true
is_low_potassium:
type: boolean
description: ''
example: true
nullable: true
is_low_sodium:
type: boolean
description: ''
example: false
nullable: true
/api/recipes:
post:
summary: 'Ajouter une recette'
operationId: ajouterUneRecette
description: ''
parameters: []
responses: { }
tags:
- Recettes
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: ''
example: optio
nullable: false
description:
type: string
description: ''
example: 'Ab excepturi temporibus qui qui iste suscipit odio.'
nullable: true
instructions:
type: string
description: ''
example: quo
nullable: true
preparation_time:
type: integer
description: ''
example: 7
nullable: true
servings:
type: integer
description: ''
example: 11
nullable: true
is_low_potassium:
type: boolean
description: ''
example: false
nullable: true
is_low_sodium:
type: boolean
description: ''
example: false
nullable: true
calories:
type: integer
description: ''
example: 19
nullable: true
sodium_mg:
type: integer
description: ''
example: 19
nullable: true
potassium_mg:
type: integer
description: ''
example: 16
nullable: true
photo:
type: string
description: ''
example: sed
nullable: true
foods:
type: array
description: ''
example:
- []
items:
type: object
properties:
food_id:
type: integer
description: 'The id of an existing record in the food table.'
example: 13
nullable: false
quantity:
type: string
description: ''
example: facere
nullable: false
description:
type: string
description: ''
example: 'Non animi voluptatem voluptas recusandae impedit harum.'
nullable: true
required:
- food_id
- quantity
required:
- name
- foods
'/api/recipes/{recipe_id}':
get:
summary: "Afficher les infos d'une recette"
operationId: afficherLesInfosDuneRecette
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/recipes/3 could not be found.'
properties:
message:
type: string
example: 'The route api/recipes/3 could not be found.'
tags:
- Recettes
put:
summary: 'Modifier une recette'
operationId: modifierUneRecette
description: ''
parameters: []
responses: { }
tags:
- Recettes
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: ''
example: possimus
nullable: true
description:
type: string
description: ''
example: 'Repudiandae voluptatem beatae odit.'
nullable: true
instructions:
type: string
description: ''
example: repellendus
nullable: true
preparation_time:
type: string
description: ''
example: corporis
nullable: true
servings:
type: string
description: ''
example: ut
nullable: true
is_low_potassium:
type: boolean
description: ''
example: false
nullable: true
is_low_sodium:
type: boolean
description: ''
example: true
nullable: true
calories:
type: string
description: ''
example: quo
nullable: true
sodium_mg:
type: string
description: ''
example: vero
nullable: true
potassium_mg:
type: string
description: ''
example: dolorum
nullable: true
photo:
type: string
description: ''
example: voluptatum
nullable: true
foods:
type: array
description: ''
example: null
items:
type: object
nullable: true
properties:
food_id:
type: integer
description: 'The id of an existing record in the food table.'
example: 17
nullable: false
quantity:
type: string
description: ''
example: aut
nullable: false
description:
type: string
description: ''
example: 'Autem ea et id blanditiis itaque sint ducimus quis.'
nullable: true
required:
- food_id
- quantity
parameters:
-
in: path
name: recipe_id
description: 'The ID of the recipe.'
example: 3
required: true
schema:
type: integer
/api/recipes/trash:
post:
summary: 'Archiver plusieurs recettes'
operationId: archiverPlusieursRecettes
description: ''
parameters: []
responses: { }
tags:
- Recettes
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the recipes table.'
example:
- 2
items:
type: integer
required:
- ids
/api/recipes/restore:
post:
summary: 'Restaurer plusieurs recettes'
operationId: restaurerPlusieursRecettes
description: ''
parameters: []
responses: { }
tags:
- Recettes
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the recipes table.'
example:
- 15
items:
type: integer
required:
- ids
/api/salary-deductions/all:
post:
summary: 'Afficher la liste filtrée des retenues sur salaire'
operationId: afficherLaListeFiltreDesRetenuesSurSalaire
description: ''
parameters: []
responses: { }
tags:
- 'Retenue sur salaire / Salary deduction'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
user_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 11
nullable: true
user_approve_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 1
nullable: true
date:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: true
status:
type: string
description: ''
example: in_progress
nullable: true
enum:
- pending_approval
- in_progress
- approved
- rejected
page_items:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 6
nullable: true
trashed:
type: boolean
description: ''
example: false
nullable: true
nbre_items:
type: integer
description: ''
example: 2
nullable: true
filter_value:
type: string
description: 'Le champ value ne peut contenir plus de 100 caractères.'
example: ivplh
nullable: true
/api/salary-deductions:
post:
summary: 'Show the form for creating a new resource.'
operationId: showTheFormForCreatingANewResource
description: ''
parameters: []
responses: { }
tags:
- 'Retenue sur salaire / Salary deduction'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
salary_deductions:
type: array
description: ''
example:
- []
items:
type: object
properties:
user_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 9
nullable: false
user_approve_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 16
nullable: true
reason:
type: string
description: ''
example: ipsum
nullable: false
amount:
type: number
description: 'Le champ value doit être au moins 0.'
example: 72
nullable: false
date:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: false
status:
type: string
description: ''
example: rejected
nullable: true
enum:
- pending_approval
- in_progress
- approved
- rejected
required:
- user_id
- reason
- amount
- date
required:
- salary_deductions
'/api/salary-deductions/{salary_deduction}':
get:
summary: 'Afficher une retenue sur salaire spécifique'
operationId: afficherUneRetenueSurSalaireSpcifique
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/salary-deductions/4 could not be found.'
properties:
message:
type: string
example: 'The route api/salary-deductions/4 could not be found.'
tags:
- 'Retenue sur salaire / Salary deduction'
put:
summary: 'Mettre à jour une retenue sur salaire spécifique'
operationId: mettreJourUneRetenueSurSalaireSpcifique
description: ''
parameters: []
responses: { }
tags:
- 'Retenue sur salaire / Salary deduction'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
user_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 12
nullable: true
user_approve_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 5
nullable: true
reason:
type: string
description: ''
example: ipsa
nullable: true
amount:
type: number
description: 'Le champ value doit être au moins 0.'
example: 57
nullable: true
date:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: true
status:
type: string
description: ''
example: pending_approval
nullable: true
enum:
- pending_approval
- in_progress
- approved
- rejected
parameters:
-
in: path
name: salary_deduction
description: ''
example: 4
required: true
schema:
type: integer
/api/salary-deductions/trash:
post:
summary: 'Archiver (soft delete) les retenues sur salaire spécifiées.'
operationId: archiversoftDeleteLesRetenuesSurSalaireSpcifies
description: ''
parameters: []
responses: { }
tags:
- 'Retenue sur salaire / Salary deduction'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the salary_deductions table.'
example:
- 7
items:
type: integer
required:
- ids
/api/salary-deductions/restore:
post:
summary: 'Restaurer les feedbacks archivés.'
operationId: restaurerLesFeedbacksArchivs
description: ''
parameters: []
responses: { }
tags:
- 'Retenue sur salaire / Salary deduction'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the salary_deductions table.'
example:
- 13
items:
type: integer
required:
- ids
/api/roles/all:
post:
summary: 'Lister les roles'
operationId: listerLesRoles
description: ''
parameters: []
responses: { }
tags:
- Rôles
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
page_items:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 37
nullable: true
nbre_items:
type: integer
description: ''
example: 4
nullable: true
filter_value:
type: string
description: ''
example: sed
nullable: true
types:
type: array
description: ''
example:
- non
items:
type: string
/api/roles:
post:
summary: 'Ajouter une liste de role'
operationId: ajouterUneListeDeRole
description: ''
parameters: []
responses: { }
tags:
- Rôles
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: ''
example: voluptatem
nullable: false
permissions:
type: array
description: 'The id of an existing record in the permissions table.'
example:
- 2
items:
type: integer
description:
type: string
description: ''
example: 'Ullam eum et qui eveniet autem qui eaque.'
nullable: true
type:
type: string
description: ''
example: consequatur
nullable: true
required:
- name
- permissions
'/api/roles/{role_id}':
get:
summary: 'Afficher un role spécifique'
operationId: afficherUnRoleSpcifique
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/roles/1 could not be found.'
properties:
message:
type: string
example: 'The route api/roles/1 could not be found.'
tags:
- Rôles
put:
summary: 'Modifier ou un role spécifique'
operationId: modifierOuUnRoleSpcifique
description: ''
parameters: []
responses: { }
tags:
- Rôles
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: ''
example: vel
nullable: true
permissions:
type: array
description: 'The id of an existing record in the permissions table.'
example:
- 8
items:
type: integer
nullable: true
description:
type: string
description: ''
example: 'Nostrum error dolorem soluta molestiae laborum a.'
nullable: true
type:
type: string
description: ''
example: voluptatem
nullable: true
parameters:
-
in: path
name: role_id
description: 'The ID of the role.'
example: 1
required: true
schema:
type: integer
/api/sanctions/all:
post:
summary: 'List sanctions'
operationId: listSanctions
description: ''
parameters: []
responses: { }
tags:
- Sanctions
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
page_items:
type: integer
description: ''
example: 9
nullable: true
nbre_items:
type: integer
description: ''
example: 1
nullable: true
filter_value:
type: string
description: ''
example: voluptatum
nullable: true
trashed:
type: boolean
description: ''
example: false
nullable: true
user_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 2
nullable: true
type:
type: string
description: ''
example: necessitatibus
nullable: true
created_by:
type: integer
description: 'The id of an existing record in the users table.'
example: 16
nullable: true
'/api/sanctions/{sanction_id}':
get:
summary: 'Show sanction'
operationId: showSanction
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/sanctions/13 could not be found.'
properties:
message:
type: string
example: 'The route api/sanctions/13 could not be found.'
tags:
- Sanctions
put:
summary: 'Update sanction'
operationId: updateSanction
description: ''
parameters: []
responses: { }
tags:
- Sanctions
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
user_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 13
nullable: true
type:
type: string
description: ''
example: repudiandae
nullable: true
reasons:
type: string
description: ''
example: sed
nullable: true
description:
type: string
description: ''
example: 'Est tenetur rem perspiciatis qui qui beatae nihil.'
nullable: true
parameters:
-
in: path
name: sanction_id
description: 'The ID of the sanction.'
example: 13
required: true
schema:
type: integer
/api/sanctions:
post:
summary: 'Create sanctions'
operationId: createSanctions
description: ''
parameters: []
responses: { }
tags:
- Sanctions
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
sanctions:
type: array
description: 'Le champ value doit contenir au moins 1 éléments.'
example:
- []
items:
type: object
properties:
user_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 4
nullable: false
type:
type: string
description: ''
example: est
nullable: false
reasons:
type: string
description: ''
example: sed
nullable: false
description:
type: string
description: ''
example: 'Aspernatur quis itaque aliquam tempore voluptatem qui occaecati non.'
nullable: false
required:
- user_id
- type
- reasons
- description
required:
- sanctions
/api/sanctions/trash:
post:
summary: Trash
operationId: trash
description: ''
parameters: []
responses: { }
tags:
- Sanctions
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the sanctions table.'
example:
- 19
items:
type: integer
/api/sanctions/restore:
post:
summary: Restore
operationId: restore
description: ''
parameters: []
responses: { }
tags:
- Sanctions
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the sanctions table.'
example:
- 10
items:
type: integer
/api/sanctions/destroy:
post:
summary: 'Destroy permanently'
operationId: destroyPermanently
description: ''
parameters: []
responses: { }
tags:
- Sanctions
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the sanctions table.'
example:
- 6
items:
type: integer
/api/nursing-acts/all:
post:
summary: ''
operationId: postApiNursingActsAll
description: ''
parameters: []
responses: { }
tags:
- 'Soins Infirmiers'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
page_items:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 61
nullable: true
nbre_items:
type: integer
description: ''
example: 15
nullable: true
filter_value:
type: string
description: 'Le champ value ne peut contenir plus de 100 caractères.'
example: ebjnsfupfwdwzjsqcb
nullable: true
patient_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 10
nullable: true
nurse_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 4
nullable: true
medical_page_id:
type: integer
description: 'The id of an existing record in the medical_pages table.'
example: 1
nullable: true
act_type:
type: string
description: ''
example: ut
nullable: true
external_prescription_ref:
type: string
description: ''
example: facilis
nullable: true
nursing_act_origin:
type: string
description: ''
example: dolor
nullable: true
date_from:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: true
date_to:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: true
trashed:
type: boolean
description: ''
example: true
nullable: true
/api/nursing-acts:
post:
summary: ''
operationId: postApiNursingActs
description: ''
parameters: []
responses: { }
tags:
- 'Soins Infirmiers'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
patient_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 5
nullable: false
nurse_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 6
nullable: false
medical_page_id:
type: integer
description: 'The id of an existing record in the medical_pages table.'
example: 15
nullable: true
nursing_act_catalog_id:
type: integer
description: 'The id of an existing record in the nursing_act_catalogs table.'
example: 14
nullable: true
patient_check_up_id:
type: integer
description: 'The id of an existing record in the patient_check_ups table.'
example: 16
nullable: true
act_name:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: bekdyxqdyxcuhshdpsflkschb
nullable: false
act_type:
type: string
description: ''
example: magni
nullable: false
reason:
type: string
description: ''
example: voluptas
nullable: true
acts_performed:
type: string
description: ''
example: repudiandae
nullable: true
patient_evolution:
type: string
description: ''
example: et
nullable: true
observations:
type: string
description: ''
example: molestias
nullable: true
incidents:
type: string
description: ''
example: voluptatem
nullable: true
external_prescription_ref:
type: string
description: ''
example: laborum
nullable: true
nursing_act_origin:
type: string
description: ''
example: consequuntur
nullable: true
price:
type: number
description: 'Le champ value doit être au moins 0.'
example: 46
nullable: true
date:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-07T16:23:58'
nullable: true
hour:
type: string
description: 'Must be a valid date in the format H:i.'
example: '16:23'
nullable: true
required:
- patient_id
- nurse_id
- act_name
- act_type
'/api/nursing-acts/{nursing_act}':
get:
summary: ''
operationId: getApiNursingActsNursing_act
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/nursing-acts/1 could not be found.'
properties:
message:
type: string
example: 'The route api/nursing-acts/1 could not be found.'
tags:
- 'Soins Infirmiers'
put:
summary: ''
operationId: putApiNursingActsNursing_act
description: ''
parameters: []
responses: { }
tags:
- 'Soins Infirmiers'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
patient_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 19
nullable: true
nurse_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 3
nullable: true
medical_page_id:
type: integer
description: 'The id of an existing record in the medical_pages table.'
example: 19
nullable: true
nursing_act_catalog_id:
type: integer
description: 'The id of an existing record in the nursing_act_catalogs table.'
example: 10
nullable: true
patient_check_up_id:
type: integer
description: 'The id of an existing record in the patient_check_ups table.'
example: 18
nullable: true
act_name:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: hklyldseegsdzudeqviuprhie
nullable: true
act_type:
type: string
description: ''
example: in
nullable: true
reason:
type: string
description: ''
example: molestias
nullable: true
acts_performed:
type: string
description: ''
example: earum
nullable: true
patient_evolution:
type: string
description: ''
example: ut
nullable: true
observations:
type: string
description: ''
example: impedit
nullable: true
incidents:
type: string
description: ''
example: at
nullable: true
external_prescription_ref:
type: string
description: ''
example: numquam
nullable: true
nursing_act_origin:
type: string
description: ''
example: quas
nullable: true
price:
type: number
description: 'Le champ value doit être au moins 0.'
example: 78
nullable: true
date:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-07T16:23:58'
nullable: true
hour:
type: string
description: 'Must be a valid date in the format H:i.'
example: '16:23'
nullable: true
parameters:
-
in: path
name: nursing_act
description: ''
example: 1
required: true
schema:
type: integer
/api/nursing-acts/trash:
post:
summary: ''
operationId: postApiNursingActsTrash
description: ''
parameters: []
responses: { }
tags:
- 'Soins Infirmiers'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the nursing_acts table.'
example:
- 19
items:
type: integer
/api/nursing-acts/restore:
post:
summary: ''
operationId: postApiNursingActsRestore
description: ''
parameters: []
responses: { }
tags:
- 'Soins Infirmiers'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the nursing_acts table.'
example:
- 13
items:
type: integer
/api/dialysis-sessions/all:
post:
summary: 'Lister les séances de dialyse'
operationId: listerLesSancesDeDialyse
description: ''
parameters: []
responses: { }
tags:
- 'Séances de dialyse'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
page_items:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 76
nullable: true
nbre_items:
type: integer
description: ''
example: 15
nullable: true
filter_value:
type: string
description: 'Le champ value ne peut contenir plus de 100 caractères.'
example: rhsawippvoxvmgnwz
nullable: true
trashed:
type: boolean
description: ''
example: false
nullable: true
patient_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 10
nullable: true
doctor_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 6
nullable: true
start_date:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: true
end_date:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d. Le champ value doit être une date après ou égale à start_date.'
example: '2080-07-25'
nullable: true
/api/dialysis-sessions:
post:
summary: 'Ajouter une séance de dialyse'
operationId: ajouterUneSanceDeDialyse
description: ''
parameters: []
responses: { }
tags:
- 'Séances de dialyse'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
patient_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 3
nullable: false
doctor_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 2
nullable: false
session_start:
type: string
description: ''
example: repellendus
nullable: false
session_end:
type: string
description: ''
example: eligendi
nullable: true
weight_before:
type: string
description: ''
example: enim
nullable: true
weight_after:
type: string
description: ''
example: et
nullable: true
fluid_removed:
type: string
description: ''
example: molestiae
nullable: true
blood_pressure_post:
type: string
description: ''
example: eum
nullable: true
side_effects:
type: string
description: ''
example: voluptas
nullable: true
description:
type: string
description: ''
example: 'Repellat est voluptatem assumenda aliquid.'
nullable: true
observation:
type: string
description: ''
example: similique
nullable: true
status:
type: string
description: ''
example: pending
nullable: true
enum:
- pending
- done
- cancelled
required:
- patient_id
- doctor_id
- session_start
'/api/dialysis-sessions/{dialysis_session}':
get:
summary: 'Afficher une séance de dialyse'
operationId: afficherUneSanceDeDialyse
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/dialysis-sessions/9 could not be found.'
properties:
message:
type: string
example: 'The route api/dialysis-sessions/9 could not be found.'
tags:
- 'Séances de dialyse'
put:
summary: 'Modifier une séance de dialyse'
operationId: modifierUneSanceDeDialyse
description: ''
parameters: []
responses: { }
tags:
- 'Séances de dialyse'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
patient_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 17
nullable: true
doctor_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 6
nullable: true
session_start:
type: string
description: ''
example: eaque
nullable: true
session_end:
type: string
description: ''
example: modi
nullable: true
weight_before:
type: string
description: ''
example: null
nullable: true
weight_after:
type: string
description: ''
example: null
nullable: true
fluid_removed:
type: string
description: ''
example: null
nullable: true
blood_pressure_post:
type: string
description: ''
example: velit
nullable: true
side_effects:
type: string
description: ''
example: rem
nullable: true
status:
type: string
description: ''
example: cancelled
nullable: true
enum:
- pending
- done
- cancelled
parameters:
-
in: path
name: dialysis_session
description: ''
example: 9
required: true
schema:
type: integer
/api/dialysis-sessions/trash:
post:
summary: 'Archiver plusieurs séances de dialyse'
operationId: archiverPlusieursSancesDeDialyse
description: ''
parameters: []
responses: { }
tags:
- 'Séances de dialyse'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the dialysis_sessions table.'
example:
- 10
items:
type: integer
required:
- ids
/api/dialysis-sessions/restore:
post:
summary: 'Restaurer plusieurs séances de dialyse'
operationId: restaurerPlusieursSancesDeDialyse
description: ''
parameters: []
responses: { }
tags:
- 'Séances de dialyse'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the dialysis_sessions table.'
example:
- 10
items:
type: integer
required:
- ids
/api/upload-photo:
post:
summary: "Upload d'un fichier"
operationId: uploadDunFichier
description: ''
parameters: []
responses: { }
tags:
- 'Upload de fichier'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
photo:
type: string
description: 'Le champ value ne peut contenir plus de 5120 caractères.'
example: thjpqdmb
nullable: false
required:
- photo
/api/users/all:
post:
summary: 'Fonction qui permet de recuperer la liste des utilisateurs'
operationId: fonctionQuiPermetDeRecupererLaListeDesUtilisateurs
description: ''
parameters: []
responses: { }
tags:
- Utilisateurs
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
role_id:
type: integer
description: 'The id of an existing record in the roles table.'
example: 5
nullable: true
page_items:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 28
nullable: true
nbre_items:
type: integer
description: ''
example: 13
nullable: true
filter_value:
type: string
description: ''
example: aut
nullable: true
in_order_name:
type: boolean
description: ''
example: false
nullable: true
start_date:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: true
end_date:
type: string
description: 'Le champ value doit être une date valide. Must be a valid date in the format Y-m-d.'
example: '2026-05-07'
nullable: true
health_center_id:
type: integer
description: ''
example: 5
nullable: true
department_id:
type: integer
description: ''
example: 12
nullable: true
coverage_type:
type: string
description: ''
example: partial
nullable: true
enum:
- obligatory
- complementary
- partial
- none
marital_status:
type: string
description: ''
example: single
nullable: true
enum:
- single
- married
- widowed
- divorced
is_patient:
type: boolean
description: ''
example: true
nullable: true
insurance_name:
type: string
description: ''
example: doloribus
nullable: true
company_name:
type: string
description: ''
example: sit
nullable: true
role_types:
type: array
description: ''
example:
- odio
items:
type: string
/api/users:
post:
summary: "Fonction qui permet d'ajouter un utilisateur sans passer par la verification"
operationId: fonctionQuiPermetDajouterUnUtilisateurSansPasserParLaVerification
description: ''
parameters: []
responses: { }
tags:
- Utilisateurs
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
username:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: gcdqlmpdbbak
nullable: true
firstname:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: ljzsin
nullable: false
lastname:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: jcgggduzsujskgl
nullable: true
gender:
type: string
description: ''
example: female
nullable: false
enum:
- male
- female
birthday:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-07T16:23:58'
nullable: true
birth_place:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: ojssetdy
nullable: true
marital_status:
type: string
description: ''
example: single
nullable: true
enum:
- single
- married
- widowed
- divorced
nationality:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: woxexreslkvaij
nullable: true
nui:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: ymyhrfzxazklud
nullable: true
niss:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: yzrwxjinipvsasbckmdfllse
nullable: true
email:
type: string
description: 'Le champ value doit être une address e-mail valide. Le champ value ne peut contenir plus de 255 caractères.'
example: qgutkowski@example.com
nullable: true
phone:
type: string
description: 'Le champ value ne peut contenir plus de 20 caractères.'
example: g
nullable: true
phone2:
type: string
description: 'Le champ value ne peut contenir plus de 20 caractères.'
example: kzlzpykhr
nullable: true
city:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: byk
nullable: true
address:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: pgepmtlsvayal
nullable: true
country:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: mlthgjdqjbpfwaqitxawlsq
nullable: true
password:
type: string
description: 'Le champ value doit contenir au moins 6 caractères.'
example: DAHFFid of an existing record in the roles table.'
example: 3
nullable: false
health_center_id:
type: integer
description: ''
example: 9
nullable: true
department_id:
type: integer
description: ''
example: 7
nullable: true
mutuality_number:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: ry
nullable: true
coverage_type:
type: string
description: ''
example: obligatory
nullable: true
enum:
- obligatory
- complementary
- partial
- none
guardian_name:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: fgcptfzdrkyu
nullable: true
guardian_contact:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: rqbxnmstvrz
nullable: true
guardian_relation:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: vkhkximufjjj
nullable: true
insurance_name:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: olndbqbyggahsfkdumac
nullable: true
insurance_number:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: pljckhoarbzfi
nullable: true
company_name:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: pucuiquujnyhcjpu
nullable: true
is_patient:
type: boolean
description: ''
example: true
nullable: true
reference:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: wdomyzxuhxkcyratslotw
nullable: true
cni:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: dvpxpojlnbdzwohsbqtyeo
nullable: true
required:
- firstname
- gender
- password
- role_id
'/api/users/{user_id}':
get:
summary: "Cette route permet d'afficher les informations d'un utilisateur"
operationId: cetteRoutePermetDafficherLesInformationsDunUtilisateur
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/users/1 could not be found.'
properties:
message:
type: string
example: 'The route api/users/1 could not be found.'
tags:
- Utilisateurs
parameters:
-
in: path
name: user_id
description: 'The ID of the user.'
example: 1
required: true
schema:
type: integer
'/api/users/update-password/{user}':
put:
summary: 'Changer un mot de passe'
operationId: changerUnMotDePasse
description: ''
parameters: []
responses: { }
tags:
- Utilisateurs
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
password:
type: string
description: 'Le champ value doit contenir au moins 6 caractères.'
example: HXXEk6
nullable: false
required:
- password
parameters:
-
in: path
name: user
description: 'Optional parameter.'
required: true
schema:
type: integer
examples:
omitted:
summary: 'When the value is omitted'
value: ''
present:
summary: 'When the value is present'
value: 1
'/api/users/{user}':
put:
summary: "Fonction permettant de mettre à jour les informations d'un utilisateur"
operationId: fonctionPermettantDeMettreJourLesInformationsDunUtilisateur
description: ''
parameters: []
responses: { }
tags:
- Utilisateurs
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
firstname:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: drdsnkgeekhymrovuxyobit
nullable: true
lastname:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: inyghnyucocgfwcwqprdt
nullable: true
gender:
type: string
description: ''
example: male
nullable: true
enum:
- male
- female
birthday:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-07T16:23:58'
nullable: true
birth_place:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: rkufjjxlscbgxgrftlizatz
nullable: true
marital_status:
type: string
description: ''
example: widowed
nullable: true
enum:
- single
- married
- widowed
- divorced
nationality:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: unskptjtdltwqiqh
nullable: true
nui:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: fwhgkcmpjkhyp
nullable: true
niss:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: ftogojfkolgkx
nullable: true
connexion_type:
type: string
description: ''
example: phone
nullable: true
enum:
- email
- phone
email:
type: string
description: 'Le champ value doit être une address e-mail valide. Le champ value ne peut contenir plus de 255 caractères.'
example: rhiannon02@example.org
nullable: true
phone:
type: string
description: 'Le champ value ne peut contenir plus de 20 caractères.'
example: xyyanegbtdlwesmcpe
nullable: true
phone2:
type: string
description: 'Le champ value ne peut contenir plus de 20 caractères.'
example: hcaxdzpiigbx
nullable: true
city:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: wl
nullable: true
address:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: hknfznpm
nullable: true
country:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: kjhonvoqeait
nullable: true
password:
type: string
description: 'Le champ value doit contenir au moins 6 caractères.'
example: 'Xc&>XH=QUzCTk6-'
nullable: true
photo:
type: string
description: ''
example: ut
nullable: true
specialty:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: vetbbhhqlavggshuj
nullable: true
license_number:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: etskimjgrqzavsjxkwxcvik
nullable: true
years_of_experience:
type: integer
description: 'Le champ value doit être au moins 0.'
example: 6
nullable: true
work_schedule:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: ujtcbcgwgexeibifncfdnxkq
nullable: true
role_id:
type: integer
description: 'The id of an existing record in the roles table.'
example: 12
nullable: true
health_center_id:
type: integer
description: ''
example: 8
nullable: true
department_id:
type: integer
description: ''
example: 1
nullable: true
mutuality_number:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: nitjwegsjxsed
nullable: true
coverage_type:
type: string
description: ''
example: partial
nullable: true
enum:
- obligatory
- complementary
- partial
- none
guardian_name:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: ezgseqhgppqvg
nullable: true
guardian_contact:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: qhfi
nullable: true
guardian_relation:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: dbggalmjafgjxlj
nullable: true
insurance_name:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: mcmpwtzjsilkbiyksctwujyo
nullable: true
insurance_number:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: apuepxp
nullable: true
company_name:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: bmelkjsyqkaxwqcixqszfqqr
nullable: true
is_patient:
type: boolean
description: ''
example: true
nullable: true
reference:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: s
nullable: true
parameters:
-
in: path
name: user
description: 'Optional parameter.'
required: true
schema:
type: integer
examples:
omitted:
summary: 'When the value is omitted'
value: ''
present:
summary: 'When the value is present'
value: 1
/api/users/trash:
post:
summary: 'Fonction pour le multiple archivage des utilisateurs'
operationId: fonctionPourLeMultipleArchivageDesUtilisateurs
description: ''
parameters: []
responses: { }
tags:
- Utilisateurs
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
user_ids:
type: array
description: ''
example:
- 8
items:
type: integer
/api/users/restore:
post:
summary: "Fonction de restauration multiples d'utilisateurs"
operationId: fonctionDeRestaurationMultiplesDutilisateurs
description: ''
parameters: []
responses: { }
tags:
- Utilisateurs
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
user_ids:
type: array
description: ''
example:
- 20
items:
type: integer
/api/users/destroy:
post:
summary: "Fonction de suppression définitive multiple d'utilisateurs"
operationId: fonctionDeSuppressionDfinitiveMultipleDutilisateurs
description: ''
parameters: []
responses: { }
tags:
- Utilisateurs
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
user_ids:
type: array
description: ''
example:
- 5
items:
type: integer
tags:
-
name: Admissions
description: "\nGestion des hospitalisations des patients"
-
name: Authentification
description: "\nGestion de l'authentification des utilisateurs"
-
name: 'Avance sur salaire / Salary advance'
description: "\nGestion des avances sur salaire"
-
name: Avertissements
description: 'Gestion des avertissements'
-
name: "Bons d'achats"
description: "\nGestion des bons d'achat"
-
name: 'Caisse / Facturation'
description: "\nGestion des factures et paiements MS-Care"
-
name: 'Carnet Médical'
description: "\nGestion des carnets médicaux"
-
name: 'Catalogue Actes Infirmiers'
description: ''
-
name: 'Catalogue Examens Laboratoire'
description: ''
-
name: 'Centres de santé'
description: "\nGestion des centres de santé"
-
name: Chat
description: ''
-
name: 'Checkups patients'
description: "\nGestion des checkups patients"
-
name: 'Clôture de Caisse'
description: "\nGestion des clôtures journalières de caisse MS-Care"
-
name: Contrats
description: "\n Gestion des contrats employés"
-
name: "Demande d'approvisionnement | Supply demand"
description: "Contrôleur chargé de la gestion des demandes d'approvisionnement."
-
name: "Demande d'explication / Explanation Request"
description: "\nGestion des demandes d'explication"
-
name: 'Demande de congé'
description: 'Gestion des demandes de congé employé'
-
name: 'Demandes de Permissions'
description: "\nContrôleur pour la gestion des demandes de permission des utilisateurs"
-
name: Départements
description: "\nGestion des départements"
-
name: Endpoints
description: ''
-
name: 'Exécutions de planning de soins'
description: "\nGestion des exécutions de planning de soins"
-
name: Forum
description: ''
-
name: Laboratoire
description: "\nGestion des demandes et résultats d'examens laboratoire"
-
name: Médicaments
description: "\nGestion des médicaments"
-
name: 'Notes de frais / Expense Reports'
description: "\nGestion des notes de frais"
-
name: Nourritures
description: "\nGestion des nourritures"
-
name: "Packs d'examens de laboratoire"
description: "\nGestion des packs d'examens de laboratoire"
-
name: 'Page Médicale'
description: "\nGestion de pages d'un carnet médical"
-
name: Permissions
description: "\nGestion des permissions"
-
name: 'Pharmacie — Lots & Stock'
description: ''
-
name: 'Planification des soins'
description: "\nGestion des plannings de soins infirmiers"
-
name: Prescriptions
description: "\nGestion des prescriptions"
-
name: 'Prises de Médicaments'
description: "\nGestion des prises de médicaments"
-
name: Recettes
description: "\nGestion des recettes"
-
name: 'Retenue sur salaire / Salary deduction'
description: "\nGestion des retenus sur salaire"
-
name: Rôles
description: "\nGestion des rôles"
-
name: Sanctions
description: "\nGestion des sanctions utilisateurs"
-
name: 'Soins Infirmiers'
description: "\nGestion des actes infirmiers MS-Care"
-
name: 'Séances de dialyse'
description: "\nGestion des séances de dialyse"
-
name: 'Upload de fichier'
description: "\nGestion des uploads de fichiers"
-
name: Utilisateurs
description: "\nGestion des utilisateurs"
components:
securitySchemes:
default:
type: http
scheme: bearer
description: 'You can retrieve your token by visiting your dashboard and clicking Generate API token.'
security:
-
default: []