openapi: 3.0.3
info:
title: MS-HC
description: ''
version: 1.0.0
servers:
-
url: 'https://dev.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: sed
required: false
schema:
type: string
description: 'Recherche globale.'
example: sed
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: 18
nullable: true
doctor_id:
type: integer
description: ''
example: 7
nullable: true
medical_page_id:
type: integer
description: ''
example: 19
nullable: true
idbed:
type: integer
description: ''
example: 8
nullable: true
status:
type: string
description: ''
example: transferred
nullable: true
enum:
- active
- discharged
- transferred
room_number:
type: string
description: ''
example: sunt
nullable: true
diagnosis_summary:
type: string
description: ''
example: dolorem
nullable: true
treatment_plan:
type: string
description: ''
example: architecto
nullable: true
allergies:
type: string
description: ''
example: eius
nullable: true
emergency_contact:
type: string
description: ''
example: ipsam
nullable: true
start_date:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-18T11:12:13'
nullable: true
end_date:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-18T11:12:13'
nullable: true
filter_value:
type: string
description: ''
example: commodi
nullable: true
trashed:
type: boolean
description: ''
example: false
nullable: true
page_items:
type: integer
description: ''
example: 9
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: 9
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
idbed:
type: integer
description: 'The id of an existing record in the beds table.'
example: 18
nullable: true
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
notes:
type: string
description: 'Notes complémentaires.'
example: sint
nullable: true
room_number:
type: string
description: 'Numéro de chambre.'
example: A12
nullable: true
status:
type: string
description: 'Statut (active, discharged, transferred).'
example: active
nullable: true
diagnosis_summary:
type: string
description: ''
example: consequuntur
nullable: true
treatment_plan:
type: string
description: ''
example: dolor
nullable: true
allergies:
type: string
description: ''
example: ratione
nullable: true
emergency_contact:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: wpvmhdflehdnoybtjbe
nullable: true
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: 12
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: 19
nullable: true
room_number:
type: string
description: 'Le champ value ne peut contenir plus de 50 caractères.'
example: uhaqa
nullable: true
idbed:
type: integer
description: 'The id of an existing record in the beds table.'
example: 1
nullable: true
admitted_at:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-18T11:12:13'
nullable: true
discharged_at:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-18T11:12:13'
nullable: true
status:
type: string
description: ''
example: discharged
nullable: true
enum:
- active
- discharged
- transferred
notes:
type: string
description: ''
example: aut
nullable: true
diagnosis_summary:
type: string
description: ''
example: facere
nullable: true
treatment_plan:
type: string
description: ''
example: sed
nullable: true
allergies:
type: string
description: ''
example: sit
nullable: true
emergency_contact:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: fdrh
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:
- 18
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:
- 1
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: ipsam
nullable: false
password:
type: string
description: ''
example: 'SwB.Uh:x.hxxh&"8,'
nullable: false
device_key:
type: string
description: ''
example: qui
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: 11
nullable: true
nbre_items:
type: integer
description: ''
example: 11
nullable: true
filter_value:
type: string
description: ''
example: rerum
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: 9
nullable: true
user_approve_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 4
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-18'
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: 5
nullable: false
amount:
type: string
description: ''
example: provident
nullable: false
reason:
type: string
description: ''
example: incidunt
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/porro could not be found.'
properties:
message:
type: string
example: 'The route api/salaries-advances/porro 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: 5
nullable: true
amount:
type: string
description: ''
example: null
nullable: true
status:
type: string
description: ''
example: pending_approval
nullable: true
enum:
- pending_approval
- in_progress
- approved
- rejected
reason:
type: string
description: ''
example: qui
nullable: true
comments:
type: string
description: ''
example: ea
nullable: true
parameters:
-
in: path
name: salary_advance_id
description: 'The ID of the salary advance.'
example: porro
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:
- 1
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:
- 20
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: 45
nullable: true
nbre_items:
type: integer
description: ''
example: 10
nullable: true
user_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 10
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-18'
nullable: true
filter_value:
type: string
description: 'Le champ value ne peut contenir plus de 100 caractères.'
example: ymkqjdgfzjmuxkpanovt
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: 8
nullable: false
reason:
type: string
description: ''
example: veniam
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-18'
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/8 could not be found.'
properties:
message:
type: string
example: 'The route api/warnings/8 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-18'
nullable: true
page_items:
type: integer
description: ''
example: 17
nullable: true
nbre_items:
type: integer
description: ''
example: 15
nullable: true
filter_value:
type: string
description: ''
example: et
nullable: true
parameters:
-
in: path
name: warning_id
description: 'The ID of the warning.'
example: 8
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:
- 9
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:
- 5
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:
- 5
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: 51
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: nlbpmssqacagvfv
nullable: true
status:
type: string
description: ''
example: approved
nullable: true
enum:
- requesting_price
- pending_approval
- approved
- purchase_order
- paid
- delivered
- cancelled
priority:
type: string
description: ''
example: low
nullable: true
enum:
- low
- medium
- high
- urgent
supplier_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 15
nullable: true
responsible_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 19
nullable: true
medication_ids:
type: array
description: 'The id of an existing record in the medications table.'
example:
- 8
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: 7
nullable: false
responsible_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 11
nullable: false
description:
type: string
description: ''
example: 'Molestias quas in amet amet voluptas.'
nullable: true
status:
type: string
description: ''
example: cancelled
nullable: true
enum:
- requesting_price
- pending_approval
- approved
- purchase_order
- paid
- delivered
- cancelled
priority:
type: string
description: ''
example: high
nullable: false
enum:
- low
- medium
- high
- urgent
quotation_file:
type: string
description: ''
example: velit
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: 12
nullable: false
unit_price:
type: number
description: 'Le champ value doit être au moins 0.'
example: 47
nullable: false
quantity:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 34
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/1 could not be found.'
properties:
message:
type: string
example: 'The route api/purchase-orders/1 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: 6
nullable: true
responsible_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 7
nullable: true
description:
type: string
description: ''
example: 'Possimus nostrum numquam voluptas totam.'
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: true
enum:
- low
- medium
- high
- urgent
quotation_file:
type: string
description: ''
example: et
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: 20
nullable: false
unit_price:
type: number
description: 'Le champ value doit être au moins 0.'
example: 30
nullable: false
quantity:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 42
nullable: false
required:
- id
- unit_price
- quantity
parameters:
-
in: path
name: purchase_voucher
description: ''
example: 1
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:
- 6
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: 4
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: bpjtysa
nullable: true
patient_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 14
nullable: true
cashier_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 7
nullable: true
status:
type: string
description: ''
example: expedita
nullable: true
payment_mode:
type: string
description: ''
example: aliquid
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-18'
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-18'
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: 8
nullable: false
medical_page_id:
type: integer
description: 'The id of an existing record in the medical_pages table.'
example: 18
nullable: true
discount:
type: number
description: 'Le champ value doit être au moins 0.'
example: 79
nullable: true
payment_mode:
type: string
description: ''
example: inventore
nullable: true
notes:
type: string
description: ''
example: autem
nullable: true
mm_operator:
type: string
description: ''
example: iusto
nullable: true
mm_payer_number:
type: string
description: ''
example: et
nullable: true
mm_transaction_ref:
type: string
description: ''
example: necessitatibus
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-18'
nullable: true
insurance_name:
type: string
description: ''
example: voluptatem
nullable: true
insurance_ref:
type: string
description: ''
example: aut
nullable: true
insurance_amount:
type: number
description: 'Le champ value doit être au moins 0.'
example: 82
nullable: true
patient_amount:
type: number
description: 'Le champ value doit être au moins 0.'
example: 47
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: distinctio
nullable: false
label:
type: string
description: ''
example: quasi
nullable: false
quantity:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 57
nullable: false
unit_price:
type: number
description: 'Le champ value doit être au moins 0.'
example: 6
nullable: false
lab_request_id:
type: integer
description: 'The id of an existing record in the lab_requests table.'
example: 2
nullable: true
nursing_act_id:
type: integer
description: 'The id of an existing record in the nursing_acts table.'
example: 15
nullable: true
medication_id:
type: integer
description: 'The id of an existing record in the medications table.'
example: 10
nullable: true
prescription_id:
type: integer
description: 'The id of an existing record in the prescriptions table.'
example: 6
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/7 could not be found.'
properties:
message:
type: string
example: 'The route api/invoices/7 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: 33
nullable: true
payment_mode:
type: string
description: ''
example: dicta
nullable: true
discount:
type: number
description: 'Le champ value doit être au moins 0.'
example: 37
nullable: true
notes:
type: string
description: ''
example: veritatis
nullable: true
mm_operator:
type: string
description: ''
example: ipsa
nullable: true
mm_payer_number:
type: string
description: ''
example: praesentium
nullable: true
mm_transaction_ref:
type: string
description: ''
example: laborum
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-18'
nullable: true
insurance_name:
type: string
description: ''
example: omnis
nullable: true
insurance_ref:
type: string
description: ''
example: expedita
nullable: true
insurance_amount:
type: number
description: 'Le champ value doit être au moins 0.'
example: 90
nullable: true
patient_amount:
type: number
description: 'Le champ value doit être au moins 0.'
example: 26
nullable: true
parameters:
-
in: path
name: invoice_id
description: 'The ID of the invoice.'
example: 7
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: 10
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:
- 18
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:
- 13
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: 23
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: d
nullable: true
responsible_doctor_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 9
nullable: true
health_center_id:
type: integer
description: ''
example: 18
nullable: true
patient_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 4
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-18'
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-18'
nullable: true
ckd_stage:
type: string
description: ''
example: officia
nullable: true
dialysis_type:
type: string
description: ''
example: peritoneal
nullable: true
enum:
- hemodialysis
- peritoneal
dialysis_center:
type: string
description: ''
example: quis
nullable: true
current_doctor_name:
type: string
description: ''
example: ut
nullable: true
ckd_diagnosis_date:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-18T11:12:12'
nullable: true
blood_type:
type: string
description: ''
example: culpa
nullable: true
status:
type: string
description: ''
example: blanditiis
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: 6
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: 7
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: eum
nullable: true
chronic_diseases:
type: string
description: ''
example: excepturi
nullable: true
observation:
type: string
description: ''
example: quod
nullable: true
status:
type: string
description: ''
example: undone
nullable: true
enum:
- pending
- validated
- rejected
- done
- undone
current_doctor_name:
type: string
description: ''
example: earum
nullable: true
current_doctor_phone:
type: string
description: ''
example: commodi
nullable: true
current_doctor_address:
type: string
description: ''
example: doloremque
nullable: true
medical_history:
type: string
description: ''
example: eveniet
nullable: true
current_treatments:
type: string
description: ''
example: ut
nullable: true
known_kidney_diseases:
type: string
description: ''
example: unde
nullable: true
autoimmune_or_infectious_diseases:
type: string
description: ''
example: consequatur
nullable: true
allergies:
type: string
description: ''
example: autem
nullable: true
ckd_stage:
type: string
description: ''
example: soluta
nullable: true
ckd_diagnosis_date:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-18T11:12:12'
nullable: true
ckd_etiology:
type: string
description: ''
example: illo
nullable: true
recent_biological_tests:
type: string
description: ''
example: tenetur
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: 8940.94399
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: est
nullable: true
dialysis_frequency:
type: string
description: ''
example: omnis
nullable: true
dialysis_complications:
type: string
description: ''
example: non
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: 1
nullable: true
responsible_doctor_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 10
nullable: true
health_center_id:
type: integer
description: 'The id of an existing record in the health_centers table.'
example: 1
nullable: true
blood_type:
type: string
description: ''
example: AB+
nullable: true
enum:
- A+
- A-
- B+
- B-
- AB+
- AB-
- O+
- O-
known_allergies:
type: string
description: ''
example: nisi
nullable: true
chronic_diseases:
type: string
description: ''
example: sed
nullable: true
observation:
type: string
description: ''
example: aut
nullable: true
status:
type: string
description: ''
example: done
nullable: true
enum:
- pending
- validated
- rejected
- done
- undone
current_doctor_name:
type: string
description: ''
example: ex
nullable: true
current_doctor_phone:
type: string
description: ''
example: dolorem
nullable: true
current_doctor_address:
type: string
description: ''
example: deleniti
nullable: true
medical_history:
type: string
description: ''
example: nisi
nullable: true
current_treatments:
type: string
description: ''
example: provident
nullable: true
known_kidney_diseases:
type: string
description: ''
example: cum
nullable: true
autoimmune_or_infectious_diseases:
type: string
description: ''
example: est
nullable: true
allergies:
type: string
description: ''
example: ipsum
nullable: true
ckd_stage:
type: string
description: ''
example: tempora
nullable: true
ckd_diagnosis_date:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-18T11:12:12'
nullable: true
ckd_etiology:
type: string
description: ''
example: aut
nullable: true
recent_biological_tests:
type: string
description: ''
example: rem
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: 79.0
nullable: true
dialysis_indicated:
type: boolean
description: ''
example: true
nullable: true
dialysis_type:
type: string
description: ''
example: peritoneal
nullable: true
enum:
- hemodialysis
- peritoneal
dialysis_center:
type: string
description: ''
example: quae
nullable: true
dialysis_frequency:
type: string
description: ''
example: dolores
nullable: true
dialysis_complications:
type: string
description: ''
example: voluptas
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:
- 15
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:
- 20
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: 19
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: ehhtcdqqktauxdlamdeh
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-18'
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-18'
nullable: true
type:
type: string
description: ''
example: et
nullable: true
is_active:
type: boolean
description: ''
example: true
nullable: true
trashed:
type: boolean
description: ''
example: false
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: ddmr
nullable: false
type:
type: string
description: ''
example: dolores
nullable: false
description:
type: string
description: ''
example: 'Dicta quia qui qui sit.'
nullable: true
price:
type: number
description: 'Le champ value doit être au moins 0.'
example: 88
nullable: false
is_active:
type: boolean
description: ''
example: false
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: umzieohdxmhwyvgbmynvkr
nullable: true
type:
type: string
description: ''
example: quibusdam
nullable: true
description:
type: string
description: ''
example: 'Velit non facere tenetur porro mollitia quis voluptatem incidunt.'
nullable: true
price:
type: number
description: 'Le champ value doit être au moins 0.'
example: 42
nullable: true
is_active:
type: boolean
description: ''
example: false
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:
- 9
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:
- 18
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: 14
nullable: true
nbre_items:
type: integer
description: ''
example: 7
nullable: true
filter_value:
type: string
description: 'Le champ value ne peut contenir plus de 100 caractères.'
example: axjhppusyffbfvkni
nullable: true
type:
type: string
description: ''
example: esse
nullable: true
start_date:
type: string
description: 'Must be a valid date in the format Y-m-d.'
example: '2026-05-18'
nullable: true
end_date:
type: string
description: 'Must be a valid date in the format Y-m-d.'
example: '2026-05-18'
nullable: true
is_active:
type: boolean
description: ''
example: false
nullable: true
trashed:
type: boolean
description: ''
example: true
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: bhtcm
nullable: false
code:
type: string
description: 'Le champ value ne peut contenir plus de 50 caractères.'
example: idirrwgyzllfsmtzlznqvppzb
nullable: true
type:
type: string
description: ''
example: dolor
nullable: false
description:
type: string
description: ''
example: 'Eos harum ea dolores repellat fuga ducimus voluptatem.'
nullable: true
price:
type: number
description: 'Le champ value doit être au moins 0.'
example: 54
nullable: false
turnaround_hours:
type: integer
description: 'Le champ value doit être au moins 0.'
example: 35
nullable: true
preparation_instructions:
type: string
description: ''
example: veritatis
nullable: true
sample_required:
type: string
description: ''
example: et
nullable: true
is_active:
type: boolean
description: ''
example: false
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: a
nullable: true
type:
type: string
description: ''
example: autem
nullable: true
description:
type: string
description: ''
example: 'Provident molestiae tenetur doloribus ipsam rem.'
nullable: true
price:
type: number
description: 'Le champ value doit être au moins 0.'
example: 18
nullable: true
turnaround_hours:
type: integer
description: 'Le champ value doit être au moins 0.'
example: 42
nullable: true
preparation_instructions:
type: string
description: ''
example: est
nullable: true
sample_required:
type: string
description: ''
example: nostrum
nullable: true
is_active:
type: boolean
description: ''
example: false
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:
- 5
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:
- 5
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: 63
nullable: true
nbre_items:
type: integer
description: ''
example: 4
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-18'
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-18'
nullable: true
filter_value:
type: string
description: 'Le champ value ne peut contenir plus de 100 caractères.'
example: ekccypaahcxt
nullable: true
responsible_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 14
nullable: true
trashed:
type: boolean
description: ''
example: true
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: 14
nullable: false
name:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: dqzrrznnpteudgdy
nullable: false
code:
type: string
description: 'Le champ value ne peut contenir plus de 10 caractères.'
example: xplecd
nullable: true
description:
type: string
description: ''
example: 'Consequatur excepturi voluptas est.'
nullable: true
address:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: azbvhihqktiwgj
nullable: true
city:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: ydghbgdcwchddcpnjv
nullable: true
country:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: mppjfqsxcalntavifabzowfq
nullable: true
phone:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: ttcdtcwqmrkkaiwzppeksi
nullable: false
logo:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: lyxlmalmxsxhibpem
nullable: true
email:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: walsh.kiera@example.net
nullable: true
website:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: ezryhruyumyijnidwzbl
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: 15
nullable: true
name:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: leyckuyoxaqxssotis
nullable: true
code:
type: string
description: 'Le champ value ne peut contenir plus de 100 caractères.'
example: wvywxpskzwoci
nullable: true
description:
type: string
description: ''
example: 'Hic non eos necessitatibus est.'
nullable: true
address:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: slhszsoyxjxidbvyypo
nullable: true
city:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: u
nullable: true
country:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: g
nullable: true
phone:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: ulypaecelzvebq
nullable: true
logo:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: qryizwvhylyatqidovfo
nullable: true
email:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: lkihn@example.net
nullable: true
website:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: sehpmpdldqj
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:
- 8
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:
- 2
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: 55
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: zbqebooagluidbswtf
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: twxq
nullable: true
photo:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: jcftaasqkg
nullable: true
participants:
type: array
description: 'The id of an existing record in the users table.'
example:
- 17
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/20 could not be found.'
properties:
message:
type: string
example: 'The route api/chat/rooms/20 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: rrboduzlhlm
nullable: true
photo:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: cs
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: 20
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: 44
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: fofuznwcomctqdiu
nullable: true
message_room_id:
type: integer
description: 'The id of an existing record in the message_rooms table.'
example: 4
nullable: true
user_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 9
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: 20
nullable: false
body:
type: string
description: ''
example: expedita
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/13 could not be found.'
properties:
message:
type: string
example: 'The route api/chat/messages/13 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: enim
nullable: false
required:
- body
parameters:
-
in: path
name: message_id
description: 'The ID of the message.'
example: 13
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: 33
nullable: true
nbre_items:
type: integer
description: ''
example: 7
nullable: true
filter_value:
type: string
description: 'Le champ value ne peut contenir plus de 100 caractères.'
example: uo
nullable: true
patient_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 17
nullable: true
medical_page_id:
type: integer
description: 'The id of an existing record in the medical_pages table.'
example: 5
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-18'
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-18'
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-18'
nullable: true
alert_status:
type: string
description: ''
example: critical
nullable: true
enum:
- normal
- warning
- critical
trashed:
type: boolean
description: ''
example: false
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: 8
nullable: false
medical_page_id:
type: integer
description: 'The id of an existing record in the medical_pages table.'
example: 1
nullable: true
dialysis_session_id:
type: integer
description: ''
example: 2
nullable: true
weight_kg:
type: number
description: ''
example: 186.00594974
nullable: false
blood_pressure_systolic:
type: integer
description: ''
example: 20
nullable: true
blood_pressure_diastolic:
type: integer
description: ''
example: 18
nullable: true
heart_rate:
type: integer
description: ''
example: 17
nullable: true
temperature_c:
type: number
description: ''
example: 1692.224
nullable: true
blood_glucose:
type: number
description: ''
example: 36513.1835705
nullable: true
urine_output_ml:
type: integer
description: ''
example: 17
nullable: true
spo2:
type: integer
description: ''
example: 16
nullable: true
creatinine:
type: number
description: ''
example: 2306.6233
nullable: true
urea:
type: number
description: ''
example: 4244.5209622
nullable: true
creatinine_clearance:
type: number
description: ''
example: 41144944.6259
nullable: true
potassium:
type: number
description: ''
example: 335702.1479349
nullable: true
sodium:
type: number
description: ''
example: 30.606948
nullable: true
phosphorus:
type: number
description: ''
example: 2.364226
nullable: true
calcium:
type: number
description: ''
example: 2143.363
nullable: true
hemoglobin:
type: number
description: ''
example: 5.71
nullable: true
notes:
type: string
description: ''
example: et
nullable: true
date:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-18T11:12:12'
nullable: true
hour:
type: string
description: ''
example: null
nullable: true
alert_status:
type: string
description: ''
example: critical
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: 12
nullable: true
medical_page_id:
type: integer
description: 'The id of an existing record in the medical_pages table.'
example: 4
nullable: true
dialysis_session_id:
type: integer
description: ''
example: 9
nullable: true
weight_kg:
type: number
description: ''
example: 38093010.555087
nullable: false
blood_pressure_systolic:
type: integer
description: ''
example: 18
nullable: true
blood_pressure_diastolic:
type: integer
description: ''
example: 4
nullable: true
heart_rate:
type: integer
description: ''
example: 14
nullable: true
temperature_c:
type: number
description: ''
example: 1.1
nullable: true
blood_glucose:
type: number
description: ''
example: 387992373.05583
nullable: true
urine_output_ml:
type: integer
description: ''
example: 13
nullable: true
spo2:
type: integer
description: ''
example: 6
nullable: true
creatinine:
type: number
description: ''
example: 265.213481
nullable: true
urea:
type: number
description: ''
example: 373.599506602
nullable: true
creatinine_clearance:
type: number
description: ''
example: 63162750.39088
nullable: true
potassium:
type: number
description: ''
example: 0.32
nullable: true
sodium:
type: number
description: ''
example: 72.78
nullable: true
phosphorus:
type: number
description: ''
example: 17.57
nullable: true
calcium:
type: number
description: ''
example: 61.940901
nullable: true
hemoglobin:
type: number
description: ''
example: 98859146.0
nullable: true
notes:
type: string
description: ''
example: dolorum
nullable: true
date:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-18T11:12:12'
nullable: true
hour:
type: string
description: ''
example: null
nullable: true
alert_status:
type: string
description: ''
example: normal
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:
- 2
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:
- 12
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: 3
nullable: true
nbre_items:
type: integer
description: ''
example: 13
nullable: true
cashier_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 15
nullable: true
status:
type: string
description: ''
example: closed
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-18'
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-18'
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-18'
nullable: false
notes:
type: string
description: ''
example: esse
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/15 could not be found.'
properties:
message:
type: string
example: 'The route api/cash-closures/15 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: unde
nullable: true
parameters:
-
in: path
name: cash_closure
description: ''
example: 15
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: 3
nullable: true
nbre_items:
type: integer
description: ''
example: 15
nullable: true
filter_value:
type: string
description: ''
example: neque
nullable: true
position:
type: string
description: ''
example: corrupti
nullable: true
status:
type: string
description: ''
example: Terminated
nullable: true
enum:
- Active
- Terminated
- Pending
trashed:
type: boolean
description: ''
example: true
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/aspernatur could not be found.'
properties:
message:
type: string
example: 'The route api/contracts/aspernatur 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: 6
nullable: true
user_approve_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 9
nullable: true
type:
type: string
description: ''
example: CDI
nullable: true
enum:
- CDD
- CDI
- Stage
description:
type: string
description: ''
example: 'Consequuntur provident voluptate reiciendis et minima mollitia.'
nullable: true
start_date:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-18T11:12:13'
nullable: true
duration:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 34
nullable: true
working_hours:
type: string
description: ''
example: sit
nullable: true
position:
type: string
description: ''
example: beatae
nullable: true
gross_salary:
type: number
description: 'Le champ value doit être au moins 0.'
example: 7
nullable: true
status:
type: string
description: ''
example: Pending
nullable: true
enum:
- Active
- Terminated
- Pending
service_benefits:
type: string
description: ''
example: perferendis
nullable: true
bonus:
type: string
description: ''
example: nihil
nullable: true
number_days_off:
type: integer
description: ''
example: 16
nullable: true
parameters:
-
in: path
name: contract
description: 'The contract.'
example: aspernatur
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: 4
nullable: false
user_approve_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 14
nullable: false
type:
type: string
description: ''
example: harum
nullable: false
description:
type: string
description: ''
example: 'Libero eos ipsa similique.'
nullable: true
start_date:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-18T11:12:13'
nullable: false
duration:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 12
nullable: true
working_hours:
type: string
description: ''
example: voluptatem
nullable: false
position:
type: string
description: ''
example: aut
nullable: false
gross_salary:
type: number
description: 'Le champ value doit être au moins 0.'
example: 52
nullable: false
status:
type: string
description: ''
example: Active
nullable: true
enum:
- Active
- Terminated
- Pending
service_benefits:
type: string
description: ''
example: vel
nullable: true
bonus:
type: string
description: ''
example: labore
nullable: true
number_days_off:
type: integer
description: ''
example: 20
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:
- 2
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:
- 8
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:
- 2
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: jeenphgmubzvleamdhosbso
nullable: true
description:
type: string
description: ''
example: 'Omnis veritatis itaque repellat voluptatum.'
nullable: true
responsible_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 2
nullable: false
status:
type: string
description: ''
example: accepted
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: 19
nullable: false
unit_price:
type: integer
description: ''
example: 5
nullable: true
quantity:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 42
nullable: false
supplier_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 2
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: dolores
nullable: true
responsible_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 15
nullable: true
priority:
type: string
description: ''
example: medium
nullable: true
enum:
- high
- medium
- low
status:
type: string
description: ''
example: accepted
nullable: true
enum:
- pending
- accepted
- refused
medication_ids:
type: array
description: 'The id of an existing record in the medications table.'
example:
- 12
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/7 could not be found.'
properties:
message:
type: string
example: 'The route api/supply-demands/7 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: pg
nullable: true
description:
type: string
description: ''
example: 'Laboriosam eos officiis molestiae delectus nulla.'
nullable: true
responsible_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 13
nullable: true
status:
type: string
description: ''
example: accepted
nullable: true
enum:
- pending
- accepted
- refused
priority:
type: string
description: ''
example: low
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: 2
nullable: false
unit_price:
type: integer
description: ''
example: 13
nullable: true
quantity:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 82
nullable: false
supplier_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 8
nullable: false
required:
- id
- quantity
- supplier_id
parameters:
-
in: path
name: supply_demand_id
description: 'The ID of the supply demand.'
example: 7
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:
- 19
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:
- 8
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: 5
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: hufqsv
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: dolores
nullable: false
description:
type: string
description: ''
example: 'Optio aut quia minus ut dolore.'
nullable: true
idUser:
type: integer
description: 'The id of an existing record in the users table.'
example: 19
nullable: false
idResponsable:
type: integer
description: 'The id of an existing record in the users table.'
example: 7
nullable: false
image:
type: string
description: ''
example: voluptates
nullable: true
comments:
type: string
description: ''
example: qui
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/9 could not be found.'
properties:
message:
type: string
example: 'The route api/explanation-requests/9 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: ad
nullable: true
description:
type: string
description: ''
example: 'Inventore aperiam ducimus est dolor neque id.'
nullable: true
idUser:
type: integer
description: 'The id of an existing record in the users table.'
example: 8
nullable: true
idResponsable:
type: integer
description: 'The id of an existing record in the users table.'
example: 11
nullable: true
image:
type: string
description: ''
example: voluptas
nullable: true
comments:
type: string
description: ''
example: similique
nullable: true
parameters:
-
in: path
name: explanation_request
description: ''
example: 9
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:
- 10
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:
- 17
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: 7
nullable: true
user_approve_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 10
nullable: true
status:
type: string
description: ''
example: pending_approval
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-18T11:12:13'
nullable: true
page_items:
type: integer
description: ''
example: 6
nullable: true
nbre_items:
type: integer
description: ''
example: 2
nullable: true
filter_value:
type: string
description: ''
example: quae
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: odit
nullable: false
start_date:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-18T11:12:13'
nullable: false
end_date:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-18T11:12:13'
nullable: false
days_taken:
type: integer
description: ''
example: 4
nullable: false
reason:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: an
nullable: false
user_approve_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 9
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/2 could not be found.'
properties:
message:
type: string
example: 'The route api/holidays/2 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: officiis
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: '2111-01-18'
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: '2104-08-15'
nullable: true
days_taken:
type: integer
description: ''
example: 20
nullable: true
reason:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: noofpsxelcjfm
nullable: true
status:
type: string
description: ''
example: pending_approval
nullable: true
enum:
- pending_approval
- in_progress
- approved
- rejected
parameters:
-
in: path
name: holiday_id
description: 'The ID of the holiday.'
example: 2
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:
- 19
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:
- 14
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: rejected
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-18'
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-18'
nullable: true
duration:
type: integer
description: ''
example: 8
nullable: true
page_items:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 80
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: ebgtmshskfaemuteyujueotxs
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-18'
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: '2106-11-22'
nullable: true
duration:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 11
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: 11
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: tempora
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-18'
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: '2052-01-02'
nullable: true
duration:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 64
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: 5
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:
- 1
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:
- 19
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: 58
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: rwlzrud
nullable: true
start_date:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-18T11:12:12'
nullable: true
end_date:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-18T11:12:12'
nullable: true
responsible_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 5
nullable: true
health_center_id:
type: integer
description: 'The id of an existing record in the health_centers table.'
example: 6
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: 20
nullable: true
health_center_id:
type: integer
description: 'The id of an existing record in the health_centers table.'
example: 15
nullable: false
name:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: j
nullable: false
description:
type: string
description: ''
example: 'Non vero ut asperiores.'
nullable: false
phone:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: bzibcnegzvevixfzs
nullable: false
email:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: kuhic.frankie@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: 12
nullable: true
health_center_id:
type: integer
description: 'The id of an existing record in the health_centers table.'
example: 12
nullable: true
name:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: amipvotsanarpwqnfeytaq
nullable: true
description:
type: string
description: ''
example: 'Eius et at rerum ea.'
nullable: true
phone:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: g
nullable: true
email:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: ines.tillman@example.net
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:
- 12
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: 58
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: pgqrg
nullable: true
patient_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 6
nullable: true
doctor_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 1
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-18'
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-18'
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-18'
nullable: true
status:
type: string
description: ''
example: undone
nullable: true
enum:
- pending
- validated
- rejected
- done
- undone
trashed:
type: boolean
description: ''
example: true
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: 3
nullable: true
doctor_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 3
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-18'
nullable: false
hour:
type: string
description: ''
example: et
nullable: false
description:
type: string
description: ''
example: 'Debitis quia voluptatem aspernatur quos.'
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: 20
nullable: true
doctor_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 4
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-18'
nullable: true
hour:
type: string
description: ''
example: et
nullable: true
description:
type: string
description: ''
example: 'Iure hic voluptatem ab est non quis.'
nullable: true
status:
type: string
description: ''
example: validated
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:
- 11
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:
- 13
items:
type: integer
required:
- ids
/api/expense-types/all:
post:
summary: 'LISTE (filtrée)'
operationId: lISTEfiltre
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: 5
nullable: true
nbre_items:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 48
nullable: true
filter_value:
type: string
description: ''
example: numquam
nullable: true
name:
type: string
description: ''
example: quos
nullable: true
description:
type: string
description: ''
example: 'Minima ut mollitia omnis nobis repudiandae aspernatur dicta.'
nullable: true
trashed:
type: boolean
description: ''
example: true
nullable: true
/api/expense-types:
post:
summary: CREATE
operationId: cREATE
description: ''
parameters: []
responses: { }
tags:
- Endpoints
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: ''
example: officia
nullable: true
description:
type: string
description: ''
example: 'Rerum hic quo odio aut at quo porro.'
nullable: true
'/api/expense-types/{expense_type}':
get:
summary: SHOW
operationId: sHOW
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/expense-types/7 could not be found.'
properties:
message:
type: string
example: 'The route api/expense-types/7 could not be found.'
tags:
- Endpoints
put:
summary: 'UPDATE (tous les champs)'
operationId: uPDATEtousLesChamps
description: ''
parameters: []
responses: { }
tags:
- Endpoints
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: ''
example: iusto
nullable: true
description:
type: string
description: ''
example: 'Fuga eos alias enim beatae in explicabo voluptatibus.'
nullable: true
parameters:
-
in: path
name: expense_type
description: ''
example: 7
required: true
schema:
type: integer
/api/expense-types/trash:
post:
summary: 'TRASH (soft delete multiple)'
operationId: tRASHsoftDeleteMultiple
description: ''
parameters: []
responses: { }
tags:
- Endpoints
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: ''
example:
- 5
items:
type: integer
required:
- ids
/api/expense-types/restore:
post:
summary: RESTORE
operationId: rESTORE
description: ''
parameters: []
responses: { }
tags:
- Endpoints
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: ''
example:
- 17
items:
type: integer
required:
- ids
/api/expense-types/destroy:
post:
summary: 'DELETE PERMANENT'
operationId: dELETEPERMANENT
description: ''
parameters: []
responses: { }
tags:
- Endpoints
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: ''
example:
- 19
items:
type: integer
required:
- ids
/api/presences/all:
post:
summary: 'Lister les présences'
operationId: listerLesPrsences
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: 81
nullable: true
nbre_items:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 65
nullable: true
filter_value:
type: string
description: ''
example: et
nullable: true
user_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 3
nullable: true
health_center_id:
type: integer
description: 'The id of an existing record in the health_centers table.'
example: 4
nullable: true
department_id:
type: integer
description: 'The id of an existing record in the departments table.'
example: 17
nullable: true
date:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-18T11:12:13'
nullable: true
start_date:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-18T11:12:13'
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: '2078-07-31'
nullable: true
type:
type: string
description: ''
example: saepe
nullable: true
trashed:
type: boolean
description: ''
example: true
nullable: true
/api/presences:
post:
summary: 'Ajouter une présence'
operationId: ajouterUnePrsence
description: ''
parameters: []
responses: { }
tags:
- Endpoints
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: 12
nullable: false
health_center_id:
type: integer
description: 'The id of an existing record in the health_centers table.'
example: 15
nullable: true
department_id:
type: integer
description: 'The id of an existing record in the departments table.'
example: 7
nullable: true
date:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-18T11:12:13'
nullable: true
hour:
type: string
description: 'Must be a valid date in the format H:i.'
example: '11:12'
nullable: true
arrivalTime:
type: string
description: 'Must be a valid date in the format H:i.'
example: '11:12'
nullable: true
departureTime:
type: string
description: 'Must be a valid date in the format H:i.'
example: '11:12'
nullable: true
type:
type: string
description: ''
example: rerum
nullable: false
scanPerCourse:
type: integer
description: 'Le champ value doit être au moins 0.'
example: 21
nullable: false
reason:
type: string
description: ''
example: atque
nullable: true
savingType:
type: string
description: ''
example: perferendis
nullable: false
required:
- user_id
- type
- scanPerCourse
- savingType
'/api/presences/{presence_id}':
get:
summary: 'Afficher une présence'
operationId: afficherUnePrsence
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/presences/14 could not be found.'
properties:
message:
type: string
example: 'The route api/presences/14 could not be found.'
tags:
- Endpoints
put:
summary: 'Modifier une présence'
operationId: modifierUnePrsence
description: ''
parameters: []
responses: { }
tags:
- Endpoints
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
health_center_id:
type: integer
description: 'The id of an existing record in the health_centers table.'
example: 13
nullable: true
department_id:
type: integer
description: 'The id of an existing record in the departments table.'
example: 1
nullable: true
date:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-18T11:12:13'
nullable: true
hour:
type: string
description: 'Must be a valid date in the format H:i.'
example: '11:12'
nullable: true
arrivalTime:
type: string
description: 'Must be a valid date in the format H:i.'
example: '11:12'
nullable: true
departureTime:
type: string
description: 'Must be a valid date in the format H:i.'
example: '11:12'
nullable: true
type:
type: string
description: ''
example: enim
nullable: true
scanPerCourse:
type: integer
description: 'Le champ value doit être au moins 0.'
example: 0
nullable: true
reason:
type: string
description: ''
example: enim
nullable: true
savingType:
type: string
description: ''
example: modi
nullable: true
parameters:
-
in: path
name: presence_id
description: 'The ID of the presence.'
example: 14
required: true
schema:
type: integer
/api/presences/trash:
post:
summary: 'Trash présences'
operationId: trashPrsences
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 presences table.'
example:
- 2
items:
type: integer
required:
- ids
/api/presences/restore:
post:
summary: 'Restore présences'
operationId: restorePrsences
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 presences table.'
example:
- 8
items:
type: integer
required:
- ids
/api/presences/destroy:
post:
summary: 'Supprimer définitivement des présences'
operationId: supprimerDfinitivementDesPrsences
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 presences table.'
example:
- 4
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: 2
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: 39
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: aypeubexghawdnhnvywds
nullable: true
care_schedule_id:
type: integer
description: 'The id of an existing record in the care_schedules table.'
example: 6
nullable: true
nurse_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 10
nullable: true
status:
type: string
description: ''
example: late
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-18'
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-18'
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: 15
nullable: false
nurse_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 15
nullable: false
scheduled_at:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-18T11:12:13'
nullable: false
executed_at:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-18T11:12:13'
nullable: true
status:
type: string
description: ''
example: pending
nullable: false
enum:
- pending
- done
- late
- missed
delay_minutes:
type: integer
description: ''
example: 1
nullable: true
observations:
type: string
description: ''
example: at
nullable: true
nursing_act_id:
type: integer
description: 'The id of an existing record in the nursing_acts table.'
example: 18
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/1 could not be found.'
properties:
message:
type: string
example: 'The route api/care-schedule-executions/1 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: 14
nullable: true
nurse_id:
type: integer
description: ''
example: 7
nullable: true
scheduled_at:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-18T11:12:13'
nullable: true
executed_at:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-18T11:12:13'
nullable: true
status:
type: string
description: ''
example: missed
nullable: true
enum:
- pending
- done
- late
- missed
delay_minutes:
type: integer
description: ''
example: 12
nullable: true
observations:
type: string
description: ''
example: ducimus
nullable: true
nursing_act_id:
type: integer
description: ''
example: 3
nullable: true
parameters:
-
in: path
name: care_schedule_execution
description: ''
example: 1
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:
- 13
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:
- 1
items:
type: integer
/api/care-schedule-executions/destroy:
post:
summary: 'Suppression définitive'
operationId: suppressionDfinitive
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:
- 1
items:
type: integer
/api/medication-prescription-executions/all:
post:
summary: ''
operationId: postApiMedicationPrescriptionExecutionsAll
description: ''
parameters: []
responses: { }
tags:
- 'Exécutions de prescriptions médicamenteuses'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
page_items:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 13
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: mqsf
nullable: true
medication_prescription_id:
type: integer
description: ''
example: 12
nullable: true
scheduled_at:
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-18'
nullable: true
execute_at:
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-18'
nullable: true
status:
type: string
description: ''
example: missed
nullable: true
enum:
- pending
- done
- late
- missed
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-18'
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-18'
nullable: true
trashed:
type: boolean
description: ''
example: false
nullable: true
/api/medication-prescription-executions:
post:
summary: ''
operationId: postApiMedicationPrescriptionExecutions
description: ''
parameters: []
responses: { }
tags:
- 'Exécutions de prescriptions médicamenteuses'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
medication_prescription_id:
type: integer
description: ''
example: 8
nullable: false
scheduled_at:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-18T11:12:12'
nullable: false
execute_at:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-18T11:12:12'
nullable: true
status:
type: string
description: ''
example: missed
nullable: false
enum:
- pending
- done
- late
- missed
delay_minutes:
type: integer
description: ''
example: 7
nullable: true
required:
- medication_prescription_id
- scheduled_at
- status
'/api/medication-prescription-executions/{execution_id}':
get:
summary: ''
operationId: getApiMedicationPrescriptionExecutionsExecution_id
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/medication-prescription-executions/12 could not be found.'
properties:
message:
type: string
example: 'The route api/medication-prescription-executions/12 could not be found.'
tags:
- 'Exécutions de prescriptions médicamenteuses'
put:
summary: ''
operationId: putApiMedicationPrescriptionExecutionsExecution_id
description: ''
parameters: []
responses: { }
tags:
- 'Exécutions de prescriptions médicamenteuses'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
medication_prescription_id:
type: integer
description: ''
example: 15
nullable: true
scheduled_at:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-18T11:12:12'
nullable: true
execute_at:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-18T11:12:12'
nullable: true
status:
type: string
description: ''
example: pending
nullable: true
enum:
- pending
- done
- late
- missed
delay_minutes:
type: integer
description: ''
example: 17
nullable: true
parameters:
-
in: path
name: execution_id
description: 'The ID of the execution.'
example: 12
required: true
schema:
type: integer
/api/medication-prescription-executions/trash:
post:
summary: ''
operationId: postApiMedicationPrescriptionExecutionsTrash
description: ''
parameters: []
responses: { }
tags:
- 'Exécutions de prescriptions médicamenteuses'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the medication_prescription_executions table.'
example:
- 19
items:
type: integer
/api/medication-prescription-executions/restore:
post:
summary: ''
operationId: postApiMedicationPrescriptionExecutionsRestore
description: ''
parameters: []
responses: { }
tags:
- 'Exécutions de prescriptions médicamenteuses'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the medication_prescription_executions table.'
example:
- 19
items:
type: integer
/api/medication-prescription-executions/destroy:
post:
summary: ''
operationId: postApiMedicationPrescriptionExecutionsDestroy
description: ''
parameters: []
responses: { }
tags:
- 'Exécutions de prescriptions médicamenteuses'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the medication_prescription_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: 50
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-18'
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-18'
nullable: true
filter_value:
type: string
description: 'Le champ value ne peut contenir plus de 100 caractères.'
example: eekburcetelztppclfhakvk
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: hvdxmshzvfw
nullable: false
description:
type: string
description: ''
example: 'Voluptate culpa ut ex quia et itaque provident.'
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: uzinticrlgjbby
nullable: true
description:
type: string
description: ''
example: 'Omnis odio maxime ut reprehenderit et.'
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:
- 1
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:
- 10
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: 50
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: kqufoosbfydb
nullable: true
start_date:
type: string
description: 'Must be a valid date in the format Y-m-d.'
example: '2026-05-18'
nullable: true
end_date:
type: string
description: 'Must be a valid date in the format Y-m-d.'
example: '2026-05-18'
nullable: true
forum_category_id:
type: integer
description: 'The id of an existing record in the forum_categories table.'
example: 19
nullable: true
user_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 13
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: 13
nullable: false
title:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: rutpwtcsxa
nullable: false
body:
type: string
description: ''
example: fugiat
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: 13
nullable: true
title:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: ux
nullable: true
body:
type: string
description: ''
example: explicabo
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:
- 12
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:
- 16
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: 87
nullable: true
nbre_items:
type: integer
description: ''
example: 17
nullable: true
start_date:
type: string
description: 'Must be a valid date in the format Y-m-d.'
example: '2026-05-18'
nullable: true
end_date:
type: string
description: 'Must be a valid date in the format Y-m-d.'
example: '2026-05-18'
nullable: true
filter_value:
type: string
description: 'Le champ value ne peut contenir plus de 100 caractères.'
example: nyxjrizagowuwgwgaoy
nullable: true
forum_category_id:
type: integer
description: 'The id of an existing record in the forum_categories table.'
example: 3
nullable: true
forum_question_id:
type: integer
description: 'The id of an existing record in the forum_questions table.'
example: 17
nullable: true
user_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 16
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: 18
nullable: false
body:
type: string
description: ''
example: consequatur
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: 10
nullable: true
body:
type: string
description: ''
example: neque
nullable: true
is_accepted:
type: boolean
description: ''
example: true
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:
- 7
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:
- 11
items:
type: integer
required:
- ids
/api/rooms/all:
post:
summary: 'Liste des chambres avec filtres'
operationId: listeDesChambresAvecFiltres
description: ''
parameters: []
responses: { }
tags:
- 'Gestion des Chambres'
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: 'Le champ value doit être au moins 1.'
example: 23
nullable: true
name:
type: string
description: ''
example: est
nullable: true
type:
type: string
description: ''
example: harum
nullable: true
etage:
type: string
description: ''
example: eum
nullable: true
min_price:
type: number
description: 'Le champ value doit être au moins 0.'
example: 83
nullable: true
max_price:
type: number
description: 'Le champ value doit être au moins 0.'
example: 22
nullable: true
trashed:
type: boolean
description: ''
example: false
nullable: true
/api/rooms:
post:
summary: "Création d'une chambre"
operationId: crationDuneChambre
description: ''
parameters: []
responses: { }
tags:
- 'Gestion des Chambres'
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: oolvgpnp
nullable: false
price:
type: number
description: 'Le champ value doit être au moins 0.'
example: 90
nullable: true
number_beds:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 73
nullable: true
type:
type: string
description: 'Le champ value ne peut contenir plus de 50 caractères.'
example: qbsdqosknaddhayapiqn
nullable: true
etage:
type: string
description: 'Le champ value ne peut contenir plus de 50 caractères.'
example: aoyduaprljyohizpimlkdyk
nullable: true
required:
- name
'/api/rooms/{room_id}':
get:
summary: 'Afficher une chambre'
operationId: afficherUneChambre
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/rooms/1 could not be found.'
properties:
message:
type: string
example: 'The route api/rooms/1 could not be found.'
tags:
- 'Gestion des Chambres'
put:
summary: "Mise à jour d'une chambre"
operationId: miseJourDuneChambre
description: ''
parameters: []
responses: { }
tags:
- 'Gestion des Chambres'
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: udbchdnjbqmxd
nullable: true
price:
type: number
description: 'Le champ value doit être au moins 0.'
example: 68
nullable: true
number_beds:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 65
nullable: true
type:
type: string
description: 'Le champ value ne peut contenir plus de 50 caractères.'
example: jusjeqyjkf
nullable: true
etage:
type: string
description: 'Le champ value ne peut contenir plus de 50 caractères.'
example: xezglxylaafrubozeiedh
nullable: true
parameters:
-
in: path
name: room_id
description: 'The ID of the room.'
example: 1
required: true
schema:
type: integer
/api/rooms/trash:
post:
summary: 'Suppression logique (soft delete)'
operationId: suppressionLogiquesoftDelete
description: ''
parameters: []
responses: { }
tags:
- 'Gestion des Chambres'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the rooms table.'
example:
- 15
items:
type: integer
/api/rooms/restore:
post:
summary: Restauration
operationId: restauration
description: ''
parameters: []
responses: { }
tags:
- 'Gestion des Chambres'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the rooms table.'
example:
- 10
items:
type: integer
/api/rooms/destroy:
post:
summary: 'Suppression définitive'
operationId: suppressionDfinitive
description: ''
parameters: []
responses: { }
tags:
- 'Gestion des Chambres'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the rooms table.'
example:
- 11
items:
type: integer
/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: 20
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: ktmrfjuzannxrwjy
nullable: true
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
technician_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 3
nullable: true
status:
type: string
description: ''
example: done
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: 6
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-18'
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-18'
nullable: true
trashed:
type: boolean
description: ''
example: true
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: 3
nullable: false
doctor_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 20
nullable: false
medical_page_id:
type: integer
description: 'The id of an existing record in the medical_pages table.'
example: 4
nullable: true
lab_exam_catalog_id:
type: integer
description: 'The id of an existing record in the lab_exam_catalogs table.'
example: 8
nullable: true
lab_exam_pack_id:
type: integer
description: 'The id of an existing record in the lab_exam_packs table.'
example: 11
nullable: true
exam_name:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: fodklqycgdepfidjpfdfluyv
nullable: false
clinical_info:
type: string
description: ''
example: fugiat
nullable: true
price:
type: number
description: 'Le champ value doit être au moins 0.'
example: 76
nullable: true
requested_at:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-18T11:12:13'
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: ipsa
nullable: true
technician_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 19
nullable: true
validator_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 7
nullable: true
clinical_info:
type: string
description: ''
example: non
nullable: true
sampled_at:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-18T11:12:13'
nullable: true
result_at:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-18T11:12:13'
nullable: true
validated_at:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-18T11:12:13'
nullable: true
price:
type: number
description: 'Le champ value doit être au moins 0.'
example: 47
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: facere
nullable: false
value:
type: string
description: ''
example: magnam
nullable: true
unit:
type: string
description: ''
example: minima
nullable: true
reference_range:
type: string
description: ''
example: ipsum
nullable: true
is_abnormal:
type: boolean
description: ''
example: true
nullable: true
notes:
type: string
description: ''
example: sit
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:
- 7
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:
- 1
items:
type: integer
/api/beds/all:
post:
summary: 'Lister les lits'
operationId: listerLesLits
description: ''
parameters: []
responses: { }
tags:
- Lits
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
page_items:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 83
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: vz
nullable: true
idroom:
type: integer
description: ''
example: 14
nullable: true
status:
type: string
description: ''
example: free
nullable: true
enum:
- free
- busy
trashed:
type: boolean
description: ''
example: false
nullable: true
/api/beds:
post:
summary: 'Ajouter un lit'
operationId: ajouterUnLit
description: ''
parameters: []
responses: { }
tags:
- Lits
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
idroom:
type: integer
description: ''
example: 20
nullable: false
price:
type: number
description: 'Le champ value doit être au moins 0.'
example: 90
nullable: true
name:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: elyrgdzqbztvuj
nullable: false
type:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: xvxtohdirrygjc
nullable: true
required:
- idroom
- name
'/api/beds/{bed_id}':
get:
summary: 'Afficher un lit'
operationId: afficherUnLit
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/beds/1 could not be found.'
properties:
message:
type: string
example: 'The route api/beds/1 could not be found.'
tags:
- Lits
put:
summary: 'Modifier un lit'
operationId: modifierUnLit
description: ''
parameters: []
responses: { }
tags:
- Lits
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
idroom:
type: integer
description: ''
example: 10
nullable: true
price:
type: number
description: 'Le champ value doit être au moins 0.'
example: 42
nullable: true
name:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: eonbehbhbqbymywrbjr
nullable: true
type:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: yfshxtahfqyyhbvrmhkvn
nullable: true
parameters:
-
in: path
name: bed_id
description: 'The ID of the bed.'
example: 1
required: true
schema:
type: integer
/api/beds/trash:
post:
summary: 'Archiver plusieurs lits'
operationId: archiverPlusieursLits
description: ''
parameters: []
responses: { }
tags:
- Lits
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the beds table.'
example:
- 20
items:
type: integer
/api/beds/restore:
post:
summary: 'Restaurer plusieurs lits'
operationId: restaurerPlusieursLits
description: ''
parameters: []
responses: { }
tags:
- Lits
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the beds table.'
example:
- 4
items:
type: integer
/api/beds/destroy:
post:
summary: 'Suppression définitive'
operationId: suppressionDfinitive
description: ''
parameters: []
responses: { }
tags:
- Lits
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the beds table.'
example:
- 14
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: 64
nullable: true
nbre_items:
type: integer
description: ''
example: 19
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-18'
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-18'
nullable: true
filter_value:
type: string
description: 'Le champ value ne peut contenir plus de 100 caractères.'
example: nxtzmjcdfkwhw
nullable: true
name:
type: string
description: 'Le champ value ne peut contenir plus de 100 caractères.'
example: b
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: ssrwllnelq
nullable: false
description:
type: string
description: ''
example: 'Accusantium est modi similique est qui quasi quis doloremque.'
nullable: true
photo:
type: string
description: ''
example: soluta
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: ufsofjsemx
nullable: true
description:
type: string
description: ''
example: 'Exercitationem labore sint velit fuga rerum reprehenderit.'
nullable: true
photo:
type: string
description: ''
example: cupiditate
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:
- 17
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:
- 7
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-18'
nullable: true
page_items:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 87
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: wrhjfhnvevaharsssa
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/deserunt could not be found.'
properties:
message:
type: string
example: 'The route api/expense-reports/deserunt 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: sed
nullable: true
amount:
type: number
description: 'Le champ value doit être au moins 0.'
example: 42
nullable: true
description:
type: string
description: ''
example: 'Est incidunt voluptate fuga ipsam magnam.'
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-18'
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: 16
nullable: true
parameters:
-
in: path
name: id
description: 'The ID of the expense report.'
example: deserunt
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: odio
nullable: false
amount:
type: number
description: 'Le champ value doit être au moins 0.'
example: 49
nullable: false
description:
type: string
description: ''
example: 'Reiciendis qui aliquid nobis.'
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-18'
nullable: false
status:
type: string
description: ''
example: pending_approval
nullable: true
enum:
- pending_approval
- approved
- rejected
- paid
idUserApprove:
type: integer
description: 'The id of an existing record in the users table.'
example: 14
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:
- 11
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:
- 16
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:
- 16
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: 25
nullable: true
nbre_items:
type: integer
description: ''
example: 9
nullable: true
filter_value:
type: string
description: 'Le champ value ne peut contenir plus de 100 caractères.'
example: eiarwttplqoaibuwtmxk
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-18'
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-18'
nullable: true
name:
type: string
description: 'Le champ value ne peut contenir plus de 100 caractères.'
example: ninlomg
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: gx
nullable: false
description:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: 'Cumque distinctio eos sint molestias labore perspiciatis.'
nullable: true
potassium_mg:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: hepclqxvlgi
nullable: true
sodium_mg:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: my
nullable: true
phosphorus_mg:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: rrpq
nullable: true
photo:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: vzlrjbodahsnzdi
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: 3
nullable: false
reason:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: k
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: qdkxlcepg
nullable: true
description:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: 'Ea tempore fugit ex est eius quas.'
nullable: true
potassium_mg:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: dxzvzezrvg
nullable: true
sodium_mg:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: hmbvnspawtodzrkchiqskjky
nullable: true
phosphorus_mg:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: jjntdfemirdclfkm
nullable: true
photo:
type: string
description: 'Le champ value ne peut contenir plus de 200 caractères.'
example: mooibioku
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: dptsuacsizbhfztxtmxgvoi
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:
- 5
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:
- 19
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: 29
nullable: true
nbre_items:
type: integer
description: ''
example: 18
nullable: true
filter_value:
type: string
description: 'Le champ value ne peut contenir plus de 100 caractères.'
example: fnmlezyjvrwgqmqgcyajrc
nullable: true
is_active:
type: boolean
description: ''
example: false
nullable: true
trashed:
type: boolean
description: ''
example: false
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: bffnhtyqo
nullable: false
description:
type: string
description: ''
example: 'Ea eaque laborum quia qui et et non.'
nullable: true
price:
type: number
description: 'Le champ value doit être au moins 0.'
example: 58
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/1 could not be found.'
properties:
message:
type: string
example: 'The route api/lab-exam-packs/1 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: bajbqxtleqldidt
nullable: true
description:
type: string
description: ''
example: 'Quasi numquam excepturi impedit qui est est mollitia.'
nullable: true
price:
type: number
description: 'Le champ value doit être au moins 0.'
example: 52
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:
- 13
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: 1
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: 29
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: dohvtjrveickpvjgkx
nullable: true
doctor_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 14
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: 20
nullable: true
patient_id:
type: integer
description: ''
example: 19
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-18'
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-18T11:12:12'
nullable: true
end_date:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-18T11:12:12'
nullable: true
trashed:
type: boolean
description: ''
example: false
nullable: true
consultation_type:
type: string
description: ''
example: emergency
nullable: true
enum:
- first_visit
- follow_up
- emergency
disease_history:
type: string
description: ''
example: voluptatum
nullable: true
current_treatments:
type: string
description: ''
example: et
nullable: true
family_history:
type: string
description: ''
example: quis
nullable: true
blood_pressure:
type: string
description: ''
example: ipsum
nullable: true
heart_rate:
type: integer
description: ''
example: 9
nullable: true
respiratory_rate:
type: integer
description: ''
example: 1
nullable: true
temperature_c:
type: number
description: ''
example: 268930.82
nullable: true
spo2:
type: integer
description: ''
example: 9
nullable: true
blood_glucose:
type: number
description: ''
example: 37372.0
nullable: true
weight_kg:
type: number
description: ''
example: 65223.032
nullable: true
height_cm:
type: number
description: ''
example: 312512999.99
nullable: true
bmi:
type: number
description: ''
example: 4.0
nullable: true
pain_score:
type: integer
description: ''
example: 14
nullable: true
general_condition:
type: string
description: ''
example: altered
nullable: true
enum:
- good
- altered
- critical
general_condition_notes:
type: string
description: ''
example: sit
nullable: true
physical_examination:
type: string
description: ''
example: ut
nullable: true
hypothesis:
type: string
description: ''
example: non
nullable: true
icd10_code:
type: string
description: ''
example: eos
nullable: true
severity:
type: string
description: ''
example: mild
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-18'
nullable: true
additionnal_notes:
type: string
description: ''
example: saepe
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: 13
nullable: false
department_id:
type: integer
description: 'The id of an existing record in the departments table.'
example: 8
nullable: true
doctor_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 19
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-18'
nullable: false
reason_for_visit:
type: string
description: ''
example: dolore
nullable: false
clinical_notes:
type: string
description: ''
example: voluptatibus
nullable: false
diagnosis:
type: string
description: ''
example: iure
nullable: false
free_notes:
type: string
description: ''
example: ullam
nullable: true
recommendations:
type: string
description: ''
example: null
nullable: true
status:
type: string
description: ''
example: cancelled
nullable: true
enum:
- pending
- in_progress
- completed
- cancelled
consultation_type:
type: string
description: ''
example: follow_up
nullable: true
enum:
- first_visit
- follow_up
- emergency
disease_history:
type: string
description: ''
example: voluptatibus
nullable: true
current_treatments:
type: string
description: ''
example: nesciunt
nullable: true
family_history:
type: string
description: ''
example: ex
nullable: true
blood_pressure:
type: string
description: ''
example: dolorum
nullable: true
heart_rate:
type: integer
description: ''
example: 19
nullable: true
respiratory_rate:
type: integer
description: ''
example: 7
nullable: true
temperature_c:
type: number
description: ''
example: 661512.2732758
nullable: true
spo2:
type: integer
description: ''
example: 16
nullable: true
blood_glucose:
type: number
description: ''
example: 245.592646952
nullable: true
weight_kg:
type: number
description: ''
example: 52.700114
nullable: true
height_cm:
type: number
description: ''
example: 65.531
nullable: true
bmi:
type: number
description: ''
example: 1995327.8
nullable: true
pain_score:
type: integer
description: ''
example: 1
nullable: true
general_condition:
type: string
description: ''
example: critical
nullable: true
enum:
- good
- altered
- critical
general_condition_notes:
type: string
description: ''
example: facilis
nullable: true
physical_examination:
type: string
description: ''
example: itaque
nullable: true
hypothesis:
type: string
description: ''
example: ducimus
nullable: true
icd10_code:
type: string
description: ''
example: eveniet
nullable: true
severity:
type: string
description: ''
example: critical
nullable: true
enum:
- mild
- moderate
- severe
- critical
discharge_decision:
type: string
description: ''
example: hospitalized
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-18'
nullable: true
additionnal_notes:
type: string
description: ''
example: odit
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: 1
nullable: true
department_id:
type: integer
description: 'The id of an existing record in the departments table.'
example: 14
nullable: true
doctor_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 12
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-18'
nullable: true
reason_for_visit:
type: string
description: ''
example: dicta
nullable: true
clinical_notes:
type: string
description: ''
example: velit
nullable: true
diagnosis:
type: string
description: ''
example: sunt
nullable: true
free_notes:
type: string
description: ''
example: qui
nullable: true
recommendations:
type: string
description: ''
example: ut
nullable: true
status:
type: string
description: ''
example: pending
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: itaque
nullable: true
current_treatments:
type: string
description: ''
example: at
nullable: true
family_history:
type: string
description: ''
example: animi
nullable: true
blood_pressure:
type: string
description: 'Le champ value ne peut contenir plus de 20 caractères.'
example: toxfwvxqhk
nullable: true
heart_rate:
type: integer
description: ''
example: 15
nullable: true
respiratory_rate:
type: integer
description: ''
example: 19
nullable: true
temperature_c:
type: number
description: ''
example: 0.32102
nullable: true
spo2:
type: integer
description: ''
example: 14
nullable: true
blood_glucose:
type: number
description: ''
example: 54.59219382
nullable: true
weight_kg:
type: number
description: ''
example: 9112.4
nullable: true
height_cm:
type: number
description: ''
example: 99821.58634019
nullable: true
bmi:
type: number
description: ''
example: 3753395.9479
nullable: true
pain_score:
type: integer
description: ''
example: 6
nullable: true
general_condition:
type: string
description: ''
example: critical
nullable: true
enum:
- good
- altered
- critical
general_condition_notes:
type: string
description: ''
example: et
nullable: true
physical_examination:
type: string
description: ''
example: aut
nullable: true
hypothesis:
type: string
description: ''
example: voluptas
nullable: true
icd10_code:
type: string
description: ''
example: in
nullable: true
severity:
type: string
description: ''
example: mild
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-18'
nullable: true
additionnal_notes:
type: string
description: ''
example: et
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:
- 15
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:
- 19
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: 72
nullable: true
nbre_items:
type: integer
description: ''
example: 15
nullable: true
filter_value:
type: string
description: ''
example: asperiores
nullable: true
ressource:
type: string
description: ''
example: voluptas
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: exercitationem
nullable: false
description:
type: string
description: ''
example: 'Earum recusandae et est illo.'
nullable: true
ressource:
type: string
description: ''
example: beatae
nullable: false
code:
type: string
description: ''
example: qui
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/maiores could not be found.'
properties:
message:
type: string
example: 'The route api/permissions/maiores 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: nobis
nullable: false
permissions:
type: array
description: ''
example:
- []
items:
type: object
properties:
description:
type: string
description: ''
example: 'Debitis nihil fugiat ea eius asperiores et.'
nullable: true
ressource:
type: string
description: ''
example: libero
nullable: true
code:
type: string
description: ''
example: praesentium
nullable: true
required:
- name
parameters:
-
in: path
name: permission
description: 'The permission.'
example: maiores
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: 25
nullable: true
nbre_items:
type: integer
description: ''
example: 9
nullable: true
filter_value:
type: string
description: 'Le champ value ne peut contenir plus de 100 caractères.'
example: uadbvouzpunqlnkhnpteoyf
nullable: true
start_date:
type: string
description: 'Must be a valid date in the format Y-m-d.'
example: '2026-05-18'
nullable: true
end_date:
type: string
description: 'Must be a valid date in the format Y-m-d.'
example: '2026-05-18'
nullable: true
medication_id:
type: integer
description: 'The id of an existing record in the medications table.'
example: 17
nullable: true
expiry_alert:
type: boolean
description: ''
example: true
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: 1
nullable: false
batch_number:
type: string
description: 'Le champ value ne peut contenir plus de 100 caractères.'
example: cyqsvtmpkzpyffkvggp
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-18'
nullable: false
quantity_in:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 65
nullable: false
purchase_price:
type: number
description: 'Le champ value doit être au moins 0.'
example: 1
nullable: true
supplier:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: lw
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-18'
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/16 could not be found.'
properties:
message:
type: string
example: 'The route api/medication-batches/16 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: eovumbdivu
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-18'
nullable: true
quantity_in:
type: integer
description: 'Le champ value doit être au moins 0.'
example: 32
nullable: true
purchase_price:
type: number
description: 'Le champ value doit être au moins 0.'
example: 87
nullable: true
supplier:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: yhclrpmppoxd
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-18'
nullable: true
expiry_alert:
type: boolean
description: ''
example: false
nullable: true
parameters:
-
in: path
name: medication_batch
description: ''
example: 16
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:
- 10
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:
- 11
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: 16
nullable: true
nbre_items:
type: integer
description: ''
example: 8
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-18'
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-18'
nullable: true
filter_value:
type: string
description: 'Le champ value ne peut contenir plus de 100 caractères.'
example: pyulmhlvjoxvexsr
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: true
nullable: true
admission_id:
type: string
description: ''
example: null
nullable: true
medical_page_id:
type: string
description: ''
example: null
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: sed
nullable: false
admission_id:
type: integer
description: ''
example: 13
nullable: true
medical_page_id:
type: string
description: ''
example: voluptatem
nullable: false
nursing_act_catalog_id:
type: string
description: ''
example: at
nullable: false
medication_id:
type: string
description: ''
example: null
nullable: true
act_name:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: mqtlmobmanjsqzukfjdaw
nullable: false
dosage:
type: string
description: 'Le champ value ne peut contenir plus de 100 caractères.'
example: yyldzldpzcgqykqrnmpkroxah
nullable: true
scheduled_time:
type: string
description: 'Must be a valid date in the format H:i.'
example: '11:12'
nullable: true
frequency:
type: string
description: 'Le champ value ne peut contenir plus de 100 caractères.'
example: iuwxds
nullable: false
frequence_number:
type: number
description: ''
example: 5579516.7983
nullable: false
start_date:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-18T11:12:12'
nullable: false
end_date:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-18T11:12:12'
nullable: true
is_active:
type: boolean
description: ''
example: true
nullable: true
notes:
type: string
description: ''
example: cum
nullable: true
required:
- patient_id
- medical_page_id
- nursing_act_catalog_id
- act_name
- frequency
- frequence_number
- 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: 6
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: ximdpeqtxwd
nullable: true
dosage:
type: string
description: 'Le champ value ne peut contenir plus de 100 caractères.'
example: kwqj
nullable: true
scheduled_time:
type: string
description: 'Must be a valid date in the format H:i.'
example: '11:12'
nullable: true
frequency:
type: string
description: 'Le champ value ne peut contenir plus de 100 caractères.'
example: vtf
nullable: true
frequence_number:
type: number
description: ''
example: 23244.0
nullable: true
start_date:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-18T11:12:12'
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: '2099-03-05'
nullable: true
is_active:
type: boolean
description: ''
example: true
nullable: true
notes:
type: string
description: ''
example: at
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:
- 14
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:
- 14
items:
type: integer
required:
- ids
/api/care-schedules/destroy:
post:
summary: 'Suppression définitive'
operationId: suppressionDfinitive
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:
- 14
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: 14
nullable: true
nbre_items:
type: integer
description: ''
example: 14
nullable: true
filter_value:
type: string
description: 'Le champ value ne peut contenir plus de 100 caractères.'
example: jzhjgweqksd
nullable: true
patient_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 11
nullable: true
medical_page_id:
type: integer
description: 'The id of an existing record in the medical_pages table.'
example: 18
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-18T11:12:12'
nullable: true
end_date:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-18T11:12:12'
nullable: true
trashed:
type: boolean
description: ''
example: true
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: 14
nullable: true
medical_page_id:
type: integer
description: 'The id of an existing record in the medical_pages table.'
example: 17
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-18'
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: '2029-02-07'
nullable: false
frequency:
type: string
description: ''
example: aliquid
nullable: true
dosage:
type: string
description: ''
example: deleniti
nullable: true
description:
type: string
description: ''
example: 'Earum et est sunt necessitatibus.'
nullable: true
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: 18
nullable: false
dosage:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 52
nullable: false
frequency:
type: string
description: ''
example: distinctio
nullable: false
description:
type: string
description: ''
example: 'Ipsa sint eos veniam totam.'
nullable: true
required:
- medication_id
- dosage
- frequency
required:
- start_date
- end_date
- 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: 5
nullable: true
medical_page_id:
type: integer
description: 'The id of an existing record in the medical_pages table.'
example: 18
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-18'
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: '2053-04-11'
nullable: true
frequency:
type: string
description: ''
example: magni
nullable: true
dosage:
type: string
description: ''
example: ut
nullable: true
description:
type: string
description: ''
example: 'Nesciunt adipisci debitis quod consequuntur sint.'
nullable: true
status:
type: string
description: ''
example: pending
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: 17
nullable: false
dosage:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 21
nullable: false
frequency:
type: string
description: ''
example: molestiae
nullable: false
description:
type: string
description: ''
example: 'Quia non qui odit aut.'
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:
- 2
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:
- 12
items:
type: integer
required:
- ids
/api/medication-prescriptions/all:
post:
summary: 'Lister les prescriptions médicamenteuses'
operationId: listerLesPrescriptionsMdicamenteuses
description: ''
parameters: []
responses: { }
tags:
- 'Prescriptions médicamenteuses'
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: 'Le champ value doit être au moins 1.'
example: 45
nullable: true
filter_value:
type: string
description: ''
example: aut
nullable: true
prescription_id:
type: integer
description: ''
example: 20
nullable: true
medication_id:
type: integer
description: ''
example: 15
nullable: true
trashed:
type: boolean
description: ''
example: false
nullable: true
/api/medication-prescriptions:
post:
summary: "Ajout d'une prescription médicamenteuse"
operationId: ajoutDunePrescriptionMdicamenteuse
description: ''
parameters: []
responses: { }
tags:
- 'Prescriptions médicamenteuses'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
medication_id:
type: string
description: ''
example: nulla
nullable: false
prescription_id:
type: string
description: ''
example: consectetur
nullable: false
frequency:
type: string
description: 'Le champ value ne peut contenir plus de 100 caractères.'
example: dvktpqterwzkmqfhxlgtp
nullable: false
frequence_number:
type: number
description: ''
example: 110774.403614
nullable: false
scheduled_time:
type: string
description: 'Must be a valid date in the format H:i.'
example: '11:12'
nullable: true
dosage:
type: string
description: 'Le champ value ne peut contenir plus de 100 caractères.'
example: ahrxvqmkarwwygdl
nullable: true
duration_days:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 47
nullable: false
description:
type: string
description: ''
example: 'Dolores laboriosam aut et quidem eum sed facere.'
nullable: true
required:
- medication_id
- prescription_id
- frequency
- frequence_number
- duration_days
'/api/medication-prescriptions/{medication_prescription}':
get:
summary: 'Afficher une prescription médicamenteuse'
operationId: afficherUnePrescriptionMdicamenteuse
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/medication-prescriptions/1 could not be found.'
properties:
message:
type: string
example: 'The route api/medication-prescriptions/1 could not be found.'
tags:
- 'Prescriptions médicamenteuses'
put:
summary: 'Modifier une prescription médicamenteuse'
operationId: modifierUnePrescriptionMdicamenteuse
description: ''
parameters: []
responses: { }
tags:
- 'Prescriptions médicamenteuses'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
medication_id:
type: string
description: ''
example: null
nullable: true
prescription_id:
type: string
description: ''
example: null
nullable: true
frequency:
type: string
description: 'Le champ value ne peut contenir plus de 100 caractères.'
example: yfwblocrm
nullable: true
frequence_number:
type: number
description: ''
example: 657966601.7653
nullable: true
scheduled_time:
type: string
description: 'Must be a valid date in the format H:i.'
example: '11:12'
nullable: true
dosage:
type: string
description: 'Le champ value ne peut contenir plus de 100 caractères.'
example: t
nullable: true
duration_days:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 1
nullable: true
description:
type: string
description: ''
example: 'Ducimus id velit sit fugit aut ratione doloribus aliquid.'
nullable: true
parameters:
-
in: path
name: medication_prescription
description: ''
example: 1
required: true
schema:
type: integer
/api/medication-prescriptions/trash:
post:
summary: 'Archiver plusieurs prescriptions médicamenteuses'
operationId: archiverPlusieursPrescriptionsMdicamenteuses
description: ''
parameters: []
responses: { }
tags:
- 'Prescriptions médicamenteuses'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the medication_prescription table.'
example:
- 12
items:
type: integer
/api/medication-prescriptions/restore:
post:
summary: 'Restaurer plusieurs prescriptions médicamenteuses'
operationId: restaurerPlusieursPrescriptionsMdicamenteuses
description: ''
parameters: []
responses: { }
tags:
- 'Prescriptions médicamenteuses'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the medication_prescription table.'
example:
- 8
items:
type: integer
/api/medication-prescriptions/destroy:
post:
summary: 'Suppression définitive'
operationId: suppressionDfinitive
description: ''
parameters: []
responses: { }
tags:
- 'Prescriptions médicamenteuses'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the medication_prescription table.'
example:
- 5
items:
type: integer
/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: 23
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: fq
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: 14
nullable: true
medication_id:
type: integer
description: 'The id of an existing record in the medications table.'
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-18'
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: '2104-09-25'
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: 10
nullable: false
medication_id:
type: integer
description: 'The id of an existing record in the medications table.'
example: 7
nullable: false
is_taken:
type: boolean
description: ''
example: true
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-18 11:12'
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/15 could not be found.'
properties:
message:
type: string
example: 'The route api/medications-intakes/15 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: 3
nullable: true
medication_id:
type: integer
description: 'The id of an existing record in the medications table.'
example: 4
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-18 11:12'
nullable: true
parameters:
-
in: path
name: medication_intake
description: ''
example: 15
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:
- 8
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:
- 17
items:
type: integer
required:
- ids
/api/daily-reports/all:
post:
summary: 'Afficher la liste des rapports journaliers filtrés.'
operationId: afficherLaListeDesRapportsJournaliersFiltrs
description: ''
parameters: []
responses: { }
tags:
- 'Rapports journalier / Daily reports'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
pageItems:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 9
nullable: true
nbreItems:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 57
nullable: true
idUser:
type: integer
description: 'The id of an existing record in the users table.'
example: 5
nullable: true
date:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-18T11:12:13'
nullable: true
date_start:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-18T11:12:13'
nullable: true
date_end:
type: string
description: 'Le champ value doit être une date valide. Le champ value doit être une date après ou égale à date_start.'
example: '2047-07-28'
nullable: true
filter_value:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: qcsuvcjox
nullable: true
/api/daily-reports:
post:
summary: 'Ajouter un nouveau rapport journalier.'
operationId: ajouterUnNouveauRapportJournalier
description: ''
parameters: []
responses: { }
tags:
- 'Rapports journalier / Daily reports'
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: 9
nullable: false
name:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: ypgmiagzuqmozvenspibicgz
nullable: false
date:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-18T11:12:13'
nullable: true
description:
type: string
description: ''
example: 'Nam sint et et voluptatibus similique veniam.'
nullable: true
comments:
type: string
description: ''
example: est
nullable: true
required:
- user_id
- name
'/api/daily-reports/{daily_report_id}':
get:
summary: 'Afficher un rapport journalier spécifique.'
operationId: afficherUnRapportJournalierSpcifique
description: ''
parameters: []
responses:
404:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'The route api/daily-reports/15 could not be found.'
properties:
message:
type: string
example: 'The route api/daily-reports/15 could not be found.'
tags:
- 'Rapports journalier / Daily reports'
put:
summary: 'Update the specified resource in storage.'
operationId: updateTheSpecifiedResourceInStorage
description: ''
parameters: []
responses: { }
tags:
- 'Rapports journalier / Daily reports'
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: 7
nullable: true
name:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: zpypxodaws
nullable: true
date:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-18T11:12:13'
nullable: true
description:
type: string
description: ''
example: 'Culpa cupiditate fugiat consequatur enim fuga.'
nullable: true
comments:
type: string
description: ''
example: est
nullable: true
parameters:
-
in: path
name: daily_report_id
description: 'The ID of the daily report.'
example: 15
required: true
schema:
type: integer
/api/daily-reports/trash:
post:
summary: 'Archivage multiple des rapports journaliers'
operationId: archivageMultipleDesRapportsJournaliers
description: ''
parameters: []
responses: { }
tags:
- 'Rapports journalier / Daily reports'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the daily_reports table.'
example:
- 11
items:
type: integer
/api/daily-reports/restore:
post:
summary: 'Restauration multiple des rapports journaliers'
operationId: restaurationMultipleDesRapportsJournaliers
description: ''
parameters: []
responses: { }
tags:
- 'Rapports journalier / Daily reports'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the daily_reports table.'
example:
- 18
items:
type: integer
/api/daily-reports/destroy:
post:
summary: 'Fonction de suppression définitive multiple des rapports journaliers'
operationId: fonctionDeSuppressionDfinitiveMultipleDesRapportsJournaliers
description: ''
parameters: []
responses: { }
tags:
- 'Rapports journalier / Daily reports'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
ids:
type: array
description: 'The id of an existing record in the daily_reports table.'
example:
- 1
items:
type: integer
/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: 73
nullable: true
nbre_items:
type: integer
description: ''
example: 16
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-18'
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-18'
nullable: true
filter_value:
type: string
description: 'Le champ value ne peut contenir plus de 100 caractères.'
example: wtygtnymbchbwqhj
nullable: true
is_low_potassium:
type: boolean
description: ''
example: false
nullable: true
is_low_sodium:
type: boolean
description: ''
example: true
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: ipsum
nullable: false
description:
type: string
description: ''
example: 'Nesciunt porro eaque qui numquam qui autem reprehenderit.'
nullable: true
instructions:
type: string
description: ''
example: nostrum
nullable: true
preparation_time:
type: integer
description: ''
example: 9
nullable: true
servings:
type: integer
description: ''
example: 14
nullable: true
is_low_potassium:
type: boolean
description: ''
example: true
nullable: true
is_low_sodium:
type: boolean
description: ''
example: true
nullable: true
calories:
type: integer
description: ''
example: 19
nullable: true
sodium_mg:
type: integer
description: ''
example: 1
nullable: true
potassium_mg:
type: integer
description: ''
example: 19
nullable: true
photo:
type: string
description: ''
example: vel
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: 15
nullable: false
quantity:
type: string
description: ''
example: blanditiis
nullable: false
description:
type: string
description: ''
example: 'Odit ullam ullam error et.'
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/16 could not be found.'
properties:
message:
type: string
example: 'The route api/recipes/16 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: blanditiis
nullable: true
description:
type: string
description: ''
example: 'Incidunt dolorum et perferendis sint.'
nullable: true
instructions:
type: string
description: ''
example: at
nullable: true
preparation_time:
type: string
description: ''
example: sapiente
nullable: true
servings:
type: string
description: ''
example: excepturi
nullable: true
is_low_potassium:
type: boolean
description: ''
example: false
nullable: true
is_low_sodium:
type: boolean
description: ''
example: false
nullable: true
calories:
type: string
description: ''
example: modi
nullable: true
sodium_mg:
type: string
description: ''
example: minus
nullable: true
potassium_mg:
type: string
description: ''
example: pariatur
nullable: true
photo:
type: string
description: ''
example: quo
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: 5
nullable: false
quantity:
type: string
description: ''
example: qui
nullable: false
description:
type: string
description: ''
example: 'Et qui reiciendis sint et.'
nullable: true
required:
- food_id
- quantity
parameters:
-
in: path
name: recipe_id
description: 'The ID of the recipe.'
example: 16
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:
- 18
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:
- 7
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: 10
nullable: true
user_approve_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-18'
nullable: true
status:
type: string
description: ''
example: rejected
nullable: true
enum:
- pending_approval
- in_progress
- approved
- rejected
page_items:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 30
nullable: true
trashed:
type: boolean
description: ''
example: true
nullable: true
nbre_items:
type: integer
description: ''
example: 14
nullable: true
filter_value:
type: string
description: 'Le champ value ne peut contenir plus de 100 caractères.'
example: agqjsrfj
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: 14
nullable: false
user_approve_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 15
nullable: true
reason:
type: string
description: ''
example: quidem
nullable: false
amount:
type: number
description: 'Le champ value doit être au moins 0.'
example: 49
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-18'
nullable: false
status:
type: string
description: ''
example: in_progress
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/1 could not be found.'
properties:
message:
type: string
example: 'The route api/salary-deductions/1 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: 17
nullable: true
reason:
type: string
description: ''
example: eaque
nullable: true
amount:
type: number
description: 'Le champ value doit être au moins 0.'
example: 56
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-18'
nullable: true
status:
type: string
description: ''
example: rejected
nullable: true
enum:
- pending_approval
- in_progress
- approved
- rejected
parameters:
-
in: path
name: salary_deduction
description: ''
example: 1
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:
- 12
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:
- 18
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: 28
nullable: true
nbre_items:
type: integer
description: ''
example: 17
nullable: true
filter_value:
type: string
description: ''
example: illum
nullable: true
types:
type: array
description: ''
example:
- rerum
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: ut
nullable: false
permissions:
type: array
description: 'The id of an existing record in the permissions table.'
example:
- 17
items:
type: integer
description:
type: string
description: ''
example: 'Unde nesciunt architecto maiores.'
nullable: true
type:
type: string
description: ''
example: culpa
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: voluptas
nullable: true
permissions:
type: array
description: 'The id of an existing record in the permissions table.'
example:
- 18
items:
type: integer
nullable: true
description:
type: string
description: ''
example: 'Optio recusandae commodi impedit dolor dolores inventore blanditiis.'
nullable: true
type:
type: string
description: ''
example: qui
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: 7
nullable: true
nbre_items:
type: integer
description: ''
example: 10
nullable: true
filter_value:
type: string
description: ''
example: doloremque
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: 2
nullable: true
type:
type: string
description: ''
example: rem
nullable: true
created_by:
type: integer
description: 'The id of an existing record in the users table.'
example: 2
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/2 could not be found.'
properties:
message:
type: string
example: 'The route api/sanctions/2 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: 5
nullable: true
type:
type: string
description: ''
example: iusto
nullable: true
reasons:
type: string
description: ''
example: modi
nullable: true
description:
type: string
description: ''
example: 'Quo aut eum labore quos.'
nullable: true
parameters:
-
in: path
name: sanction_id
description: 'The ID of the sanction.'
example: 2
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: alias
nullable: false
reasons:
type: string
description: ''
example: dolorem
nullable: false
description:
type: string
description: ''
example: 'Aut officiis facilis nobis voluptates magni.'
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:
- 18
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:
- 18
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:
- 15
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: 68
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: qleuzkgxmsbupblhqnjxxg
nullable: true
patient_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 14
nullable: true
nurse_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 5
nullable: true
medical_page_id:
type: integer
description: 'The id of an existing record in the medical_pages table.'
example: 17
nullable: true
act_type:
type: string
description: ''
example: enim
nullable: true
external_prescription_ref:
type: string
description: ''
example: non
nullable: true
nursing_act_origin:
type: string
description: ''
example: id
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-18'
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-18'
nullable: true
trashed:
type: boolean
description: ''
example: false
nullable: true
/api/nursing-acts:
post:
summary: ''
operationId: postApiNursingActs
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: 20
nullable: true
nurse_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 19
nullable: true
medical_page_id:
type: integer
description: 'The id of an existing record in the medical_pages table.'
example: 7
nullable: true
nursing_act_catalog_id:
type: integer
description: 'The id of an existing record in the nursing_act_catalogs table.'
example: 9
nullable: true
patient_check_up_id:
type: integer
description: 'The id of an existing record in the patient_check_ups table.'
example: 8
nullable: true
act_name:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: iqgdtjdeuoeaa
nullable: true
act_type:
type: string
description: ''
example: dolorum
nullable: true
reason:
type: string
description: ''
example: dolorum
nullable: true
acts_performed:
type: string
description: ''
example: voluptas
nullable: true
patient_evolution:
type: string
description: ''
example: totam
nullable: true
observations:
type: string
description: ''
example: et
nullable: true
incidents:
type: string
description: ''
example: sed
nullable: true
external_prescription_ref:
type: string
description: ''
example: provident
nullable: true
nursing_act_origin:
type: string
description: ''
example: provident
nullable: true
price:
type: number
description: 'Le champ value doit être au moins 0.'
example: 73
nullable: true
date:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-18T11:12:13'
nullable: true
hour:
type: string
description: 'Must be a valid date in the format H:i.'
example: '11:12'
nullable: true
'/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: 2
nullable: true
nurse_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 17
nullable: true
medical_page_id:
type: integer
description: 'The id of an existing record in the medical_pages table.'
example: 14
nullable: true
nursing_act_catalog_id:
type: integer
description: 'The id of an existing record in the nursing_act_catalogs table.'
example: 9
nullable: true
patient_check_up_id:
type: integer
description: 'The id of an existing record in the patient_check_ups table.'
example: 17
nullable: true
act_name:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: cbjurzar
nullable: true
act_type:
type: string
description: ''
example: nostrum
nullable: true
reason:
type: string
description: ''
example: repellat
nullable: true
acts_performed:
type: string
description: ''
example: dolores
nullable: true
patient_evolution:
type: string
description: ''
example: est
nullable: true
observations:
type: string
description: ''
example: odio
nullable: true
incidents:
type: string
description: ''
example: accusantium
nullable: true
external_prescription_ref:
type: string
description: ''
example: qui
nullable: true
nursing_act_origin:
type: string
description: ''
example: mollitia
nullable: true
price:
type: number
description: 'Le champ value doit être au moins 0.'
example: 66
nullable: true
date:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-18T11:12:13'
nullable: true
hour:
type: string
description: 'Must be a valid date in the format H:i.'
example: '11:12'
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:
- 2
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:
- 19
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: 19
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: ijzlzioddcnilvcsuctaed
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: 1
nullable: true
doctor_id:
type: integer
description: 'The id of an existing record in the users table.'
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-18'
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: '2091-08-19'
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: 9
nullable: false
doctor_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 12
nullable: false
session_start:
type: string
description: ''
example: ut
nullable: false
session_end:
type: string
description: ''
example: eos
nullable: true
weight_before:
type: string
description: ''
example: quae
nullable: true
weight_after:
type: string
description: ''
example: rerum
nullable: true
fluid_removed:
type: string
description: ''
example: aperiam
nullable: true
blood_pressure_post:
type: string
description: ''
example: consequuntur
nullable: true
side_effects:
type: string
description: ''
example: sed
nullable: true
description:
type: string
description: ''
example: 'Possimus quidem voluptatem et repudiandae et a sit placeat.'
nullable: true
observation:
type: string
description: ''
example: sed
nullable: true
status:
type: string
description: ''
example: cancelled
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/15 could not be found.'
properties:
message:
type: string
example: 'The route api/dialysis-sessions/15 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: 18
nullable: true
doctor_id:
type: integer
description: 'The id of an existing record in the users table.'
example: 18
nullable: true
session_start:
type: string
description: ''
example: soluta
nullable: true
session_end:
type: string
description: ''
example: vel
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: similique
nullable: true
side_effects:
type: string
description: ''
example: unde
nullable: true
status:
type: string
description: ''
example: done
nullable: true
enum:
- pending
- done
- cancelled
parameters:
-
in: path
name: dialysis_session
description: ''
example: 15
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:
- 11
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:
- 19
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: hnedauxtausonpjjmrfoihn
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: 10
nullable: true
page_items:
type: integer
description: 'Le champ value doit être au moins 1.'
example: 65
nullable: true
nbre_items:
type: integer
description: ''
example: 4
nullable: true
filter_value:
type: string
description: ''
example: cupiditate
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-18'
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-18'
nullable: true
health_center_id:
type: integer
description: ''
example: 6
nullable: true
department_id:
type: integer
description: ''
example: 4
nullable: true
coverage_type:
type: string
description: ''
example: complementary
nullable: true
enum:
- obligatory
- complementary
- partial
- none
marital_status:
type: string
description: ''
example: widowed
nullable: true
enum:
- single
- married
- widowed
- divorced
is_patient:
type: boolean
description: ''
example: false
nullable: true
insurance_name:
type: string
description: ''
example: sunt
nullable: true
company_name:
type: string
description: ''
example: qui
nullable: true
role_types:
type: array
description: ''
example:
- eligendi
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: kezn
nullable: true
firstname:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: lleoldus
nullable: false
lastname:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: zptu
nullable: true
gender:
type: string
description: ''
example: male
nullable: false
enum:
- male
- female
birthday:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-18T11:12:12'
nullable: true
birth_place:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: idjakawcbpedsetabgwfthdom
nullable: true
marital_status:
type: string
description: ''
example: married
nullable: true
enum:
- single
- married
- widowed
- divorced
nationality:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: ikiobdorhkljyr
nullable: true
nui:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: bmszfrt
nullable: true
niss:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: rnrgxqdaqrsw
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: abernathy.lottie@example.net
nullable: true
phone:
type: string
description: 'Le champ value ne peut contenir plus de 20 caractères.'
example: sn
nullable: true
phone2:
type: string
description: 'Le champ value ne peut contenir plus de 20 caractères.'
example: oevsoz
nullable: true
city:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: khqzzfptmonabcrc
nullable: true
address:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: tho
nullable: true
country:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: zpmrcmksouvgqqcfwqgo
nullable: true
profession:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: yseefs
nullable: true
preferred_payment_mode:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: cwcpdvawnadzko
nullable: true
password:
type: string
description: 'Le champ value doit contenir au moins 6 caractères.'
example: '!eid of an existing record in the roles table.'
example: 8
nullable: false
health_center_id:
type: integer
description: ''
example: 14
nullable: true
department_id:
type: integer
description: ''
example: 15
nullable: true
mutuality_number:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: qodms
nullable: true
coverage_type:
type: string
description: ''
example: none
nullable: true
enum:
- obligatory
- complementary
- partial
- none
guardian_name:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: pcissx
nullable: true
guardian_contact:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: dfmj
nullable: true
guardian_relation:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: ultyjcndwdctbi
nullable: true
insurance_name:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: ipslirnbixejmwocwp
nullable: true
insurance_number:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: aspdz
nullable: true
company_name:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: jsbqdnzztpyoambewfmcgfwi
nullable: true
is_patient:
type: boolean
description: ''
example: false
nullable: true
reference:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: qvlmefemprrpftbldsmimoohj
nullable: true
cni:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: ixvgvhcwvdc
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: '?tp~9@ag'
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: vnwbwchkljiwciexlgzqwx
nullable: true
lastname:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: dhsojuumxzmr
nullable: true
gender:
type: string
description: ''
example: female
nullable: true
enum:
- male
- female
birthday:
type: string
description: 'Le champ value doit être une date valide.'
example: '2026-05-18T11:12:12'
nullable: true
birth_place:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: psapwxtwr
nullable: true
marital_status:
type: string
description: ''
example: divorced
nullable: true
enum:
- single
- married
- widowed
- divorced
nationality:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: cxsmhehlramfrfdoh
nullable: true
nui:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: wsvpziuhirldcib
nullable: true
niss:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: tnymnxiiggjuotrjsddffyp
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: okihn@example.org
nullable: true
phone:
type: string
description: 'Le champ value ne peut contenir plus de 20 caractères.'
example: ojqywscokwkpzr
nullable: true
phone2:
type: string
description: 'Le champ value ne peut contenir plus de 20 caractères.'
example: qvvrkzye
nullable: true
city:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: wlsmfmvtxhee
nullable: true
address:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: mpmxghfxp
nullable: true
country:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: uayrjabsuztbzugtpyvnhcnb
nullable: true
password:
type: string
description: 'Le champ value doit contenir au moins 6 caractères.'
example: '7?1v4KhPnLt2u+"yaaLn'
nullable: true
photo:
type: string
description: ''
example: facilis
nullable: true
specialty:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: bcnqqlfsqgduvxyfdogyqjya
nullable: true
license_number:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: yewjx
nullable: true
years_of_experience:
type: integer
description: 'Le champ value doit être au moins 0.'
example: 43
nullable: true
work_schedule:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: uouwxdtjyc
nullable: true
role_id:
type: integer
description: 'The id of an existing record in the roles table.'
example: 11
nullable: true
health_center_id:
type: integer
description: ''
example: 11
nullable: true
department_id:
type: integer
description: ''
example: 6
nullable: true
mutuality_number:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: kytwdptojiwk
nullable: true
coverage_type:
type: string
description: ''
example: none
nullable: true
enum:
- obligatory
- complementary
- partial
- none
guardian_name:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: dnqaaqweqvrnclwgynv
nullable: true
guardian_contact:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: tiglrhzdiprjvdgeahf
nullable: true
guardian_relation:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: bwuos
nullable: true
insurance_name:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: rrnmwnrraxmoiapmy
nullable: true
insurance_number:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: wqpwkzyaezzbomsreupovqgyo
nullable: true
company_name:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: ypsslcvpvkzkwrrxh
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: bo
nullable: true
cni:
type: string
description: 'Le champ value ne peut contenir plus de 255 caractères.'
example: xvggacreto
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:
- 3
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:
- 11
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:
- 15
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: 'Exécutions de prescriptions médicamenteuses'
description: "\nGestion des exécutions de prescriptions médicamenteuses"
-
name: Forum
description: ''
-
name: 'Gestion des Chambres'
description: ''
-
name: Laboratoire
description: "\nGestion des demandes et résultats d'examens laboratoire"
-
name: Lits
description: "\nGestion des lits"
-
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: 'Prescriptions médicamenteuses'
description: "\nGestion des prescriptions médicamenteuses"
-
name: 'Prises de Médicaments'
description: "\nGestion des prises de médicaments"
-
name: 'Rapports journalier / Daily reports'
description: "\nGestion des rapports journaliers"
-
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: []